Skip to content

Add broadcast message on dashboard in place of dynamic message - #1358

Closed
arihuss wants to merge 14 commits into
v5from
feature/1337-display-broadcast-message
Closed

Add broadcast message on dashboard in place of dynamic message#1358
arihuss wants to merge 14 commits into
v5from
feature/1337-display-broadcast-message

Conversation

@arihuss

@arihuss arihuss commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

⁉️ Related Issue

closes: #1337

📖 Description

Adds a broadcast message from Firebase in place of the dynamic messages on the dashboard if needed. Firebase values can also affect the dashboard's circle color and add an url.

🧪 How Has This Been Tested?

  • Tested differents scenarios by hardcoding values in RemoteConfigService (dashboardMessageActive, dashboardMessageFr. dashboardMessageEn, dashboardMsgColor, dashboardMsgUrl)
  • Tested different scenarios by changing remote config params on Firebase

☑️ Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • If needed, I added analytics.
  • Make sure to add either one of the following labels: version: Major,version: Minor or version: Patch.

🖼️ Screenshots (if useful):

If dashboardMsgUrl has a non-empty value:
image

If dashboardMsgUrl has an empty value (""):
image

@arihuss
arihuss marked this pull request as ready for review March 20, 2026 04:22
@arihuss
arihuss requested a review from a team as a code owner March 20, 2026 04:22
@LouisPhilippeHeon

Copy link
Copy Markdown
Member

Instead of cutting off the text we should put this in autosize text.

@BenjaminBelanger

BenjaminBelanger commented Mar 31, 2026

Copy link
Copy Markdown
Member

Should we remove lib/domain/broadcast_icon_type.dart? I see that the icon type logic was replaced with a simpler approach, but this file was left behind and is now unused.

@sonarqubecloud

Copy link
Copy Markdown

@LouisPhilippeHeon

Copy link
Copy Markdown
Member

We should add UI tests

@github-actions github-actions Bot removed the size: S label May 17, 2026
@github-actions github-actions Bot added size: L and removed size: M labels May 19, 2026
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Coverage after merging feature/1337-display-broadcast-message into v5 will be

78.28%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib
   locator.dart3.57%100%100%3.57%33, 35–45, 47–49, 52–60, 63–65
lib/data/models
   broadcast_message.dart100%100%100%100%
   quick_link.dart100%100%100%100%
   quick_link_data.dart100%100%100%100%
   dynamic_message.dart100%100%100%100%
   dynamic_message_context.dart100%100%100%100%
   event_data.dart100%100%100%100%
   quick_links.dart100%100%100%100%
   navigation_menu_callback.dart100%100%100%100%
   session_reminder.dart100%100%100%100%
   emergency_procedures.dart100%100%100%100%
   emergency_procedure.dart100%100%100%100%
lib/data/models/hello
   organizer.dart100%100%100%100%
   paginated_news.dart30.43%100%100%30.43%36–41, 44, 47–53, 55, 57
   activity_area.dart56.52%100%100%56.52%37, 40–46, 48–49
   news.dart50.91%100%100%50.91%100–101, 103, 105–116, 88–99
   news_tags.dart5%100%100%5%13–17, 20–24, 27, 30–35, 37–38
   report.dart25%100%100%25%12–13, 15
   report_news.dart100%100%100%100%
lib/data/repositories
   author_repository.dart0%100%100%0%13–14
   broadcast_message_repository.dart0%100%100%0%13–14, 16–19
   course_repository.dart83.26%100%100%83.26%115–117, 119, 135–136, 188, 190, 195–197, 201, 204, 207–211, 213–214, 218, 220, 223–227, 231, 235–236, 238, 241, 293, 300, 302, 449, 459–460, 87
   list_sessions_repository.dart100%100%100%100%
   news_repository.dart0%100%100%0%16–17
   quick_link_repository.dart83.33%100%100%83.33%34–35
   settings_repository.dart100%100%100%100%
   user_repository.dart95.24%100%100%95.24%139–140
   base_stream_repository.dart100%100%100%100%
