Redesign panel activity feed and fix attribute list editing UX#2574
Merged
Conversation
Activity timeline (sidebar on product/variant/brand/product-type/collection/
customer edit pages):
- Show per-user avatars (Gravatar with an initials fallback) instead of
event-type icons, actor-led rows, relative time, and a "See all" link.
- Report only fields that genuinely changed: empty-aware comparison drops
logOnlyDirty false positives (unchanged casts) and empty JSON shapes
([] vs {"specs":[]}), and attribute_data is diffed per handle so the feed
names the actual attributes that changed.
- Centralise the activity->array mapping in a TimelineActivity support class.
Gravatar:
- Extract a shared Gravatar helper (d=404 so missing avatars fall back to
initials) and use it for the logged-in user in the profile menu too.
Attribute list field:
- Plain lists render an always-present trailing input, so typing adds an entry
inline (dirty-on-type) with no + button; empty rows pruned on blur. This
removes the empty-list "type but nothing happens" trap.
- Keyed lists auto-commit a complete key+value draft on blur.
Adds side_activity_see_all / activity_see_all across all 16 locales.
Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Panel UI tweaks to the record edit pages (products, variants, brands, product types, collections, customers).
Activity timeline
logOnlyDirtyfalse positives (e.g. an unchangedstatuscast) and empty JSON shapes ([]vs{"specs":[]}).attribute_datais diffed per attribute handle, so the feed names the attributes that actually changed instead of a vague "Attributes".TimelineActivitysupport class (was duplicated across six controllers).Gravatar
Gravatarhelper (d=404so a missing Gravatar falls back to initials rather than a placeholder image).Attribute list field
+button; empty rows are pruned on blur. This removes the empty-list "I typed but nothing saved" trap.+still work).i18n
side_activity_see_all/activity_see_allacross all 16 locales.Tests
TimelineActivityTest(change detection) and additionalAttributeFieldscases (empty-list append, blur prune, keyed auto-commit).vue-tsc,npm run build, 210 vitest, 680 panel PHP tests.🤖 Generated with Claude Code