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