43 Commits
Author SHA1 Message Date
zeekay 6a3066b08e Test apps open a migrated fixture, so core and apis fit the runner
tests/data lacked twelve migrations, and every test app ran them before
its test began: about four seconds an app, which put core and apis past
go test's ten minutes on the runner, and past thirty once the timeout
was raised. The fixture now holds them (go run ./tests/fixture writes
it), and TestTheFixtureIsMigrated fails, naming the migration, while
one is missing. On one host core went from 267 s to 26 s, apis from
432 s to 23 s, and the whole suite runs in 51 s.

The delete tests gave a background goroutine 100 ms to remove a
record's files, which a slow runner did not always meet. BaseApp
counts those deletions and WaitFileDeletes waits for them: the tests
wait on the count instead of the clock, and ResetBootstrapState waits
too, so a Base that stops no longer drops a deletion in flight.

TestSQLRun expected a CREATE TABLE to report one affected row. SQLite
answers a statement that writes no rows with the connection's last
count, and that row was the last migration's _migrations insert; the
handler now reads 0, the number it changed.

go test runs with its default timeout again, and crm_test.go is gofmt'd.
2026-10-19 09:08:39 -07:00
zeekayandHanzo Dev 007a8c8002 Superuser tokens come only from IAM
A migration replaces the _superusers token secrets once, so every
superuser token a Base signed itself stops verifying on the first
start. auth-refresh answers 403 for a superuser token that names no IAM
subject, and answers an IAM token as before.

The test data records the rotation as applied, so its tokens stand for
tokens signed after it.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-11 13:58:52 -07:00
zeekayandHanzo Dev 9397feac1c Refuse an auth provider Base cannot serve
Auth is Hanzo IAM and nothing else, so the registry a provider name was
once checked against is gone, and with it every check. A collection
could declare a google login and save clean, while auth-methods answers
iam whatever that collection stores. One name validates now, and it
lives in core beside the check rather than as a literal in apis.

The tests describing the removed registry are rewritten around the
provider that exists, fixtures included. TestAnchorStatusAfterClose
demanded an unchanged anchor height across a Close that joins the
anchor goroutine, so a submit in flight still landed and it failed 4
runs in 60; it now asserts the height cannot rewind.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-10 21:32:48 -07:00
zeekay 4641f13ae7 feat: Base platform — CRDT privacy, React admin, on-chain anchor SDK 2026-03-01 18:00:00 -08: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 5ac66022fe disallow client-side filtering and sorting of relations where the collection of the last targeted field has superusers only List/Search API rule 2025-10-23 17:22:47 +03:00
Gani Georgiev c0c89cf12c added more geoPoint field acccess tests 2025-04-02 23:25:42 +03:00
Gani Georgiev d01a5c3522 allow mixing existing file names and new uploaded files 2024-11-19 17:45:15 +02:00
Gani Georgiev a1057cadf9 added migration to normalize the system collection and field ids 2024-11-04 19:03:33 +02:00
Gani Georgiev 202bc1c50b lock the _mfas and _otps delete api rule, fixed flaky tests, fixed jsvm types example 2024-10-24 21:59:00 +03: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 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 d6d4c69c66 logs refactoring 2023-11-26 13:33:17 +02:00
Gani Georgiev 13f8832dce [#3110] normalized view queries with numeric or expression ids 2023-08-11 14:29:18 +03:00
Gani Georgiev 32724e3996 [#2551] auto register the initial generated snapshot migration to prevent incorrectly reapplying the snapshot on container restart 2023-05-24 09:23:10 +03:00
Gani Georgiev 09877b2bea renamed private to protected 2023-04-15 13:27:42 +03:00
Gani Georgiev 12731bbb0d [#215] added server-side handlers for serving private files 2023-04-04 20:33:35 +03:00
Gani Georgiev c3a46a253f minor internal indexes handling adjustments and test 2023-03-21 15:31:20 +02:00
Gani Georgiev b23bbcf25f update automigrate templates to check collection indexes 2023-03-19 16:02:29 +02:00
Gani Georgiev e3d4d44402 normalized values on maxSelect change 2023-03-06 15:20:07 +02:00
Gani Georgiev 6d98380376 added view collection type 2023-02-18 19:33:42 +02:00
Gani Georgiev 44d6d5e6a4 [#976] added optional RelationOptions.DisplayFields and refactored the relation picker UI 2023-01-23 21:57:35 +02:00
Gani Georgiev 5a500692a6 filter enhancements 2023-01-07 22:27:11 +02:00
Gani Georgiev 91a86abcfe moved settings under models and added settings dao helpers 2022-11-26 14:42:45 +02:00
Gani Georgiev c40dd2d332 [#943] exposed apis.EnrichRecord and apis.EnrichRecords 2022-11-17 14:18:11 +02:00
Gani Georgiev 8fa9fd1018 removed DrySubmit form errors wrapping and added more api tests 2022-11-01 00:28:33 +02:00
Gani Georgiev 943c47a441 initial v0.8 pre-release 2022-10-30 10:28:14 +02:00
Gani Georgiev 6476ba88e7 [#586] fixed multiple nested relation expansions with shared base path 2022-09-21 13:34:34 +03:00
Gani Georgiev 092d1787aa [#33] added Twitter OAuth2 provider 2022-09-01 16:46:06 +03:00
Gani Georgiev 945a767c0d [#276] added support for linking external auths by provider id 2022-08-31 13:38:31 +03:00
Gani Georgiev 022ca06cc5 [#335] added Discord OAuth2 provider 2022-08-21 20:04:38 +03:00
Gani Georgiev a52591e069 updated test data.db 2022-08-18 21:05:17 +03:00
Gani Georgiev e6011fb0bc added hideControls setting 2022-08-18 18:45:27 +03:00
Gani Georgiev 33ca01acbc [#87] added additional thumb resizers 2022-08-17 22:29:47 +03:00
Gani Georgiev c1c64484f5 [#275] added support to customize the default user email templates from the Admin UI 2022-08-14 19:30:45 +03:00
Gani Georgiev 5e2620332b updated test db and ui/dist 2022-08-10 20:37:41 +03:00
Gani Georgiev d6f86d7556 added support to filter request.user.profile relation fields 2022-07-20 22:33:24 +03:00
Gani Georgiev 4c016ec51a [#160] support expand query parameter for create and update requests 2022-07-19 13:31:52 +03:00
Gani Georgiev e713a6d205 [#151] updated the tests to ensure that the cascaded record files are also deleted 2022-07-18 13:19:07 +03:00
Gani Georgiev e4b1154a42 initial public commit 2022-07-07 00:19:05 +03:00