Skip to content

feat: Update Share App to include all platform links (#3023)#3080

Open
moksha-hub wants to merge 1 commit intofossasia:developmentfrom
moksha-hub:update-share-app-links-3023
Open

feat: Update Share App to include all platform links (#3023)#3080
moksha-hub wants to merge 1 commit intofossasia:developmentfrom
moksha-hub:update-share-app-links-3023

Conversation

@moksha-hub
Copy link

@moksha-hub moksha-hub commented Feb 17, 2026

Summary

This PR updates the Share App functionality to include download links for all supported platforms, not just Android.

Problem

The Share App option previously only shared the text "Share App", which wasn't useful for recipients. Users needed a comprehensive message with links to all platform downloads.

Solution

Updated the shareApp localization string to include:

  • 📱 Android: Google Play Store link
  • 🍎 iOS: App Store link
  • 🖥️ Windows & Linux: GitHub releases link
  • 🌐 Website: https://pslab.io

New Share Message

Check out PSLab - Open Source Science Lab!

Download the app for your platform:
📱 Android: https://play.google.com/store/apps/details?id=io.pslab
🍎 iOS: https://apps.apple.com/us/app/pslab/id6740454978
🖥️ Windows & Linux: https://github.com/fossasia/pslab-desktop/releases

Learn more at https://pslab.io

Testing

  • Tap "Share App" in the navigation drawer
  • Verify the share sheet opens with the comprehensive message
  • Test on different platforms to ensure proper formatting

Notes

  • The English localization has been updated. Other language localizations will need similar updates.
  • Localization code generation will need to be run to update the Dart files.

Fixes #3023

Summary by Sourcery

Update the Share App experience to share a comprehensive, cross-platform PSLab download message instead of a generic label.

New Features:

  • Provide a localized Share App message that includes download links for Android, iOS, desktop (Windows & Linux), and the website.

Enhancements:

  • Adjust English localization resources to support the richer Share App text, with follow-up required for other languages.

Update the shareApp localization string to include download links for
all supported platforms instead of just the menu title text:

- Android: Google Play Store link
- iOS: App Store link
- Windows & Linux: GitHub releases link
- Website: https://pslab.io

This ensures users sharing the app provide comprehensive download
information for recipients on any platform.

Fixes fossasia#3023
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Feb 17, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates the English localization to provide a comprehensive, multi‑platform share message for the “Share App” action, including store and website links for all supported platforms.

File-Level Changes

Change Details Files
Expand the Share App localization string to include platform-specific download links and website info.
  • Introduce or update the English ARB entry used by the Share App feature to contain a full share message instead of a placeholder label-like string
  • Embed direct links for Android (Google Play), iOS (App Store), Windows & Linux (GitHub releases), and the main website in the share text
  • Structure the message across multiple lines to render clearly in native share sheets on different platforms
lib/l10n/app_en.arb

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • Consider moving the app store and website URLs into a shared constants/config file rather than hardcoding them directly in the localization string so they can be maintained in a single place.
  • Including emojis in the share text may not render consistently across all platforms or accessibility tools; you may want to provide a more neutral, text-only variant or ensure screen readers handle this well.
  • The share message is quite long and platform-specific; you might want to confirm that this formatting degrades gracefully on smaller screens and non-mobile platforms (e.g., line breaks and bullet markers).
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Consider moving the app store and website URLs into a shared constants/config file rather than hardcoding them directly in the localization string so they can be maintained in a single place.
- Including emojis in the share text may not render consistently across all platforms or accessibility tools; you may want to provide a more neutral, text-only variant or ensure screen readers handle this well.
- The share message is quite long and platform-specific; you might want to confirm that this formatting degrades gracefully on smaller screens and non-mobile platforms (e.g., line breaks and bullet markers).

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@mariobehling mariobehling requested a review from Copilot February 22, 2026 16:11
@mariobehling
Copy link
Member

Hi, a process note.

We have automatic Copilot PR reviews enabled on this repository. These reviews are only triggered if the contributor has GitHub Copilot enabled and an active license on their own account.

Please enable Copilot in your GitHub settings if you have access. In many regions, free licenses are available through educational institutions or developer programs. Enabling Copilot helps us speed up the auto review process and reduces manual review overhead for the core team.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to improve the “Share App” experience by replacing a generic share text with a richer, cross-platform message containing download links for Android, iOS, desktop releases, and the PSLab website.

Changes:

  • Updates the English localization value for shareApp to a multi-line, link-rich message intended for sharing.
  • Adds/updates a large set of English ARB localization entries in lib/l10n/app_en.arb.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +440 to +453
"autoscan" : "Autoscan",
"selectSensor" : "Select Sensor",
"notConnected" : "Not Connected",
"autoScanHint" : "Use Autoscan button to find connected sensors to PSLab device",
"noSensorDetected" : "No sensors detected",
"screenNotImplemented" : "screen not implemented yet",
"timeGap" : "Time gap",
"pslabNotConnected" : "PSLab not connected",
"clearData" : "Clear Data",
"numberOfSampes" : "No. of samples",
"pressure" : "Pressure",
"temperature" : "Temperature",
"bmp180" : "BMP180",
"plot" : "Plot",
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There’s inconsistent JSON formatting in this ARB (some keys use "key" : "value" while most use "key": "value"). Reformatting the file with a standard JSON formatter will reduce churn in future diffs and make it easier to maintain/review localization changes.

Suggested change
"autoscan" : "Autoscan",
"selectSensor" : "Select Sensor",
"notConnected" : "Not Connected",
"autoScanHint" : "Use Autoscan button to find connected sensors to PSLab device",
"noSensorDetected" : "No sensors detected",
"screenNotImplemented" : "screen not implemented yet",
"timeGap" : "Time gap",
"pslabNotConnected" : "PSLab not connected",
"clearData" : "Clear Data",
"numberOfSampes" : "No. of samples",
"pressure" : "Pressure",
"temperature" : "Temperature",
"bmp180" : "BMP180",
"plot" : "Plot",
"autoscan": "Autoscan",
"selectSensor": "Select Sensor",
"notConnected": "Not Connected",
"autoScanHint": "Use Autoscan button to find connected sensors to PSLab device",
"noSensorDetected": "No sensors detected",
"screenNotImplemented": "screen not implemented yet",
"timeGap": "Time gap",
"pslabNotConnected": "PSLab not connected",
"clearData": "Clear Data",
"numberOfSampes": "No. of samples",
"pressure": "Pressure",
"temperature": "Temperature",
"bmp180": "BMP180",
"plot": "Plot",

Copilot uses AI. Check for mistakes.
"light": "Light",
"darkExperimental": "Dark (Experimental)",
"system": "System",
"shareApp": "Check out PSLab - Open Source Science Lab!\n\nDownload the app for your platform:\n📱 Android: https://play.google.com/store/apps/details?id=io.pslab\n🍎 iOS: https://apps.apple.com/us/app/pslab/id6740454978\n🖥️ Windows & Linux: https://github.com/fossasia/pslab-desktop/releases\n\nLearn more at https://pslab.io",
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description/issue expects the navigation drawer “Share App” action to share a cross-platform message, but this ARB string update won’t affect the current Android implementation. MainActivity currently builds shareMessage as only the Play Store URL and strings.xml provides the drawer label; nothing references lib/l10n/app_en.arb. To actually fix #3023, update the share intent to use a localized multi-line string resource (or wire this ARB file into the app’s localization pipeline) and include all platform links there.

Copilot uses AI. Check for mistakes.
"proxLabel" : "Prox",
"redLabel" : "Red",
"mode" : "Mode",
"configure" : "Configure",
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file contains duplicate JSON keys (configure is defined twice). Duplicate keys are ambiguous in JSON and can break/complicate localization tooling (only the last occurrence may win). Please remove the duplicate and keep a single configure entry.

Suggested change
"configure" : "Configure",

Copilot uses AI. Check for mistakes.
"multimeterConfigs": "Multimeter Configurations",
"multimeterUpdatePeriodHint": "Please provide time interval at which data will be updated (100 ms to 1000 ms)",
"theme": "Theme",
"light": "Light",
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file contains duplicate JSON keys (light is defined twice). Duplicate keys are ambiguous in JSON and can break/complicate localization tooling (only the last occurrence may win). Please remove the duplicate and keep a single light entry.

Suggested change
"light": "Light",

Copilot uses AI. Check for mistakes.
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.

3 participants