Commit Graph

1605 Commits

Author SHA1 Message Date
Stephen Celis
08dfcc5208 wip 2025-02-04 09:57:28 -08:00
Benedicto Hong
eab3982894 Fix typos in Store.swift (#3547)
Fix formatting by removing extra space before 'public'.
2025-01-08 16:38:17 -08:00
Brandon Williams
2ebda6ae2b Fix typo in migration doc. 1.17.1 2025-01-07 09:25:12 -08:00
Stephen Celis
ff1a875668 Bump Sharing requirement to include 2.0.0 (#3546)
* Bump Sharing requirement to include 2.0.0

* Add migration guide

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2025-01-07 09:23:11 -08:00
Stephen Celis
42192d4574 Don't report unasserted shared changes in Reducer._printChanges() (#3528)
* Don't report unasserted shared changes in `Reducer._printChanges()`

* fix

* wip

* wip

* wip
2025-01-07 09:20:31 -08:00
Brandon Williams
cc1713458d Record state access when constructing _StoreCollection. (#3521) 2025-01-07 09:20:15 -08:00
stephencelis
8d727d6193 Run swift-format 2025-01-07 04:58:33 +00:00
Pyry Jahkola
a7da60e621 Fix unit tests for Xcode 16 and older iOS destinations (#3537)
* Limit test case availability when using TestClock

* Use withLock with shared state

* Fix unit tests on iOS 16 and earlier

* Fix DEBUG-mode perception check test to cover iOS 17+

* Run iOS & macOS unit tests on Xcode 16.0
2025-01-06 20:57:40 -08:00
Takehiro Kaneko
642af1d50e Fix NavigationStackController docs (#3540) 2024-12-22 11:06:10 -06:00
mbrandonw
d602618c62 Run swift-format 1.17.0 2024-12-03 19:10:34 +00:00
Pyry Jahkola
cc49db3cb6 Fix obsolete detail on StackElementID documentation (#3509) 2024-12-03 13:09:37 -06:00
Luke Y. W.
f6ae75760b Fix the infinite loop issue when WebSocket returns an error message in the example case. (#3508)
* fix infinite loop issue when WebSocket receives an error message

* catch the error

* syntax update
2024-12-03 13:09:10 -06:00
Stephen Celis
547d19c9dc Add Sharing dependency (#3517)
* wip

* wip

* remove old case study for shared notifications

* wip

* wip

* wip

* wip

* wip

* 1.17 migration guide

* basics migration guide

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2024-12-03 13:08:02 -06:00
mbrandonw
fb822844b2 Run swift-format 2024-11-19 16:11:53 +00:00
Brandon Williams
69011b636f Add migration guide for 1.16. (#3491)
* Add migration guide for 1.16.

* Update README.md

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-11-19 11:04:44 -05:00
Brandon Williams
333bc82e18 Add a test to document how 'task tree' cancellation happens. (#3499)
* Add a test to document how 'task tree' cancellation  happens.

* fix
2024-11-19 11:04:35 -05:00
Pyry Jahkola
69247baf7b Fix crash when cancelling subscription for custom PersistenceKey (#3494)
* Add crashing unit test for AppStorageKey subscription cancellation

* Fix double cancellation of Shared.Subscription
1.16.1
2024-11-14 11:14:20 -08:00
Josh
333aa22e81 Add @ViewBuilder to NavigationStack. init root (#3493) 2024-11-13 21:50:00 -08:00
Brandon Williams
2170719d07 Fix race condition in FileStorageKey (#3479)
* Failing test for multiple mutations to file storage.

* wip

* wip

* fixes

* wip

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-11-12 18:38:35 -05:00
Dave Carrigan
a952dde0bf AppStorage: add support for Date values (#3470)
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
1.16.0
2024-11-11 21:23:07 -08:00
Pat Brown
fdad435ecb Avoid extra lock for subscriptions (#3476)
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-11-11 20:35:22 -08:00
Kabir Oberai
8784f76187 Fix DemandBuffer race (#3475)
See also: https://github.com/CombineCommunity/CombineExt/pull/90

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-11-11 20:35:07 -08:00
Stephen Celis
12268edde8 Prefer KVO for app storage observation (#3487)
* wip

* wip

* wip
2024-11-11 16:47:51 -08:00
Stephen Celis
3879d2c831 Avoid sendable key paths in dynamic member lookup (#3463)
* Avoid sendable key paths in dynamic member lookup

There are a few compiler bugs that prevent us from declaring sendability
for key paths where it's needed.

First, doing so breaks autocomplete, which really hurts the developer
experience: https://github.com/swiftlang/swift/issues/77035

Second, even though recovering autocomplete might be preferable at the
cost of safety, there is no safety to begin with right now because
sendable diagnostics don't propagate through dynamic member lookup:
https://github.com/swiftlang/swift/issues/77105

Because of this, let's only use non-sendable key paths for now, and
force cast them under the hood.

* fix
2024-10-23 11:16:34 -07:00
Ryan Carver
59fdf28496 Shared state shows test change in the wrong action (#3455)
* test case showing shared action received in the wrong action

* mark testSharingWithDelegateAction with XCTTODO

* Add the version of testSharingWithDelegateAction that works today

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-10-22 13:50:26 -07:00
Kabir Oberai
56149436a3 Fix race conditions in CurrentValueRelay (#3447)
* Test

tweak test

tweaks

* Slow fix

* Fix test compilation

* nonrecursive lock

* back to os_lock

* undo renaming

* visibility

* Feedback

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
1.15.2
2024-10-22 09:56:43 -07:00
Ilia Lubianoi
c134e5a6f9 Update Russian translation in README.md (#3457)
It looks like the Russian translation hasn't been updated since version 0.51, so I’ve bumped it to the latest 1.15. I’ll try to keep it up to date if it gets merged. Thanks!
2024-10-21 12:54:30 -07:00
Stephen Celis
fc5cbeec88 Infrastructure: Address concurrency warnings in tests (#3438)
* Infrastructure: Address concurrency warnings in tests

* wip

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
1.15.1
2024-10-15 10:03:23 -07:00
Stephen Celis
f43a154fd4 Fix Swift <6 warning (#3445)
Bit casting a type to the type it already is produces a warning.
2024-10-15 10:03:03 -07:00
mbrandonw
1aca801ee2 Run swift-format 2024-10-14 17:09:44 +00:00
Brandon Williams
2d0590bedd Clean up key path bitcasting. (#3411)
* Clean up key path bitcasting.

* wip

* wip

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-10-14 13:08:23 -04:00
Christopher Rex
4699a1e613 Add explicit @mainactor to NavigationLink initializer (#3430)
* Add explicit @MainActor to NavigationLink initializer

* Access Notification from within an explicit Task

Fixes the "Conformance of 'Notification' to 'Sendable' is unavailable" error

* Revert "Add explicit @MainActor to NavigationLink initializer"

This reverts commit d8cb0706c1.

* Add explicit @MainActor to NavigationLink initializer

* Update Examples/CaseStudies/SwiftUICaseStudies/03-Effects-LongLiving.swift

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>

* Update swift-navigation dependency version to 2.2.2

* Discard changes to Examples/CaseStudies/CaseStudies.xcodeproj/project.pbxproj

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Update Package@swift-6

* Fix tests

---------

Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com>
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2024-10-09 16:57:34 -07:00
mbrandonw
15a2accc28 Run swift-format 2024-10-09 17:46:30 +00:00
Brandon Williams
bc47c51ee6 Run sync ups tests with main serial executor (#3431)
* wip

* wip
2024-10-09 13:09:57 -04:00
Stephen Celis
f9f3e3a4cb Use AnyHashableSendable from Concurrency Extras (#3428)
* Use `AnyHashableSendable` from Concurrency Extras

Rather than use an ad hoc implementation with an `AnyHashable` under the
hood that may not be concurrency safe, let's adopt the helper we added
to the Concurrency Extras packages.

* fix

* wip

* wip
2024-10-08 13:08:38 -07:00
Stephen Celis
61e3809a97 CI: Don't xcbeautify Swift Testing suites (#3425)
* wip

* benchmark update

* wip

* Add CI for benchmarks

* wip

* Update benchmark.yml

* Update benchmark.yml

* Delete Benchmarks/Benchmarks/swift-composable-architecture-benchmark/ Benchmarks.swift

* Update benchmark.yml

* Update benchmark.yml

* Update Benchmarks.swift

* wip

* Delete .github/workflows/benchmark.yml

* Update Benchmarks.swift

* Add slight delay for expected failure

Test expected failure is flakey, so hopefully will pass more
consistently now.

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2024-10-07 16:52:39 -07:00
Stephen Celis
00cd6aaa0e Update documentation.yml 2024-10-03 15:39:36 -07:00
stephencelis
e98d09b400 Run swift-format 2024-10-03 18:54:43 +00:00
Stephen Celis
4cd62511ab Update benchmarks target (#3424)
* wip

* benchmark update

* wip

* Rename  Benchmarks.swift to Benchmarks.swift

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2024-10-03 11:53:20 -07:00
Mateusz Bąk
f043956877 Add Swift Macro Compatibility Check to CI (#3406)
* Add Swift Macro Compatibility Check GitHub Action

This PR adds a **Swift Macro Compatibility Check** GitHub Action to ensure that macro changes remain compatible across different versions of `swift-syntax`. The action automatically verifies compatibility with major `swift-syntax` versions (`509.0.0`, `510.0.0`, `600.0.0`), running builds and tests. It's also posible to turn on checking agains all versions of `swift-syntax`.

#### Key Benefits:
- **Automated Compatibility Checks**: No need to manually test changes across different `swift-syntax` versions—this is handled automatically in CI.
- **Prevents Breakages**: Helps avoid accidentally committing changes that break older versions.

* Use major versions only

* Use `v1` version

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2024-10-02 23:06:29 -07:00
Inhwan Kim
c8c97a45ae Add Import modules on NavigationStack tutorial source codes. (#3409) 2024-10-02 21:46:33 -07:00
Stephen Celis
85417e000e Update documentation and examples to use Swift Testing (#3413)
* Testing: Case Studies

* Testing: Search

* Testing: Speech Recognition

* Testing: SyncUps

* Project Settings

* Testing: TicTacToe

* Testing: Todos

* Testing: Voice Memos

* Update tutorials/docs

* fix

* Fixes

* wip

* Update ci.yml

* Update ci.yml

* Update ci.yml

* wip

* wip

* Quiet

* fix

* wip

* wip

* flaky

* wip

* wip

* fix
2024-10-02 16:28:33 -07:00
stephencelis
4c0866420f Run swift-format 2024-09-18 21:39:29 +00:00
Brandon Williams
52258dc115 Update case studies to run in Swift 6 mode. (#3394) 2024-09-18 14:38:18 -07:00
Ken Grigsby
6dc5f98629 Update documentation links (#3397) 2024-09-18 14:37:53 -07:00
Brandon Williams
d631d48c16 Added migration guide for 1.15 (#3390)
* Added migration guide for 1.15

* wip
2024-09-17 08:12:10 -04:00
Stephen Celis
dcecad3fe2 Soft-deprecate Store.ifLet (#3382)
* Soft-deprecate `Store.ifLet`

We can prefer `observe` and `if let store.scope` now.

* wip

* wip

* Update MigratingTo1.7.md

* wip
2024-09-13 13:51:00 -07:00
stephencelis
d750b2a96c Run swift-format 2024-09-12 21:30:41 +00:00
Stephen Celis
f1af33763e Swift 6 updates (#3379)
* Swift 6 updates

  - Soft-deprecate `_SynthesizedConformance` now that Xcode 16 has fixed
    this bug.
    - Update docs accordingly.

  - Document Xcode 16 macro gotcha around custom build configuration
    names.

* wip
2024-09-12 14:11:05 -07:00
mbrandonw
8013f1a72a Run swift-format 1.15.0 2024-09-12 17:49:35 +00:00