Skip to content

881 notifications with paging#901

Merged
ChengShi-1 merged 22 commits into775-basefrom
881-notifications-with-paging
Jan 16, 2026
Merged

881 notifications with paging#901
ChengShi-1 merged 22 commits into775-basefrom
881-notifications-with-paging

Conversation

@ekraffmiller
Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Adds paging to Notifications UI

Which issue(s) this PR closes:

Special notes for your reviewer:

I created a separate "base branch" because 775 actually has all the commits for 775 and 881.

Suggestions on how to test this:

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes or changelog update needed for this change?:

Additional documentation:

@github-actions github-actions Bot added FY26 Sprint 10 FY26 Sprint 10 (2025-11-05 - 2025-11-19) FY26 Sprint 11 FY26 Sprint 11 (2025-11-20 - 2025-12-03) FY26 Sprint 12 FY26 Sprint 12 (2025-12-03 - 2025-12-17) FY26 Sprint 9 FY26 Sprint 9 (2025-10-22 - 2025-11-05) GREI Re-arch GREI re-architecture-related SPA SPA.Q3.2025.6 Account Page: Notifications labels Dec 15, 2025
@ekraffmiller ekraffmiller moved this to Ready for Review ⏩ in IQSS Dataverse Project Dec 15, 2025
@jp-tosca jp-tosca self-assigned this Dec 15, 2025
@jp-tosca jp-tosca moved this from Ready for Review ⏩ to In Review 🔎 in IQSS Dataverse Project Dec 16, 2025
@cmbz cmbz added the FY26 Sprint 13 FY26 Sprint 13 (2025-12-17 - 2025-12-31) label Dec 17, 2025
@ekraffmiller ekraffmiller linked an issue Dec 18, 2025 that may be closed by this pull request
@coveralls
Copy link
Copy Markdown

coveralls commented Dec 19, 2025

Coverage Status

coverage: 97.774% (-0.03%) from 97.808%
when pulling 70d75e6 on 881-notifications-with-paging
into fd58260 on 775-base.

@cmbz cmbz added the FY26 Sprint 14 FY26 Sprint 14 (2025-12-31 - 2026-01-14) label Dec 31, 2025
Copy link
Copy Markdown
Contributor

@jp-tosca jp-tosca left a comment

Choose a reason for hiding this comment

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

Made some comments, we also discussed that in the future we probably should create a mechanism for when a component makes an operation that may generate a notification it should trigger a refresh to check the most recent number of notifications, otherwise the user won't see the notifications until next update, not a big deal but probably would improve the user experience.

Comment thread public/locales/en/account.json Outdated
"userGuideLinkText": "User Guide",
"demoServerLinkText": "Demo Site",
"clearAll": "Clear All",
"clearAllOnThisPage": "Clear Notifications",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I know this may make sense in the context it is used but do you think it would be good to have a key: "description" that is closer in meaning? "Clear notifications" is specific, while "clearAllOnThisPage" is very vague. 🤔

Comment thread src/notifications/domain/models/NotificationsPaginationInfo.ts
Comment thread src/sections/account/notifications-section/NotificationsSection.tsx
void (async () => {
await markAsRead(unreadIds)
setReadIds((prev) => [...prev, ...unreadIds])
console.log('calling refetch after marking as read')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Console log.

.filter((n) => !n.displayAsRead && !readIds.includes(n.id))
.map((n) => n.id)

console.log('in useEffect, unreadIds:', unreadIds)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Console log.

@jp-tosca jp-tosca removed their assignment Jan 7, 2026
@github-project-automation github-project-automation Bot moved this from In Review 🔎 to Ready for QA ⏩ in IQSS Dataverse Project Jan 9, 2026
@ChengShi-1 ChengShi-1 self-assigned this Jan 13, 2026
@ChengShi-1 ChengShi-1 moved this from Ready for QA ⏩ to QA ✅ in IQSS Dataverse Project Jan 13, 2026
@@ -1,27 +1,37 @@
// TypeScript
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could you remove the // TypeScript here? and move the import styles in the end of all imports ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

thanks, good catch :)

@ChengShi-1
Copy link
Copy Markdown
Contributor

Hi @ekraffmiller , Thanks for all the work on the notification PR. It looks great!

I tested it locally with hundreds of notifications. I notice that when you clear notifications in the last page, it shows no notification available, but there are notifications in previous pages which I assume to be shown after a refresh. I attached the screen recording here to better demonstrate
https://github.com/user-attachments/assets/9894d5bc-7126-44bc-bb5e-8f5732267344

Also, some suggestions for UI

  • About the time format, could you make it more readable like JSF?
image
  • We could add a little gap between the text and notification icon here to make it look better, like Dataverse Admin [3] and Notifications [3] , which is similar to JSF as well
image image
  • also, we may need to add size labels to this PR and the issue.

@ekraffmiller
Copy link
Copy Markdown
Contributor Author

thanks for the QA @ChengShi-1! I will assign it to myself to make the fixes

@ekraffmiller ekraffmiller self-assigned this Jan 13, 2026
@ekraffmiller
Copy link
Copy Markdown
Contributor Author

Hi @ChengShi-1 , I made the fixes to the paging and date format, but I'm not seeing the spacing issue in the notifications count...here is what it looks like for me:

Screenshot 2026-01-14 at 5 16 49 PM

Can you try rebuilding the design system? I think you might be missing updates in the Badge component.

@ChengShi-1
Copy link
Copy Markdown
Contributor

@ekraffmiller Thanks for the fixes! I see the badge after re-building design system, thanks.

  • Could you add a loading skeleton and an error alert to it? I see return <div>Loading...</div> and return <div>{error}</div> in NotificationsSection.tsx, it will be good if you could add a loading skeleton and an alert error info there
  • Could you also update Changelog?

@cmbz cmbz added the FY26 Sprint 15 FY26 Sprint 15 (2026-01-14 - 2026-01-28) label Jan 15, 2026
@ekraffmiller
Copy link
Copy Markdown
Contributor Author

@ChengShi-1 changes made, thank you

@ChengShi-1 ChengShi-1 merged commit ff38810 into 775-base Jan 16, 2026
11 of 16 checks passed
@github-project-automation github-project-automation Bot moved this from QA ✅ to Merged 🚀 in IQSS Dataverse Project Jan 16, 2026
@ChengShi-1 ChengShi-1 removed their assignment Jan 16, 2026
@pdurbin pdurbin moved this from Merged 🚀 to Done 🧹 in IQSS Dataverse Project Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 9 FY26 Sprint 9 (2025-10-22 - 2025-11-05) FY26 Sprint 10 FY26 Sprint 10 (2025-11-05 - 2025-11-19) FY26 Sprint 11 FY26 Sprint 11 (2025-11-20 - 2025-12-03) FY26 Sprint 12 FY26 Sprint 12 (2025-12-03 - 2025-12-17) FY26 Sprint 13 FY26 Sprint 13 (2025-12-17 - 2025-12-31) FY26 Sprint 14 FY26 Sprint 14 (2025-12-31 - 2026-01-14) FY26 Sprint 15 FY26 Sprint 15 (2026-01-14 - 2026-01-28) GREI Re-arch GREI re-architecture-related SPA.Q3.2025.6 Account Page: Notifications SPA

Projects

Status: Done 🧹

Development

Successfully merging this pull request may close these issues.

Add paging to Notifications table

6 participants