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
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
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
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
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
e2cbe88aa1
use TEST_IP for the test auth alert email
2025-11-22 09:36:20 +02:00
Gani Georgiev
cf6a73d956
[ #7314 ] added ALERT_INFO placeholder to the auth alert mail template
2025-11-10 17:56:36 +02:00
Gani Georgiev
cfcf4adea8
[ #6689 ] updated to automatically routes raw write SQL statements to the nonconcurrent db pool
2025-05-02 10:27:41 +03:00
Gani Georgiev
1eb4103faa
[ #6607 ] allowed manually changing the password from the create/update hooks
2025-04-05 13:36:31 +03:00
zeekay
ef90d0c4c4
Use base
2025-02-10 11:58:49 -06:00
Gani Georgiev
2b60b61da9
upgraded to jwt/v5
2025-01-05 11:18:00 +02:00
Gani Georgiev
eee5a40d65
added record.SetRandomPassword() helper and updated oauth2 autogenerated password handling
2024-12-26 13:24:03 +02:00
Gani Georgiev
fdee3e425d
[ #6073 ] added poc implementation for the dry submit removal
2024-12-11 18:43:48 +02:00
Gani Georgiev
76ebd6b747
added more descriptive test OTP id and failure log message
2024-12-02 13:46:29 +02:00
Gani Georgiev
55862a4534
updated checkOldPassword validator
2024-11-23 10:28:31 +02:00
Gani Georgiev
1d4fa61617
merge v0.23.0-rc changes
2024-09-29 21:09:46 +03:00
Gani Georgiev
a4dcdee8c8
updated the rules when linking OAuth2 by email
2024-06-18 16:26:32 +03:00
Gani Georgiev
4583e3509b
added back relation filter reference support
2024-02-19 16:55:34 +02:00
Gani Georgiev
026b5e274a
fixed RecordUpsert.RemoveFiles godoc example
2024-02-02 09:21:41 +02:00
Gani Georgiev
6496091cb3
fixed typos and some linter suggestions
2024-01-23 20:56:14 +02:00
Gani Georgiev
765680ac33
added support for loading a serialized json payload as part of multipart/form-data request
2024-01-14 22:20:46 +02:00
Gani Georgiev
0bcc6c527e
[ #4066 ] mark user as verified on confirm password reset
2024-01-13 17:52:41 +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
5fce1f8a82
updated some of the tests to use t.Parallel
2024-01-03 04:30:20 +02:00
Gani Georgiev
36444e47f8
docs fixes commits from develop
2023-12-29 21:25:32 +02:00
Gani Georgiev
c249991ff9
[ #3790 ] added MaxSize json field option
2023-12-09 22:30:37 +02:00
Gani Georgiev
790f1e4980
added onlyVerified auth collection option
2023-12-06 11:57:04 +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
bbd856fcdc
[ #3700 ] allow a single OAuth2 user to be used for authentication in multiple auth collection
2023-12-02 12:43:22 +02:00
Gani Georgiev
49e2283faf
added OAuth2 displayName and pkce options
2023-11-29 20:19:54 +02:00
Gani Georgiev
d6d4c69c66
logs refactoring
2023-11-26 13:33:17 +02:00
Gani Georgiev
3014b77b79
synced with master
2023-11-11 12:50:20 +02:00
Gani Georgiev
6389e06ccc
[ #3697 ] allowed hyphens in usernames
2023-11-11 12:19:33 +02:00
Gani Georgiev
e6cbf5c60d
synced with master
2023-11-10 15:18:14 +02:00
Gani Georgiev
41838aaf77
[ #3735 ] fixed text field min/max validators to properly count multi-byte characters
2023-11-10 14:58:00 +02:00
Gani Georgiev
4427f1057a
synced with master
2023-11-06 11:42:59 +02:00
Gani Georgiev and sergeypdev
ac8ade5c0e
[ #3689 ] relaxed the OAuth2 redirect url validation to allow any string value
...
Co-authored-by: sergeypdev <[email protected] >
2023-11-06 11:33:10 +02:00
Gani Georgiev
1818be0ab2
updated relation field validation message
2023-10-21 15:52:19 +03:00
Gani Georgiev
d09661f9d9
renamed record upsert local requestInfo to requestData to distinguish better from models.RequestInfo
2023-10-08 22:52:14 +03:00
Gani Georgiev
ac9b40a6f8
added more descriptive internal password reset error message
2023-09-15 20:45:28 +03:00
Gani Georgiev
6a602168d3
use singular NoDecimal option name
2023-08-29 18:41:20 +03:00
Gani Georgiev
c601566d66
[ #3113 ] added NoDecimal number field option
2023-08-29 18:35:57 +03:00
Gani Georgiev
e7e2b9d1a1
[ #2599 ] added option to upload a backup file from the Admin UI
2023-08-28 20:06:48 +03:00
Gani Georgiev
415d655d80
added SchemaField.Presentable field
2023-08-21 12:58:18 +03:00
Gani Georgiev
a9fba4e10d
updated LastVerificationSentAt and LastResetSentAt fill sequence
2023-08-17 14:03:11 +03:00
Gani Georgiev
13f8832dce
[ #3110 ] normalized view queries with numeric or expression ids
2023-08-11 14:29:18 +03:00
Gani Georgiev
0040e613c5
[ #3090 ] fixed relation to view error message
2023-08-08 12:41:51 +03:00
Gani Georgiev
62276366f9
updated ui/dist and some lint warnings
2023-07-30 13:40:22 +03:00
Gani Georgiev
5ec04e4e82
added action arg to the before Dao hook to allow skipping the default persist behavior
2023-07-29 19:52:36 +03:00