104 Commits
Author SHA1 Message Date
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 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 8da3b837b8 updated jsvm types 2026-02-16 22:04:19 +02:00
Gani Georgiev eed8d7d904 [#7523] added Accept-Encoding:identity to the S3 requests 2026-02-13 16:16:12 +02:00
Gani Georgiev 1b560439fe fixed comment typos 2026-01-17 10:58:12 +02:00
Gani Georgiev d7a518bcc7 fixed comment typo 2025-12-21 09:24:07 +02:00
Gani Georgiev f29c18c71a cap the file name before normalization 2025-12-19 16:58:08 +02:00
Gani Georgiev ca6eef6b62 added test for file name normalization with leading dot 2025-12-19 16:30:11 +02:00
Gani Georgiev 2f94977620 replace TrimSuffix with Trim 2025-12-12 08:52:22 +02:00
Gani Georgiev 6d763a1f86 trim normalized file extension 2025-12-12 08:49:10 +02:00
Gani Georgiev e5601098cd store the correct image/png as attrs content type when generating a thumb fallback 2025-12-09 17:09:32 +02:00
Gani Georgiev f56cee00f5 support Uploader.MaxConcurrency=1 and updated tests 2025-10-02 20:52:36 +03:00
Gani Georgiev 4fd31b4a36 added os.Root bindings to the JSVM 2025-09-06 14:51:27 +03:00
Gani Georgiev aeca9423ec [#7153] eagerly escape the S3 path in accordance with the S3 UriEncode signing rules 2025-09-06 11:59:32 +03:00
Gani Georgiev 3b5c5270e3 increased filesystem read buffer to speedup writes 2025-07-19 09:34:01 +03:00
Gani Georgiev 91144939a8 [#6914] skip empty range header 2025-06-09 19:51:06 +03:00
Gani Georgiev 4db0a82891 fixed legacy go comments 2025-06-09 19:49:46 +03:00
Gani Georgiev 991c7bfe17 bumped app version 2025-05-11 00:13:56 +03:00
Gani Georgiev 6c0114b4ee updated error comment 2025-05-04 20:56:40 +03:00
Gani Georgiev 0a2a5621a9 [#6792] added filesystem.System.GetReuploadableFile method 2025-05-03 18:37:07 +03:00
Gani Georgiev e6c7dd9154 soft-deprecated and replaced GetFile with GetReader 2025-05-02 11:27:32 +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 8d7c15260e updated filesystem.CreateThumb tests 2025-04-20 13:40:24 +03:00
Kev 🐶andGitHub f4f5d3f526 [#6744] added partial webp tumbs support 2025-04-20 13:36:45 +03:00
Gani Georgiev feae3fc76b updated dependencies and golangci-lint to v2 2025-04-12 20:05:21 +03:00
Gani Georgiev 23f432e52c [#6597] forced text/javascript content-type when serving .js/.mjs collection uploaded files 2025-04-03 16:17:16 +03:00
Gani Georgiev 4c61677b27 bumped app version 2025-03-28 19:32:07 +02:00
Gani Georgiev bb12f94146 [#6654] fixed S3 canonical uri parts escaping 2025-03-28 19:28:04 +02:00
Gani Georgiev 4238ac337f [#6600] removed filesystem io.EOF error wrapping 2025-03-16 10:43:21 +02:00
Gani Georgiev 4474c736e7 fixed typos and pass the correct custom abortCtx 2025-03-14 23:09:24 +02:00
Gani Georgiev f001780d0d added s3blob WriterOptions custom headers test 2025-03-09 20:56:33 +02:00
Gani Georgiev 944b062814 added basic s3blob tests 2025-03-08 22:32:00 +02:00
Gani Georgiev ecfa451a90 added godoc comments and license notes for the gocloud.dev vendored code 2025-03-08 01:10:13 +02:00
Gani Georgiev 57240bf875 [poc] replaced aws-sdk-go-v2 and gocloud.dev/blob 2025-03-05 16:31:21 +02:00
Gani Georgiev 00cf6719fe dowgraded aws-sdk-go-v2 2025-02-11 20:13:43 +02:00
Gani Georgiev 3ce3d9de76 [#6440] added a temporary exception for Backblaze S3 endpoints to exclude the new aws-sdk-go-v2 checksum headers 2025-02-10 23:37:23 +02:00
zeekay ef90d0c4c4 Use base 2025-02-10 11:58:49 -06:00
Gani Georgiev fa8137b0fa [#6313] enforced when_required for the new aws sdk request and response cheksum validations 2025-01-19 22:12:27 +02:00
Gani Georgiev 9301548a5f synced with upstream s3 driver 2024-12-07 12:15:03 +02:00
Gani Georgiev 1d4fa61617 merge v0.23.0-rc changes 2024-09-29 21:09:46 +03:00
Gani Georgiev ac076a2cd8 added empty dir delete test for trailing slash prefixes 2024-07-23 22:09:25 +03:00
Gani Georgiev b6fcfcba65 updated test cases 2024-04-24 23:23:24 +03:00
Gani Georgiev 2f6a15fb18 added extra extension length normalization 2024-04-24 23:20:47 +03:00
Gani Georgiev 85ab4bfeaa [#4824] updated the uploaded filename normalization to take double extensions in consideration 2024-04-24 22:00:18 +03:00
Gani Georgiev f72291f74f vendored and trimmed the s3blob driver and updated dependencies 2024-03-29 21:19:26 +02:00
Gani Georgiev 7118f8705b renamed gcp middleware file and updated go deps 2024-02-05 17:59:31 +02:00
Gani Georgiev ba0245e55c upgraded to aws-sdk-go-v2 and added a special middleware for GCP 2024-02-05 17:26:39 +02:00