Commit Graph

2523 Commits

Author SHA1 Message Date
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
Bandie 0529247851 Keep place of link consistent 2022-11-25 00:10:16 +01:00
Bandie ecb68eaee4 Make link to "all notifications" accessible even if your monitor is too small for all of your notifications 2022-11-25 00:10:16 +01:00
Andreas Nedbal b51d8c048d Remove legacy announcement TypeScript 2022-11-23 21:01:35 +01:00
Andreas Nedbal 3b1f15ebb9 Add Stimulus controller for announcements 2022-11-23 21:00:49 +01:00
Andreas Nedbal 55f26cb7d4 Remove settings unblock TypeScript 2022-11-22 08:38:33 +01:00
Andreas Nedbal 1c4993df3f Fix lints 2022-11-21 23:07:18 +01:00
Andreas Nedbal d9991f5fa7 Add tests 2022-11-21 23:05:04 +01:00
Andreas Nedbal b81fbb7fe6 Wire up Turbo Streams action calls in templates 2022-11-21 22:30:15 +01:00
Andreas Nedbal d000ddaae4 Add `AnonymousBlockController` 2022-11-21 22:29:47 +01:00
Andreas Nedbal ddded27757 Remove anonymous block AJAX implementation 2022-11-21 22:28:38 +01:00
Andreas Nedbal bb3ef51f13 Add spacing to 2FA buttons 2022-11-21 21:13:25 +01:00
Andreas Nedbal 41c43538b5 Fix lints 2022-11-21 20:26:19 +01:00
Andreas Nedbal 9a4c0d576d Add Stimulus autofocus controller 2022-11-21 20:26:19 +01:00
Andreas Nedbal efef85b7c6 Split mute rule form into seperate partial and replace on create 2022-11-21 20:26:19 +01:00
Karina Kwiatek 40d5dc41dd Ensure mute rules cannot be empty 2022-11-21 20:26:19 +01:00
Andreas Nedbal 94c9fa12fb Add policy for mute rules 2022-11-21 20:26:19 +01:00
Andreas Nedbal c8f990e319 Set up Pundit 2022-11-21 20:26:19 +01:00
Andreas Nedbal 9048a3e7d8 Remove AJAX Mute Rules code 2022-11-21 20:26:19 +01:00
Andreas Nedbal c08ff04738 Destroy Mute Rules using Turbo Streams 2022-11-21 20:26:19 +01:00
Andreas Nedbal 589b753df3 Create Mute Rules using Turbo Streams 2022-11-21 20:26:19 +01:00
Andreas Nedbal 97d55127e4 Fix double nested layouts 2022-11-21 20:26:01 +01:00
Andreas Nedbal c464e80e45 Fix lints 2022-11-21 20:26:01 +01:00
Andreas Nedbal d42f1ba0c5 Fix tests 2022-11-21 20:26:01 +01:00
Andreas Nedbal 9bd9c7af9f Disable Turbo on announcement forms 2022-11-21 20:26:01 +01:00
Andreas Nedbal 54e157ec76 `AnnouncementController` -> `Admin::AnnouncementController` 2022-11-21 20:26:01 +01:00
Andreas Nedbal cc00fff8cd Add global anon blocks to moderation sidebar 2022-11-21 20:26:01 +01:00
Andreas Nedbal 695ce57762 Use moderation layout on specific views 2022-11-21 20:26:01 +01:00
Andreas Nedbal 95b501301d Move moderation layout to proper location 2022-11-21 20:26:01 +01:00
Andreas Nedbal 6d462cbd1b Add link to admin dashboard to profile dropdown 2022-11-21 20:26:01 +01:00
Andreas Nedbal d0654d7d9d Use new layout in announcements views 2022-11-21 20:26:01 +01:00
Andreas Nedbal 4504d5ebac Add layout and sidebar for administration views 2022-11-21 20:26:01 +01:00
Andreas Nedbal c61ccfa5c1 Add admin dashboard controller 2022-11-21 20:26:01 +01:00
Andreas Nedbal f91246986c Update generated entries to not be new after rendering 2022-11-18 23:35:38 +01:00
Andreas Nedbal 22289f2946 Hide empty text as soon as another inbox entry appears 2022-11-18 23:35:38 +01:00
Andreas Nedbal 44c0136c9e Remove AJAX question generation code 2022-11-18 23:35:38 +01:00
Andreas Nedbal d3eae22f13 Generate inbox entries using Turbo Streams 2022-11-18 23:35:38 +01:00
Andreas Nedbal 23dafb5bcb
Merge branch 'main' into feature/privacy-noindex 2022-11-18 23:23:01 +01:00
Andreas Nedbal d3bfbff30a
Merge branch 'main' into feature/input-placeholder-theming 2022-11-18 23:21:08 +01:00
Andreas Nedbal fe9a77cd67 Fix lints 2022-11-18 23:19:24 +01:00
Andreas Nedbal 8699a4ca08 Redirect from follower/following page if social graph is hidden 2022-11-18 23:19:24 +01:00
Andreas Nedbal 51a70b67f4 Hide follower/followings tabs if social graph is hidden 2022-11-18 23:19:24 +01:00
Andreas Nedbal 9249ef976b Add social graph field to privacy settings view 2022-11-18 23:19:24 +01:00
Andreas Nedbal 4c820b472e Set noindex robots tag on content of users that enable it 2022-11-16 22:33:04 +01:00
Andreas Nedbal f8e43a9bb0 Add noindex setting to privacy settings view 2022-11-16 22:32:40 +01:00
Andreas Nedbal 921f02c4c9 Fix lints in ThemeHelper 2022-11-15 00:32:54 +01:00
Andreas Nedbal f35d49e575 Properly handle placeholder fields in theme application 2022-11-14 23:13:22 +01:00
Andreas Nedbal 420a25872e Allow input placeholder in theme settings 2022-11-14 23:12:39 +01:00
Andreas Nedbal 752d6cb987 Make input placeholder themable 2022-11-14 23:11:23 +01:00
Andreas Nedbal 3cefc829f8
Merge branch 'main' into feature/privacy-require-user 2022-11-13 17:27:53 +01:00
Andreas Nedbal 16c6e7c096 Show message in questionbox that users need to log in 2022-11-13 14:27:33 +01:00
Andreas Nedbal 18b3ac641b Add user requirement setting to privacy settings 2022-11-13 14:26:03 +01:00
Andreas Nedbal 024a37bdd6
Merge branch 'main' into feature/inbox-locking 2022-11-12 13:39:35 +01:00
Karina Kwiatek 68ca431165 Prevent questions from being sent to banned users 2022-11-12 11:58:20 +01:00
Andreas Nedbal 38332194c7 Show message in questionbox that user locked their inbox 2022-11-06 15:01:20 +01:00
Andreas Nedbal fa12b19b8a Prevent questions being sent to users that lock their inbox 2022-11-06 15:01:01 +01:00
Andreas Nedbal f6c28eefbd Add inbox locking setting to privacy settings 2022-11-06 15:00:28 +01:00
Andreas Nedbal 049f92e138 Add inbox locking setting to user 2022-11-06 14:59:56 +01:00
Andreas Nedbal bef1c23a66 reset questionbox character counts after successful submit 2022-10-31 21:23:22 +01:00
Andreas Nedbal 15d05f1699 Merge branch 'main' into feature/stimulus-character-count 2022-10-31 20:56:38 +01:00
Karina Kwiatek d3b59ae169
Merge pull request #767 from Retrospring/fix/missing-unsubscribe-text-on-comment
Fix missing unsubscribe string in answer actions when posting a comment
2022-10-26 11:37:38 +02:00
Karina Kwiatek 0090d1ca4a
Merge pull request #766 from Retrospring/fix/comment-error-on-answer-pages
Prevent error when commenting via an answer page
2022-10-26 11:37:29 +02:00
Karina Kwiatek 29608c54c9 Fix missing unsubscribe string in answer actions when posting a comment 2022-10-26 11:32:39 +02:00
Karina Kwiatek f9f49198fa Prevent error when commenting via an answer page 2022-10-26 11:29:58 +02:00
Karina Kwiatek 9e52d5b623 Use Lexend 300 as 400 2022-10-26 10:57:55 +02:00
Karina Kwiatek 16ac195ab9 Center-align load more buttons on single column pages 2022-10-25 22:12:51 +02:00
Georg Gadinger caf73558d6 views: rename .haml to .html.haml 2022-10-25 20:10:31 +02:00
Georg Gadinger cffb962194 fix parent_layout for HAML 6 2022-10-25 19:35:53 +02:00
Karina Kwiatek bc1fc50780 Prevent comments from submitting after input as composition ends 2022-10-25 18:57:36 +02:00
Georg Gadinger 430abe8743 make the shared links visible everywhere again 2022-10-25 18:57:11 +02:00
Karina Kwiatek f6abb8a8ca Use body font in sweet-alert 2022-10-25 18:56:19 +02:00
Karina Kwiatek 474fac757a
Merge pull request #759 from Retrospring/goodbye-summer
Replace Lato font with Lexend
2022-10-25 08:26:05 +02:00
Karina Kwiatek 99955e5452 Replace Lato font with Lexend 2022-10-24 23:43:53 +02:00
Andreas Nedbal 3498bd9072 Use data-turbo-method for mod (un)masking link 2022-10-24 23:34:15 +02:00
Andreas Nedbal 559ed3ecf8 Merge branch 'main' into feature/stimulus-character-count 2022-10-24 23:26:31 +02:00
Georg Gadinger 87ec3093a9 allow for using SVG logos in the navbar
this uses our new and improved logo by default, but can be easily
changed by modifying `/public/logo.svg`.  the svg is loaded only once
when the application starts, so any modifications to it after a
deployment are visible immediately.

thanks to the power of CSS and SVG being able to make use of it, custom
colour schemes still work too.
2022-10-24 23:19:51 +02:00
Andreas Nedbal 14199059b4 Filter out selected list from lists dropdown 2022-10-24 23:19:39 +02:00
Andreas Nedbal c5efbee938 Remove sidebar from timeline layout 2022-10-24 23:19:39 +02:00
Andreas Nedbal d3faccf85e Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-10-24 13:58:54 +02:00
Andreas Nedbal d11aff1db9 Decrease vertical spacing of inbox action bar 2022-10-24 13:58:54 +02:00
Andreas Nedbal ccaf519b8f Remove sidebar template 2022-10-24 13:58:54 +02:00
Andreas Nedbal 9bfc2b9dac Add top action bar to Inbox 2022-10-24 13:58:54 +02:00
Andreas Nedbal 941e79d33c Adjust layout of comment input 2022-10-13 22:29:25 +02:00
Andreas Nedbal 724c241bed Count character count downwards instead of up 2022-10-13 22:29:04 +02:00
Andreas Nedbal 0983ffca3a Merge branch 'main' into feature/stimulus-character-count 2022-10-13 22:07:15 +02:00
Georg Gadinger 0f9c6f1e07 typoed_email_validator: check for valid TLDs
i'm sure there are many more typos waiting to happen.  one thing we
can already catch though is the usage of invalid TLDs.

