Skip to content

Notifications improvements - Usability Implementation Plan#248

Merged
level09 merged 19 commits intomainfrom
notifications-improvements
Apr 1, 2026
Merged

Notifications improvements - Usability Implementation Plan#248
level09 merged 19 commits intomainfrom
notifications-improvements

Conversation

@apodacaduron
Copy link
Copy Markdown
Contributor

@apodacaduron apodacaduron commented Jan 28, 2026

Description

  • Increase width of notification drawer
  • Display mark as read icon only on hover and update style of the button
  • Add new button to mark all notifications as read (endpoint already existed)
  • Change background of urgent notifications to something more subtle
  • Change important dialog notifications title and button label

How to Test

  • Trigger or create notifications with is_urgent=True and is_urgent=False so you can see the the changes to the important notifications dialog, then click the bell icon at the top to see the changes to the notifications drawer

Jira ID (if applicable)

Epic => BYNT-1532

BYNT-1533
BYNT-1534

@apodacaduron apodacaduron self-assigned this Jan 28, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 28, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d869a617-637c-4a81-afcc-4479fde953cd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch notifications-improvements

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@apodacaduron apodacaduron mentioned this pull request Jan 28, 2026
5 tasks
@apodacaduron apodacaduron marked this pull request as ready for review February 6, 2026 16:45
@apodacaduron apodacaduron requested a review from level09 as a code owner February 6, 2026 16:45
Copy link
Copy Markdown
Collaborator

@level09 level09 left a comment

Choose a reason for hiding this comment

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

nice work overall, a few things to clean up before merging

Comment thread enferno/static/js/mixins/notification-mixin.js
Comment thread enferno/static/js/mixins/notification-mixin.js
Comment thread enferno/templates/important_notifications_dialog.html
@apodacaduron apodacaduron requested a review from level09 March 16, 2026 15:26
Copy link
Copy Markdown
Collaborator

@level09 level09 left a comment

Choose a reason for hiding this comment

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

One bug to fix before merge.

Comment thread enferno/static/js/mixins/notification-mixin.js
@level09 level09 merged commit 0bfcb35 into main Apr 1, 2026
11 checks passed
@level09 level09 deleted the notifications-improvements branch April 1, 2026 12:34
level09 added a commit that referenced this pull request Apr 15, 2026
Three items in the v4.0.0 CHANGELOG section were inaccurate when checked
against the v3.0.0 tag:

- OCR section said the pipeline replaced a "Google Vision-only pipeline",
  but v3 had no Google Vision anywhere in the codebase. v3's OCR was an
  inline Tesseract helper used during PDF import. Updated to reflect the
  real pre-v4 state and expanded with the Extraction model, dashboard
  provider switching, and the Text Map overlay that actually shipped.

- Notifications section claimed a "redesigned notification system with
  dedicated database table". enferno/admin/models/Notification.py is
  identical at v3.0.0 and main (226 lines, zero commits since v3). The
  notification table and model pre-existed v4. The only v4 change to
  notifications was #248, which adjusts drawer UI (hover-only mark-as-read,
  mark-all button, drawer width, urgent-notification color). Replaced the
  section with those actual changes.

- Data Model section claimed actor.id_number was "converted from string
  to JSONB array with type tracking". It was already declared as
  db.Column(JSONB, default=[], nullable=False) at v3.0.0 - line-for-line
  identical between v3 and main. Removed the bullet. Also removed the
  "Notification table with email tracking" bullet (the table pre-existed
  v3) and added the media orphan cleanup / per-entity etag uniqueness
  entry from #311 which was missing.
level09 added a commit that referenced this pull request Apr 15, 2026
## Summary

Three items in the v4.0.0 `CHANGELOG.md` section were inaccurate when
checked against the v3.0.0 tag. Correcting before we cut the release.

## The three errors

### 1. OCR pipeline framing
**Before:** "Unified OCR into provider-agnostic LLM support, replacing
the Google Vision-only pipeline."

**Reality:** v3 had no Google Vision anywhere in the codebase. Its OCR
was an inline Tesseract helper in
\`enferno/data_import/utils/media_import.py\` used during PDF import.
Verified by \`git grep google_vision v3.0.0\` (zero hits) and by reading
the v3 media-import code path.

**After:** Section now correctly describes the v3 → v4 transition
(Tesseract helper → provider-agnostic pipeline) and expands with the
Extraction model, dashboard provider switching (#315), and the Text Map
overlay that actually shipped.

### 2. Notifications
**Before:** "Redesigned notification system with dedicated database
table. Email notification support with delivery tracking. Read status,
urgency flags, and categorization."

**Reality:** \`enferno/admin/models/Notification.py\` is **identical at
v3.0.0 and main** — 226 lines, zero commits touching the file since
v3.0.0. The notification table, email delivery tracking, read status,
urgency flags, and categorization all pre-existed v4. The only v4 change
to notifications was PR #248, which adjusted drawer UI: hover-only
mark-as-read icon, mark-all button, drawer width, urgent-notification
color.

**After:** Replaced with an accurate one-liner describing the actual
#248 changes.

### 3. Data Model — id_number JSONB conversion
**Before:** "ID number types: actor \`id_number\` converted from string
to JSONB array with type tracking."

**Reality:** \`actor.id_number\` was already \`db.Column(JSONB,
default=[], nullable=False)\` at v3.0.0. The declaration is
line-for-line identical between v3 and main. The JSONB conversion
happened before v3.0.0.

**After:** Removed the bullet. Also removed "Notification table with
email tracking" (pre-existed v3) and added the missing media orphan
cleanup / per-entity etag uniqueness entry from #311.

## Verification method

Every claim was checked against the v3.0.0 tag via \`git cat-file -e\`,
\`git show v3.0.0:<path>\`, and file-by-file diffs between v3 and main.

## Test plan

- [x] \`git diff v3.0.0..HEAD -- CHANGELOG.md\` shows only accurate
entries
- [x] No other files changed
- [x] Doc-only change, no code impact
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants