Commit Graph

22 Commits

Author SHA1 Message Date
Brent Simmons
625983c74e Make ArticleStatus properly Sendable (rather than unchecked Sendable) via proper use of OSAllocatedUnfairLock. 2024-05-01 19:36:38 -07:00
Brent Simmons
26de8d8b9c Mark ArticleStatus.Key as Sendable. Put the locks in the right places. 2024-04-04 20:44:40 -07:00
Brent Simmons
2461e937bf Replace RSCore with several local modules. Update code as needed. 2024-03-20 20:49:15 -07:00
Brent Simmons
e58f8ada42 Fix many build errors. 2024-03-18 21:08:37 -07:00
Brent Simmons
2a44e1ccf1 Mark Article as Sendable. 2024-03-17 15:57:33 -07:00
Brent Simmons
2061adf595 Make ArticleStatus thread-safe and mark it as @unchecked Sendable. 2024-03-17 15:57:19 -07:00
Brent Simmons
f613340f2f Mark Author as Sendable. 2024-03-17 15:56:39 -07:00
Brent Simmons
3e6759c29a Make Articles module adhere to strict Swift concurrency. 2024-03-13 20:44:25 -07:00
Brent Simmons
917d433deb Fix several build issues. 2024-03-10 18:17:04 -07:00
Brent Simmons
64dc45ef38 Remove .dynamic from Articles and Secrets packages. 2024-03-10 16:45:24 -07:00
Brent Simmons
b662ad8ad3 Make local Database and FMDB modules. Stop using RSDatabase. 2024-03-10 16:39:38 -07:00
Jordan Kay
e99dc24fe0 Fix typo in ArticleStatus.swift 2024-02-27 22:19:02 -08:00
Brent Simmons
4c866b7230 Rename WebFeed and webFeed to Feed and feed. 2024-02-25 23:12:21 -08:00
Maurice Parker
5bf5706ac9 Restrict RSCore version so that we don't pick up version 1.1 when it happens 2022-11-01 20:26:14 -05:00
Duncan Babbage
cc855f3832 link and URL vars for Article. Storage as rawLink
link and externalLink fall back to providing the raw stored value if URLs cannot be created even with repair.
2021-09-30 16:51:59 +13:00
Joe Heck
3409275a23 fixing name of lock 2021-05-10 11:55:24 -07:00
Joe Heck
8df105aad4 replacing os_unfair_lock with NSLock
learned that os_unfair_lock with & was quite unsafe when used within
swift. Apparently in swift, &foo in Swift means "make a copy of foo and
pass it inout to a function, then overwrite its value with whatever
the function did to it when that function returns."

And if you're using it within a struct, it's apparently even more
dangerous. because the address of self can change from call to call
— self might not even have an address, it might be contained in
registers only.

Using NSlock will be a smidge less performant, but notably more safe.
2021-05-10 11:14:04 -07:00
Maurice Parker
91ce7ff189 Update to the latest RSCore 2021-02-07 20:26:30 -06:00
Maurice Parker
fb6e51124f Made internal packages dynamic and removed Asset catalog from the share extension. Fixes #2680 2020-12-21 10:55:00 -06:00
Maurice Parker
37cfccede6 Use simple module name for dependencies instead of the fully qualified version 2020-07-30 20:43:18 -05:00
Maurice Parker
66991a85e6 Convert Account into a Swift Package 2020-07-30 07:27:14 -05:00
Maurice Parker
fbfdbb04c7 Convert Articles, ArticlesDatabase, and SyncDatabase to Swift Packages 2020-07-30 04:54:21 -05:00