Jakub Zych
7ac6c05ab3
chore(12-04): expect only the updated broadcast golden to skip
...
The album store handler asserts the created golden now; updated stays pending
until the update handler lands.
2026-10-02 14:01:32 +02:00
Jakub Zych
18ead668ec
docs(12-03): update state and roadmap progress after plan 12-03
2026-10-02 13:18:30 +02:00
Jakub Zych
6f37a3782f
docs(12-03): complete household invitations and members plan
2026-10-02 13:17:47 +02:00
Jakub Zych
62863cf0ae
docs(12-02): update state and roadmap progress after plan 12-02
2026-10-02 12:39:18 +02:00
Jakub Zych
85a45dbc80
docs(12-02): complete collections, me/context and share link plan
2026-10-02 12:38:40 +02:00
Jakub Zych
d7388af564
docs(12-01): update state and roadmap progress after plan 12-01
2026-10-02 11:50:43 +02:00
Jakub Zych
ce72e60491
docs(12-01): complete framework gaps and user groups plan
2026-10-02 11:50:05 +02:00
Jakub Zych
1bdbdf041b
docs(12-01): reword the Phase 12-14 scope and requirements
...
- Phase 12 criteria 1-3 and goal: realtime/channels, owner-only share,
cover import, re-gated search total (D-03, D-04, D-06, D-19, D-20)
- reservations and anonymous public-token views move to Phase 13
(API-03, API-07); the Discogs cover-price route to Phase 14 (INTG-01)
- the folded lagoon-validate-min-message todo moves to done
2026-10-02 11:44:52 +02:00
Jakub Zych
3ae49bb6f4
feat(12-01): report the search engine's found count and field weights
...
- optional beachcomber.PageSearcher returns a page of candidate ids plus
the engine's found count; beachcomber.SearchPage falls back to
SearchIDs for engines without it, so Engine is unchanged
- Query.QueryByWeights is sent to Typesense as query_by_weights; a
mismatched weight list or a page above typesense.MaxPerPage (250) is
refused before any request
2026-10-02 11:37:01 +02:00
Jakub Zych
e06e0cc8bf
feat(12-01): record multipart uploads and match Winter upload URLs
...
- attach.PublicURL and (*File).URL build Winter File::getPath() URLs; the
thumbnailer decodes webp via golang.org/x/image v0.46.0 and checks the
image size from the header before decoding
- tide requests carry multipart parts (files beside the fixture pinned by
sha256) encoded with the fixed MultipartBoundary, so PHP and Go receive
byte-identical bodies
- tide masks the random partition, disk name and file id of url/thumb_url
upload URLs while still diffing prefix, size, mode and extension, and
NormalizePublications masks Carbon dates in the published album
2026-10-02 11:33:42 +02:00
Jakub Zych
f9b7f2ea33
feat(12-01): add Laravel request validation to lagoon
...
- lagoon.ValidateRequest ports Laravel 9 request validation: wildcard
expansion, implicit-rule stop, bail, sometimes/nullable/blank skipping,
size messages split by type and character-counted string lengths
- ParseRules, In, CustomRule, UploadedFile and ErrorKeys for rule tables
- pl/en lagoon::validation catalogs ported verbatim from WinterCMS
- lagoon.Validate answers a numeric range failure with the bound that
failed (min, max or numeric between) instead of always max
2026-10-02 11:25:36 +02:00
Jakub Zych
cfe568a214
docs(quick-261002-esz): extract golem15.user into its own repo sm-user-plugin
2026-10-02 11:04:00 +02:00
Jakub Zych
947aabee93
docs: move golem15.user to sm-user-plugin and supersede the Phase 1 extraction deferral
...
- new note .planning/notes/core-plugins-own-repos.md: shared core plugins live in sm-<name>-plugin repos mounted as submodules
- 01-CONTEXT deferral points to the note; PROJECT constraint and Key Decisions row
- ROADMAP Phase 12 repos and the 12-01 entry, and Phase 12 plans 12-01, 12-02, 12-05 name sm-user-plugin and the submodule commit workflow
2026-10-02 11:02:07 +02:00
Jakub Zych
b3fda9188f
docs(12): create phase plan
2026-10-02 08:40:06 +02:00
Jakub Zych
d97b4292a3
docs(12): record post-research decisions and validation strategy
2026-10-02 08:04:23 +02:00
Jakub Zych
77f8b371cf
docs(12): research phase domain
2026-10-02 01:08:08 +02:00
Jakub Zych
8cc7b81559
docs: defer phase 11.3 newsletter to backlog as 999.1
2026-10-02 00:49:47 +02:00
Jakub Zych
3f650ffcd4
docs(10, 10.2): regenerate verification reports for modules/ paths
2026-10-01 23:32:42 +02:00
Jakub Zych
f2f2279be9
docs(phase-9): complete phase execution
2026-10-01 23:19:21 +02:00
Jakub Zych
9692315cb5
docs(09): verification passed
2026-10-01 23:18:53 +02:00
Jakub Zych
ba1aaefa01
docs(09): record approved review decisions and close UAT
2026-10-01 23:13:02 +02:00
Jakub Zych
2da8112dbb
fix(09): WR-11 enforce case-insensitive unique backend user emails
...
Add a backend admin migration that creates a unique index on
lower(backend_users.email). Rows copied from WinterCMS may hold emails
that differ only in case, so the migration refuses to run and names the
clashing logins instead of choosing an account to drop.
2026-10-01 23:12:29 +02:00
Jakub Zych
5d79f7d0bb
docs(09): re-verify phase after code review fixes
2026-10-01 21:50:43 +02:00
Jakub Zych
2ecc85ea19
docs(09): record code review disposition
2026-10-01 21:43:15 +02:00
Jakub Zych
9d2128acc2
docs(09): add code review fix report
2026-10-01 21:43:14 +02:00
Jakub Zych
4ae272e3cc
fix(09): WR-19 expose the write transaction to hooks and scopes through TxFromContext
2026-10-01 21:37:13 +02:00
Jakub Zych
bbdc7a6b7e
fix(09): WR-18 judge the gate's zero-test check per package
2026-10-01 21:35:18 +02:00
Jakub Zych
8479defe53
fix(09): WR-17 merge an admin's own permissions over the role's, honouring denies
2026-10-01 21:33:07 +02:00
Jakub Zych
629fac4d29
fix(09): WR-16 resolve model columns through embedded structs and explicit column tags
2026-10-01 21:31:46 +02:00
Jakub Zych
2d96adf775
fix(09): WR-10 keep cabana's own backend guard when it is activated twice on one application
2026-10-01 21:31:46 +02:00
Jakub Zych
299d220b51
fix(09): WR-14 let logout revoke an expired token that is still refreshable and always clear the cookie
2026-10-01 21:23:42 +02:00
Jakub Zych
c9bb14944a
fix(09): WR-13 read admin passwords from a prompt or stdin and deprecate the --password flag
2026-10-01 21:20:20 +02:00
Jakub Zych
331351a73c
fix(09): WR-11 reject ambiguous admin logins and cross-field login or email collisions
2026-10-01 21:17:50 +02:00
Jakub Zych
eb8c727790
fix(09): WR-12 time a missing admin login at the configured bcrypt cost
2026-10-01 21:17:37 +02:00
Jakub Zych
3f476164f9
fix(09): WR-10 fail boot when another plugin already owns the backend guard
2026-10-01 21:15:05 +02:00
Jakub Zych
20a79c5df4
fix(09): WR-09 scaffold admin controllers with a required permission and a record source placeholder
2026-10-01 21:13:40 +02:00
Jakub Zych
8b48eea4e1
fix(09): WR-08 search non-text list columns as text instead of failing in SQL
2026-10-01 21:11:38 +02:00
Jakub Zych
b026aec162
fix(09): WR-07 keep relation column order from the YAML itself, not a fixed indentation
2026-10-01 21:10:09 +02:00
Jakub Zych
889250c8fb
fix(09): WR-06 default a relation list to its first sortable column
2026-10-01 21:07:54 +02:00
Jakub Zych
9bca815b1b
fix(09): WR-05 refuse relation link and unlink the panel does not declare
2026-10-01 21:07:11 +02:00
Jakub Zych
b8084080cb
fix(09): WR-04 apply a form field's required flag only in the contexts that can supply it
2026-10-01 21:05:33 +02:00
Jakub Zych
f2ab93f291
fix(09): WR-03 refuse writes that the compiled list and form do not declare
2026-10-01 21:04:31 +02:00
Jakub Zych
28aa073de0
fix(09): WR-02 drop a denied main menu item and never link it to a controller the admin cannot open
2026-10-01 20:59:26 +02:00
Jakub Zych
b4b8b5df64
fix(09): WR-01 match wildcard required permissions and treat several codes as any, like Winter
2026-10-01 20:58:16 +02:00
Jakub Zych
1a878b371e
docs(09): regenerate verification report for modules/ paths
2026-10-01 20:54:54 +02:00
Jakub Zych
6a2ee9d2f9
docs: capture todo - Benchmark Płytarium on WinterCMS vs SummerCMS
2026-10-01 20:25:24 +02:00
Jakub Zych
ecdef31c38
docs(quick-261001-qoa): add a docs page on performance and scaling compared to PHP/WinterCMS
2026-10-01 19:21:34 +02:00
Jakub Zych
4103d95a1a
docs(architecture): add performance and scaling page compared to PHP-FPM
2026-10-01 19:20:46 +02:00
Jakub Zych
2fc5eac6d5
test(11.2): record the WR-03 decision in UAT
2026-10-01 17:13:16 +02:00
Jakub Zych
37f7192832
docs(11.2): add code review fix report and record dispositions
2026-10-01 17:13:08 +02:00