Skip to content

Reconcile main into cloud branch#78

Draft
SunkenInTime wants to merge 91 commits into
icarus-cloudfrom
codex/reconcile-main-into-cloud
Draft

Reconcile main into cloud branch#78
SunkenInTime wants to merge 91 commits into
icarus-cloudfrom
codex/reconcile-main-into-cloud

Conversation

@SunkenInTime
Copy link
Copy Markdown
Owner

Summary

  • Merge latest main into the cloud branch on a PR branch.
  • Align cloud lineup sync/import/export/migration paths to main's LineUpGroup model.
  • Keep strategy/page settings syncing through cloud page ops while app-wide preferences remain local.
  • Regenerate Hive adapters from source; LineUpGroup=33, LineUpItem=34, CloudMediaJobState=35.

Cloud data compatibility

  • This changes cloud lineup payloads from flattened LineUp records to grouped LineUpGroup records. Existing dev cloud lineup data should be wiped or migrated before relying on it.

Verification

  • fvm flutter pub run build_runner build --delete-conflicting-outputs
  • fvm flutter test test/lineup_group_migration_test.dart test/strategy_integrity_test.dart test/strategy_page_session_provider_test.dart test/strategy_op_queue_provider_test.dart test/unsaved_strategy_guard_test.dart
  • fvm flutter analyze (no errors; exits with existing info-level style nits)

SunkenInTime and others added 30 commits March 25, 2026 14:15
…timate orbs visibility

Enhanced the ScreenshotView component to include new parameters for controlling the visibility of spawn barriers, region names, and ultimate orbs. Updated the SaveAndLoadButton to pass these parameters and added corresponding tests to verify their functionality.
Add LineUp.deepCopy and use deep copies when importing, snapshotting, restoring, and copying lineUps to avoid shared mutable state. Update StrategyPage.copyWith and StrategyProvider to deep-copy lineUps when constructing strategies. Introduce a _hasLoadedStrategy helper and flushPendingAutosaveBeforeExit in StrategyProvider to attempt a silent autosave (respecting autosave settings) before exit; wire this into unsaved_strategy_guard so it will try to save silently and report failures before showing the dialog. Add comprehensive tests (test/unsaved_strategy_guard_test.dart) to cover autosave-enabled/disabled, no-loaded-strategy, and error cases.
- Introduce `LineUpGroup` and `LineUpItem` to support adding multiple items per lineup
- Migrate legacy lineup storage and update Hive adapters/registrar
- Update ability widgets, painters, and tests for grouped lineup state
- keep StrategyPage.lineUps persisted alongside lineUpGroups
- update Hive schema and migration versioning
- add regression tests for legacy and round-trip deserialization
- Define a fixed role order for strategy tiles
- Return selected agents grouped as duelist, initiator, controller, sentinel
- Replace `AnimatedContainer` with `Container` in pages bar and expanded panel
- Update `macos/Podfile.lock` with new plugin entries and checksums
- add saved app preference for the expanded pages bar height
- let the pages bar resize via a drag handle and restore the last height
- Clip the sidebar panel to a consistent rounded border
- Add hover and active states to the page resize handle
- Pass resize state into the expanded pages panel
- Replace content-based minimum height with a fixed two-row minimum
- Keep the expanded panel at the configured height instead of growing to fit content
- Track hovered lineup targets by group and item
- Add hitbox registration and stack selector for overlapping abilities
- Route tap and context-menu actions to the selected lineup item
- Update hover, line painting, and widget tests for stacked abilities
- Close anchored context menus before running stacked item actions
- Defer hitbox unregister until after frame to avoid stale state
- Add regression coverage for stacked lineup delete
…ineup item interactions

- Update LineUpGroupAgentWidget and LineUpItemAbilityWidget constructors to use ValueKey for better key management.
- Introduce a new test to ensure remaining stacked lineup items remain interactive after deleting a sibling item.
- Refactor widget tree in tests to use Consumer for dynamic updates based on provider state.
Co-authored-by: Dara Adedeji <SunkenInTime@users.noreply.github.com>
…ects

- Integrate strategy settings provider to adjust ability size and content padding dynamically.
- Refactor the lineup stack selector to use a dedicated widget for options, improving readability and maintainability.
- Implement hover effects for lineup options, enhancing user interaction feedback.
- Increment version number to 4.1.0+62 in pubspec.yaml for release.
- Update versionNumber and versionName constants in settings.dart to reflect the new version.
Fixed bugs, added Multi ability line ups
- Allow release workflows and build scripts to publish prerelease artifacts
- Route desktop updater manifests by channel via dart define
- Document the prerelease validation flow and add coverage for URL selection
fix(updater): strip null terminator from executable path
Improve Windows update staging and restart diagnostics to avoid cleanup races and preserve actionable failures.

Made-with: Cursor
fix(updater): harden Windows update apply flow
SunkenInTime and others added 30 commits May 1, 2026 00:27
- Render the active page name in the lower-left corner
- Pass page names through the save/load screenshot flow
- Add a widget test covering the new label
- Reduce bar and row corner radii for a cleaner fit
- Adjust expanded panel spacing and resize handle height
- Refresh row action buttons with compact icon spacing
- Store pages bar width in app preferences
- Add horizontal resize handle and clamp width
- Keep existing height resize behavior intact
- Track source and target page IDs through transition state
- Ease the overlay progress curve and drive row fill indicators
- Clear transition page IDs when the animation completes
- Extract lineup visuals into a reusable overlay
- Show lineup overlay while page transitions hide the map
- Use a consistent easing curve for transition progress
- Watch canvas resize changes in persistent lineup widgets
- Add regression test for overlay repositioning and rescaling
- Remove extra button spacing in the collapsed and expanded bars
- Hide row actions until hover or active state
- Disable outer scrollbars for the reorder list
- Centralize pages bar corner radii constants
- Read custom color library entries from `ColorLibraryController`
- Stop watching preferences directly in the controller build
- Keep controller state in sync before persisting preference updates
- Duplicate abilities on modifier-assisted drag
- Track dragged IDs through drop handlers
- Update ability widget tests for the new callback signature
- Add the impeccable skill docs, commands, and references
- Update map theme and settings UI to match the new design flow
- Refresh strategy folder import test expectations
- Replace the plain title/description block with a compact scope pill
- Simplify the strategy object styling description copy
- Store custom keybinds in app preferences
- Add a settings section to edit, reset, and search bindings
- Scope text fields with shortcut overrides and add binding tests
- Move map theme state into `user_preferences_provider`
- Update imports across app and tests
- Add spawn barrier, ult orb, and region name flags to app preferences
- Sync map visibility state with saved preferences and archive exports
- Show draggable agent abilities in the context menu
- Switch the marker sync banner action to a solid button
- Switch to a raw menu item with tighter spacing
- Remove the tooltip wrapper from ability buttons
…to update/prerelease

# Conflicts:
#	.github/workflows/release-desktop.yml
- Update app and MSIX version constants
- Add prerelease release metadata for 4.3.1+85 and 4.3.2+86
- Update app, package, and MSIX version metadata
- Add 4.3.3 release notes
- Add missing desktop/channel entries to release metadata during desktop builds
- Include stable in 4.3.3+87 release metadata
- Report no-update and failure cases from the Windows desktop updater
- Write release metadata and manifests with UTF-8 no-BOM JSON output
- Update release metadata message to use plain punctuation
- Keep Windows JSON UTF-8 content consistent
…utf8

Write release JSON as UTF-8 and log desktop update failures
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