265 Commits
Author SHA1 Message Date
zeekay 8901f7c858 chore: scrub PocketBase references, rebrand as Hanzo Base
Missed 2 PocketBase references in generated types.d.ts JSDoc comments.
2026-03-02 15:30:28 -07:00
zeekay dee0d76af8 fix: superuser token fallback in external-only auth mode + scrub PB references
- loadAuthToken now falls back to local validation for _superusers tokens
  when JWKS validation fails in external-only mode. Non-superuser local
  tokens are still rejected. Fixes seeding with IAM enabled.
- Scrub PocketBase references from docs, SDK, and UI config
2026-03-02 15:28:53 -07:00
zeekay 634eecbe21 migrate: pocketbase/tygoja → hanzoai/tygoja v0.0.2
Zero pocketbase references remaining in go.mod or Go source.
All deps now under hanzoai org: hanzoai/dbx, hanzoai/tygoja.
2026-03-02 13:57:26 -07:00
zeekay d02a70442d migrate: pocketbase/dbx → hanzoai/dbx v1.12.0
Drop-in replacement — same API, same package name (dbx).
75 Go files updated. Zero pocketbase references in imports.
2026-03-02 13:54:55 -07:00
zeekay 09480638b7 fix: types.d.ts pb_data → data (matches Go default) 2026-03-02 11:33:18 -07:00
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 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 ee7255323b fix: replace remaining pb references with base in ApiClient.js 2026-03-01 21:59:17 -07:00
zeekay cf0252a28e Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	apis/record_auth_with_otp.go
#	core/base_backup.go
#	go.mod
#	go.sum
#	plugins/jsvm/internal/types/generated/types.d.ts
#	tools/router/rereadable_read_closer_test.go
#	ui/dist/assets/AuthMethodsDocs-C2aSYmNv.js
#	ui/dist/assets/AuthRefreshDocs-BapWJLRK.js
#	ui/dist/assets/AuthWithOAuth2Docs-Ck_pnbL8.js
#	ui/dist/assets/AuthWithOtpDocs-D8uWq_C5.js
#	ui/dist/assets/AuthWithPasswordDocs-BQyMhAeO.js
#	ui/dist/assets/BatchApiDocs-rvUuWLZE.js
#	ui/dist/assets/CodeEditor-DrMyw8z_.js
#	ui/dist/assets/CreateApiDocs-XWzcGuMB.js
#	ui/dist/assets/DeleteApiDocs-CScE0aw3.js
#	ui/dist/assets/EmailChangeDocs-CxOtrB4s.js
#	ui/dist/assets/FieldsQueryParam-BzNUQIb5.js
#	ui/dist/assets/FilterAutocompleteInput-Dm2G2coC.js
#	ui/dist/assets/Leaflet-DyumpnOc.js
#	ui/dist/assets/ListApiDocs-CdOzMZnr.js
#	ui/dist/assets/PageInstaller-vIXdffAJ.js
#	ui/dist/assets/PageOAuth2RedirectFailure-ClpyaW_B.js
#	ui/dist/assets/PageOAuth2RedirectSuccess-BLZml1eK.js
#	ui/dist/assets/PageRecordConfirmEmailChange-Cm3O2YD1.js
#	ui/dist/assets/PageRecordConfirmPasswordReset-D0XfuL45.js
#	ui/dist/assets/PageRecordConfirmVerification-CYyNYH_v.js
#	ui/dist/assets/PageSuperuserConfirmPasswordReset-BvlQ0_9t.js
#	ui/dist/assets/PageSuperuserRequestPasswordReset-gUPMclJZ.js
#	ui/dist/assets/PasswordResetDocs-DMF1vqE0.js
#	ui/dist/assets/RealtimeApiDocs-CNVij_C2.js
#	ui/dist/assets/UpdateApiDocs-CwQ3ZhFQ.js
#	ui/dist/assets/VerificationDocs-DUeWWjrS.js
#	ui/dist/assets/ViewApiDocs-gocWxbTE.js
#	ui/dist/assets/index-CWGqJiyp.js
#	ui/dist/index.html
2026-03-01 19:27:21 -07:00
Gani Georgiev f2f0435736 updated jsvm types 2026-03-02 15:02:59 +02:00
Gani Georgiev 064cc83ba1 regenerated jsvm types 2026-03-02 09:27:44 +02:00
Gani Georgiev 9feb83cdad applied lint typo fixes 2026-03-02 22:31:27 +02:00
zeekay 6759ac456c Rebrand PocketBase imports to Hanzo Base across all Go files
Replace github.com/pocketbase/pocketbase with github.com/hanzoai/base
in 106 Go source files. Keep pocketbase/dbx and pocketbase/tygoja as-is
(upstream dependencies). Add compiled binary to .gitignore. Include
realtime DX design document inspired by Convex patterns.
2026-02-27 09:43:39 -08:00
zeekay 4b4d307330 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	.github/SECURITY.md
#	plugins/jsvm/internal/types/generated/types.d.ts
#	ui/dist/assets/AuthMethodsDocs-Dpd1KLEi.js
#	ui/dist/assets/AuthRefreshDocs-KmFqCz1h.js
#	ui/dist/assets/AuthWithOAuth2Docs-CyJfh606.js
#	ui/dist/assets/AuthWithOtpDocs-CuAOVtzX.js
#	ui/dist/assets/AuthWithPasswordDocs-CmHb4Jjn.js
#	ui/dist/assets/BatchApiDocs-LUXI6B6N.js
#	ui/dist/assets/DeleteApiDocs-KmnbmZ-6.js
#	ui/dist/assets/EmailChangeDocs-DhDDRSkd.js
#	ui/dist/assets/FieldsQueryParam-C7N80dkz.js
#	ui/dist/assets/ListApiDocs-BZTCC2fq.js
#	ui/dist/assets/PageInstaller-Cdywf0VY.js
#	ui/dist/assets/PageOAuth2RedirectFailure-9trAN4R5.js
#	ui/dist/assets/PageOAuth2RedirectSuccess-BKErE1i9.js
#	ui/dist/assets/PageRecordConfirmEmailChange-B83GxdXn.js
#	ui/dist/assets/PageRecordConfirmPasswordReset-72PfbDaZ.js
#	ui/dist/assets/PageRecordConfirmVerification-Cudgspq-.js
#	ui/dist/assets/PageSuperuserConfirmPasswordReset-BvmdsmYF.js
#	ui/dist/assets/PageSuperuserRequestPasswordReset-B8e2B4ZR.js
#	ui/dist/assets/PasswordResetDocs-Do427Hpy.js
#	ui/dist/assets/RealtimeApiDocs-DydjyGiu.js
#	ui/dist/assets/VerificationDocs-CTnb2Ar3.js
#	ui/dist/assets/ViewApiDocs-D9o91Lhw.js
2026-02-27 08:57:15 -08:00
Gani Georgiev 01d3511665 fixed typo 2026-02-24 15:19:25 +02:00
Gani Georgiev e57c945e4c [#7543] documented the unmarshal jsvm helper 2026-02-24 15:14:25 +02: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
Gani Georgiev 8da3b837b8 updated jsvm types 2026-02-16 22:04:19 +02:00
Gani Georgiev 691620ba51 use temp dir for the $filesystem.local test 2026-02-14 12:08:57 +02:00
Gani Georgiev 13dee9f333 [#7526] added $filesystem.s3 and $filesystem.local JSVM bindings 2026-02-14 11:49:50 +02:00
Gani Georgiev 961f1341a7 renamed arguments to make it more clear that they are dangeous 2026-02-13 16:40:29 +02:00
Gani Georgiev 9a0c9d538d regenerated jsvm types and bumped app version 2026-01-18 18:53:03 +02:00
Gani Georgiev 1b560439fe fixed comment typos 2026-01-17 10:58:12 +02:00
Gani Georgiev 262c30e071 updated JSVM types and bumped app version 2026-01-15 22:24:07 +02:00
Gani Georgiev dc9a08b1f1 bumped go deps and updated jsvm types 2025-12-21 08:11:36 +02:00
Gani Georgiev 2774392b70 fixed error msg typo 2025-12-19 10:19:31 +02:00
Gani Georgiev b28ac9cbde [#7396] added nullable JSVM type helpers 2025-12-17 19:27:17 +02:00
Gani Georgiev 7d07d4a2d2 updated jsvm types 2025-11-22 10:59:15 +02:00
Gani Georgiev e9c1a81e53 added missing mails.sendRecordAuthAlert jsvm binding 2025-11-13 10:45:33 +02:00
Gani Georgiev 049077a351 replaced placeholder in migration and updated jsvm types 2025-11-10 17:59:11 +02:00
Gani Georgiev 1e397cf227 updated jsvm types 2025-11-04 11:23:35 +02:00
Gani Georgiev 6869994017 updated jsvm types 2025-10-31 22:24:47 +02:00
Gani Georgiev 204d540707 updated jsvm types and npm deps 2025-10-23 18:21:34 +03:00
Gani Georgiev d737a9bb27 updated jsvm types 2025-10-23 13:15:03 +03:00
Gani Georgiev 2637eae68a fixed Message.WriteSSE example 2025-09-13 23:46:13 +03:00
Gani Georgiev 28ac6b2030 updated jsvm types 2025-09-06 21:45:20 +03:00
Gani Georgiev d58fe16148 updated jsvm types 2025-09-06 15:18:48 +03:00
Gani Georgiev 4fd31b4a36 added os.Root bindings to the JSVM 2025-09-06 14:51:27 +03:00
Gani Georgiev 90adb5ff45 regenerated jsvm types 2025-08-23 09:20:51 +03:00
Gani Georgiev c57b00b10b enabled __hooks in the jsvm migrations 2025-08-23 08:44:30 +03:00
Gani Georgiev ca38f3b470 [#7125] registered missing jsvm migrations bindings 2025-08-23 07:45:28 +03:00
Gani Georgiev 9520d63b50 regenerated ui/dist and jsvm types 2025-08-22 21:32:03 +03:00
Gani Georgiev 8ff1260f3d [#7098] fixed RateLimitRule.Audience code comment 2025-08-15 19:29:42 +03:00
Gani Georgiev 2bc5bae4cd regenerated JSVM types 2025-08-12 21:46:18 +03:00
Gani Georgiev a33d962cdc regenerated jsvm types 2025-08-02 08:40:44 +03:00
Gani Georgiev 40e44872a5 [#7067] explain more clearly the DynamicModel caveats 2025-08-02 08:13:15 +03:00
Gani Georgiev f722185b20 updated jsvm types 2025-07-19 11:31:26 +03:00
Gani Georgiev 478be36d99 regenerated jsvm types 2025-06-21 10:51:52 +03:00
Gani Georgiev 6d8ae969d3 updated jsvm types 2025-06-17 21:23:19 +03:00
Gani Georgiev d37fcbc2c2 [#6935] added toBytes JSVM helper 2025-06-17 21:15:34 +03:00