this makes use of my new TLDv gem -- the data it uses can be updated
independently from the main gem.
2022-10-13 21:38:54 +02:00
Georg Gadinger ea4a661368 typoed_email_validator: add new endings to the typo list 2022-10-13 07:59:54 +02:00
Karina Kwiatek 9004da9bd1 Disable Turbo on Service Settings 2022-10-12 08:58:22 +02:00
Karina Kwiatek 29618d399d Fix profile menu direction on desktop 2022-10-12 00:04:09 +02:00
Karina Kwiatek bb94845262
Merge pull request #727 from Retrospring/feature/i19n.js
Install i18n-js 4 2: Electric Boogaloo
2022-10-11 23:34:52 +02:00
Georg Gadinger 96d3216d39
Merge pull request #730 from Retrospring/hocus-pocus-there's-pizza-on-your-focus
auto-focus text field in ask modal
2022-10-11 22:53:12 +02:00
Karina Kwiatek 59b619324c
Merge pull request #728 from Retrospring/feature/lazy
Use appropriate image sizes and lazy loading
2022-10-11 22:36:20 +02:00
Georg Gadinger 4b8490a2d1 auto-foxus text field in ask modal
resolves #557
2022-10-11 22:08:59 +02:00
Georg Gadinger 0294225269 typoed_email_validator: add new endings to the typo list
gmail.co.uk is registered by the big ad company with the 5000 chat apps,
but it doesn't have a NX record
2022-10-11 20:43:29 +02:00
Andreas Nedbal 3cf985eb11 Use appropriate image sizes and lazy loading in userbox 2022-10-10 23:16:57 +02:00
Andreas Nedbal ec6f25e16b Use appropriate image sizes and lazy loading in questions 2022-10-10 23:16:44 +02:00
Andreas Nedbal 8d1bd30615 Use appropriate image sizes and lazy loading in notifications 2022-10-10 23:15:05 +02:00
Andreas Nedbal fedfbb1333 Use appropriate image sizes and lazy loading in moderationbox 2022-10-10 23:14:45 +02:00
Andreas Nedbal 66c80d2add Use appropriate image sizes and lazy loading in inbox entry 2022-10-10 23:14:30 +02:00
Andreas Nedbal 99b523bf9c Use appropriate image sizes and lazy loading in answerbox 2022-10-10 23:14:07 +02:00