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
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
85387a93ab
feat(base): add PostgreSQL dialect and DBConnect
...
SQLDialect interface abstracts SQLite vs PostgreSQL SQL differences:
- JSON ops (json_extract vs ->>, json_each vs jsonb_array_elements)
- Date formatting (strftime vs to_char)
- Schema introspection (PRAGMA vs information_schema)
- ID generation (randomblob vs gen_random_bytes)
Adds PostgresDBConnect via pgx driver and DataDSN/AuxDSN config fields
for connecting Base to Neon serverless PostgreSQL instead of SQLite.
2026-03-01 18:37:50 -08: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 and Felix
b7e686c889
[ #7305 ] fixed deadlock when manually triggering the OnTerminate hook
...
Co-authored-by: Felix <[email protected] >
2025-11-07 17:03:15 +02:00
Gani Georgiev and Loic B.
21e881eb35
[ #7208 ] exlude lost+found from the backups
...
Co-authored-by: Loic B. <[email protected] >
2025-09-28 08:28:28 +03:00
Gani Georgiev
2eeae22a43
renamed to execve to make it more clear
2025-08-22 20:47:58 +03:00
Jesse Sivonen and GitHub
eb3ae57c44
[ #7116 ] exclude syscall.Exec for WASM
2025-08-22 20:44:13 +03:00
Gani Georgiev
95f0f8b220
use the nonconcurrent pool for running PRAGMA optimize
2025-07-19 10:02:44 +03:00
Gani Georgiev
2b203689c7
fixed dev sql log replacements
2025-05-02 11:12:33 +03: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
fc3828c193
merge with master
2025-04-28 16:51:18 +03:00
Gani Georgiev
76503e83d8
[ #6780 ] added temp semaphore to limit the number of goroutines when cleaning files
2025-04-28 14:47:11 +03:00
Gani Georgiev
ea5f4043d3
delay default response body write for *Request hooks wrapped in a transaction
2025-04-27 16:25:51 +03:00
Gani Georgiev
bb623c1efb
fixed NewBackupsFilesystem code comment
2025-04-10 09:00:32 +03:00
Gani Georgiev
002afe5fed
reorganized sqlLogReplacements
2025-03-15 13:28:39 +02:00
Gani Georgiev
fdb5826c17
fixed sql nested json value dev print log
2025-03-15 12:29:51 +02:00
zeekay
ef90d0c4c4
Use base
2025-02-10 11:58:49 -06:00
Gani Georgiev
7b6425a3cf
changed store.Store to accept generic key type
2024-12-23 15:44:00 +02:00
Gani Georgiev
eaa28c9e38
print inline attachments in the dev mail send
2024-12-17 09:28:26 +02:00
Gani Georgiev
f29d58bebb
fixed dev log query print formatting
2024-11-26 20:58:35 +02:00
Gani Georgiev
25fcf264e9
fixed superuser OTP id input reactivity, enabled truncate dropdown option for system collections, updated jsvm types
2024-11-23 14:12:18 +02:00
Gani Georgiev
166711e26e
added periodic wal_checkpoint calls
2024-11-17 14:26:42 +02:00
Gani Georgiev
9a08871562
removed the default cgo driver registration
2024-10-29 22:46:56 +02:00
Gani Georgiev
e79b04e09c
added additional godoc and updated the OAuth2 form to use the same created record pointer
2024-10-24 08:37:22 +03:00
Gani Georgiev
3562d78742
fixed comments and added default generic arg name
2024-10-14 14:33:04 +03:00
Gani Georgiev
ef46d53314
remind users to call e.Next() in the OnBootstrap hook if the app is still not initilized after the hook trigger
2024-10-06 22:51:39 +03:00
Gani Georgiev
68a6bb9ae7
[ #5607 ] rename aux.db to auxiliary.db
2024-10-06 16:45:57 +03:00
Gani Georgiev
5d3b8d1e5d
restored old defaults
2024-10-05 21:59:46 +03:00
Gani Georgiev
1d4fa61617
merge v0.23.0-rc changes
2024-09-29 21:09:46 +03:00
Gani Georgiev
ae9f5e5b5f
[ #5246 ] improved files delete performance when using the local filesystem
2024-07-23 20:44:04 +03:00
Gani Georgiev
a94e13aec1
updated changelog
2024-07-09 23:18:45 +03:00
Gani Georgiev
5be9e47fc9
updated logs delete trigger frequency and tests
2024-07-09 22:04:39 +03:00
Gani Georgiev
9964b3f724
fixed logs delete check
2024-07-09 18:30:23 +03:00
Gani Georgiev
7803f3cde0
[ #5179 ] added logs delete trigger test and bumped app version
2024-07-06 14:04:06 +03:00
Nehme Roumani and GitHub
038ae1745a
[ #5179 ] fixed days calculation for triggering old logs deletion
2024-07-06 12:50:21 +03:00
Gani Georgiev
7a50ff4ae3
added temp collections cache
2024-04-25 10:14:59 +03:00
Gani Georgiev
b5695449e9
call TestApp.ResetBootstrap as finalizer of the test OnTerminate hook
2024-03-20 23:52:26 +02:00
Gani Georgiev
c4467b40e3
updated go deps and bumped ui version
2024-02-26 19:05:20 +02:00
Gani Georgiev
6c99c97ec4
fixed logs printer dev tests
2024-02-26 16:39:35 +02:00
Gani Georgiev
18ba27fbb0
[ #3918 ] added --dev flag, dev log printer and some minor log UI enhacements
2023-12-16 18:15:36 +02:00
Gani Georgiev
cf9ec6b606
skip log writes if max retention setting is zero
2023-12-10 12:40:33 +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
599b88ac51
revert ResetBootstrapState removal on app termination since closing the db explicitly enforces checkout and clearing the side-car wal file
2023-12-09 19:43:29 +02:00
Gani Georgiev
62ba9d8fb6
fixed graceful shutdown handling
2023-12-08 21:16:48 +02:00
Gani Georgiev
25e4f15439
remove the unnecessary App.ResetBootstrapState calls as sqlite connections will be closed anyway with the process termination
2023-12-08 19:24:14 +02:00
Gani Georgiev
b4838e09a2
trigger OnTerminate() hook on app.Restart() call
2023-12-08 15:46:33 +02:00