Skip to content

feat(encryption): initial api + tests#1

Merged
mhamann merged 1 commit into
mainfrom
encryption
Jul 18, 2022
Merged

feat(encryption): initial api + tests#1
mhamann merged 1 commit into
mainfrom
encryption

Conversation

@mhamann

@mhamann mhamann commented Jul 18, 2022

Copy link
Copy Markdown
Contributor

No description provided.

@mhamann
mhamann merged commit 6289d42 into main Jul 18, 2022
@mhamann
mhamann deleted the encryption branch July 18, 2022 16:02
mhamann added a commit that referenced this pull request May 12, 2026
Addresses review feedback from PR #125:

- BottomSheetViewController: `isUserDismissalDisabled` now has a `didSet`
  that updates the live `sheetController` so the lock takes effect on an
  already-presented sheet. Track the Hub's last-requested dismissibility
  separately so releasing the lock restores it rather than unconditionally
  re-enabling (Qodo #1, #2).
- Rownd: `releaseForcedConversionLock` now re-invokes `hide()` on the
  active HubViewProtocol so a post-auth auto-close that lost the race
  against `UserData.fetch` propagating `authLevel` still closes the sheet.
  Guarded on the prior locked state so unlocking a non-held lock is a
  no-op (avoids side effects in tests).
- Add `Rownd._bottomSheetIsLocked` internal accessor for tests.
- Tests: cover lock engagement on `.instant`, release on `.verified`,
  and the once-per-session gate after release.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mhamann added a commit that referenced this pull request May 12, 2026
* fix(instant): make forced conversion sheet non-dismissible

When `forceInstantUserConversion` is enabled, the sign-in sheet must be
non-dismissible until the user actually adds an identifier. Previously
the sheet defaulted to dismissible via swipe, tap-outside, and any Hub
close message, which left customers with large populations of unconverted
instant users.

- BottomSheetViewController gains an `isUserDismissalDisabled` flag that
  disables swipe-to-dismiss and tap-outside-to-dismiss at presentation,
  and that the Hub's `can_touch_background_to_dismiss` message cannot
  re-enable.
- `hideBottomSheet` and `HubViewController.hide()` honor the same lock,
  so Hub-dispatched `closeHubViewController`/`signOut` messages cannot
  close the sheet either.
- InstantUsers observes the post-conversion auth-level transition and
  releases the lock once the user is no longer `.instant`, so the
  standard post-auth auto-close path still runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(instant): apply lock live and re-trigger close on release

Addresses review feedback from PR #125:

- BottomSheetViewController: `isUserDismissalDisabled` now has a `didSet`
  that updates the live `sheetController` so the lock takes effect on an
  already-presented sheet. Track the Hub's last-requested dismissibility
  separately so releasing the lock restores it rather than unconditionally
  re-enabling (Qodo #1, #2).
- Rownd: `releaseForcedConversionLock` now re-invokes `hide()` on the
  active HubViewProtocol so a post-auth auto-close that lost the race
  against `UserData.fetch` propagating `authLevel` still closes the sheet.
  Guarded on the prior locked state so unlocking a non-held lock is a
  no-op (avoids side effects in tests).
- Add `Rownd._bottomSheetIsLocked` internal accessor for tests.
- Tests: cover lock engagement on `.instant`, release on `.verified`,
  and the once-per-session gate after release.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mhamann added a commit that referenced this pull request May 12, 2026
* fix(instant): make forced conversion sheet non-dismissible

When `forceInstantUserConversion` is enabled, the sign-in sheet must be
non-dismissible until the user actually adds an identifier. Previously
the sheet defaulted to dismissible via swipe, tap-outside, and any Hub
close message, which left customers with large populations of unconverted
instant users.

- BottomSheetViewController gains an `isUserDismissalDisabled` flag that
  disables swipe-to-dismiss and tap-outside-to-dismiss at presentation,
  and that the Hub's `can_touch_background_to_dismiss` message cannot
  re-enable.
- `hideBottomSheet` and `HubViewController.hide()` honor the same lock,
  so Hub-dispatched `closeHubViewController`/`signOut` messages cannot
  close the sheet either.
- InstantUsers observes the post-conversion auth-level transition and
  releases the lock once the user is no longer `.instant`, so the
  standard post-auth auto-close path still runs.



* fix(instant): apply lock live and re-trigger close on release

Addresses review feedback from PR #125:

- BottomSheetViewController: `isUserDismissalDisabled` now has a `didSet`
  that updates the live `sheetController` so the lock takes effect on an
  already-presented sheet. Track the Hub's last-requested dismissibility
  separately so releasing the lock restores it rather than unconditionally
  re-enabling (Qodo #1, #2).
- Rownd: `releaseForcedConversionLock` now re-invokes `hide()` on the
  active HubViewProtocol so a post-auth auto-close that lost the race
  against `UserData.fetch` propagating `authLevel` still closes the sheet.
  Guarded on the prior locked state so unlocking a non-held lock is a
  no-op (avoids side effects in tests).
- Add `Rownd._bottomSheetIsLocked` internal accessor for tests.
- Tests: cover lock engagement on `.instant`, release on `.verified`,
  and the once-per-session gate after release.



---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant