70 Commits
Author SHA1 Message Date
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 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 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 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 81968b1706 silenced race detector errors per #7484 2026-01-28 11:52:08 +02:00
Gani Georgiev 51aa5868a0 replaced NoCoalesce with NullFallback and updated tests 2026-01-15 18:06:15 +02:00
Gani Georgiev d48823e527 added strftime filter function 2026-01-15 14:27:53 +02:00
Gani Georgiev babd16d998 use group by instead of distinct when possible 2026-01-13 18:47:32 +02:00
Gani Georgiev 60ce7d0ced add extra subquery check for client-side relation filtering 2025-10-31 22:22:28 +02:00
Gani Georgiev 9e2c46f105 updated changelog and exposed search.TokenFunctions 2025-04-15 18:03:59 +03:00
Gani Georgiev feae3fc76b updated dependencies and golangci-lint to v2 2025-04-12 20:05:21 +03:00
Gani Georgiev 833f0bec9e added geoDistance calculation test 2025-04-07 12:41:13 +03:00
Gani Georgiev 4313f8bc15 fixed geoDistance code comment 2025-04-07 11:58:09 +03:00
Gani Georgiev c8f906dbb7 added geoDistance docs and tests 2025-04-03 15:55:47 +03:00
Gani Georgiev c0c89cf12c added more geoPoint field acccess tests 2025-04-02 23:25:42 +03:00
Gani Georgiev 5ae804b176 added new geoPoint field 2025-04-02 11:52:50 +03:00
zeekay ef90d0c4c4 Use base 2025-02-10 11:58:49 -06:00
Gani Georgiev c20c25fb13 added crons web apis and ui listing 2024-12-25 22:24:24 +02:00
Gani Georgiev fdee3e425d [#6073] added poc implementation for the dry submit removal 2024-12-11 18:43:48 +02:00
Gani Georgiev a91d085657 added yesterday and tomorrow date filter macros 2024-12-05 13:34:11 +02:00
Gani Georgiev 48f3d74269 added search filter and sort limits 2024-11-11 14:58:43 +02:00
Gani Georgiev 1d4fa61617 merge v0.23.0-rc changes 2024-09-29 21:09:46 +03:00
Gani Georgiev 91a6ee53a3 normalized internal errors formatting 2024-07-09 22:18:04 +03:00
Gani Georgiev cef2593353 [#4704] fixed '~' autowildcard wrapping when the string has escaped % character 2024-04-05 20:14:28 +03:00
Gani Georgiev 6496091cb3 fixed typos and some linter suggestions 2024-01-23 20:56:14 +02:00
Gani Georgiev 22fbe5cc11 added EmailTemplate.Hidden field 2024-01-16 11:38:09 +02:00
Gani Georgiev a8777b327a [#4068] fixed the json field query comparisons to work correctly with plain JSON values 2024-01-03 10:43:46 +02:00
Gani Georgiev 98d91659fd updated ui/dist, go deps, docs and fixed some typos 2023-12-10 12:23:31 +02:00
Gani Georgiev 5fc4a50afe fix nullable non-equal comparisions 2023-12-08 13:50:12 +02:00
Gani Georgiev 8256c4cd18 added support for comments in the API rules and filter expressions 2023-12-02 16:37:04 +02:00
Gani Georgiev d6d4c69c66 logs refactoring 2023-11-26 13:33:17 +02:00
Gani Georgiev 6aac9cd4df added json marshal fallback for complex structs as placeholder param 2023-08-19 16:33:45 +03:00
Gani Georgiev b2308d91d3 added datetime macros 2023-08-18 08:48:33 +03:00
Gani Georgiev e1d804da77 added placeholder params support for Dao.FindRecordsByFilter and Dao.FindFirstRecordByFilter 2023-08-18 06:31:14 +03:00
Gani Georgiev 13ef15d61a updated tests 2023-07-30 10:02:44 +03:00
Gani Georgiev 3f85384a2b revert the default max perPage limit to 500 for now 2023-07-29 21:44:31 +03:00
Gani Georgiev 0485d9ba2f added search skipTotal support 2023-07-21 23:24:36 +03:00
Gani Georgiev 07aae61eb6 synced with master 2023-07-03 20:53:09 +03:00
Gani Georgiev 44e8a56277 optimized search count queries to use rowid by default 2023-07-03 17:57:23 +03:00
Gani Georgiev 3f010fa7a0 [#2309] added query by filter record helpers 2023-05-31 11:49:16 +03:00
Gani Georgiev f057016c00 updated ui/dist 2023-04-03 21:11:04 +03:00
Gani Georgiev 769588053a revert part of the old COALESCE handling to support missing joined relation fields comparison with empty string 2023-04-03 20:27:52 +03:00
Gani Georgiev 584e5f6388 [#1939] removed redundant COALESCE normalizations 2023-03-23 19:30:35 +02:00
Gani Georgiev 4594b003cd fixed formatting and typos 2023-02-23 21:51:42 +02:00
Gani Georgiev 33a46a2938 replaced authentik with generic oidc provider 2023-02-23 21:07:00 +02:00
Gani Georgiev 7ce752f67b updated dao fail/retry handling 2023-02-22 22:20:19 +02:00
Gani Georgiev 436e2701f3 updated go deps and added Enclose for grouped conditions for normalization 2023-01-26 22:24:39 +02:00
Gani Georgiev 5a500692a6 filter enhancements 2023-01-07 22:27:11 +02:00
Gani Georgiev 514594cdc5 reduced the parenthesis in the generated filter sql query 2022-12-14 12:29:43 +02:00
Gani Georgiev 30e2c1aa91 [#1231] fixed like escape expr 2022-12-11 17:30:25 +02:00