Repository navigation
fix: 6.5.0 user requirements - #5618
Merged
Merged
Conversation
…list Show "Created by X on Y" instead of "Last modified by". Add a "Published by X on Y" line for revisions that have been published. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire UnpublishEntryUseCase into RevisionsListPresenter and add an "Unpublish" menu item on published revision rows with a confirmation dialog. Refreshes the revision list after a successful unpublish. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Display a warning banner when the user is viewing a revision that is not the latest, with a link to navigate to the latest revision. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Show a Tag with the revision status (Draft, Published, Previously published) in the title row, replacing the tooltip-only indicator. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add an "Add note" / "Edit note" action in the revision 3-dots menu for all revisions. Opens a dialog pre-filled with the current note, saves via UpdateRevisionDescriptionUseCase, and refreshes the list. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ocked entry When clicking "+ New Revision" on a locked entry, the URL now updates to the newly created revision instead of staying on the old one. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…sorting Display the last published date below the Live tag in the entries table. Rename column to lastPublishedOn so sorting by publish date works via the standard column sort mechanism. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…revision values Failing test: updating the revision description on an older revision causes the latest revision's user-written values to become null. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…t revision corruption Add a new `updateRevision` storage operation that writes only the specific revision record without syncing entry-level meta to the latest record. The existing `update` operation's latest-sync logic corrupts the latest revision's values when updating a non-latest revision (field keys converted from storage format are written back without re-conversion). UpdateRevisionDescriptionUseCase now uses UpdateRevisionRepository backed by `updateRevision` instead of the full `update` pipeline. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…e build Add updateRevision storage operation to DDB-ES and SQL backends. Fix CellLive Text size prop from "xs" to "sm". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Presenter test Add UnpublishEntryUseCase and UpdateRevisionDescriptionUseCase mock registrations to the test setup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…er CellLive override Add lastPublishedOn timestamp to LiveTag so the date shows regardless of whether the scheduler plugin is active. Drop sortable from the Live column since the column name "live" does not map to a sortable API field. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…alog opens The Radix Dialog underlying the Drawer fires onInteractOutside when a confirmation dialog overlay is clicked, closing the drawer. Prevent this by checking if the interaction target is inside a dialog element. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ublished revision
Failing test: after deleting the published latest revision, the list
query still returns live: { version: 3 } instead of null.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ision When deleting the currently published revision and promoting a previous revision as latest, the live field was copied from the deleted entry. Now it is cleared so the entry no longer appears live. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
brunozoric
force-pushed
the
bruno/fix/6.5.0/svens-notes
branch
from
September 3, 2026 08:30
a373978 to
b922fc7
Compare
RegExp constructor throws when flags is null. Coerce falsy flags to undefined so the constructor uses its default (no flags). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Stop wrapping Result errors in WebinyError — rethrow the original error directly so data (validation field details), code, and stack are preserved through to the GraphQL error response. Also removed the dead "VALIDATION_FAILED" code check from CreateEntryUseCase. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Map column name "live" to API sort field "lastPublishedOn" in the ContentEntriesDataSource sort mapper. Re-enable sortable on the Live column. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…n override
The scheduler's BrowserConfig overrides the Live column without
sortable, resetting it to false. Add sortable={true} to match
the base column.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Display the browser's timezone (e.g. "Timezone: Europe/Zagreb") in the DatePicker description so users know which timezone the scheduled time refers to. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add an optional showTimezone prop (default false) that renders the browser timezone below the date input. Use it in the scheduler dialog instead of a description hack. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…essages Add timeZoneName: "short" to the date formatter calls in ScheduledActionAlert and ScheduledTag so users see which timezone the scheduled time refers to (e.g. "09/11/2026, 04:00 GMT+2"). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add timeZoneName: "short" to the date formatter in the schedule dialog presenter so the "already scheduled at" message includes the timezone for both publish and unpublish actions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Switch scheduler date picker from dateTimeLocal to dateTimeTz, which includes a built-in timezone dropdown. Users can now schedule in any timezone without manual conversion. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
extractTimezone and formatDateForDisplay crashed when value was a Date object instead of a string. Guard extractTimezone against non-string input and convert Date to ISO string in the dateTimeTz display formatter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…meTz picker Extract utcToTimezoneDate, naiveDateToUtcIso, and parseToDate into timezoneHelpers.ts. The dateTimeTz picker now emits plain UTC ISO strings (.000Z) instead of appending the timezone offset, and displays the time in the selected timezone by shifting the UTC date. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…icker Switching timezone now only changes the display — the underlying UTC moment stays the same. Previously it re-emitted a new UTC value from the displayed time + new timezone, effectively changing the scheduled moment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…displays Replace Intl's timeZoneName: "short" (which outputs "GMT+2") with a shared formatUtcOffset helper that outputs "UTC+02:00", matching the timezone dropdown labels. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…lumn Show the published date as a tooltip on the Live tag instead of below it, reducing row height. Also removed a stray file path string in the base CellLive. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tooltip Move formatUtcOffset from app-scheduler to @webiny/app-admin so all packages can use it. Add UTC offset to the Live column published-date tooltip in both the base CellLive and scheduler LiveTag. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire PublishEntryUseCase into RevisionsListPresenter and add a "Publish" menu item on non-published revision rows. Uses the existing publish confirmation dialog with optional revision note. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Type the confirmation.confirm call with { revisionDescription }
generic so the result is properly typed instead of void.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… from drawer Add patchEntryMeta to the form presenter to update the entry's meta without a full reload. After publish/unpublish from the revision drawer, the form header and dropdown immediately reflect the new status by patching the local entry state. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add patchEntryMeta delegation to the record-locking and workflows decorators so the method is available through the decorator chain. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
brunozoric
marked this pull request as ready for review
September 8, 2026 10:19
This was referenced Oct 1, 2026
adrians5j
added a commit
that referenced
this pull request
Oct 6, 2026
Co-authored-by: Bruno Zorić <bruno.zoric@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Changes requested
Summary
Revision drawer & list
=== false— the dialog resolves withundefinedon confirm, nottrue.#N · Titleinstead of burying the version in the description.onInteractOutsideprevents the Radix Drawer from closing when a confirmation dialog overlay is clicked.Content entries table
lastPublishedOn. The column name stays"live"(for scheduler override compatibility) with a sort field mapping inContentEntriesDataSource.Entry form
Scheduler
dateTimeTzpicker type with a timezone dropdown. Users can pick a time in any timezone — the picker converts to UTC before sending to the backend. Switching timezone adjusts the display without changing the scheduled moment.UTC+02:00format via a sharedformatUtcOffsethelper, replacing the browser's inconsistentGMT+2output fromIntl.showTimezoneprop on DatePicker: New optional prop (defaultfalse) that renders the browser's timezone label below the date input.API fixes
updateRevisionstorage operation: New method that writes only the specific revision record without syncing to latest. Fixes a bug whereupdateRevisionDescriptionon an older revision wiped the latest revision's values. Implemented in DDB, DDB-ES, and SQL backends.liveon published revision delete: Deleting the currently published revision no longer leaves a stalelivepointer on the new latest entry.new RegExp(regex, null)crashed the validator. Falsy flags are now coerced toundefined.WebinyError— the original error is rethrown directly sodata(validation field details),code, andstackare preserved through to the GraphQL error response. Also removed the dead"VALIDATION_FAILED"code check fromCreateEntryUseCase.admin-ui
extractTimezoneandformatDateForDisplaynow handleDateobjects. Timezone helpers extracted totimezoneHelpers.ts. The picker emits plain UTC ISO strings and displays time in the selected timezone.Test plan
RevisionsListPresenter(create refresh, delete refresh, confirmation)updateRevisionDescriptionon an older revision preserves the latest revision's valueslivefield is cleared after deleting a published revisionyarn buildpasses🤖 Generated with Claude Code