Skip to content

enhancement: dialog polish, share link password policy, and review field fixes#228

Merged
therealbrad merged 5 commits intomainfrom
fix/dialog-polish
Apr 19, 2026
Merged

enhancement: dialog polish, share link password policy, and review field fixes#228
therealbrad merged 5 commits intomainfrom
fix/dialog-polish

Conversation

@therealbrad
Copy link
Copy Markdown
Contributor

Description

Dialog polish, share link password policy enforcement, and generate wizard review improvements.

  • Static height (h-[90vh]) for tabbed dialogs (ShareDialog, EditProject) to prevent layout shifts between tabs
  • CreateProjectWizard template step fills available space, removed redundant Selected/Use Default buttons
  • Share link passwords now validate against admin password policy with real-time PasswordStrengthIndicator (both create and edit dialogs)
  • Generate wizard review step hides fields with null/empty values instead of showing empty labels
  • Updated hardcoded "4 characters" validation strings to policy-aware messages
  • ShareDialog Create tab scrolls when content overflows
  • E2E tests updated for new validation messages

Related Issue

Partially addresses #227 (password policy strings)

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement

How Has This Been Tested?

  • Unit tests — 5664 tests passing, 0 errors
  • Integration tests
  • E2E tests — signup and password-protected share tests updated and passing
  • Manual testing — Share link password validation, dialog heights, generate wizard review

Test Configuration:

  • OS: macOS (Darwin 25.4.0, ARM)
  • Browser: Chrome
  • Node version: 22.x

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have signed the CLA

Screenshots (if applicable)

Additional Notes

therealbrad and others added 4 commits April 19, 2026 14:41
…eld fixes

- Static height for tabbed dialogs (ShareDialog, EditProject)
- CreateProjectWizard template step uses full height, removed
  Selected/Use Default buttons
- Share link passwords now validate against admin password policy
  with PasswordStrengthIndicator on create and edit dialogs
- Generate wizard review hides fields with null/empty values
- Updated hardcoded '4 characters' strings to policy-aware messages
- Updated E2E tests for new password validation messages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The upgrade notification message field contained raw HTML tags from
the notification definitions. When rendered in the daily digest email
via Handlebars (which escapes HTML by default), the tags appeared as
literal text. Strip HTML for the plain text message field; the rich
HTML is preserved separately in data.htmlContent for in-app display.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Verify that HTML tags are properly stripped from notification messages
to prevent raw HTML appearing in digest emails. Tests confirm all
notification messages produce clean plain text after stripping.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread testplanit/app/actions/upgrade-notifications.ts Fixed
Comment thread testplanit/lib/upgrade-notifications.test.ts Fixed
Comment thread testplanit/lib/upgrade-notifications.test.ts Fixed
Loop stripHtml until no tags remain to handle nested/malformed tags
(CodeQL CWE-20). Fix unused variable and eslint-disable directive.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@therealbrad therealbrad merged commit 2844afd into main Apr 19, 2026
5 checks passed
@therealbrad therealbrad deleted the fix/dialog-polish branch April 19, 2026 20:55
@therealbrad
Copy link
Copy Markdown
Contributor Author

🎉 This PR is included in version 0.22.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants