3e1de5bf4fe4baf6657504dbccaba773872061f4
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1b4399df68 |
Rebrand app identifier and IPA name from Ditto to Agora
Renames the Capacitor app identifier from pub.agora.app to spot.agora.app and cleans up Ditto-branded artifacts that don't refer to upstream Ditto-the-project or Ditto-stack services. App identifier (pub.agora.app -> spot.agora.app): - capacitor.config.ts appId - android applicationId, namespace, package_name string, custom_url_scheme - iOS PRODUCT_BUNDLE_IDENTIFIER (Debug + Release) - public/.well-known/assetlinks.json package_name - public/.well-known/apple-app-site-association app id - Info.plist BGTaskSchedulerPermittedIdentifiers and the matching Swift bgTaskIdentifier (previously mismatched: plist said pub.agora.app.notification-refresh, Swift said pub.ditto.app.notification-refresh, so background refresh would silently fail to register) - src/lib/helpContent.ts Zapstore URLs - .gitlab-ci.yml --package_name for fastlane supply Android Java package (pub.ditto.app -> spot.agora.app): - Move android/app/src/main/java/pub/ditto/app/ -> android/app/src/main/java/spot/agora/app/ (4 files: MainActivity, DittoNotificationPlugin, NostrPoller, NotificationRelayService) - Update package declarations to match the new Android namespace (was a hard build failure with namespace = spot.agora.app) - Update proguard -keep rule - Update NotificationRelayService ACTION_FETCH intent string pub.ditto.app.ACTION_FETCH -> spot.agora.app.ACTION_FETCH Fastlane (pub.ditto.app -> spot.agora.app): - Appfile, Matchfile, Fastfile provisioning profile specifiers. Matchfile still points at Soapbox's certificates git repo; a new match repo with certs for spot.agora.app is required before iOS CI signing works. IPA artifact name (Ditto.ipa -> Agora.ipa): - Fastfile output_name and matching CI artifact paths - .gitlab-ci.yml: artifacts/Ditto.ipa references and the GitLab Generic Packages path from /packages/generic/ditto/ -> /packages/generic/agora/ (matches how APK/AAB are already published). Existing release artifacts at the old path remain reachable; new releases land at the new path. Release-notes script fallback (Ditto vX.Y.Z -> Agora vX.Y.Z): - scripts/extract-release-notes.mjs fallback used as the App Store / Play Store 'What's New' blurb when a changelog section has no summary. manifest.webmanifest: - Update related_applications Play Store entry to spot.agora.app. - Remove the iTunes related_applications entry that pointed at the existing Ditto App Store listing; not applicable to Agora until Agora has its own listing. Capacitor sync incidentals: - npm run cap:sync picked up @capacitor/barcode-scanner registration that had been missed in a prior plugin install (android/app/capacitor.build.gradle, capacitor.settings.gradle, ios/App/CapApp-SPM/Package.swift). Intentionally NOT touched: - ditto.json filename, DittoConfigSchema, DittoConfig, and JSDoc references to ditto.json. The config-system shape is shared with upstream Ditto by design. - relay.ditto.pub, blossom.ditto.pub, ditto.pub/api/* and other Ditto-stack services Agora actively consumes. - The DittoNotificationPlugin Android/iOS class name, the DittoNotification JS bridge name, ditto_notification_config SharedPreferences keys, ic_stat_ditto drawables, and the DittoBridgeViewController. Renaming requires a coordinated JS-side rename plus a SharedPreferences migration or existing users on the Ditto fork lose their notification config on upgrade. - Ditto references in skill docs, NIP.md kind comments, README, and zapstore.yaml attribution \u2014 those correctly describe the upstream Ditto project that Agora forked from. Follow-ups required before CI succeeds end-to-end (out of scope here): - Stand up a new fastlane match git repo containing certs + provisioning profiles for spot.agora.app, or update Matchfile git_url to point at it. - Register spot.agora.app in App Store Connect for team GZLTTH5DLM and create a new App Store listing. - Create a new Google Play Console listing for spot.agora.app (package name is immutable per app on Play; the existing pub.agora.app listing cannot be reused). - Re-publish to Zapstore under spot.agora.app so the URLs in helpContent.ts resolve. |
||
|
|
d044218c6a |
Use a release-summary paragraph for App Store, Play Store, and the in-app toast
Each CHANGELOG.md release section now begins with a single plaintext paragraph (max ~500 chars) before any `### Category` heading. That paragraph drives the release blurb in three storefronts and the in-app version-update toast, so we no longer ship a marketing-grade description in one place and a raw bullet list in another. scripts/extract-release-notes.mjs is the single source of truth for extraction. It emits the full section (summary + lists) by default and only the summary paragraph with --summary, with a `Ditto vX.Y.Z` fallback for legacy entries that have no summary. CI changes: - New `release-notes` job (build stage, default node:22 image) produces `artifacts/release-notes.md` and `artifacts/release-notes-summary.txt` once per pipeline. - `release` job pulls release-notes.md as the GitLab Release description (replaces the old inline awk extraction). It now uses `needs:` with `artifacts: false` for build-apk/build-ipa to avoid re-downloading the .apk/.aab/.ipa it doesn't open. - `publish-app-store` copies release-notes-summary.txt to `ios/fastlane/metadata/en-US/release_notes.txt` (replaces its own awk extraction). - `publish-google-play` drops `--skip_upload_changelogs`, writes the summary to `android/fastlane/metadata/android/en-US/changelogs/<versionCode>.txt` and points fastlane supply at `--metadata_path`. This is the first time we upload a What's New text to the Play Store from CI. App-side changes: - `src/lib/changelog.ts` parser captures the leading non-blank paragraph (before any bullet or category heading) into `entry.summary`. - `VersionCheck.tsx` toast uses `entry.summary` when present, falling back to the legacy 60-char first-bullet excerpt for backward compatibility. - `ChangelogPage` renders the summary as a lede paragraph above the bullet list in both LatestRelease and ChangelogEntryCard. Changelog content: - Added summary paragraphs to v2.14.3, v2.14.2, v2.14.1. Skill + AGENTS.md updates: - `release` skill documents the summary paragraph format, the 500-char convention, and the seven-job pipeline. - `ci-cd-publishing` skill gains a 'Release notes pipeline' section mapping each storefront to its source artifact. - AGENTS.md pipeline summary mentions release-notes and the summary flow into both store "What's new" fields. |