[PR #1283] [CLOSED] Enhancement #906/UX & Usability Improvements - Prevent Data Loss, Persist Preferences #9284

Closed
opened 2026-04-30 05:32:51 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fosrl/pangolin/pull/1283
Author: @Pallavikumarimdb
Created: 8/15/2025
Status: Closed

Base: devHead: enhancement-#906/Data-Loss-and-Enter-Key-Improvements


📝 Commits (10+)

  • 33b0cbd Reusable Hooks and Navigation Guard for Unsaved Changes Protection & Navigation Safety.
  • 9e12d88 data persistence in setting page
  • 1c19174 fix Maximum update depth exceeded and implement in site form
  • a713d13 cleanup and logic simplified
  • 767c3d8 fix navigation guard
  • 60884c2 add data persistance inside resources (general, proxy) forms
  • 1c41797 add data persistence logic inside resource create form
  • 68b01ba unnecessary re-render issue fix
  • 6ff46e3 Improved useFormPersistence
  • b4d6d47 Sidebar NavigationGuard

📊 Changes

38 files changed (+1722 additions, -386 deletions)

View changed files

📝 messages/en-US.json (+3 -1)
📝 src/app/[orgId]/settings/access/invitations/InvitationsDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/access/roles/RolesDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/access/users/UsersDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/api-keys/OrgApiKeysDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/clients/ClientsDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/domains/DomainsDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/general/page.tsx (+24 -1)
📝 src/app/[orgId]/settings/resources/ResourcesTable.tsx (+60 -3)
📝 src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx (+93 -17)
📝 src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx (+57 -16)
📝 src/app/[orgId]/settings/resources/[resourceId]/layout.tsx (+8 -4)
📝 src/app/[orgId]/settings/resources/[resourceId]/proxy/page.tsx (+211 -67)
📝 src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx (+60 -7)
📝 src/app/[orgId]/settings/resources/create/page.tsx (+248 -134)
📝 src/app/[orgId]/settings/share-links/ShareLinksDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/sites/SitesDataTable.tsx (+1 -0)
📝 src/app/[orgId]/settings/sites/create/page.tsx (+28 -11)
📝 src/app/admin/api-keys/ApiKeysDataTable.tsx (+2 -1)
📝 src/app/admin/idp/AdminIdpDataTable.tsx (+1 -0)

...and 18 more files

📄 Description

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

This PR addresses several usability issues highlighted in #906 to improve user experience and prevent accidental data loss. It focuses on UX reliability and reducing user frustration.

Issues & Sub-issues addressed:

  • 3.1 — Tab Switching = Lost Changes
    Switching between tabs on a resource configuration currently causes unsaved changes to be lost if the user hasn’t clicked “Save” first.

  • 3.2 — Leave Warning
    No warning is shown when navigating away or closing the browser with unsaved changes.

  • 4.4 — Does Not Save Amount of Entries
    The “entries per page” setting is not remembered and resets after every page refresh.

How to test?


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fosrl/pangolin/pull/1283 **Author:** [@Pallavikumarimdb](https://github.com/Pallavikumarimdb) **Created:** 8/15/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `enhancement-#906/Data-Loss-and-Enter-Key-Improvements` --- ### 📝 Commits (10+) - [`33b0cbd`](https://github.com/fosrl/pangolin/commit/33b0cbdf11bea7c4009c52cf5283f3d4a905228f) Reusable Hooks and Navigation Guard for Unsaved Changes Protection & Navigation Safety. - [`9e12d88`](https://github.com/fosrl/pangolin/commit/9e12d88bc08312e8365c85165292c19cf7a34459) data persistence in setting page - [`1c19174`](https://github.com/fosrl/pangolin/commit/1c19174a86440ebec7b76f3ff08af82ae9bf75fd) fix Maximum update depth exceeded and implement in site form - [`a713d13`](https://github.com/fosrl/pangolin/commit/a713d1365f955f03ff04319bdbceff4af2aed66c) cleanup and logic simplified - [`767c3d8`](https://github.com/fosrl/pangolin/commit/767c3d8b96162b411f40e7bfaf547e2e87f0fd61) fix navigation guard - [`60884c2`](https://github.com/fosrl/pangolin/commit/60884c215f1a443278566b4655e9a1bf87052251) add data persistance inside resources (general, proxy) forms - [`1c41797`](https://github.com/fosrl/pangolin/commit/1c41797a8e225895827b49168d7ecc4462e48367) add data persistence logic inside resource create form - [`68b01ba`](https://github.com/fosrl/pangolin/commit/68b01ba4ea4c7e21d17ac746149cff1866d58237) unnecessary re-render issue fix - [`6ff46e3`](https://github.com/fosrl/pangolin/commit/6ff46e34473ed42f5c6c20382bde20871202f80e) Improved useFormPersistence - [`b4d6d47`](https://github.com/fosrl/pangolin/commit/b4d6d471b2e7ebc9aa7d83a942326aad953ed5bd) Sidebar NavigationGuard ### 📊 Changes **38 files changed** (+1722 additions, -386 deletions) <details> <summary>View changed files</summary> 📝 `messages/en-US.json` (+3 -1) 📝 `src/app/[orgId]/settings/access/invitations/InvitationsDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/access/roles/RolesDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/access/users/UsersDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/api-keys/OrgApiKeysDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/clients/ClientsDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/domains/DomainsDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/general/page.tsx` (+24 -1) 📝 `src/app/[orgId]/settings/resources/ResourcesTable.tsx` (+60 -3) 📝 `src/app/[orgId]/settings/resources/[resourceId]/authentication/page.tsx` (+93 -17) 📝 `src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx` (+57 -16) 📝 `src/app/[orgId]/settings/resources/[resourceId]/layout.tsx` (+8 -4) 📝 `src/app/[orgId]/settings/resources/[resourceId]/proxy/page.tsx` (+211 -67) 📝 `src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx` (+60 -7) 📝 `src/app/[orgId]/settings/resources/create/page.tsx` (+248 -134) 📝 `src/app/[orgId]/settings/share-links/ShareLinksDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/sites/SitesDataTable.tsx` (+1 -0) 📝 `src/app/[orgId]/settings/sites/create/page.tsx` (+28 -11) 📝 `src/app/admin/api-keys/ApiKeysDataTable.tsx` (+2 -1) 📝 `src/app/admin/idp/AdminIdpDataTable.tsx` (+1 -0) _...and 18 more files_ </details> ### 📄 Description ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Description This PR addresses several usability issues highlighted in #906 to improve user experience and prevent accidental data loss. It focuses on UX reliability and reducing user frustration. **Issues & Sub-issues addressed:** * **3.1 — Tab Switching = Lost Changes** Switching between tabs on a resource configuration currently causes unsaved changes to be lost if the user hasn’t clicked “Save” first. * **3.2 — Leave Warning** No warning is shown when navigating away or closing the browser with unsaved changes. * **4.4 — Does Not Save Amount of Entries** The “entries per page” setting is not remembered and resets after every page refresh. ## How to test? --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 05:32:51 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#9284