Skip to content

Add tablet workspace layout - #4274

Open
klopez4212 wants to merge 26 commits into
mainfrom
kennylopez-ipad-simulator
Open

Add tablet workspace layout#4274
klopez4212 wants to merge 26 commits into
mainfrom
kennylopez-ipad-simulator

Conversation

@klopez4212

@klopez4212 klopez4212 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a desktop-like tablet workspace for iPad and Android tablets, with persistent navigation and Inbox detail panes.
  • Align tablet-only surfaces, onboarding, settings, and camera layouts with the desktop visual language.
  • Fix thread reactions and wait for hydrated thread data before opening Inbox deep links.

Tablet view

iPad tablet Inbox and thread view

Validation

  • bin/just mobile-check
  • bin/just mobile-test

Signed-off-by: kenny lopez <klopez4212@gmail.com>
klopez4212 added a commit that referenced this pull request Aug 2, 2026
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 Tablet workspace snapshot

tablet-inbox-thread

Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212
klopez4212 marked this pull request as ready for review August 3, 2026 12:20
@klopez4212
klopez4212 requested a review from a team as a code owner August 3, 2026 12:20

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e0d7e628ba

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/home/home_page.dart Outdated
Comment thread mobile/lib/features/activity/activity_page.dart
Comment thread mobile/lib/features/home/home_page.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>
…ator

Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f552a95cc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/home/home_page/wide_navigation.dart Outdated
Comment thread mobile/lib/features/channels/channel_management_provider.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 21abc530cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/home/home_page.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 64a589bd7e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/ios/Runner.xcodeproj/project.pbxproj
Comment thread mobile/lib/features/home/home_page/wide_navigation.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b59dc05f23

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/channels_page/wide_navigation.dart Outdated
…ator

Signed-off-by: kenny lopez <klopez4212@gmail.com>

# Conflicts:
#	mobile/lib/features/activity/activity_page.dart
#	mobile/test/features/activity/activity_page_test.dart

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8508c11c98

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/thread_detail_page.dart Outdated
Comment thread mobile/lib/features/home/home_page/wide_navigation.dart Outdated
Comment thread mobile/lib/features/activity/activity_page.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b6dd0f5105

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/channels_provider.dart
Comment thread mobile/lib/features/activity/activity_page.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ea7367d65

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/activity/activity_page.dart Outdated
Comment thread mobile/lib/features/channels/channels_page/wide_navigation.dart Outdated
Comment thread mobile/lib/features/channels/channels_page/wide_navigation.dart
Comment thread mobile/lib/features/home/home_page.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53d32207a8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/shared/widgets/frosted_app_bar.dart Outdated
Comment thread mobile/lib/features/activity/activity_page.dart Outdated
Comment thread mobile/lib/features/channels/channels_page/community.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ca134fac1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/channels_page.dart Outdated
Comment thread mobile/lib/features/activity/activity_page.dart
Comment thread mobile/lib/features/activity/activity_page.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 737d3d1aef

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/activity/activity_page.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>
…ator

Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c78d6cdf50

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/activity/activity_page.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 621ce0e009

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/channels_page/wide_navigation.dart Outdated
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be7933d272

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/channels/channels_page/wide_navigation.dart
Comment thread mobile/lib/features/activity/activity_page.dart
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 @codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2003db3b60

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

import '../../shared/widgets/mobile_tab_footer_backdrop.dart';
import '../../shared/widgets/skeleton.dart';
import '../activity/activity_page.dart';
import '../activity/activity_provider.dart';

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Move Activity settlement out of the Home feature

Fresh evidence after the earlier Home-boundary fix is this newly added direct import from features/home into the sibling Activity implementation solely to inspect activityProvider. This recreates the prohibited cross-feature dependency and couples the workspace shell to Activity's provider lifecycle; expose the settlement signal through shared/ or a callback/public coordinator instead.

AGENTS.md reference: AGENTS.md:L551-L552

Useful? React with 👍 / 👎.

Comment on lines +503 to +505
final navigatorKey = useMemoized(GlobalKey<NavigatorState>.new, [
item!.conversationId,
]);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Refresh the detail route when the selected row is tapped

When a grouped conversation is already selected and a newer unread event changes its deep-link target, tapping that row updates selectedItemTarget but leaves this navigator keyed only by the unchanged conversationId. The existing initial route is therefore retained and ChannelDetailPage never receives the new initialMessageId, so the tap does not open the represented unread message as documented. Explicitly navigate the current nested stack or include a tap-generation key while preserving the stable key for passive feed updates.

Useful? React with 👍 / 👎.

@jedwards27 jedwards27 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

A Team review — source-clear at exact head; rebase required

Reviewed exact head 2003db3b60192623176cbaa6260df04e90d66003.

I found no concrete PR-owned defect after reconciling the two suspected Activity lifecycle failures against the final source:

  • A left channel is removed from suppression on a non-member → member transition (mobile/lib/features/activity/activity_page.dart:109-122), so same-session rejoin is handled.
  • Changing the Activity category filter explicitly clears selected/retained detail (activity_page.dart:398-403); the focused Reminders regression covers that transition (mobile/test/features/activity/activity_page_test.dart:319-357). The retention at activity_page.dart:142-162 is limited to the intentional unread-only read transition.

Historical exact-head CI, including Mobile, is green, and git diff --check 6de85fe31d781122756aecf954bae7d357a56b9a..2003db3b60192623176cbaa6260df04e90d66003 passes in a clean detached worktree.

This is not an approval to merge: GitHub currently reports DIRTY / CONFLICTING with main, so no current merge result exists. Resolve the conflicts, then rerun the affected mobile package gates and the tablet community-switch, Activity filter/retention, leave/rejoin, split-view navigation, and camera-layout journeys. Any new head requires delta review.

@jedwards27 jedwards27 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

A Team final synthesis — changes requested

A Team re-review at exact head 2003db3b60192623176cbaa6260df04e90d66003 found the frozen source/test state clear, but the branch cannot be integrated: fresh current main has no merge base with this head (git merge-base exits 1; git merge-tree --write-tree refuses unrelated histories), and GitHub reports DIRTY / CONFLICTING.

Exact-head evidence is strong: full Mobile passed 1,110 / 1 skipped, mobile-check passed when correctly anchored to historical base 6de85fe31d781122756aecf954bae7d357a56b9a, historical exact-head CI is green, and the suspected filter/rejoin source defects do not hold. There is still no focused leave→rejoin Activity regression and no native iPad split-view/orientation/community-switch/camera/accessibility journey.

Rebase/rebuild onto current main, then treat the resulting SHA as new: delta review, full affected mobile gates, Android/iOS builds, and native tablet/community/filter/leave→rejoin/camera/accessibility proof. The prior COMMENTED review 4948261420 was premature; this A Team verdict supersedes 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.

2 participants