Skip to content

Conversation

@rsmithlal
Copy link
Member

@rsmithlal rsmithlal commented Aug 19, 2025

PR #1051 — Exchange Creation, Events Enhancements, i18n & Docs/CI Upgrades

Summary

This PR delivers a major feature for the Exchange system (offers/requests), expands the Events module (RSVP + reminders), standardizes flash messages via i18n, and adds comprehensive documentation, diagrams, and CI/CD checks.


🚀 New & Enhanced Features

Exchange (Offers/Requests)

  • Create a request directly in response to an offer and vice versa, with clear linkage back to the source item.
  • Prevent duplicate responses by the same person; restrict list views to exclude items already created as responses.
  • When responding, the source offer/request is displayed at the top of the form.
  • Status & urgency fields exposed/managed in forms; source items marked matched when appropriate.
  • Notify offer creators when a linked request is created.
  • UI: list sidebar tweaks; add button placement moved to search bar area; creator visibly shown on show views.

Events

  • RSVP support with ICS export.
  • Event reminders: job + notifier + mailers; new notification queue in the dummy app; simplified error-handling tests.

Navigation

  • Added posts URL support to navigation item route names.

🧩 Notifications

  • Controller-side notification handling refactor; added NotificationRead logic.
  • Notification titles now include conversation context for clarity.

🌐 Internationalization

  • Flash messages across controllers converted to I18n-backed translations.
  • Missing/normalized translations added.
  • Introduced/updated i18n-health GitHub Action (Ruby 3.4.4).

📚 Documentation & Diagrams

  • New/updated docs & Mermaid diagrams for:
    • Exchange system
    • Notifications
    • User accounts & invitation flows
    • RBAC
    • Content management & navigation
    • Privacy practices & metrics
    • Democratic-by-design principles
  • Repo hygiene:
    • PR template, CONTRIBUTING.md, and instructions updated to enforce doc/diagram upkeep.
    • Diagram rendering script enhanced (force option, improved outputs).

🧪 CI/CD

  • Coverage report upload step added and generation updated.
  • Diagrams workflow ensures rendered PNGs are in sync with Mermaid sources.

🧼 Misc/Refactors

  • Source type validation in Joatu controllers; whitespace cleanup.
  • RuboCop fixes across touched files.

Impact / Notes for Host Apps

  • Exchange UX is more guided (respond-to-source flows) with clearer states and notifications.
  • Standardized flash i18n reduces duplication and improves multilingual readiness.
  • Events now support calendar integration (ICS) and reminder workflows.
  • CI safeguards (i18n health, coverage, diagrams) reduce drift between code and docs.

…ffers created in response to offers and request that are not your own
…in and show their response request below the offer details
…t's in response to below the request details
…onse to an offer or request not created by the current_person
Prevents creating responses and response links for sources that are not open or already matched, ensuring business rules are enforced at both controller and model levels.

Automatically marks paired offers and requests as matched when agreements or response links are created, supporting clearer workflow state transitions.

Adds tests for new restrictions and automatic status transitions to improve reliability and maintainability.
…ck to 'missing' when 'check-missing' unavailable)
@rsmithlal rsmithlal merged commit c98620a into main Aug 21, 2025
13 checks passed
@rsmithlal rsmithlal deleted the feature/exchange branch August 21, 2025 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants