Share residence #7

Closed
opened 2026-05-11 12:47:46 -05:00 by admin · 3 comments
Owner

When sharing a residence,

the import screen does not have a human readable date

The title has an underline instead of space in it “the Tartts” = “the_tartts”

Is showing a house icon when it should show the honeyDue app icon
It needs better instructions for how to import for people who have no idea what the fuck is going on.

screenshot

When sharing a residence, the import screen does not have a human readable date The title has an underline instead of space in it “the Tartts” = “the_tartts” Is showing a house icon when it should show the honeyDue app icon It needs better instructions for how to import for people who have no idea what the fuck is going on. ![screenshot](https://gitea.treytartt.com/attachments/ca10f942-0add-4723-8d92-fef0647bb663)
Author
Owner

Post-fix preview on iPhone 13 simulator (dark, sample data matching the original screenshot — residence name "The Tartt's", share-link expiring in 23h):

post-fix preview

All four fixes visible:

  • Filename → "The Tartt's" (was The_Tartt's with an underscore)
  • Icon → honeyDue honeycomb logo (was a generic SF Symbol house)
  • Expiry → "Expires in 23 hours" (was the raw ISO 2026-05-12T17:11:02.067272789Z)
  • Instructions → numbered steps with the iOS share glyph rendered inline next to step 1 — no more describing a button position the chrome can move

Generated via xcodebuild test -only-testing:HoneyDueTests/Issue7PreviewScreenshotTest on an iPhone 17 simulator. The recorded PNG is committed alongside the test for future reviewers; the test itself is a faithful UIKit reproduction of PreviewViewController.updateUIForResidence because the QL extension target can't be @testable imported from HoneyDueTests without project-file surgery.

The fix is in PR #9.

Post-fix preview on iPhone 13 simulator (dark, sample data matching the original screenshot — residence name "The Tartt's", share-link expiring in 23h): ![post-fix preview](https://gitea.treytartt.com/admin/honeyDueKMP/raw/branch/fix/7-share-residence-import-polish/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_after_issue7_fix.issue7_residence_invite_preview_dark.png) All four fixes visible: - Filename → **"The Tartt's"** (was `The_Tartt's` with an underscore) - Icon → **honeyDue honeycomb logo** (was a generic SF Symbol house) - Expiry → **"Expires in 23 hours"** (was the raw ISO `2026-05-12T17:11:02.067272789Z`) - Instructions → numbered steps with the **iOS share glyph** rendered inline next to step 1 — no more describing a button position the chrome can move Generated via `xcodebuild test -only-testing:HoneyDueTests/Issue7PreviewScreenshotTest` on an iPhone 17 simulator. The recorded PNG is committed alongside the test for future reviewers; the test itself is a faithful UIKit reproduction of `PreviewViewController.updateUIForResidence` because the QL extension target can't be `@testable import`ed from `HoneyDueTests` without project-file surgery. The fix is in PR #9.
Author
Owner

Follow-up after the review feedback — the preview now handles the expired case too. If the share link is past its expiresAt, the QL preview swaps the numbered "How to join" steps for a dead-end message and re-labels the clock row from "Expires …" to "Expired … ago", so the recipient is told to go back to the sender rather than walking through share-sheet steps for a link the server will reject.

Issue 7 expired preview

Both states (active + expired) are now covered by snapshot tests in Issue7PreviewScreenshotTest.swift and pushed on fix/7-share-residence-import-polish (MR !9).

Follow-up after the review feedback — the preview now handles the **expired** case too. If the share link is past its `expiresAt`, the QL preview swaps the numbered "How to join" steps for a dead-end message and re-labels the clock row from "Expires …" to "Expired … ago", so the recipient is told to go back to the sender rather than walking through share-sheet steps for a link the server will reject. ![Issue 7 expired preview](https://gitea.treytartt.com/admin/honeyDueKMP/raw/branch/fix/7-share-residence-import-polish/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png) Both states (active + expired) are now covered by snapshot tests in `Issue7PreviewScreenshotTest.swift` and pushed on `fix/7-share-residence-import-polish` (MR !9).
Author
Owner

Good catch — the down-chevron above the Share button only makes sense for the active flow. Hidden in the expired state too now.

Issue 7 expired preview, no arrow

Good catch — the down-chevron above the Share button only makes sense for the active flow. Hidden in the expired state too now. ![Issue 7 expired preview, no arrow](https://gitea.treytartt.com/admin/honeyDueKMP/raw/branch/fix/7-share-residence-import-polish/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png)
admin closed this issue 2026-05-11 16:17:17 -05:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/honeyDueKMP#7