* Create GenericContextAction to merge code paths for native context menu, our custom reimplementation, and table row leading/trailing actions
* Add go to chat leading action for story rows
* use native context menu for story row long press
* Add first send story privacy field to AccountRecord proto
* Store hasSetMyStoriesPrivacyKey on StoryManager
* sync hasSetMyStoriesPrivacy state
* Reuse MyStorySettingsViewController in a sheet view controller
* Show my story privacy settings from conversation picker if unset when selecting my story destination
* reload my story row to change subtitle
* pr feedback
* fix conflict between story viewer context menu drag and navigational pan gestures
* Fix RTL chevrons on story list
* swipe only between hidden stories OR visible stories, never both
* Add table row swipe actions for hiding/unhiding stories & update icons to sharp corners instead of rounded
* make story viewer context menu always dark theme to match design mocks
* dont fail dev builds when harmlessly double dismissing a context menu, which happens if backgrounding the app while the context menu is open
* update my story row icons to 16pt
* swipe to delete on my story rows
* Use themed icons. Get filled versions of various context menu icons from design
_This change should have no user impact._
The database corruption flag lives on `UserDefaults`. Currently, this
flag is controlled through `SSKPreferences`, but I kinda think that's
the wrong place—database corruption isn't really a user preference.
This moves it into its own file, tests it, and [drops booleans in favor
of an enum][0]. I think this is useful on its own, but also prepares us
for an upcoming change.
[0]: https://www.luu.io/posts/dont-use-booleans