Commit Graph

3022 Commits

Author SHA1 Message Date
Karina Kwiatek 062ca6e65a Ensure `hard_wrap` renderer option is respected 2023-02-15 23:51:59 +01:00
Karina Kwiatek e85aaadb63 Pass Markdown renderer options into renderer 2023-02-15 23:50:55 +01:00
Georg Gadinger 8a055341c8 add metrics for sidekiq 2023-02-14 05:31:54 +01:00
Georg Gadinger b937a10096 add some more metrics for answers and comments 2023-02-13 22:24:52 +01:00
Georg Gadinger 9fadeea3fe rubodog 2023-02-13 22:17:46 +01:00
Georg Gadinger bc6806aa89 initial metrics 2023-02-13 22:17:46 +01:00
Karina Kwiatek 520f7eb9ef Show toasts on pin/unpin 2023-02-12 20:29:36 +01:00
Karina Kwiatek 6724aef105 Order pinned answers by when they were pinned 2023-02-12 20:19:50 +01:00
Karina Kwiatek 854cf2662e Specify username param for pin/unpin path 2023-02-12 20:19:50 +01:00
Karina Kwiatek 736ca4d6b0 Use a policy for pinning/unpinning 2023-02-12 20:19:50 +01:00
Karina Kwiatek 2d6ff76461 Appease the dog overlords 2023-02-12 20:19:50 +01:00
Karina Kwiatek 2ee25d264f Simplify pinned check in answerbox
This is hidden by CSS in the prior case anyway
2023-02-12 20:19:50 +01:00
Karina Kwiatek fa68ab27d7 Limit to 10 pinned answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek de73532bef Show indicator for pinned answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek 6cbce2c157 Require authentication on unpin endpoint 2023-02-12 20:19:50 +01:00
Karina Kwiatek 410d9b5d8e Implement unpinning answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek b196909b79 Create frontend endpoint for pinning answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek 5b1340b793 Appease the dog overlords 2023-02-12 20:19:50 +01:00
Karina Kwiatek 3451ae1fb0 Display pinned answers on profiles 2023-02-12 20:19:50 +01:00
Karina Kwiatek c2baa86c09 Add `pinned_at` to answers 2023-02-12 20:19:50 +01:00
Andreas Nedbal ed20ad9237 Fix class check for parameter errors 2023-02-12 20:16:36 +01:00
Andreas Nedbal 5a192a3598 Turn `turbo_stream_actions` into a class method
Co-Authored-By: Georg Gadinger <nilsding@nilsding.org>
2023-02-12 20:16:36 +01:00
Andreas Nedbal c3fa2701ba Appease the dog overlords 2023-02-12 20:16:36 +01:00
Andreas Nedbal c880fade4e Add TurboStreamable concern to Settings::MutesController 2023-02-12 20:16:36 +01:00
Andreas Nedbal f2024a990e Add TurboStreamable concern to AnonymousBlock controller 2023-02-12 20:16:36 +01:00
Andreas Nedbal 5cb96a7907 Fix anonymous blocks causing exceptions without inboxes 2023-02-12 20:16:36 +01:00
Andreas Nedbal 4c0948c6d1 Add Stimulus toast controller 2023-02-12 20:16:36 +01:00
Andreas Nedbal b38a048e92 Added TurboStreamable concern 2023-02-12 20:16:36 +01:00
Georg Gadinger e1aee89be0 remove expired service connection notifications 2023-02-12 19:26:31 +01:00
Georg Gadinger 065d35c288 well_known/node_info: remove twitter as outbound service 2023-02-12 19:04:01 +01:00
Andreas Nedbal 484badb555 Remove services reference from inbox Turbo Stream view 2023-02-12 18:44:33 +01:00
Karina Kwiatek 0c3e54de6b Use icons with tooltips instead 2023-02-12 18:21:14 +01:00
Karina Kwiatek dd3f86988a Localise strings for question visibility 2023-02-12 18:21:14 +01:00
Karina Kwiatek 615c60d420 Highlight direct questions in own question lists 2023-02-12 18:21:14 +01:00
Georg Gadinger 606629577a make URI.parse part of the validation for the sharing URL
the regexp alone and web browsers allows URLs to contain non-ASCII
characters, which `URI.parse` does not like -- resulting in the inbox
page to suddenly break.

