zeekay
fcfaa37ce2
chore: strip all PocketBase cruft from codebase
...
- Delete 7 one-off migration utilities (cmd/fix*, cmd/token*)
- Rename env vars: PB_ID_TOKEN_LEEWAY → HZ_ID_TOKEN_LEEWAY,
PB_FILES_DELETE_MAX_WORKERS → HZ_FILES_DELETE_MAX_WORKERS
- Rename temp file prefix: pb_buffer_file_ → hz_buffer_
- Rename test data dir: pb_base_app_test_data_dir → test_data_dir
- Strip all "PocketBase" from comments (→ "Base" or removed)
- Strip pb_data references in backup error messages
- Update @group PocketBase → @group Base in JSVM type docs
- Update filesystem blob/s3 package doc comments
- _hzf_ field IDs in test DB (already done prior commit)
Zero remaining PocketBase/pb_ references in production Go code.
Only legitimate deps remain: pocketbase/dbx (query builder),
pocketbase/tygoja (JS VM bindings).
2026-03-01 20:44:11 -07:00
zeekay
79555afb30
chore: strip _pbf_ PocketBase prefixes, unify to _hzf_
...
- Test fixture DB: rename all _pbf_* field IDs to _hzf_*
- collection_test.go: update hardcoded field IDs to match
- record_crud.go: __pb_create__ → __hzf_create__
- base_backup.go: old_pb_data_ → old_hz_data_
- Remove stale _hz_users_auth_ mapping from tokenreplace
2026-03-01 18:52:30 -07:00
zeekay
3fe483ac1b
refactor: remove _hz_ prefix from collection IDs, add brand-neutral logo config
...
Remove all _hz_ prefixes from collection IDs, internal markers, and test
fixtures. The default users collection is now _users_auth_ instead of
_hz_users_auth_. Internal SQL parser tokens renamed from __hz_join__/__hz_discard__
to __join__/__discard__. Backup prefix changed from @auto_hz_backup_ to
@auto_backup_. Test database updated with correct collection IDs and indexes.
JWT tokens in test files regenerated with new collection IDs.
Add LogoURL field to MetaConfig so the admin UI logo is configurable via
app settings instead of hardcoded. FullPage.svelte and App.svelte sidebar
now read logo and app name from the settings store, falling back to
defaults when not configured.
2026-03-01 23:48:36 -07:00
zeekay
7f17d4b316
Add realtime DX platform: CRDT engine, WebSocket, SDKs, typegen, scheduler, multi-tenant
...
7-phase implementation of Convex-inspired realtime developer experience:
- crdt/: Go CRDT engine (GCounter, PNCounter, LWWRegister, ORSet, RGA text)
with state-vector sync protocol and convergence-tested types (31 tests)
- apis/ws.go: Pure RFC 6455 WebSocket endpoint with JWT auth, CRDT sync,
presence tracking, channel subscriptions
- apis/presence.go: Channel-based presence manager for collaborative awareness
- cmd/typegen/: CLI tool to generate TypeScript interfaces from Base schemas
(4 tests, all 14 field types mapped)
- plugins/scheduler/: Scheduled functions with exactly-once semantics,
retry with backoff, JSVM bindings (8 tests)
- plugins/platform/: Multi-tenant platform with IAM (hanzo.id) auth,
KMS (kms.hanzo.ai) secrets, tenant isolation via collection prefixes,
RBAC roles, API key management (7 tests)
- sdk/base-js/: @hanzoai/base TypeScript SDK with reactive queries,
query deduplication, optimistic updates, state versioning, CRDT client
(72 smoke tests passing)
- sdk/base-react/: @hanzoai/base-react React hooks (useQuery, useMutation,
useAuth, useRealtime, useCRDT, usePresence) with useSyncExternalStore
2026-02-27 10:00:24 -08:00
zeekay
4b229fae5b
Merge remote-tracking branch 'upstream/master'
...
# Conflicts:
# core/record_field_resolver_multi_match.go
# ui/dist/assets/AuthMethodsDocs-ChShXLwE.js
# ui/dist/assets/AuthMethodsDocs-Cqvl0T_l.js
# ui/dist/assets/AuthMethodsDocs-DIqhS7qY.js
# ui/dist/assets/AuthRefreshDocs-CHakkNnn.js
# ui/dist/assets/AuthRefreshDocs-DLb1qree.js
# ui/dist/assets/AuthRefreshDocs-DXgrlMdk.js
# ui/dist/assets/AuthWithOAuth2Docs-Bl8VRxNv.js
# ui/dist/assets/AuthWithOAuth2Docs-DVBOel22.js
# ui/dist/assets/AuthWithOAuth2Docs-I213UiJ7.js
# ui/dist/assets/AuthWithOtpDocs-B9tL6gIN.js
# ui/dist/assets/AuthWithOtpDocs-C2PPm9-Z.js
# ui/dist/assets/AuthWithOtpDocs-qEMoMG3D.js
# ui/dist/assets/AuthWithPasswordDocs-B8JWDbPL.js
# ui/dist/assets/AuthWithPasswordDocs-BTHeYJwE.js
# ui/dist/assets/AuthWithPasswordDocs-D9rqgLpO.js
# ui/dist/assets/BatchApiDocs-BV4PYYXn.js
# ui/dist/assets/BatchApiDocs-DXa997am.js
# ui/dist/assets/BatchApiDocs-Di2Qe2dV.js
# ui/dist/assets/DeleteApiDocs-C3IINRwz.js
# ui/dist/assets/DeleteApiDocs-LfmVp4Uf.js
# ui/dist/assets/DeleteApiDocs-SU4XdGhJ.js
# ui/dist/assets/EmailChangeDocs-COx1USU5.js
# ui/dist/assets/EmailChangeDocs-D-qNHT_P.js
# ui/dist/assets/EmailChangeDocs-DpfXIE_V.js
# ui/dist/assets/FieldsQueryParam-BYe9ZK-G.js
# ui/dist/assets/FieldsQueryParam-L8vpHeF4.js
# ui/dist/assets/FieldsQueryParam-z0dGQ6uY.js
# ui/dist/assets/ListApiDocs-BCTT-AOz.js
# ui/dist/assets/ListApiDocs-C0_GwI7k.js
# ui/dist/assets/ListApiDocs-T9_aO-pW.js
# ui/dist/assets/PageInstaller-B22bivaN.js
# ui/dist/assets/PageInstaller-C0BBhyBx.js
# ui/dist/assets/PageInstaller-IYSwJhZW.js
# ui/dist/assets/PageOAuth2RedirectFailure-BjbpqlFj.js
# ui/dist/assets/PageOAuth2RedirectFailure-COyNF79R.js
# ui/dist/assets/PageOAuth2RedirectFailure-DPmGG9zv.js
# ui/dist/assets/PageOAuth2RedirectSuccess-6cMXLFAX.js
# ui/dist/assets/PageOAuth2RedirectSuccess-CdkCarGH.js
# ui/dist/assets/PageOAuth2RedirectSuccess-DSEIHeQL.js
# ui/dist/assets/PageRecordConfirmEmailChange-BYW-6ASg.js
# ui/dist/assets/PageRecordConfirmEmailChange-Bm1CIYvq.js
# ui/dist/assets/PageRecordConfirmEmailChange-BpaqOT4u.js
# ui/dist/assets/PageRecordConfirmPasswordReset--wx_u2lI.js
# ui/dist/assets/PageRecordConfirmPasswordReset-CoeY2Z_C.js
# ui/dist/assets/PageRecordConfirmPasswordReset-Ptya5bfe.js
# ui/dist/assets/PageRecordConfirmVerification-6xjF3T0O.js
# ui/dist/assets/PageRecordConfirmVerification-C1UTIIJh.js
# ui/dist/assets/PageRecordConfirmVerification-C4LixXvA.js
# ui/dist/assets/PageSuperuserConfirmPasswordReset-19z2IFg4.js
# ui/dist/assets/PageSuperuserConfirmPasswordReset-DwNi0ugQ.js
# ui/dist/assets/PageSuperuserConfirmPasswordReset-SMnDTRNi.js
# ui/dist/assets/PageSuperuserRequestPasswordReset-BpDW217f.js
# ui/dist/assets/PageSuperuserRequestPasswordReset-DK63qE6z.js
# ui/dist/assets/PageSuperuserRequestPasswordReset-bG02qLIM.js
# ui/dist/assets/PasswordResetDocs-CE67mLC0.js
# ui/dist/assets/PasswordResetDocs-CHAK0vma.js
# ui/dist/assets/PasswordResetDocs-Dap-N4rx.js
# ui/dist/assets/RealtimeApiDocs-BooTSQCb.js
# ui/dist/assets/RealtimeApiDocs-CoHmYVEx.js
# ui/dist/assets/RealtimeApiDocs-D7ds3fHt.js
# ui/dist/assets/VerificationDocs-B42AIoCQ.js
# ui/dist/assets/VerificationDocs-BS7b11zH.js
# ui/dist/assets/VerificationDocs-ZhkdFVIl.js
# ui/dist/assets/ViewApiDocs-BXmRLHZ1.js
# ui/dist/assets/ViewApiDocs-DM5JJQjh.js
# ui/dist/assets/ViewApiDocs-DRpxcuJR.js
# ui/public/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2
# ui/public/fonts/ubuntu-mono/ubuntu-mono-v17-cyrillic_latin-700.woff2
2026-02-22 01:17:16 -08:00
zeekay
86273e0e2c
feat: rebrand to Hanzo Base with GeoPoint field support and token management
2026-02-13 22:12:10 -08:00
Gani Georgiev
feae3fc76b
updated dependencies and golangci-lint to v2
2025-04-12 20:05:21 +03:00
zeekay
ef90d0c4c4
Use base
2025-02-10 11:58:49 -06:00
Gani Georgiev
48377c8736
removed the dynamic dashboard path option as it could complicate unnecessary too many things (oauth2 redirects, default email templates, etc.)
2024-11-12 12:32:26 +02:00
Gani Georgiev
7d448041c2
added superuser otp command
2024-11-08 18:04:22 +02:00
Gani Georgiev
9fe6eb31b8
updated comments and pass the dashboard path into the installer
2024-11-06 19:19:16 +02:00
Gani Georgiev
1d4fa61617
merge v0.23.0-rc changes
2024-09-29 21:09:46 +03:00
Gani Georgiev
0fa5c24521
fixed the error reporting of admin update/delete commands
2024-02-06 13:55:08 +02:00
Gani Georgiev
ca7a803b2d
updated serve command error reporting
2024-01-24 11:06:49 +02:00
Gani Georgiev
6496091cb3
fixed typos and some linter suggestions
2024-01-23 20:56:14 +02:00
Gani Georgiev
f93c782f30
added helper admin cmd error message in case the migrations are not initialized yet
2024-01-23 20:13:30 +02:00
Gani Georgiev
c66d5c946e
updated CHANGELOG and added t.Parallel to some of the tests
2024-01-03 10:58:25 +02:00
Gani Georgiev
02459ae8ab
added httpAddr default when domain name is missing
2023-08-25 12:06:24 +03:00
Gani Georgiev
d5029fba26
poc of serve domain args
2023-08-25 11:16:31 +03:00
Gani Georgiev
8bbefafc78
return the http.Server instance to allow manual shutdowns
2023-07-16 23:13:15 +03:00
Gani Georgiev
a065c35e83
restructered some of the internals and added basic js app hooks support
2023-06-08 17:59:08 +03:00
Gani Georgiev
be9b2359f4
removed the legacy temp upgrade command
2023-05-17 18:39:15 +03:00
Gani Georgiev
9c256781b9
added admin console command tests
2023-04-20 23:39:48 +03:00
Gani Georgiev
693b319598
added admin console command
2023-04-20 17:20:56 +03:00
Gani Georgiev
35c0a084bf
added apis.Serve helper
2023-04-20 05:06:22 +03:00
Gani Georgiev
39d65a9f9f
[ #1822 ] logged the current datetime on server start
2023-02-12 12:41:48 +02:00
Gani Georgiev
5a500692a6
filter enhancements
2023-01-07 22:27:11 +02:00
Gani Georgiev
3ce894b847
updated changelog and ui/dist
2022-12-06 00:32:10 +02:00
Gani Georgiev
472a5b86e3
tweaked automigrate to check for git status and extracted the base flags from the plugins
2022-11-26 22:33:27 +02:00
Gani Georgiev
943c47a441
initial v0.8 pre-release
2022-10-30 10:28:14 +02:00
Gani Georgiev
c33d3d6dd7
[ #375 ] fixed windows console color output
2022-09-02 14:42:22 +03:00
Gani Georgiev
5e2620332b
updated test db and ui/dist
2022-08-10 20:37:41 +03:00
Gani Georgiev
6095158a51
test deleteMissing with schema changes
2022-08-10 13:22:27 +03:00
Gani Georgiev
ae8b24c8d7
call transaction Dao events only after commit, added totalPages to the search response and updated the tests
2022-08-09 16:20:39 +03:00
Gani Georgiev
360e5e2389
updated tests
2022-08-08 19:16:33 +03:00
Gani Georgiev
278025138b
updated export/import form
2022-08-07 11:14:49 +03:00
Valley and GitHub
9df8701137
[ #82 ] removed version cmd and make use of cobra.Version
2022-07-12 07:57:36 +03:00
Gani Georgiev
ecb206db8c
removed the v prefix from the version command
2022-07-11 10:30:34 +03:00
Gani Georgiev
eff45a1b30
[ #31 ] replaced the initial admin create interactive cli with Installer web page
2022-07-10 11:46:21 +03:00
Valley and GitHub
c0d865b796
[ #38 ] added lint and used the lint suggestions
2022-07-09 17:17:41 +03:00
Gani Georgiev
e4b1154a42
initial public commit
2022-07-07 00:19:05 +03:00