Merge pull request from dicoding-dev/pre-release/4.2.94 - #58
Merged
Merged
Conversation
…sk 2.14) Strict-mode tighten of View\Factory to the L13 surface: - Remove named-view sugar removed in L13: `of()`, `name()`, `alias()`, `getNames()` + the `$names`/`$aliases` properties and the alias normalization in `make()`. Any surviving caller is now method-not-found (PHP+Psalm) — the forcing function for app conform. - Rename render-flush to L13 names: add `flushState()` (owns renderCount + delegates to flushSections), rename `flushSectionsIfDoneRendering()` -> `flushStateIfDoneRendering()`; `flushSections()` stays (sections-only, as in L13's ManagesLayouts). Update View::render() callers. - Keep `BladeCompiler::extend()` (not stripped pre-swap). Tests: drop the 3 obsolete Factory tests (named views / alias make); retarget View flush mocks to flushStateIfDoneRendering. tests/View green (121 tests, 193 assertions). App side (separate, in dicoding repo): 2 `Blade::extend` -> `Blade::directive()` is convergence, not forced (extend() kept). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…5, part 1) Converge the app-facing Paginator accessors to the L13 surface (strict-mode: old getters removed -> method-not-found forces app/template conform): getCurrentPage -> currentPage getLastPage -> lastPage getFrom -> firstItem getTo -> lastItem getPerPage -> perPage getTotal -> total getItems -> items Update fork-internal Paginator callers: Presenter, the 3 bundled view templates, BelongsToMany::paginate hydration, and the Pagination tests. links() unchanged. The pagination Factory keeps its own getCurrentPage() (internal wiring), untouched here. Ratchet: pagination_getters 15 -> 10 (the 5 remaining are Factory getCurrentPage() calls in Query/Eloquent Builder). Baseline updated. Deferred to the Database-entangled window (task 2.5): removing the pagination Factory + Presenter/BootstrapPresenter and dropping the Paginator $factory ctor arg -- those rewire ->paginate() across Connection/Query\Builder/ Eloquent\Builder, so they ship with the Database work, not here. Tests: tests/Pagination green (40), Database builder/relation tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… 2.12, part 1) Converge the CookieJar queue surface to L13 (additive / callability widen): - Path-aware queued storage: queue() now nests as [name][path]; queued(), hasQueued(), unqueue() take an optional $path (null = last-for-name, L13 semantics). getQueuedCookies() flattens to a Cookie[] list (Arr::flatten) -- the Queue decorator + QueueingFactory consumers foreach over values, so they are unaffected. - Add expire($name, $path, $domain) and flushQueuedCookies() (L13 methods). Tests: switch the queued/unqueue asserts from array-key to hasQueued() (getQueuedCookies is now a flat list) + add path-aware and expire/flush coverage. tests/Cookie green (6), Auth/Session cookie tests green. Deferred (flip/swap-coupled, task 2.12 remainder): make()/forever() raw + sameSite params (security-relevant Symfony default), jar-default secure/ sameSite on setDefaultPathAndDomain, CookieValuePrefix (v2 HMAC), and the EncryptCookies/AddQueuedCookiesToResponse/StartSession/AuthenticateSession middleware (Guard/Queue decorator rewrite, kernel-flip-coupled). Session Contracts decouple already landed (task 3.4, #40). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…12, part 2) Add the L13 raw + sameSite params to make()/forever() and route secure/ sameSite through getPathAndDomain via new jar defaults. Additive and behavior-preserving: the jar SameSite default is 'lax' (the effective Symfony/L4.2 default today) rather than L13's null, so existing 7-arg callers are unchanged; apps can now set per-cookie sameSite/raw. setDefaultPathAndDomain kept at ($path, $domain) here -- widening its secure/sameSite would null-out SameSite for current 2-arg callers, so it ships with the config-driven EncryptCookies middleware (deferred). Tests: +testSameSiteAndRawWidening (default 'lax' + overrides). tests/Cookie green (7), Auth/Session cookie tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
refactor(view): drop named-view sugar, converge to L13 flushState (task 2.14)
…tters refactor(pagination): rename Paginator getters to L13 names (task 2.15, part 1)
refactor(cookie): widen CookieJar to L13 shape — queue path-aware + make sameSite/raw (task 2.12)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-release 4.2.94 — fork-tighten Wave 2 slice (stacked PR #52/#53/#54).
Tasks
flushState+ rename internal.CookieJarqueue ke shape path-aware L13; widenmake()/forever()denganraw+sameSite(part 1 & 2).Notes
ci/convergence-baseline.txtdi-bump sesuai pola non-type.🤖 Generated with Claude Code