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
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
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
fbfdbb04c7
Convert Articles, ArticlesDatabase, and SyncDatabase to Swift Packages
2020-07-30 04:54:21 -05:00