feat: remove Enterprise badges, simplify Pro upgrade prompts

- Replace barrel import in AuditLogPanel.tsx to fix ad-blocker crash
- Remove all Enterprise/Pro badges from nav and feature headers
- Simplify upgrade CTAs to clean 'Upgrade to Pro' links
- Update docs: PULSE_PRO.md, API.md, README.md, SECURITY.md
- Align terminology: single Pro tier, no separate Enterprise tier

Also includes prior refactoring:
- Move auth package to pkg/auth for enterprise reuse
- Export server functions for testability
- Stabilize CLI tests
This commit is contained in:
rcourtman 2026-01-09 16:51:08 +00:00
parent 22059210f7
commit 3e2824a7ff
46 changed files with 509 additions and 578 deletions

View file

@ -3,11 +3,13 @@ package main
import (
"encoding/base64"
"testing"
"github.com/rcourtman/pulse-go-rewrite/pkg/server"
)
func TestNormalizeImportPayload_Base64Passthrough(t *testing.T) {
raw := []byte(" Zm9vYmFy \n") // base64("foobar")
out, err := normalizeImportPayload(raw)
out, err := server.NormalizeImportPayload(raw)
if err != nil {
t.Fatalf("err = %v", err)
}
@ -19,7 +21,7 @@ func TestNormalizeImportPayload_Base64Passthrough(t *testing.T) {
func TestNormalizeImportPayload_Base64OfBase64Unwrap(t *testing.T) {
inner := "Zm9vYmFy" // base64("foobar")
outer := base64.StdEncoding.EncodeToString([]byte(inner))
out, err := normalizeImportPayload([]byte(outer))
out, err := server.NormalizeImportPayload([]byte(outer))
if err != nil {
t.Fatalf("err = %v", err)
}
@ -30,7 +32,7 @@ func TestNormalizeImportPayload_Base64OfBase64Unwrap(t *testing.T) {
func TestNormalizeImportPayload_RawBytesGetEncoded(t *testing.T) {
raw := []byte{0x00, 0x01, 0x02, 0xff, 0x10}
out, err := normalizeImportPayload(raw)
out, err := server.NormalizeImportPayload(raw)
if err != nil {
t.Fatalf("err = %v", err)
}
@ -44,13 +46,13 @@ func TestNormalizeImportPayload_RawBytesGetEncoded(t *testing.T) {
}
func TestLooksLikeBase64(t *testing.T) {
if looksLikeBase64("") {
if server.LooksLikeBase64("") {
t.Fatalf("empty should be false")
}
if !looksLikeBase64("Zm9vYmFy") {
if !server.LooksLikeBase64("Zm9vYmFy") {
t.Fatalf("expected base64 true")
}
if looksLikeBase64("not-base64!!!") {
if server.LooksLikeBase64("not-base64!!!") {
t.Fatalf("expected base64 false")
}
}