also changed the `redirect_to` in the controller to a `render :edit` so
that validation errors are shown properly
2023-02-10 20:48:15 +01:00
Karina Kwiatek 59c0dce9b4 Disable relationship action buttons while waiting for a response 2023-02-07 23:39:13 +01:00
Georg Gadinger 9a77b89cda use remote_ip 2: electric boogaloo 2023-02-07 07:38:59 +01:00
Andreas Nedbal b0f5294243 Appease the dog overlords 2023-02-05 21:54:51 +01:00
Andreas Nedbal 2cb98fc2e0 Hide the custom share button if the URL is blank 2023-02-05 21:54:51 +01:00
Andreas Nedbal 024127e62f Remove connected user transformation from TwitteredMarkdown 2023-02-05 21:54:51 +01:00
Andreas Nedbal 490a06af27 Allow `sharing_custom_url` to be empty 2023-02-05 21:54:51 +01:00
Andreas Nedbal 47d1f5ccff Validate format of `sharing_custom_url` 2023-02-05 21:54:51 +01:00
Andreas Nedbal 8f0ae5171d Appease the dog overlords 2023-02-05 21:54:51 +01:00
Andreas Nedbal 83aa4ed1bc Implement new sharing layout 2023-02-05 21:54:51 +01:00
Andreas Nedbal a4195a158f Update TypeScript to support new sharing feature 2023-02-05 21:54:51 +01:00
Andreas Nedbal 7589d66686 Remove service reference in question generation 2023-02-05 21:54:51 +01:00
Andreas Nedbal da0a5fb98d Add inbox sharing Stimulus controller 2023-02-05 21:54:51 +01:00
Andreas Nedbal a56db2256b Return sharing options when answering a question 2023-02-05 21:54:51 +01:00
Andreas Nedbal 926be13fa6 Add `Settings::SharingController` 2023-02-05 21:54:51 +01:00
Andreas Nedbal 83d386267a Remove inbox entry options collapse 2023-02-05 21:54:51 +01:00
Andreas Nedbal 52ae7fbb81 Remove service-related views 2023-02-05 21:54:51 +01:00
Andreas Nedbal 06d7db7ff8 Remove ShareWorker 2023-02-05 21:54:51 +01:00
Andreas Nedbal d520755bc2 Remove service model 2023-02-05 21:54:51 +01:00
Andreas Nedbal c327eee38e Remove services controller 2023-02-05 21:54:51 +01:00
Andreas Nedbal a2e45c85bf Add migration to enable sharing for legacy service owners 2023-02-05 21:54:51 +01:00
Georg Gadinger f1a545aea5 use remote_ip 2023-02-04 22:31:53 +01:00
Karina Kwiatek c40a1a4997
Merge pull request #1040 from Retrospring/fix/n+1-notification-type-counters
Prevent 𝑛+1 for notification type counters
2023-02-02 12:09:06 +01:00
Karina Kwiatek 05a90987cd
Merge pull request #1037 from Retrospring/fix/pre-load-mutes
Pre-load own mute relationships in follow lists
2023-02-02 12:07:58 +01:00
Karina Kwiatek 40f7f8f525 Eager load notification targets 2023-02-02 11:03:27 +01:00
Karina Kwiatek 80e312eb3b Appease the dog overlords 2023-02-02 10:38:41 +01:00
Karina Kwiatek 81a6c6ac55 Prevent 𝑛+1 for notification type counters 2023-02-02 00:55:31 +01:00
Andreas Nedbal 7d91c0349a Eagerly load services in action to prevent n+1 query 2023-02-02 00:44:42 +01:00
Karina Kwiatek 825454bbae Fix incorrect type local in followers endpoint 2023-02-01 23:34:33 +01:00
Karina Kwiatek 603e9c501e Pre-load own mute relationships in follow lists 2023-02-01 23:21:09 +01:00
Karina Kwiatek d08198668b Pass user services for question generate turbo frame 2023-01-31 23:10:51 +01:00
Karina Kwiatek 279ed82d6a
Merge pull request #1029 from Retrospring/fix/relationship-list-n+1
Prevent 𝑛+1 on follower/following lists
2023-01-31 22:15:32 +01:00
Karina Kwiatek 226cd10fbc Appease the dog overlords 2023-01-31 14:01:21 +01:00
Karina Kwiatek 8520dbc4b9 De-duplicate relationship pagination logic 2023-01-31 13:59:05 +01:00
Karina Kwiatek 83eeabb525 Use locals for own relationships 2023-01-31 13:46:09 +01:00
Karina Kwiatek 2517b1330a
Merge pull request #1017 from Retrospring/feature/raised-texts
Add new raised text and raised accent text theme fields
2023-01-31 12:57:15 +01:00
Karina Kwiatek 51e15ef195 Appease the dog overlords 2023-01-31 12:30:58 +01:00
Karina Kwiatek 1b6eafd2d1 Prevent 𝑛+1 on follower/following lists 2023-01-31 12:25:55 +01:00
Andreas Nedbal 87aac34f16 Move raised content theming section below general 2023-01-31 08:28:08 +01:00
Georg Gadinger 8b7ba59660 typoed_email_validator: add new endings to the typo list 2023-01-30 06:01:01 +01:00
Karina Kwiatek 4dc5a65f74
Merge pull request #1014 from Retrospring/fix/inbox-services-query
Move fetching of services to controller to avoid n+1 queries
2023-01-29 23:07:46 +01:00
Andreas Nedbal 63b16fd39a Appease the dog overlords 2023-01-29 21:13:38 +01:00
Andreas Nedbal 61a31f97b0 Move theme attributes into their own method 2023-01-29 21:12:33 +01:00
Andreas Nedbal 520d77bb44 Let relevant style overrides use the new raised text colors 2023-01-29 20:44:40 +01:00
Andreas Nedbal ab6e8270df Allow new fields in ThemeController 2023-01-29 20:44:09 +01:00
Andreas Nedbal 6b3342036f Merge branch 'main' into feature/raised-texts 2023-01-29 19:38:32 +01:00
Georg Gadinger a59bc3ef92 typoed_email_validator: add new endings to the typo list 2023-01-29 19:19:35 +01:00
Karina Kwiatek 7c1057acb3
Merge pull request #1012 from Retrospring/bugfix/author-deletes
Fix author-searched deletion in inbox not working
2023-01-29 09:01:24 +01:00
Karina Kwiatek 96659befea
Appease the dog overlords
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-01-29 00:46:52 +01:00
Karina Kwiatek 19dfc70e2d
Merge pull request #1011 from Retrospring/refactor/cleanup-user-controller
Cleanup user controller
2023-01-28 22:53:48 +01:00
Karina Kwiatek 87894d1e95 Move empty filter check back into show action 2023-01-28 22:42:14 +01:00
Karina Kwiatek 367e2f4b92 Use a local instead of an ivar for passing services into views 2023-01-28 22:24:05 +01:00
Karina Kwiatek 3e2b65d7b8 Move fetching of services to controller to avoid n+1 queries 2023-01-28 21:42:55 +01:00
Karina Kwiatek ab1b034cfb Add type hints for paginators 2023-01-28 21:18:01 +01:00
Karina Kwiatek 32ba17ac72 Eager load profiles in paginators 2023-01-28 21:18:00 +01:00
Andreas Nedbal 6c25594b88 Get the username of the currently searched author correctly 2023-01-28 19:18:02 +01:00
Andreas Nedbal 8dd49d3a8c Remove author search handler 2023-01-28 19:17:04 +01:00
Karina Kwiatek ff866f88ef Appease the dog overlords 2023-01-28 19:09:03 +01:00
Karina Kwiatek e9c397a013 Replace `@title` and `@type` ivars 2023-01-28 19:08:28 +01:00
Karina Kwiatek 6e3bc40c57 Move marking follow notifications as read to an after action 2023-01-28 18:48:14 +01:00
Karina Kwiatek 1c74061c1b
Merge pull request #1004 from Retrospring/cache-headers-on-manifest
Cache headers for web app manifest based on user theme
2023-01-28 11:13:08 +01:00
Karina Kwiatek 999f599029
Merge pull request #1005 from Retrospring/skip-announcements-in-ajax 2023-01-27 23:53:20 +01:00
Karina Kwiatek a34a30349e Use `skip_before_action` instead of redefining action in `AjaxController` 2023-01-27 23:16:41 +01:00
Karina Kwiatek b8b86b069d Cache headers for web app manifest based on user theme 2023-01-27 23:09:09 +01:00
Georg Gadinger 3e3501d201 inbox: update inbox entries in controller 2023-01-27 20:36:22 +01:00
Karina Kwiatek 2ecfe38e5e
Merge pull request #984 from Retrospring/feature/stimulus-cropper
Refactor image cropping into Stimulus controller
2023-01-27 17:22:58 +01:00
Georg Gadinger 8cd0d481c8 bruh 2023-01-24 15:57:34 +01:00
Georg Gadinger 58705fffba mark notifications as "read" in the controller and when you see them
this makes it behave a bit more like the inbox
2023-01-24 15:54:41 +01:00
Andreas Nedbal a0a7f4e124 Add raised-text and raised-accent-text theme variables 2023-01-23 23:36:38 +01:00
Georg Gadinger b99e1b03de notifications: only update all new notifications 2023-01-23 12:25:48 +01:00
Karina Kwiatek 6b771887ab Fix unprivileged comment actions being visible
- Fixes an error when viewing answers containing comments while not logged in
- Hides the report option while not logged in
2023-01-23 09:04:55 +01:00
Andreas Nedbal fe156a38d3 Appease the dog overlords 2023-01-22 17:58:23 +01:00
Andreas Nedbal f0df18ce87 Remove unused IDs on profile crop elements 2023-01-22 17:48:53 +01:00
Andreas Nedbal 6a361e69db Wire up cropper controller in profile settings 2023-01-22 17:44:08 +01:00
Andreas Nedbal 96ed2c864c Add Stimulus cropper controller 2023-01-22 17:43:40 +01:00
Andreas Nedbal 3b1f9bf4cb Remove legacy cropping feature 2023-01-22 17:43:20 +01:00
Karina Kwiatek 529bf40dbe
Merge pull request #979 from Retrospring/fix/pwa-issues
Fix various PWA issues
2023-01-22 12:47:12 +01:00
Andreas Nedbal e18b9518aa Properly align the hashes 2023-01-22 11:14:24 +01:00
Andreas Nedbal c7cc0da04b Appease the dog overlords 2023-01-22 10:57:05 +01:00
Andreas Nedbal c122652275 Increase allowed comment length to 512 characters 2023-01-22 10:36:23 +01:00
Georg Gadinger eb7abb33be user: only provide #questions as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger 14f32aa3c0 question: only provide #show as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger b019f24aaa user: only provide #followers and #followings as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger 989873ba62 user: only provide #show as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger d572734b96 notifications: only provide #index as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger 77529c2217 moderation/reports: only provide #index as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger 144db471d6 moderation/inbox: only provide #index as GET 2023-01-22 00:04:33 +01:00
Georg Gadinger 59d94d7ba0 timeline: only provide #index, #public and #list as GET 2023-01-22 00:04:33 +01:00
Karina Kwiatek 9e25a36196 Fix 'Buffer is not defined' on push enable 2023-01-22 00:04:10 +01:00
Karina Kwiatek e16f460b53 Add option to view comments in rails admin 2023-01-22 00:03:53 +01:00
Karina Kwiatek 95984cfdab Correct app description in web app manifest 2023-01-21 18:26:08 +01:00
Karina Kwiatek d2076c35b5 Remove `?source=pwa`
We can use `@media (display-mode: standalone)` to detect this instead
2023-01-21 18:23:40 +01:00
Karina Kwiatek 3f41d339de Add icons at 144x144
For some reason Chromium requires an icon at this size, however the error in Lighthouse states that the size must be *at least* 144x144 but in fact must be exactly this size.
2023-01-21 18:18:14 +01:00
Karina Kwiatek b9269f0693 Add maskable icons 2023-01-21 18:16:24 +01:00
Karina Kwiatek 73082975c4 Fix web app icon sizes property name 2023-01-21 18:15:18 +01:00
Georg Gadinger 9d7c99fe9b
Merge pull request #974 from Retrospring/refactor/inbox
refactor inbox
2023-01-21 13:59:39 +01:00
Andreas Nedbal df3d4d71bb Appease the dog overlords 2023-01-21 13:44:53 +01:00
Andreas Nedbal de3e04812d Merge branch 'main' into feature/theme-stimulus 2023-01-21 13:40:58 +01:00
Andreas Nedbal fc30bf8cac Add more explicit message for format validation errors 2023-01-21 13:20:52 +01:00
Andreas Nedbal 47bccdb0c3 Fix screen_name regex being too lenient 2023-01-21 13:20:52 +01:00
Andreas Nedbal b72e679a62 Split format and length validation for User `screen_name` 2023-01-21 13:20:52 +01:00
Andreas Nedbal 18f428eddf Remove dropup notification menu from mobile 2023-01-21 12:53:49 +01:00
Karina Kwiatek 27318f302c Rename current icons to icon_ 2023-01-21 12:30:52 +01:00
Andreas Nedbal e7842fab86 Add missing form-label class to example input 2023-01-21 09:42:23 +01:00
Andreas Nedbal 07ea833d13 Add Stimulus capabilities controller 2023-01-21 04:53:20 +01:00
Andreas Nedbal e81e85cf9a Remove capabilities feature 2023-01-21 04:53:20 +01:00
Andreas Nedbal d4c2ca5e5e Don't set the collapse controller for entries that aren't long 2023-01-21 04:43:48 +01:00
Andreas Nedbal eae99cd9a5 Add collapse to profile questions 2023-01-21 04:43:48 +01:00
Georg Gadinger be55dee7db inbox: remove haml lints 2023-01-19 16:25:56 +01:00
Georg Gadinger c4724b8c62 inbox: refactor a bit further so the cyber dog shuts up 2023-01-19 16:21:21 +01:00
Georg Gadinger e5d8506a13 inbox: redirect away if there's no questions filtered by author 2023-01-19 11:57:56 +01:00
Georg Gadinger 30dec68e1b inbox: refactor show method, fix #959 2023-01-19 11:57:56 +01:00
Georg Gadinger 31ed9ba738 inbox: use underscored symbols instead of kebab strings 2023-01-19 11:57:55 +01:00
Georg Gadinger 2f82e3be31 inbox: only provide #show as GET 2023-01-19 11:57:55 +01:00
Andreas Nedbal 5f46c84850 remove console.log 2023-01-18 20:52:28 +01:00
Andreas Nedbal f5c4ed6954 Wire up theme controller and actions in view 2023-01-17 07:39:31 +01:00
Andreas Nedbal 5f529b2b26 Add Stimulus theme controller 2023-01-17 07:39:14 +01:00
Andreas Nedbal ab8d608458 Extract theme-related utilities 2023-01-17 07:38:32 +01:00
Andreas Nedbal 79fa204897 Remove theming handler features 2023-01-17 07:38:02 +01:00
Karina Kwiatek 596c1c5240 Remove underline on smiles list 2023-01-15 12:40:48 +01:00
Andreas Nedbal 61d77bf20e Fix announcements not closing when button is pressed 2023-01-13 19:00:23 +01:00
Andreas Nedbal 87630c87a6 Fix layout of announcements after Bootstrap 5 update 2023-01-13 19:00:23 +01:00
Karina Kwiatek 3dbbed3ef2 Shorten question text in notifications to short question length 2023-01-13 17:30:37 +01:00
Andreas Nedbal 8b4909ab80 use height limiting instead of legacy line-clamp 2023-01-13 15:58:07 +01:00
Andreas Nedbal 0d41da54b8 Fix layout for inbox entries as well 2023-01-12 23:21:08 +01:00
Andreas Nedbal f0b9a00923 Fix alignment of collapsibles in question headers
Co-Authored-By: Georg Gadinger <nilsding@nilsding.org>
2023-01-12 23:17:09 +01:00
Andreas Nedbal a2139213c7 Hide collapse from screenreaders
Co-Authored-By: Georg Gadinger <nilsding@nilsding.org>
2023-01-12 21:03:44 +01:00
Andreas Nedbal a8fb9fd701 Refactor render_theme method
Co-Authored-By: Georg Gadinger <nilsding@nilsding.org>
2023-01-12 21:03:44 +01:00
Andreas Nedbal e85f9d6867 Re-add support for detail page `display_all` condition 2023-01-12 21:03:44 +01:00
Andreas Nedbal 07a13d39da Add support for theme helper mapping specifying multiple target values 2023-01-12 21:03:44 +01:00
Andreas Nedbal 430cfa1a38 Add RGB variables for some theme colors 2023-01-12 21:03:44 +01:00
Andreas Nedbal a3b902b747 Add collapse to answerboxes and questions 2023-01-12 21:03:44 +01:00
Andreas Nedbal 46830f50cd Add Stimulus controller for collapse functionality 2023-01-12 21:03:44 +01:00
Andreas Nedbal 3258ea4f0b Implement shared collapse partial 2023-01-12 21:03:44 +01:00
Andreas Nedbal e8657891a9 Add wrapper -body classes to answerbox sections 2023-01-12 21:03:44 +01:00
Andreas Nedbal b66c2b1f36 add `long?` method and constant to Answer model 2023-01-12 21:03:44 +01:00
Karina Kwiatek c919b4913f
Merge branch 'main' into feature/long-questions 2023-01-11 22:24:58 +01:00
Andreas Nedbal c93255338e Add dev indicator to guest navbar 2023-01-11 22:24:16 +01:00
Andreas Nedbal 9150d09960 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-01-11 22:24:16 +01:00
Andreas Nedbal 710192e8fa Add "DEV" badge to navigation brand 2023-01-11 22:24:16 +01:00
Andreas Nedbal 8e915e1c0a Add dev env indicator to navigation 2023-01-11 22:24:16 +01:00
Andreas Nedbal 7970838659 Remove superfluous focus styling 2023-01-10 20:54:13 +01:00
Andreas Nedbal 6fa26340ef Add bigger shadow to popover 2023-01-10 20:53:55 +01:00
Andreas Nedbal 53bc270e08
Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-01-10 20:49:37 +01:00
Andreas Nedbal 122935e723 only show formatting help on focus/hover in inbox entries 2023-01-10 16:05:50 +01:00
Andreas Nedbal cb7f9179e3 Add format help to inbox entries 2023-01-10 15:51:43 +01:00
Andreas Nedbal 30933e6ca1 Add Stimulus controller to launch format popup 2023-01-10 15:49:52 +01:00
Andreas Nedbal eccb51eab0 Add formatting help markup/translations 2023-01-10 15:48:56 +01:00
Karina Kwiatek 4e78efcae7 Add tests for sending long questions with question worker 2023-01-08 19:22:00 +01:00
Karina Kwiatek cfba963b55 Only reset character counters when they are present
Co-authored-by: Andreas Nedbal <git@pixelde.su>
2023-01-08 18:51:43 +01:00
Karina Kwiatek 7cdb0e4976 Respect long question setting in frontend 2023-01-08 17:12:46 +01:00
Karina Kwiatek 3a6814b908 Respect allow long questions setting 2023-01-08 14:03:54 +01:00
Karina Kwiatek ba7b19faee Add allow long questions option to profile settings 2023-01-08 13:14:21 +01:00
Karina Kwiatek 122be928bf
Merge pull request #934 from Retrospring/more-obvious-sharing-options
Make sharing options more obvious
2023-01-08 11:24:50 +00:00
Andreas Nedbal f6d7d6ae2d Fix initializers 2023-01-08 12:19:45 +01:00
Andreas Nedbal ce067a2d57 Move entrypoint to app/javascript/ 2023-01-08 12:19:45 +01:00
Andreas Nedbal 20e01d3a3f Install and setup jsbundling-rails with esbuild 2023-01-08 12:19:45 +01:00
Karina Kwiatek b65242d81e
Merge pull request #930 from Retrospring/fix/push-enable-when-subbed
Prevent push enable prompt (inbox) when already subscribed
2023-01-08 11:14:33 +00:00
Karina Kwiatek 4ac3483f1a Make sharing options more obvious 2023-01-06 17:38:27 +01:00
Georg Gadinger 04f1793058
Merge pull request #932 from Retrospring/om@nom.nom
typoed_email_validator: add new endings to the typo list
2023-01-06 14:55:25 +00:00
Georg Gadinger b6121b16f0
Merge pull request #929 from Retrospring/locale-gen
re-enable locale switching, add rake task to generate testing locales
2023-01-06 12:47:49 +00:00
Georg Gadinger 5b8e34aa1d add integration specs for changing locales 2023-01-06 13:37:22 +01:00
Georg Gadinger b81bbc2483 typoed_email_validator: add new endings to the typo list 2023-01-06 10:26:32 +01:00
Georg Gadinger ebcf9d7676 obey the dog 2023-01-06 10:04:31 +01:00
Karina Kwiatek 4457f2ed26 Prevent push enable prompt (inbox) when already subscribed 2023-01-05 23:20:36 +01:00
Georg Gadinger 8323f39ecd re-add locale switching logic
based on https://guides.rubyonrails.org/i18n.html\#managing-the-locale-across-requests
2023-01-05 15:20:33 +01:00
Karina Kwiatek 5db058cb73 Fix nav badge pills not being marked as HTML safe 2023-01-05 14:32:04 +01:00
Andreas Nedbal 01ab84aa31 Improve layout of inbox push info card 2023-01-05 12:32:50 +01:00
Karina Kwiatek 3180e10449
Merge pull request #924 from Retrospring/fix/webpush-multiple-init
Prevent WebPush init from attaching events multiple times
2023-01-05 11:32:43 +00:00
Karina Kwiatek 01f4ed499d Ensure enable button doesn't unexpectedly disappear
Co-authored-by: Andreas Nedbal <git@pixelde.su>
2023-01-05 11:53:19 +01:00
Karina Kwiatek 7673ecdadf Add missing return to subscription check 2023-01-05 11:22:43 +01:00
Karina Kwiatek 8a754de85c Rename subscriptionCheck.ts to settingsButtons.ts 2023-01-05 11:22:27 +01:00
Karina Kwiatek d288f6d6a3 Move subscription check logic into separate initializer 2023-01-05 11:08:13 +01:00
Andreas Nedbal cb740b64a9 remove duplicate stylesheet folder 2023-01-05 10:55:18 +01:00
Karina Kwiatek e93531a4af Prevent WebPush init from attaching events multiple times 2023-01-05 10:53:04 +01:00
Georg Gadinger b728c494d7 remove flag leftovers 2023-01-05 10:37:44 +01:00
Andreas Nedbal 84fcfb41a3 Fix Sass deprecation warnings 2023-01-05 10:35:52 +01:00
Andreas Nedbal dd830bd22b Fix order of icons and text on frontpage 2023-01-05 10:35:52 +01:00
Andreas Nedbal 0e47e06db1 Add bottom margin to mute rule inputs 2023-01-05 10:35:52 +01:00
Andreas Nedbal 61a9e39a3e Fix dropdowns in mobile navigation 2023-01-05 10:35:52 +01:00
Andreas Nedbal b7c7838b96 Make code HTML elements monospace again 2023-01-05 10:35:52 +01:00
Andreas Nedbal 5c583acf05 Give `bootstrap_color` a proper argument 2023-01-05 10:35:52 +01:00
Andreas Nedbal 58717c0e7f Fix ESLint nits 2023-01-05 10:35:52 +01:00
Andreas Nedbal c9b39ad1e5 Appease the dog overlords 2023-01-05 10:35:52 +01:00
Andreas Nedbal 0e97c7c80a Fix badge colors in various places 2023-01-05 10:35:52 +01:00
Andreas Nedbal da7e30f459 Remove link underlines in some places 2023-01-05 10:35:52 +01:00
Andreas Nedbal af01ab2950 Fix profile settings layout 2023-01-05 10:35:52 +01:00
Andreas Nedbal cea1190ab9 Remove and replace usage of media classes 2023-01-05 10:35:52 +01:00
Andreas Nedbal 68dd6da1f2 Remove and adjust jumbotron usage 2023-01-05 10:35:52 +01:00
Andreas Nedbal 5ce9972a3e Fix usages of btn-block class 2023-01-05 10:35:52 +01:00
Andreas Nedbal 49a972bfd3 Remove jQuery call to close question modal 2023-01-05 10:35:52 +01:00
Andreas Nedbal 2efaae6987 Fix modal/alert dismiss toggles 2023-01-05 10:35:52 +01:00
Andreas Nedbal c878862730 Remove `xxl` container width 2023-01-05 10:35:52 +01:00
Andreas Nedbal 99085f1836 Fix sizing of inline inbox action form 2023-01-05 10:35:52 +01:00
Andreas Nedbal 23c01a97be Fix text alignment classes 2023-01-05 10:35:52 +01:00
Andreas Nedbal 6643c65e23 Remove superfluous close icon 2023-01-05 10:35:52 +01:00
Andreas Nedbal 572a9ab076 Fix positioning of dropdown menus 2023-01-05 10:35:52 +01:00
Andreas Nedbal 09954c15d2 Fix data attributes for functionality in Bootstrap 5 2023-01-05 10:35:52 +01:00
Andreas Nedbal 4d417f15c5 Fix event registration for modal autofocus 2023-01-05 10:35:52 +01:00
Andreas Nedbal a00936f17e Initialize Bootstrap in TypeScript 2023-01-05 10:35:52 +01:00
Andreas Nedbal 5612f8d2bd Fix close buttons for Bootstrap 5 2023-01-05 10:35:52 +01:00
Andreas Nedbal 7450143311 Remove legacy entrypoint and packages 2023-01-05 10:35:52 +01:00
Andreas Nedbal ec5dda9f66 Fix screen reader classes for Bootstrap 5 2023-01-05 10:35:52 +01:00
Andreas Nedbal 34dbaad28e Fix font-weight classes for Bootstrap 5 2023-01-05 10:35:52 +01:00
Andreas Nedbal 5bbb798102 Fix spacing classes for Bootstrap 5 2023-01-05 10:35:52 +01:00
Andreas Nedbal 97f522e0b3 Remove Bootstrap CSS variable prefix 2023-01-05 10:35:52 +01:00
Andreas Nedbal 1ac4123e2d Replace `map-get` with `map.get` 2023-01-05 10:35:52 +01:00
Andreas Nedbal eaaed57759 Fix initial variable overrides for Bootstrap 2023-01-05 10:35:52 +01:00
Andreas Nedbal c463055cc8 Add new required Bootstrap partials 2023-01-05 10:35:52 +01:00
Karina Kwiatek 39ec2836f6
Merge pull request #918 from Retrospring/feature/nodeinfo
Implement NodeInfo
2023-01-04 17:55:05 +00:00
Karina Kwiatek b35108e9d0 Implement NodeInfo
Closes #902
2023-01-04 17:08:05 +01:00
Karina Kwiatek ea4e9e2205 Don't require an endpoint for unsubscribe
This was added by mistake earlier. Unsubscribing without an `endpoint` parameter is supposed to remove all subscriptions.
2023-01-04 16:38:48 +01:00
Karina Kwiatek 3105cb74b4 Make `endpoint` and `subscription` parameters required on web push endpoints 2023-01-04 16:34:38 +01:00
Karina Kwiatek 9fd3940b7d Don't check push subscription when not logged in 2023-01-04 16:34:38 +01:00
Georg Gadinger ea94e83e11 views/settings: change text of save profile pic button to something less generic 2023-01-04 15:39:27 +01:00
Karina Kwiatek b57b11be9d Change ID of 2FA form
This caused an error in settings/password.ts as the form had the same ID as the account settings form
2023-01-04 12:34:19 +01:00
Karina Kwiatek 3033ad4400 Fix error in checkSubscription and improve logging 2023-01-03 18:12:13 +01:00
Andreas Nedbal 6e5e483346 add fullwidth class to user action icons 2023-01-03 17:21:09 +01:00
Andreas Nedbal 05494e8822 change fa-mask icon back to fa-user-secret 2023-01-03 17:21:09 +01:00
Andreas Nedbal a7269bb202 Replace some icons with better choices from FA6 2023-01-03 17:21:09 +01:00
Andreas Nedbal 22491b19a6 Bring back pull-* utilities 2023-01-03 17:21:09 +01:00
Andreas Nedbal 077958bc5c Install Font Awesome 6 2023-01-03 17:21:09 +01:00
Karina Kwiatek 7fa548b613 Remove use of @rails/ujs in report dialog handler 2023-01-03 15:09:23 +01:00
Andreas Nedbal 2bb4f5355c Fix asset root paths 2023-01-03 14:14:23 +01:00
Andreas Nedbal 8d970ce47b Fix Lexend font path 2023-01-03 14:14:23 +01:00
Andreas Nedbal 8896445704 Add notice about asset linking to manifest 2023-01-03 14:14:23 +01:00
Andreas Nedbal 8c9dc92afb Move stylesheets back to `app/assets/stylesheets` 2023-01-03 14:14:23 +01:00
Andreas Nedbal cf4246d827 Configure Sprockets asset manifest 2023-01-03 14:14:23 +01:00
Andreas Nedbal dae4a47824 `stylesheet_pack_tag` -> `stylesheet_link_tag` 2023-01-03 14:14:23 +01:00
Andreas Nedbal e658925013 Add keepfile to builds directory 2023-01-03 14:14:23 +01:00
Andreas Nedbal 538756c6aa Remove style require in TypeScript 2023-01-03 14:14:23 +01:00
Andreas Nedbal 412be4123c Remove legacy RailsAdmin entrypoints 2023-01-03 14:14:23 +01:00
Karina Kwiatek 5d6f9deb93 Handle missing services in share worker 2023-01-03 12:38:19 +01:00
Karina Kwiatek 35a3b6b87a Hide push notification prompt in inbox after accepting 2023-01-02 13:51:02 +01:00
Karina Kwiatek 05a8ef1797 Allow re-enabling push notifications after unsubscribing 2023-01-02 13:51:02 +01:00
Karina Kwiatek 1a29a19e9d Allow setting up push when service worker hasn't been registered yet.
We don't register the service worker until the user opts in for push notifications.
2023-01-02 13:51:02 +01:00
Karina Kwiatek cc1c262256
Merge pull request #678 from Retrospring/feature/webpush
WebPush support
2023-01-02 11:57:34 +00:00
Karina Kwiatek 04bc1da8cf Use Mute Rule use cases in mutes controller 2023-01-02 12:45:35 +01:00
Karina Kwiatek c20974d182 Appease the dog overlords
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 12:30:19 +01:00
Karina Kwiatek 48c7beb54e Only allow checking of own subscriptions 2023-01-02 11:52:02 +01:00
Karina Kwiatek 2417354b31 Unsubscribe client on too many failures 2023-01-02 11:52:02 +01:00
Karina Kwiatek efad76855e Add endpoint for checking subscription status 2023-01-02 11:52:02 +01:00
Karina Kwiatek e0195654b5 Send notification on 3 push failures 2023-01-02 11:52:00 +01:00
Karina Kwiatek fccf35fdab Restore push notification prompt in inbox 2023-01-02 11:51:46 +01:00
Karina Kwiatek 1cfd3250c0 Track failures on Web Push subscriptions 2023-01-02 11:51:46 +01:00
Karina Kwiatek 22a84ab818 Appease the dog overlords 2023-01-02 11:51:45 +01:00
Karina Kwiatek 2d6f539dfd Use author avatar on notification 2023-01-02 11:50:48 +01:00
Karina Kwiatek a67c26d985 Fix missing anon names from notification text 2023-01-02 11:50:48 +01:00
Karina Kwiatek 91d3db4034 Move rpush init/exit logic into Sidekiq initializer
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 11:50:48 +01:00
Karina Kwiatek 10c224b2fe Address review comments from @nilsding
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 11:50:48 +01:00
Karina Kwiatek 89008364d9 Handle push notifications in Sidekiq job 2023-01-02 11:50:48 +01:00
Karina Kwiatek 185c454da0 Fix incorrect author relationship name 2023-01-02 11:50:48 +01:00
Karina Kwiatek d9514a306a Make push notification settings reinit on navigation 2023-01-02 11:50:48 +01:00
Karina Kwiatek 3eafa5e335 Add tests for subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek 8c2bfcb452 Use JSON for notification payload 2023-01-02 11:50:48 +01:00
Karina Kwiatek dc80c1dba3 Fix push notification settings not appearing when not subscribed 2023-01-02 11:50:48 +01:00
Karina Kwiatek 66b1dac3b9 Improve UX for push subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek 8ff213af4e Add the ability to unsubscribe from push notifications 2023-01-02 11:50:48 +01:00
Karina Kwiatek 752cf1506b Add settings page for push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek c8f5511a38 Fix capability classes being removed on page navigation
The body tag gets replaced by Turbo on page navigation, removing the classes.
2023-01-02 11:50:47 +01:00
Karina Kwiatek a04b290067 Appease the dog overlords 2023-01-02 11:50:47 +01:00
Karina Kwiatek 93d4af3f0d Deduplicate notification sending logic and replace placeholder string 2023-01-02 11:50:47 +01:00
Karina Kwiatek 2da4767623 Add JS for subscribing to and receiving push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek 8b98c278da Send push notifications on question create 2023-01-02 11:50:47 +01:00
Karina Kwiatek bae227be76 Add endpoints for getting webpush public key and subscribing 2023-01-02 11:50:47 +01:00
Karina Kwiatek 32ab9267ec Add web push subscription model 2023-01-02 11:50:47 +01:00
Karina Kwiatek 4c158066cb Clean up User model 2023-01-02 11:31:27 +01:00
Karina Kwiatek 81c9870af4 Ignore Metrics/AbcSize in share worker 2023-01-02 09:46:55 +01:00
Karina Kwiatek 873d6a2c88 Fix typo in share worker 2023-01-02 09:46:55 +01:00
Karina Kwiatek 0241a02e29 Remove unnecessary `Object.const_get` 2023-01-02 09:35:32 +01:00
Karina Kwiatek 02bcfb3c9e Move user service into an instance variable
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 09:34:08 +01:00
Karina Kwiatek d320a74045 Mark notification as read when visiting service settings 2023-01-02 00:01:42 +01:00
Karina Kwiatek baffd05d6f Appease the dog overlords 2023-01-01 23:52:46 +01:00
Karina Kwiatek 9d1e77aeba Revoke Twitter connection when the token is revoked 2023-01-01 23:46:10 +01:00
Andreas Nedbal 9b5470cfd3 Appease the dog overlords 2023-01-01 22:43:24 +01:00
Andreas Nedbal 7b0a615193 Validate uniqueness of answers for questions 2023-01-01 22:43:24 +01:00
Andreas Nedbal 6700a52ad1 Remove superfluous require 2023-01-01 22:42:50 +01:00
Andreas Nedbal 6a03d3587a Appease the dog overlords 2023-01-01 22:42:50 +01:00
Andreas Nedbal 0e172bb179 Add UI to manage muted users 2023-01-01 22:42:50 +01:00
Andreas Nedbal 55c473e0f5 don't create notifications from muted user 2023-01-01 22:42:50 +01:00
Andreas Nedbal 2a7a17a4c3 wip: don't create notifications from a muted user 2023-01-01 22:42:50 +01:00
Andreas Nedbal 8017d97784 Don't receive questions from muted users 2023-01-01 22:42:50 +01:00
Andreas Nedbal 409c8372ba Add mute action support in user action handler 2023-01-01 22:42:50 +01:00
Andreas Nedbal 361b8df798 Add mute relationship and user methods 2023-01-01 22:42:50 +01:00
Georg Gadinger 55f60bc5a7 remove requires for exporter
handled by Zeitwerk now
2022-12-29 20:57:28 +01:00
Georg Gadinger fb07eda972 remove errors 2022-12-29 20:57:28 +01:00
Georg Gadinger 9413d23a02 let Zeitwerk autoload the `lib/` directory
this also allows the UseCase classes to be hot reloaded in dev 🎉

