Commit Graph

24 Commits

Author SHA1 Message Date
Brent Simmons 48bfcedbf7 Simplify and improve DatabaseIDCache. 2024-05-08 21:57:23 -07:00
Brent Simmons ae77aece2a Make DatabaseIDCache properly Sendable (instead of unchecked) by using an OSAllocatedUnfairLock. 2024-05-07 19:58:23 -07:00
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