Repository navigation
feat(android): parity pass — v0.15 work cards and session headers, one trigger editor - #665
Merged
Merged
Conversation
One Work card for every list (core:workfeed ui/WorkRowCard, on core:ui): the runtime's mark with its status dot, the name and place, the host or pod and the recency, the status, the trigger and exit condition for work that has them, and the ticket / PR badges (two at rest, up to eight expanded). The Work list, the Overview's Needs-you section and board all draw it; the two per-feature copies are gone. The feed keeps and deduplicates linked tickets and PRs, and the Overview no longer lists a local task twice. Local terminal and pod session headers use one SessionIdentityHeader with a full-width Chat / Terminal switch.
…agents The trigger vocabulary, drafts, validation, specs and summaries move to core:ui (triggers/TriggerModel.kt) with the one editor (TriggerRows, TriggerTypeChips, TriggerSecretDialog). The New work form's When section draws it; a Local automation's Add trigger sheet and a persistent agent's New trigger sheet now offer every one of the fourteen types (GitLab, Jira, Pylon, PagerDuty, Sentry, Alertmanager and Datadog included) through the same rows, and show a Pylon / Alertmanager / Datadog trigger's own URL and secret once after it is created. The work form shows that dialog too.
…source in the Machines copy
…7de47aeabdf # Conflicts: # CHANGELOG.md
… event collector createAndDeleteTriggers asserted the Success event the instant createTrigger returned, but the view model sends it on a buffered Channel that the test's collector drains on its own Dispatchers.Default coroutine, so a slow CI box could assert before the collector ran (passed 6/6 locally, failed on Temurin 21 in run 38078632350). Wait for it with eventually, as the sibling test does.
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
Brings the Android app to parity with what iOS shipped in v0.14.0 / v0.15.0 and with the web session sidebar, and finishes the per-feature trigger enums.
Work cards and session headers (iOS v0.15)
core:workfeedui/WorkRowCard.kt(the module now depends oncore:ui): the harness logo with its status dot, the name and place, the host or pod and the recency, the status, the trigger and exit condition where they matter, tappable ticket / PR badges (two at rest, up to eight expanded), and the Private tag. The Work list, the Overview's Needs-you section and board all draw it; the two per-feature copies (feature/workandfeature/overviewWorkRowView.kt) are gone, as the Android plan's ISSUES.md asked.WorkFeed.workLinks, a port of the iOS function and its tests); a task's row carries its PR and the links its local terminal saw; the Overview's Needs-you section is built from the feed's rows (needsYouRows) and no longer lists a local task twice.SessionIdentityHeader(core:ui) replaces the twoDetailHeaderuses: local terminals and pod sessions show the harness, title, location, status, usage pill and facts together, with a full-width labelled Chat / Terminal switch and the link badges scrolling in a bounded area.One trigger editor (the connections-v2 leftover)
core:uitriggers/TriggerModel.kt, with the editor (TriggerRows,TriggerTypeChips,TriggerSecretDialog) intriggers/TriggerEditor.kt. The work form's When section drawsTriggerRows.TriggerModelTestpins every type).Verified
core:uiBrandMarks.kt; the trigger chips and rows use them.Test plan
./gradlew assembleDebug testDebugUnitTest :core:model:test :core:network:test— 174 suites, 1578 tests, 0 failed (63 skipped: the live tests withoutOPTIO_TEST_API_URL):feature:work,:feature:overview,:feature:local,:feature:sessions,:feature:agents,:feature:workformand looked at (WorkList_brands,Overview_needsYou,Automation_addTrigger,AgentTriggerSheet_*,LocalTerminal_held,SessionChat);AgentTriggerSheet_datadogis newtriggered/any eventdocs/product-followups.mdticks the deferred itemNot changed, by choice: the local terminal and pod session top bars keep Android's title + status pattern above the new identity header (iOS retitled its nav bar "Session"); the Machines page's terminal rows keep their long-press pin menu rather than the Work card.