- remove use_case requires (except for the exporter as Zeitwerk
  doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
  to find Retrospring::Version
2022-12-29 20:57:28 +01:00
Georg Gadinger 447d1f7e6d
Merge pull request #886 from Retrospring/bugfix/questionable-user-questions
fix display conditions of profile questions
2022-12-27 23:15:58 +00:00
Andreas Nedbal 97736a956d Track question users in anonymous blocks 2022-12-28 00:10:59 +01:00
Andreas Nedbal e7f60acad5 Add target_user field to anonymous blocks 2022-12-28 00:10:59 +01:00
Andreas Nedbal 481f3c4d8f Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-12-27 23:51:41 +01:00
Andreas Nedbal 44e144cecc Appease the dog overlords 2022-12-27 23:51:41 +01:00
Andreas Nedbal 37f4b78f66 Silently fail in share worker if user account is suspended 2022-12-27 23:51:41 +01:00
Georg Gadinger 3524809e21 fix display conditions of profile questions 2022-12-27 22:07:21 +00:00
Andreas Nedbal 712328bd86 Fix wrong translation in linkfilter view 2022-12-26 15:38:19 +01:00
Andreas Nedbal 7cc57968bc Localize Sidekiq dashboard panel 2022-12-25 00:29:24 +01:00
Andreas Nedbal 2e27c45bbe move sidekiq panel into separate partial 2022-12-25 00:23:53 +01:00
Andreas Nedbal c730faa1b9 Remove Sidekiq dashboard link from admin sidebar 2022-12-25 00:19:08 +01:00
Andreas Nedbal be452c48b0 improve layout of Sidekiq dashboard panel 2022-12-25 00:18:17 +01:00
Georg Gadinger cf88da111c admin/dashboard: add basic sidekiq stats and warn if sidekiq is not running 2022-12-24 22:44:42 +00:00
Andreas Nedbal b53538ccb8 add safe-area to bottom padding on mobile 2022-12-24 21:47:23 +01:00
Andreas Nedbal 67e564fd94 fix z-index of comment input 2022-12-24 21:47:23 +01:00
Andreas Nedbal 7ab4214a14 add max height to notification dropdown and make it scroll 2022-12-24 21:47:23 +01:00
Andreas Nedbal 538eaecd86 remove fixed positioning from questions in mobile view 2022-12-24 21:47:23 +01:00
Andreas Nedbal 61c4033dfa add support for custom footer links 2022-12-24 19:10:05 +01:00
Georg Gadinger 312fadff2a fix images when not using S3/radosgw
"das system ist das problem, ja?"

fixes #822
2022-12-22 17:29:38 +01:00
Andreas Nedbal ff811edfe6 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-12-18 22:01:43 +01:00
Andreas Nedbal 175ad4a83b eager load notification associations for dropdown 2022-12-18 22:01:43 +01:00
Andreas Nedbal 19e5837ce5 get rid of N+1 query in `notification_count` method 2022-12-18 22:01:43 +01:00
Andreas Nedbal 5a0e42fe66 use `has_cached_role?` instead of `has_role?` 2022-12-18 21:47:03 +01:00
Georg Gadinger d52529c840 mark dataexported notifications as read when visiting export page 2022-12-10 15:56:07 +01:00
Georg Gadinger e1bdb1324f make the export worker create a *real* notification and add specs for it 2022-12-10 04:25:08 +01:00
Karina Kwiatek cb61db02eb
Merge pull request #824 from Retrospring/feature/anonymous-block-tuuuuuuurbo
Migrate anonymous blocks to Turbo Streams
2022-12-04 23:23:19 +01:00
Karina Kwiatek ce5b8d2356
Merge pull request #825 from Retrospring/feature/stimulus-announcements
Add Stimulus controller for announcements
2022-12-04 23:23:11 +01:00
Karina Kwiatek 63436d3464 Remove `ios_web_app?` helper 2022-12-04 23:11:59 +01:00
Georg Gadinger a2ae98eee8 inbox_controller: update all inbox entries when requesting turbo stream
since there's no layout rendered which updates all inbox entries the
inbox entries would still be shown as unread

fixes #827
2022-11-25 00:10:36 +01:00