diff --git a/.github/workflows/firebase-hosting-pull-request-widgetbook.yml b/.github/workflows/firebase-hosting-pull-request-widgetbook.yml
index 8a1c37b6..1c6bff65 100644
--- a/.github/workflows/firebase-hosting-pull-request-widgetbook.yml
+++ b/.github/workflows/firebase-hosting-pull-request-widgetbook.yml
@@ -2,14 +2,16 @@
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on PR (Widgetbook)
-on: pull_request
+on:
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
permissions:
checks: write
contents: read
pull-requests: write
jobs:
build_and_preview:
- if: "${{ github.event.pull_request.head.repo.full_name == github.repository }}"
+ if: "${{ github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.draft == false }}"
runs-on: ubuntu-latest
env:
working-directory: ./widgetbook
@@ -44,5 +46,7 @@ jobs:
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ON_TIME_FRONT_WIDGETBOOK }}"
projectId: on-time-front-widgetbook
entryPoint: ${{ env.working-directory }}
+ channelId: pr-${{ github.event.pull_request.number }}
+ expires: 3d
env:
FIREBASE_CLI_EXPERIMENTS: webframeworks
diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml
index 5ba48c93..2bdd13af 100644
--- a/.github/workflows/firebase-hosting-pull-request.yml
+++ b/.github/workflows/firebase-hosting-pull-request.yml
@@ -2,14 +2,16 @@
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on PR
-on: pull_request
+on:
+ pull_request:
+ types: [opened, synchronize, reopened, ready_for_review]
permissions:
checks: write
contents: read
pull-requests: write
jobs:
build_and_preview:
- if: "${{ github.event.pull_request.head.repo.full_name == github.repository }}"
+ if: "${{ github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.draft == false }}"
runs-on: ubuntu-latest
environment: debug
steps:
@@ -46,5 +48,7 @@ jobs:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ONTIME_C63F1 }}"
projectId: ontime-c63f1
+ channelId: pr-${{ github.event.pull_request.number }}
+ expires: 3d
env:
FIREBASE_CLI_EXPERIMENTS: webframeworks
diff --git a/ios/Runner/Info-Debug.plist b/ios/Runner/Info-Debug.plist
index ce754e53..297d27bf 100644
--- a/ios/Runner/Info-Debug.plist
+++ b/ios/Runner/Info-Debug.plist
@@ -51,7 +51,7 @@
NSAlarmKitUsageDescription
- On Time uses alarms to remind you when it is time to prepare for schedules.
+ OnTime uses alarms to remind you when it is time to prepare for schedules.
UIApplicationSupportsIndirectInputEvents
UIBackgroundModes
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 5ccba1d4..0eef744d 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -46,7 +46,7 @@
LSRequiresIPhoneOS
NSAlarmKitUsageDescription
- On Time uses alarms to remind you when it is time to prepare for schedules.
+ OnTime uses alarms to remind you when it is time to prepare for schedules.
UIApplicationSupportsIndirectInputEvents
UIBackgroundModes
diff --git a/plans/446-finalize-app-title-package-identity-plan.md b/plans/446-finalize-app-title-package-identity-plan.md
new file mode 100644
index 00000000..515e79d3
--- /dev/null
+++ b/plans/446-finalize-app-title-package-identity-plan.md
@@ -0,0 +1,40 @@
+# Issue 446 App Identity Plan
+
+## Goal
+Finalize and verify the public app identity for release issue #446 under parent
+track #466.
+
+## Context
+- Parent issue #466 orders #446 before store-copy, asset, screenshot, and UGC
+ audit work.
+- Issue #446 is labeled `codex-ready`, has no prerequisites, and asks to lock
+ the public identity before the first Play upload.
+- The final public name is `OnTime` unless a requested change is documented.
+- Android namespace and application ID are already `club.devkor.ontime`.
+- Android app label, iOS display/bundle name, web manifest/title, localization
+ app name, and release checklist already use `OnTime`.
+- The only discovered mismatch is the iOS AlarmKit usage description spelling
+ the product as `On Time`.
+
+## Decisions
+- Keep the public app name as `OnTime`.
+- Keep the Android application ID as `club.devkor.ontime`.
+- Treat Play listing screenshots/assets/privacy-policy review as verification
+ and handoff context only; final screenshots and listing art are covered by
+ later manual sub-issues.
+- Fix in-repo naming mismatches that can affect public app metadata or system
+ permission text.
+
+## Steps
+1. Update iOS release and debug Info.plist AlarmKit usage descriptions from
+ `On Time` to `OnTime`.
+2. Re-run targeted identity searches across app, platform, docs, and web files.
+3. Run static verification relevant to metadata-only changes.
+4. Review the diff and commit only #446 files.
+
+## Validation
+- `rg -n "On Time|android:label|applicationId|CFBundleDisplayName|CFBundleName|club\.devkor\.ontime" android ios web docs lib pubspec.yaml README.md`
+- `flutter analyze`
+
+## Open Questions
+- None.