lib/data/services
   calendar_service.dart0%100%100%0%103, 107, 109–114, 116, 119–120, 125–126, 129, 132, 134, 141–142, 145, 147, 15, 152, 156–157, 16, 161–166, 170, 172, 18, 20, 22, 24, 26, 40, 42–46, 49, 53–56, 64, 68–69, 72–73, 76, 82, 84–85, 88, 92–93, 97–99
   analytics_service.dart0%100%100%0%14, 17–19, 22, 27–29, 33–34, 36, 39
   auth_service.dart0%100%100%0%101, 103, 105, 107, 109–110, 112–113, 118–119, 122, 124–126, 128–129, 20, 23–24, 26, 28–30, 33, 36, 39, 43, 45, 48–49, 55–56, 61–62, 67, 69–70, 74–76, 78–79, 84, 86–89, 91–92, 94–95
   cache_service.dart0%100%100%0%32–33, 36–37, 40, 44, 46–48, 54, 56–58, 63, 65–67
   dynamic_messages_service.dart100%100%100%100%
   in_app_review_service.dart0%100%100%0%16, 20, 23–24
   launch_url_service.dart0%100%100%0%11–14, 16, 20–23, 25, 29–32, 34
   navigation_service.dart0%100%100%0%20, 23–24, 26–27, 34–35, 38–39, 42–43, 45, 50, 55, 57–58, 61–62, 64, 66
   remote_config_service.dart0%100%100%0%100–101, 104–106, 109–111, 114–116, 119–121, 124–126, 129–130, 132–135, 139–142, 49–51, 54–56, 59–61, 64–66, 69–71, 74–76, 79–81, 84–86, 89–91, 94–96, 99
   networking_service.dart0%100%100%0%10, 12–14, 17–19
   preferences_service.dart94.44%100%100%94.44%84–85
   schedule_service.dart100%100%100%100%
   signets_client.g.dart87.88%100%100%87.88%51, 54, 65, 84
lib/data/services/hello
   hello_service.dart100%100%100%100%
lib/data/services/hello/commands
   get_events_command.dart68.18%100%100%68.18%50, 55, 58, 61, 64, 67, 70
   get_organizer_command.dart90%100%100%90%26
   report_news_command.dart90%100%100%90%27
lib/data/services/signets-api
   signets_api_client.dart72.92%100%100%72.92%152–154, 48–49, 51–55, 57–58, 61
   request_builder_service.dart89.47%100%100%89.47%56, 59
lib/data/services/signets-api/commands
   get_course_reviews_command.dart100%100%100%100%
   get_course_summary_command.dart100%100%100%100%
   get_courses_activities_command.dart100%100%100%100%
   get_courses_command.dart100%100%100%100%
   get_programs_command.dart100%100%100%100%
   get_replaced_days_command.dart0%100%100%0%22, 24, 26–28, 30, 34
   get_schedule_activities_command.dart100%100%100%100%
   get_sessions_command.dart100%100%100%100%
   get_student_info_command.dart100%100%100%100%
lib/data/services/signets-api/models
   course.dart84%100%100%84%105, 121, 123–132
   course_activity.dart84.31%100%100%84.31%104, 106–112
   replaced_day.dart57.69%100%100%57.69%18–21, 37, 39–42, 54–55
   schedule_activity.dart81.08%100%100%81.08%77, 79–84
   session.dart69.89%100%100%69.89%144, 146–158, 160, 162–174
   profile_student.dart93.10%100%100%93.10%67–68
   program.dart100%100%100%100%
   course_review.dart51.92%100%100%51.92%100–104, 51–58, 71, 73–80, 96, 98–99
   course_summary.dart85.07%100%100%85.07%101, 103–111
   course_evaluation.dart68.63%100%100%68.63%157, 159–172, 174, 176–190, 49
lib/domain/models
   session_progress.dart100%100%100%100%
lib/domain/models/signets-api
   session.dart100%100%100%100%
   session.g.dart100%100%100%100%
   signets_api_response.dart58.33%100%100%58.33%16, 18, 25–27
lib/logic
   session_progress_use_case.dart77.27%100%100%77.27%19–20, 38, 43–44
lib/ui/choose_language/view_model
   choose_language_viewmodel.dart100%100%100%100%
lib/ui/choose_language/widgets
   choose_language_view.dart94.29%100%100%94.29%35–36
lib/ui/core/themes
   app_palette.dart100%100%100%100%
   app_theme.dart7.87%100%100%7.87%122–123, 125–127, 129–130, 132, 134–135, 14, 141, 147–148, 151, 154–159, 16, 160–162, 164–167, 169, 17, 170–172, 174–175, 177, 18, 181, 183, 190–191, 209, 21, 210, 22, 24–26, 28, 33, 35, 37, 39, 41–42, 48, 54–58, 61–68, 70–73, 75–78, 80–81, 83,

@arihuss

arihuss commented May 29, 2026

Copy link
Copy Markdown
Contributor Author

needs to point to master

@arihuss arihuss closed this May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants