Skip to content

Replace changed section bands with quiet dots - #249

Open
HamptonMakes wants to merge 7 commits into
mainfrom
hampton-update-markers
Open

HamptonMakes wants to merge 7 commits into
mainfrom
hampton-update-markers

Conversation

@HamptonMakes

@HamptonMakes HamptonMakes commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

What changed and why

Changed sections currently draw blue bands through prose, code, tables, and diagrams. Large edits make the document hard to scan.

Replace those bands with small orange dots beside changed headings. Hover or keyboard-focus a dot to see the last editor and relative and exact update times. Dots clear after three seconds in view; hovering or focusing keeps them available. A newer edit brings its dot back, including newly added or renamed sections. Dismiss acknowledges the current updates; later material can restore attention. A compact notice offers History and Dismiss. On phones, the notice has padded rows and the document gutter keeps each dot’s full hit area inside the card. Extensive changes get one notice instead of dots throughout the page.

The comparison uses the most recent version the reader saw. Section attribution follows the most recent edit to that section, including live updates. The notice reserves its space so live updates never push the document down. Presentations keep their current content until the show ends, then show every queued section update with its own editor. After dismissing an extensive-update notice, later ordinary edits get fresh dots. The markers remain specific to each viewer, and authored text and layout stay unchanged.

Evidence

Dark theme:

Dot beside Design with editor and update time in its tooltip

Light theme:

The same dot and tooltip in light theme, with code and diagram surfaces unchanged

Mobile, at 481 pixels, in both themes:

Padded mobile notice and dot inside the card in dark theme

Padded mobile notice and dot inside the card in light theme

How to try it

Local preview: http://127.0.0.1:3046/hampton/update-markers-mixed-content#design

  1. Open a plan with edits since your last visit.
  2. Hover or Tab to a dot to see who changed that section and when.
  3. Move away and pause on the heading for three seconds. The dot clears without moving the content.
  4. Use Dismiss to clear the remaining markers, or History to inspect the edits.
  5. Check a heavily changed plan: one notice replaces the section markers.

Testing

  • Added JavaScript-enabled browser specs for dot hover and focus, reading dismissal, quick scrolling, narrow screens, live updates, and layout stability.
  • Added service and request coverage for section attribution and viewer-specific markers.
  • Ran DATABASE_URL=mysql2://root@localhost/coplan_update_markers_315d_test bundle exec rspec. Full MySQL and PostgreSQL CI suites passed on d3e6cc5. CI is rechecking the mobile spacing fix.
  • Checked affected behavior in light and dark themes in the in-app browser.
  • Attached screenshots demonstrating both themes.

DATABASE_URL=mysql2://root@localhost/coplan_update_markers_315d_test bundle exec rspec spec/system/changed_sections_ux_spec.rb spec/system/comment_composer_spec.rb spec/services/broadcaster_spec.rb spec/requests/changed_sections_highlight_spec.rb — 56 examples, zero failures. This includes the notice geometry check in both themes and at desktop and narrow widths.

DATABASE_URL=mysql2://root@localhost/coplan_update_markers_315d_test bundle exec rspec spec/requests/changed_sections_highlight_spec.rb spec/services/plans/section_updates_spec.rb — 11 examples, zero failures, including the corrected read baseline. The final marker and presentation browser checks passed: 20 examples, zero failures. Both affected spec files pass RuboCop. Mobile gutter, notice padding, tooltip visibility, and overflow checks pass at 320, 390, and 481 pixels in both themes. The live-notice geometry check also passes. No database migrations or API changes.

Generated with Codex

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T01:12:48.070482Z dddb563 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: af30bc508b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@HamptonMakes

Copy link
Copy Markdown
Collaborator Author

🤖 @codex review — the section acknowledgement issue is fixed in dd8b853, with regression coverage for newer edits and repeated delivery.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dd8b853ad4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engine/app/javascript/controllers/coplan/changed_sections_controller.js Outdated
@HamptonMakes

Copy link
Copy Markdown
Collaborator Author

🤖 @codex review — both remaining findings are addressed in bc9c7f2. New and renamed sections are tracked, Dismiss allows genuinely newer material to restore attention, and extensive rewrites keep one summary. The focused specs pass (86 examples). I also fixed the mobile spec leaking its viewport into later tests; the mobile check followed by the three composer regressions now passes.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bc9c7f231c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engine/app/assets/stylesheets/coplan/application.css Outdated
@HamptonMakes

Copy link
Copy Markdown
Collaborator Author

🤖 @codex review — the notice no longer causes reflow (11ef7da), with a regression in both themes and at desktop and narrow widths. I also corrected the last-visit comparison to use the newest read version rather than the association’s default oldest-first order, with request coverage. All four prior review threads have fixes and replies.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dddb563add

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread engine/app/javascript/controllers/coplan/live_update_controller.js Outdated
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant