pointfreeco / composable-core-location

A library that bridges the Composable Architecture and Core Location.
MIT License
107 stars 56 forks source link

Remove tca in favor of combine-only approach to core location dependencies #40

Open klundberg opened 11 months ago

klundberg commented 11 months ago

The prior PR I pushed fixed up usage of the library with TCA 0.57-0.59, but using the library still results in warnings that cannot be resolved in apps that use it (namely, that effects conforming to publisher is deprecated). In an effort to remove warnings from apps that use the library, I figured a refactor to just use combine types instead of effectpublisher would be a useful thing to have. Is this something that might be desired in an official release of this library?

I opted to not go the AsyncSequence route since there's not an official way to create a shared stream with multiple subscribers yet, and I suspect that accidentally creating multiple subscribers to one for this library would cause a lot of hard to diagnose issues.

If this is a welcome change, the demo project will still need updating to get CI to work but I'm happy to do that too.

andtie commented 11 months ago

Hi @klundberg! Thanks a lot for putting in the effort to keep this library updated! I like the idea to decouple it from TCA to reduce the maintenance burden.

Currently, my main objective is to be able to move to the latest TCA-version. But even with this PR, the dependency on xctest-dynamic-overlay with version "0.9.0" prohibits this. Is there a specific reason to use the old version?

klundberg commented 11 months ago

@andtie it's set to "from 0.9.0" so that it can use that or any newer version. does SPM complain about using this update with newer versions of tca and xctest-dynamic-overlay?

klundberg commented 11 months ago

Ah my mistake, i didn't understand that from: ... was equivalent to upToNextMajor. I've updated the version to include a range that should also allow for 1.x versions @andtie