Commit Graph

3022 Commits

Author SHA1 Message Date
Andreas Nedbal e9290a73f8 Replace action targets with relationship partials 2023-10-28 10:41:23 +02:00
Andreas Nedbal be947bf4e2 Add `RelationshipsController` 2023-10-28 10:41:20 +02:00
Karina Kwiatek 0877b938a3
Merge pull request #1417 from Retrospring/feature/turbo-subscriptions
Move subscription functionality to Turbo Streams
2023-10-28 10:16:20 +02:00
Andreas Nedbal 2fdd2045f0 Make comment reaction modal backdrop clickable 2023-10-28 04:39:15 +02:00
Andreas Nedbal 09b0ec6888 Use proper reaction model class in `CommentController` 2023-10-28 04:39:15 +02:00
Andreas Nedbal 1573c2f702 Fix rubocop nits 2023-10-28 04:39:15 +02:00
Andreas Nedbal bc0ce6be3f Add specs for comment and modal controller Turbo Frame actions 2023-10-28 04:39:15 +02:00
Andreas Nedbal 4c393defb7 Add `ModalController#close` action 2023-10-28 04:39:15 +02:00
Andreas Nedbal f30b1b820e Add `show_reactions` action and move markup into it 2023-10-28 04:39:15 +02:00
Andreas Nedbal 1e29d3f86f Rename `Appendable::Reaction` to `Reaction` 2023-10-28 02:44:48 +02:00
Andreas Nedbal 46cee3a192 Fix Turbo Stream replace targeting the wrong element 2023-10-26 08:20:56 +02:00
Andreas Nedbal 7fdf978be1 Fix rubocop nits 2023-10-25 03:14:57 +02:00
Andreas Nedbal 8842998229 Render shared subscription actions in answerbox actions 2023-10-25 03:14:57 +02:00
Andreas Nedbal 42b5b6ccc2 Remove TypeScript subscription functionality 2023-10-25 03:14:57 +02:00
Andreas Nedbal 563f834287 Remove `Ajax::SubscriptionController` 2023-10-25 03:14:57 +02:00
Andreas Nedbal cefb805243 Add `SubscriptionsController` 2023-10-25 03:14:57 +02:00
Karina Kwiatek e351990475
Merge pull request #1410 from Retrospring/feature/load-async-pinned-answers 2023-10-23 07:54:05 +02:00
Karina Kwiatek 8ac50878be Use load_async for loading pinned answers 2023-10-22 21:52:04 +02:00
Karina Kwiatek 65e802f51d Stop eager loading comments and smiles 2023-10-22 21:51:21 +02:00
Karina Kwiatek e18abd3752
Merge pull request #1071 from Retrospring/dep/rails-7.0.4.2
Bump rails to 7.0.8
2023-10-22 21:06:04 +02:00
Andreas Nedbal b5347decb4 Fix rubocop nits 2023-10-22 21:04:30 +02:00
Andreas Nedbal e01e973d76 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-10-22 21:04:30 +02:00
Andreas Nedbal c09cc85c4f Adjust class references to question CSS classes 2023-10-22 21:04:30 +02:00
Andreas Nedbal c4959ae548 Remove obsolete question-related partials 2023-10-22 21:04:30 +02:00
Andreas Nedbal e6bd19790a Replace question markup with `QuestionComponent` 2023-10-22 21:04:30 +02:00
Andreas Nedbal 36b13c5366 Extract question styling from answerbox 2023-10-22 21:04:30 +02:00
Andreas Nedbal 07a423bba0 Add `QuestionComponent` 2023-10-22 21:04:30 +02:00
Andreas Nedbal a4208f3a9a Add base `ApplicationComponent` 2023-10-22 21:04:30 +02:00
Andreas Nedbal 6672315e6b Refactor theme inputs into a partial 2023-10-22 20:54:21 +02:00
Andreas Nedbal 12ff30a2e6 Set all theme color inputs to be read-only 2023-10-22 20:54:21 +02:00
Karina Kwiatek 18bb574b78
Merge pull request #1405 from Retrospring/fix/use-smile-count-in-answerbox
Use `smile_count` in answerbox
2023-10-22 20:51:14 +02:00
Karina Kwiatek 491fb359d2 Ensure user profiles and questions are eager loaded 2023-10-22 19:54:51 +02:00
Karina Kwiatek 198ea0d50d Use `smile_count` in answerbox 2023-10-22 19:48:04 +02:00
Karina Kwiatek 2432010256
Merge pull request #1403 from Retrospring/feature/avatar-component
Install `view_component` and add initial `AvatarComponent`
2023-10-22 16:05:11 +02:00
Andreas Nedbal a58e902a01 Replace plain avatar usage with `AvatarComponent` 2023-10-20 11:45:53 +02:00
Andreas Nedbal e19786cbaa Add avatar component 2023-10-20 11:44:28 +02:00
Karina Kwiatek dad0d72cca Allow faker TLDs in testing 2023-10-20 09:52:48 +02:00
Karina Kwiatek 6e7c625f3f Stub out Trix editor 2023-10-20 08:33:16 +02:00
Andreas Nedbal 50b925ec48 Prefer render responders in settings controllers 2023-10-20 02:21:52 +02:00
Andreas Nedbal f95e11cffc Fix rubocop nits 2023-10-19 23:53:21 +02:00
Andreas Nedbal 6e8f8bcc67
Merge branch 'main' into bugfix/inbox-sharing 2023-10-19 23:44:57 +02:00
Andreas Nedbal 25adb11df3 Fix rubocop nits in helper code and specs 2023-10-19 23:41:14 +02:00
Georg Gadinger c4da510fe7 fix deletion of notification entries when deleting a user 2023-10-18 22:13:25 +02:00
Georg Gadinger a85ce45b25 appease the paw patrol 2023-10-18 21:57:09 +02:00
Georg Gadinger 8a26232fe6 bad dog 2023-10-18 21:53:30 +02:00
Georg Gadinger dc41f15097 fix deletion of inbox entries when deleting an user 2023-10-18 21:52:47 +02:00
Andreas Nedbal f76c4e236b Fix rubocop nits 2023-10-18 21:12:42 +02:00
Andreas Nedbal 7156dc5c9b Catch `navigator.share` errors with a no-op 2023-10-18 20:04:41 +02:00
Andreas Nedbal bc45bda517 Only remove inbox entry after share has been triggered 2023-10-18 20:04:14 +02:00
Andreas Nedbal 8b86e2f123 Set text and URL separately for `navigator.share`
Apparently for most mobile OSses `url` is a required share option
2023-10-18 20:01:59 +02:00
Andreas Nedbal dc8c5fbf82 Add option to omit URL to `prepare_tweet` helper 2023-10-18 20:01:07 +02:00
Andreas Nedbal fce3d7c587 Disable Turbo on registration form 2023-10-17 21:48:49 +02:00
Karina Kwiatek ec3ffd5a82
Merge pull request #1389 from Retrospring/feature/rel-me-on-profile-website
Set rel=me on website link in profiles
2023-10-17 20:21:24 +02:00
Andreas Nedbal 3aa18ef7c7 only initialize service workers if they are available 2023-10-17 20:14:28 +02:00
Andreas Nedbal 87813d3005 Fix sharing condition 2023-10-17 20:14:28 +02:00
Andreas Nedbal 5f0fed8c94 Fix rubocop nits 2023-10-17 20:14:28 +02:00
Andreas Nedbal af3caf9be1 Fix stylelint nit 2023-10-17 20:14:28 +02:00
Andreas Nedbal 9f999189cd Add Stimulus sharing feature to answerboxes 2023-10-17 20:14:28 +02:00
Andreas Nedbal 5ccdd9bbc2 Remove answerbox-specific sharing feature 2023-10-17 20:14:28 +02:00
Andreas Nedbal 3feb827b16 Add support for sharing dialog in inbox answer sharing 2023-10-17 20:14:28 +02:00
Karina Kwiatek e4c054ad92 Set rel=me on website link in profiles 2023-10-17 19:52:00 +02:00
Karina Kwiatek 3bd45c8e96
Merge pull request #1196 from Retrospring/feature/turbo-comments
Move comments to a turbo frame
2023-10-16 18:02:46 +02:00
Andreas Nedbal 6aee2baa45 Name label iOS instead of iPhone 2023-10-16 15:27:34 +02:00
Andreas Nedbal 26e1a9df1a Suggest pure iPhone two factor capabilities 2023-10-16 15:27:34 +02:00
Karina Kwiatek 81b271ab03 Move reactions to separate view/endpoint 2023-10-15 18:42:30 +02:00
Karina Kwiatek 9563a586c2 Appease the dog overlords (mostly) 2023-10-15 18:42:30 +02:00
Karina Kwiatek adf294e6cb Add tests for viewing comments 2023-10-15 18:42:30 +02:00
Karina Kwiatek 849d4f74f2 Move comments to a turbo frame 2023-10-15 18:42:30 +02:00
Karina Kwiatek 7eee7d38c6
Merge pull request #1370 from Retrospring/bugfix/webpush-registration-catch
Rewrite WebPush enable handler to properly catch errors
2023-10-15 15:35:53 +02:00
Andreas Nedbal ffcaa5c4d9 Remove superfluous rubocop:disable comments 2023-10-15 10:42:58 +02:00
Andreas Nedbal f6e26f1751 Remove superfluous rubocop:disable comments 2023-10-15 10:42:58 +02:00
Andreas Nedbal ac05489329 Limit comment toggle querySelector call to nearest answerbox 2023-10-15 10:17:13 +02:00
Andreas Nedbal 3afa52c59e Fix haml-lint nits 2023-10-15 10:16:21 +02:00
Andreas Nedbal 9f8450a83c Add frontend validation for mute rule creation 2023-10-15 10:16:21 +02:00
Andreas Nedbal f3f8e99045 Use `length` validation instead of `presence` for `MuteRule` 2023-10-15 10:16:21 +02:00
Andreas Nedbal d40519dffa Handle Rails validation errors in TurboStreamable concern 2023-10-15 10:16:21 +02:00
Andreas Nedbal 9e35c036b1 Rewrite WebPush enable handler to properly catch errors 2023-10-14 20:57:09 +02:00
Karina Kwiatek fa74a296c5
Merge pull request #1238 from Retrospring/fix/counter-jank 2023-10-02 14:07:57 +01:00
Karina Kwiatek d39f37072d Fix lint errors 2023-08-18 19:43:59 +02:00
Karina Kwiatek 620121341e Fix typo 2023-08-18 19:41:21 +02:00
Karina Kwiatek 54ac832c91 Ensure inbox caching timestamp gets updated when answering questions and returning to inbox 2023-08-16 21:57:31 +02:00
Karina Kwiatek cb89d42813 Put IDs directly on nav entries 2023-08-16 21:17:18 +02:00
Andreas Nedbal a18bf040b3 Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-08-07 22:34:46 +02:00
Andreas Nedbal 3d21beff39 Fix race condition in `CropperController` 2023-08-07 22:34:46 +02:00
Karina Kwiatek bcfb215f8c Ensure caching timestamp is updated when marking notifications as read 2023-06-16 18:20:21 +02:00
Karina Kwiatek 5a3f65e39a Ensure counters are up to date when rendering inbox/notifications views 2023-06-16 18:19:31 +02:00
Karina Kwiatek ece64669a1 Update caching timestamps in model events 2023-06-16 18:18:40 +02:00
Karina Kwiatek a6f526b9c4 Update inbox/notification counters when paginating 2023-06-16 18:07:53 +02:00
Karina Kwiatek ab81fc0c1b Use `present?` for badge check 2023-05-30 22:29:31 +02:00
Karina Kwiatek 5fc481f797 Set fallback for PWA badge count to 0 (removes badge) 2023-05-30 22:04:39 +02:00
Karina Kwiatek 1826da1e0a Allow navigation items to have their badge persist if they have a Stimulus controller
This fixes a bug which caused the PWA app badge to persist even though the user's inbox was empty.
2023-05-30 21:58:02 +02:00
Karina Kwiatek f1863e5309 Fix notification created_at not being set for comment notifications 2023-05-26 20:39:19 +02:00
Karina Kwiatek 6643a4763f Make `target` a keyword argument for `user_screen_name` helper
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-05-09 23:20:36 +02:00
Karina Kwiatek 4bf977e96c Fix lint errors for the remaining notification types 2023-05-09 23:03:26 +02:00
Karina Kwiatek 2c72252591 Use Unicode ellipsis 2023-05-09 22:58:14 +02:00
Karina Kwiatek 0d55ff16c3 Appease the dog overlords 2023-05-09 22:57:18 +02:00
Karina Kwiatek e096ddc999 Prevent links from notifications from being opened in the dropdown frame 2023-05-09 22:51:40 +02:00
Karina Kwiatek 63372cdeac Pass subscribed answer IDs on answer create 2023-05-08 21:45:31 +02:00
Karina Kwiatek a37a498fb9 Exclude pinned answers from pagination queries 2023-05-08 20:29:27 +02:00
Karina Kwiatek 2db4ce38c9 Add stub notification partial for content pending deletion 2023-05-08 19:06:40 +02:00
Karina Kwiatek 4cab189750 Fix notification cache timestamp not being touched after marking all as read 2023-05-08 18:55:35 +02:00
Karina Kwiatek eca53de004
Merge pull request #1200 from Retrospring/fix/touch-updated-at-after-mark-as-read
Touch updated at after marking inbox/notification entries as read
2023-05-07 20:56:47 +02:00
Karina Kwiatek 2aaba3e2d9 Touch `notifications_updated_at` after marking entries as read 2023-05-07 20:54:54 +02:00
Karina Kwiatek ed6bdfe8cb Touch `inbox_updated_at` after marking entries as read 2023-05-07 20:54:44 +02:00
Karina Kwiatek f15cb930ef Appease the robot dog 2023-05-07 20:35:00 +02:00
Karina Kwiatek bbbff68c7d Fix remaining missing subscribed answers in views 2023-05-07 20:31:32 +02:00
Karina Kwiatek 578dd9c6e6 Pass subscribed answer IDs down in Discover views 2023-05-07 17:27:34 +02:00
Karina Kwiatek 15405e41c5 Fix incorrect caching method used for notifications dropdown 2023-05-07 16:54:35 +02:00
Karina Kwiatek be66f7061d Fix 500 on Discover 2023-05-07 16:39:02 +02:00
Karina Kwiatek 4c6ad5f789 Fix 500 when not logged in 2023-05-07 15:10:31 +02:00
Karina Kwiatek 7dc25ba841 Appease the robot dog 2023-05-07 12:51:40 +02:00
Karina Kwiatek 50531d3b6b Cache notifications dropdown based on `notifications_updated_at` 2023-05-07 12:47:29 +02:00
Karina Kwiatek 7a9a7e0d47
Merge pull request #1130 from Retrospring/feature/mark-all-notifications-as-read
Mark all notifications as read
2023-05-07 10:07:11 +02:00
Karina Kwiatek 142a31f655 Set `subscribed_answer_ids` in answerbox when user is not set 2023-05-05 16:01:48 +02:00
Karina Kwiatek 4221f8cee9 Fix incorrect user being notified and mutes not being respected 2023-05-05 16:01:48 +02:00
Karina Kwiatek bbc0afe292 Move subscribed answer IDs to an ivar 2023-05-05 16:01:46 +02:00
Karina Kwiatek 9c4b2e452a Prevent error when no one is subscribed 2023-05-05 16:01:40 +02:00
Karina Kwiatek b93058b11d Fix remaining lint errors 2023-05-05 16:01:40 +02:00
Karina Kwiatek fb83f48adf Fix lint errors 2023-05-05 16:01:40 +02:00
Karina Kwiatek 36d59d100e Remove unused `destruct_by` method 2023-05-05 16:01:40 +02:00
Karina Kwiatek f73fc87991 Simplify `notify` and `denotify` methods 2023-05-05 16:01:40 +02:00
Karina Kwiatek 0132d7b251 Remove usages of `is_active` 2023-05-05 16:01:40 +02:00
Karina Kwiatek 0a97a86d73 Pass `subscribed_answer_ids` into `answerbox` in Turbo Stream 2023-05-05 16:01:40 +02:00
Karina Kwiatek 6fc4049f6c Pass answer list method into `paginate_answers` 2023-05-05 16:01:40 +02:00
Karina Kwiatek d77919ee01 Don't check for user sign in when fetching subscriptions in timeline 2023-05-05 16:01:40 +02:00
Karina Kwiatek 904eab8daa Remove now unused `is_subscribed` method 2023-05-05 16:01:40 +02:00
Karina Kwiatek 0771c689ea Clean up marking notifications as read when viewing an answer 2023-05-05 16:01:40 +02:00
Karina Kwiatek d7997db492 Check subscription in `answer/show` 2023-05-05 16:01:40 +02:00
Karina Kwiatek 7aed99d187 Appease the dog overlords 2023-05-05 16:01:38 +02:00
Karina Kwiatek 2604e6b240 Prefetch subscriptions 2023-05-05 16:01:21 +02:00
Karina Kwiatek 57ed3008d3 Fix "Content missing" on "Show all notifications" 2023-05-05 15:59:45 +02:00
Karina Kwiatek 80d8bebe57 Appease the dog overlords 2023-05-05 15:59:43 +02:00
Karina Kwiatek c9c458252b Add functionality for marking all notifications as read 2023-05-05 15:59:25 +02:00
Karina Kwiatek b801af9465
Merge pull request #1061 from Retrospring/feature/hotkey
Keyboard shortcuts
2023-04-29 16:26:55 +02:00
Karina Kwiatek 2afb10ab81 Move keyboard shortcuts menu entry out of canny if clause 2023-04-29 14:55:07 +02:00
Karina Kwiatek 55090a42f8
Merge pull request #1148 from Retrospring/moar-metrics
metrics: add counter for created/destroyed users
2023-04-29 09:54:53 +02:00
Karina Kwiatek 79e742ce1e Remove debug 2023-04-29 09:34:28 +02:00
Karina Kwiatek 655b822e54 Add Stimulus controller for handling hotkeys 2023-04-29 09:34:28 +02:00
Karina Kwiatek f7b9d90e28 Appease the dog overlords 2023-04-29 09:34:28 +02:00
Karina Kwiatek 9a7dedcafc Ensure bottom of page is visible while navigating 2023-04-29 09:34:28 +02:00
Karina Kwiatek 1aed44dd3d Apply hotkeys on user profiles 2023-04-29 09:34:28 +02:00
Karina Kwiatek e307204375 Navigate between traversable elements regardless of parent element 2023-04-29 09:34:28 +02:00
Karina Kwiatek 0eb9a4d089 Add hotkey for loading more entries 2023-04-29 09:34:28 +02:00
Karina Kwiatek b22fc0bd16 Apply hotkeys on question pages 2023-04-29 09:34:28 +02:00
Karina Kwiatek d684e8d782 Add shortcut for viewing answer page 2023-04-29 09:34:28 +02:00
Karina Kwiatek cc73f84152 Change smile hotkey to `s` 2023-04-29 09:34:28 +02:00
Karina Kwiatek 9572f844ec Add hotkey help window 2023-04-29 09:34:28 +02:00
Karina Kwiatek a39696dd3e Add shortcut for writing new comment 2023-04-29 09:34:26 +02:00
Karina Kwiatek 43d80fffcf Add shortcut for jumping to answers 2023-04-29 09:34:15 +02:00
Karina Kwiatek a64a4699b0 Add Stimulus controller for navigation shortcuts 2023-04-29 09:34:15 +02:00