Skip to content

chore(release): add release images and notes for v3.38.0#5271

Merged
rhahao merged 1 commit into
sws2apps:mainfrom
ux-git:feat/release-images-v3.38.0
Jul 1, 2026
Merged

chore(release): add release images and notes for v3.38.0#5271
rhahao merged 1 commit into
sws2apps:mainfrom
ux-git:feat/release-images-v3.38.0

Conversation

@ux-git

@ux-git ux-git commented Jul 1, 2026

Copy link
Copy Markdown
Member

Description

Add two new "What's New" release images and release notes for version 3.38.0:

  • New color schemes – showcases the new color scheme options added to profile settings (minimal monochrome to vibrant pink)
  • Home screen shortcuts – showcases the new home screen shortcuts feature for both desktop and mobile devices

Also adds an improvement note for the new school for congregation elders credit hour preset.

Type of change

  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own 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
  • Any dependent changes have been merged and published in downstream modules

@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
staging-organized-app Ready Ready Preview Jul 1, 2026 8:36am
test-organized-app Ready Ready Preview Jul 1, 2026 8:36am

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (3)
  • src/assets/img/whats-new-color-schemes.svg is excluded by !**/*.svg, !**/*.svg
  • src/assets/img/whats-new-homescreen-shortcuts.svg is excluded by !**/*.svg, !**/*.svg
  • src/locales/en/release_notes.json is excluded by !**/*.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 20c7dec0-d045-47df-b461-0241791a87a1

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

Walkthrough

Adds four app shortcuts to the web manifest linking to hash-based routes, adds an effect in useDashboard to auto-open "My Assignments" when the URL hash contains action=assignments, and changes zero-width-space stripping in AYF assignment-type lookups from regex replace to replaceAll.

Changes

PWA Shortcut Deep Link

Layer / File(s) Summary
Manifest shortcuts definition
public/manifest.webmanifest
Adds a shortcuts array with four entries (My Assignments, Weekly schedules, Ministry Report, Upcoming Events), each with name, description, hash-route URL, and a 192x192 icon.
Hash-based auto-open of My Assignments
src/pages/dashboard/useDashboard.tsx
Imports useEffect and adds an effect that inspects globalThis.location.hash, calling setIsMyAssignmentOpen(true) when the hash contains action=assignments.

AYF Label Zero-Width-Space Normalization

Layer / File(s) Summary
AYF part 1-4 type lookup normalization
src/services/app/sources.ts
Changes zero-width-space stripping from replace(/\u200B/g, '') to replaceAll('\u200B', '') for type.label and src.mwb_ayf_part{1-4}_type across all four AYF part predicates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Browser
  participant useDashboard

  User->>Browser: Selects "My Assignments" shortcut
  Browser->>useDashboard: Loads dashboard with hash action=assignments
  useDashboard->>useDashboard: Reads globalThis.location.hash
  useDashboard->>useDashboard: setIsMyAssignmentOpen(true)
Loading

Possibly related PRs

  • sws2apps/organized-app#5206: Also modifies AYF assignment type derivation logic in src/services/app/sources.ts affecting ayf_part{1-4} type selection.
  • sws2apps/organized-app#5219: Also updates public/manifest.webmanifest shortcuts, useDashboard.tsx auto-open logic, and sources.ts zero-width-space normalization.
  • sws2apps/organized-app#5261: Also adds manifest shortcuts with hash targets and updates useDashboard to open My Assignments based on location.hash.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the release-assets focus and versioned release notes, though it omits the code-side shortcut and hash-handling changes.
Description check ✅ Passed The description is clearly related to the PR’s release images, release notes, and shortcut feature updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@ux-git ux-git changed the title chore(assets): add release images and notes for v3.38.0 chore(release): add release images and notes for v3.38.0 Jul 1, 2026
@ux-git ux-git force-pushed the feat/release-images-v3.38.0 branch from 6b24400 to c79129b Compare July 1, 2026 08:34
@ux-git ux-git force-pushed the feat/release-images-v3.38.0 branch from c79129b to 21c46ca Compare July 1, 2026 08:34
@sonarqubecloud

sonarqubecloud Bot commented Jul 1, 2026

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 2

🧹 Nitpick comments (1)
src/pages/dashboard/useDashboard.tsx (1)

62-62: 🚀 Performance & Scalability | 🔵 Trivial

Consider exact param match instead of substring includes.

hash.includes('action=assignments') would also match unintended values like action=assignmentsFoo. Parsing the hash query string (e.g. via URLSearchParams) would be more precise.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/dashboard/useDashboard.tsx` at line 62, The hash check in
useDashboard is too loose because hash.includes('action=assignments') can match
unintended values like action=assignmentsFoo. Update the logic in useDashboard
to parse the hash query string with a precise matcher such as URLSearchParams
and compare the action parameter exactly against assignments, keeping the
existing behavior in the same branch.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/dashboard/useDashboard.tsx`:
- Around line 61-64: The hash-driven drawer open logic in useDashboard should
clear the consumed action flag after opening the assignments drawer. Update the
effect/handler around the hash check so that when globalThis.location.hash
contains action=assignments and setIsMyAssignmentOpen(true) is called, the hash
is immediately rewritten without that flag (or otherwise sanitized) to prevent
the drawer from reopening on refresh or return navigation. Keep the fix
localized to useDashboard and the existing hash parsing logic.
- Around line 60-65: The hash check in useDashboard only runs on mount because
setIsMyAssignmentOpen is stable, so the assignments drawer won’t open when the
existing app window is reused and only the hash changes. Update useDashboard to
also react to location hash changes, for example by adding a hashchange listener
(or equivalent router-driven location subscription) alongside the initial mount
check, and keep the existing action=assignments logic in the shared handler.

---

Nitpick comments:
In `@src/pages/dashboard/useDashboard.tsx`:
- Line 62: The hash check in useDashboard is too loose because
hash.includes('action=assignments') can match unintended values like
action=assignmentsFoo. Update the logic in useDashboard to parse the hash query
string with a precise matcher such as URLSearchParams and compare the action
parameter exactly against assignments, keeping the existing behavior in the same
branch.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 266b64aa-a88e-496c-9b82-04bbfa4a8828

📥 Commits

Reviewing files that changed from the base of the PR and between f5e4839 and 6b24400.

⛔ Files ignored due to path filters (11)
  • public/img/shortcuts/shortcut-ministry-report.png is excluded by !**/*.png, !**/*.png
  • public/img/shortcuts/shortcut-ministry-report.svg is excluded by !**/*.svg, !**/*.svg
  • public/img/shortcuts/shortcut-my-assignments.png is excluded by !**/*.png, !**/*.png
  • public/img/shortcuts/shortcut-my-assignments.svg is excluded by !**/*.svg, !**/*.svg
  • public/img/shortcuts/shortcut-upcoming-events.png is excluded by !**/*.png, !**/*.png
  • public/img/shortcuts/shortcut-upcoming-events.svg is excluded by !**/*.svg, !**/*.svg
  • public/img/shortcuts/shortcut-weekly-schedules.png is excluded by !**/*.png, !**/*.png
  • public/img/shortcuts/shortcut-weekly-schedules.svg is excluded by !**/*.svg, !**/*.svg
  • src/assets/img/whats-new-color-schemes.svg is excluded by !**/*.svg, !**/*.svg
  • src/assets/img/whats-new-homescreen-shortcuts.svg is excluded by !**/*.svg, !**/*.svg
  • src/locales/en/release_notes.json is excluded by !**/*.json
📒 Files selected for processing (3)
  • public/manifest.webmanifest
  • src/pages/dashboard/useDashboard.tsx
  • src/services/app/sources.ts

Comment thread src/pages/dashboard/useDashboard.tsx Outdated
Comment thread src/pages/dashboard/useDashboard.tsx Outdated
@mergify

mergify Bot commented Jul 1, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@rhahao rhahao merged commit d7ca838 into sws2apps:main Jul 1, 2026
15 checks passed
@cypress

cypress Bot commented Jul 1, 2026

Copy link
Copy Markdown

organized-app    Run #3652

Run Properties:  status check passed Passed #3652  •  git commit d7ca8387e9: chore(app): add release images and notes for next version
Project organized-app
Branch Review main
Run status status check passed Passed #3652
Run duration 00m 10s
Commit git commit d7ca8387e9: chore(app): add release images and notes for next version
Committer ux-git
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 1
View all changes introduced in this branch ↗︎

@rhahao

rhahao commented Jul 3, 2026

Copy link
Copy Markdown
Member

🎉 This PR is included in version 3.38.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@rhahao rhahao added the released label Jul 3, 2026
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