Repository navigation
feat(ios): brand marks for PagerDuty, Pylon, Datadog, Alertmanager and AWS - #663
Merged
Merged
Conversation
…d AWS The four event sources left on SF Symbols (bell, life preserver, ECG line, dog) now draw the same marks as the web and Android apps everywhere a trigger is shown: the New work form's Starts menu, scheduled Task / Job / agent trigger lists and Local automations. Brand(url:) recognizes PagerDuty, Pylon, Datadog and Grafana / Alertmanager links. The Connections hub draws each catalog provider, the new-connection sheet and every connection row with the provider's brand mark (Notion, GitHub, Slack, Linear, Sentry, AWS, Pylon, PagerDuty) through Glyph.provider(icon:), mirroring the web's connection-mark.tsx; database / folder / terminal / globe keep generic symbols. Also pins SwiftTerm to 1.20.0: 1.99.0 (2026-10-08) removed TerminalView.getTerminal(), so a fresh resolve of `from: 1.2.0` no longer compiles. BrandMarksUITests walks the catalog and the Starts row for screenshots (skips without OPTIO_UITEST_SERVER_URL).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
iOS fell back to SF Symbols for the four event sources that got no brand asset in Connections v2 / v0.13 (PagerDuty → bell, Pylon → life preserver, Alertmanager → ECG line, Datadog → dog), and the Connections hub drew every provider with a stand-in symbol. This PR gives them the same marks the web (
brand-icon.tsx) and Android (BrandMarks.kt) already use.Shared/Brands.xcassets:brand.pagerduty,brand.pylon,brand.datadog,brand.alertmanager,brand.aws— the web's path data, template-rendered, vector preserved, sameContents.jsonshape asbrand.linear.Brandgainspagerduty / pylon / datadog / alertmanager / aws;Brand(url:)recognizes*.pagerduty.com,*.usepylon.com,*.datadoghq.com|eu, Grafana / Alertmanager hosts and AWS console links.Glyph.triggerand the work form'sWhenType.glyphreturn the brand for the four sources, so every surface that usesTriggerIcon/ the Starts row picks them up: New work form, scheduled Task / Job / agent trigger lists, Local automations, local terminal "Open ticket".TriggerIcon.labelnow reads the brand's label (no special cases).Glyph.provider(icon:)maps the catalog'siconkey → brand mark (notion, github, slack, linear, sentry, aws, pylon, pagerduty) or a generic symbol (database, folder, terminal, globe, else a plug), mirroringconnection-mark.tsx. The catalog rows, the new-connection sheet, and now each connection row (viaOptioRow'sglyph) use it;ConnectionIcons.symbol(for:)is gone.exactVersion: 1.20.0inproject.yml. 1.99.0 (released 2026-10-08) removedTerminalView.getTerminal(), whichTerminalThemeandLocalTerminalStreamcall, so a fresh resolve offrom: 1.2.0no longer compiles (CI doesn't build iOS, so nothing caught it). Lift the pin once those call sites move to the new API.Verification
make build(xcodegen + xcodebuild, iPhone simulator): succeeds.BrandMarkTests(7) andWorkFormModelTests(45): pass.testEveryAssetLoads/testBrandMarksAreMonochromecover the new imagesets; newtestProviderGlyphscovers the catalog mapping; URL and trigger expectations updated.BrandMarksUITests(skips withoutOPTIO_UITEST_SERVER_URL): launched against a hermetic seeded API (apps/android/scripts/test-api.sh, port 4966), scrolled the Connections catalog to Pylon / AWS / PagerDuty and walked the New work form to each of pylon / datadog / alertmanager viaOPTIO_DEV_NEW_SESSION_TWEAKS. Both pass; screenshots confirmed the marks render (catalog: Linear, Pylon, PostgreSQL, Sentry, AWS, PagerDuty; Starts row: "PagerDuty incident", "Pylon event", "Datadog monitor", "Grafana / Alertmanager alert" each with its mark). Screenshots were taken from the simulator and are not committed.Notes
postgresql/bitbucketbrand that no catalog provider uses (databaseicon key), so iOS doesn't add them.