Skip to content

Simplify O5 certificate details UI#91

Open
jwoglom wants to merge 2 commits into
loopandlearn:devfrom
jwoglom:simplify-certs
Open

Simplify O5 certificate details UI#91
jwoglom wants to merge 2 commits into
loopandlearn:devfrom
jwoglom:simplify-certs

Conversation

@jwoglom

@jwoglom jwoglom commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Make it more difficult to accidentally forget a saved certificate.

  • Shorten cert source labels in details dump: "Compiled"/"Imported"/"API"
  • Replace the "Forget Saved Certificate" button with a long-press context menu offering Copy Controller ID, Copy Public Key, and Forget
  • Move the Certificate Details row from OmniSettingsView into Pod Diagnostics. Yes, it's not specifically a diagnostic operation for the pod itself, but it isn't on the main screen that way and is next to other debug options. It still only shows up when selecting Omnipod 5 as the pod type.
IMG_0418 IMG_0419 IMG_0420 IMG_0421 IMG_0422

- Shorten cert source labels in details dump: "Compiled"/"Imported"/"API"
- Replace the "Forget Saved Certificate" button with a long-press context
  menu offering Copy Controller ID, Copy Public Key, and Forget
- Move the Certificate Details row from OmniSettingsView into Pod Diagnostics
@marionbarker

Copy link
Copy Markdown
Contributor

Test

✅ successful test

Configuration

iPhone SE 3rd gen running iOS 26
start with Trio feat/o5 build.
switch OmnipodKit to simplify-certs branch

Test

Confirmed the new location for the Certificate Details row
Confirmed the long-press on the card to reveal the new menu
Confirmed Copy Controller ID, Copy Public Key and Forget Saved Certificate all act nominally
As part of the test, two certificates were requested.

//

import SwiftUI
import UIKit

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why was UIKit added. It builds fine without this line.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Sorry, I don't know why stuff like this gets re-added when i compile / lint on my machine.

@marionbarker marionbarker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the UIKit line is not needed.
Other than that, review is good and test works.
I approve the change but will not merge it yet to give @jwoglom time to respond.

@jwoglom

jwoglom commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator Author

I think the UIKit line is not needed. Other than that, review is good and test works. I approve the change but will not merge it yet to give @jwoglom time to respond.

removed UIKit import. not sure why stuff like this gets added sometimes

@itsmojo

itsmojo commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator
  • I like the idea of the shortened source labels, but I don’t think we should have one labeled “API” instead of something more obvious for the user and as referenced in other places (e.g., “Downloaded”).
  • Replacing the “Forget Saved Certificate” button with a long-press context menu should make it more difficult to accidentally forget a certificate, but why not use a slide button to be consistent with other such buttons in OmnipodKit that would make accidentally forgetting a certificate even less likely? Also why overload this action with ways to copy the controller id and the public key? What’s the value of providing this new functionality, particularly for the public key that we really don’t even need to expose to the user in the first place?
  • We should definitely not move Certificate Details from the pump view to the Pod Diagnostics menu. OmnipodKit was designed so that the pump view is the only one that varies per the pod type and is so labeled (Omnipod Classic, Omnipod DASH, Omnipod 5). The Pod Diagnostics view should be pod agnostic as are all the other non-pairing pump view sub-views are. Additionally, Certificate Details is not anything that varies per pod anyways. To achieve the objective to make it more difficult to accidentally forget a saved certificate, let’s keep Certificate Details in its current consistent location in the pump view (which matches DASH’s Pod Keep Alive location) and just use an improved mechanism like a long-press (or even better, a slide button) for the forget action instead of also trying to relocate the Omnipod 5 specific Certificate Details to a less consistent location to try to hide it.

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