Commit Graph

1798 Commits

Author SHA1 Message Date
Andreas Nedbal 50070d9afc Setup TypeScript moderation feature 2022-01-08 20:28:52 +01:00
Andreas Nedbal 5b324caf7c Add stylesheet pack tag import to load library styles 2022-01-07 22:17:29 +01:00
Karina Kwiatek 136e2fa016
Merge pull request #272 from Retrospring/feature/social-post-tagging
Add the ability to post to services with a tag
2022-01-07 19:40:52 +01:00
Karina Kwiatek fed37ec81c
Merge pull request #277 from Retrospring/refactor/typescript-settings
Port Settings functionality to TypeScript
2022-01-07 15:14:29 +01:00
Andreas Nedbal 0a8ff20f36 Fix theme page breaking after a reload 2022-01-07 14:12:45 +01:00
Karina Kwiatek 96e48a833b
Merge pull request #194 from Retrospring/refactor/user-bans
Implement ban history
2022-01-06 14:05:33 +01:00
Karina Kwiatek 75d24db1b9
Merge pull request #269 from Retrospring/feature/mod-pagination
Pagination in moderation panel
2022-01-06 14:05:12 +01:00
Karina Kwiatek b398265a98 Address review comments from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-06 13:59:04 +01:00
Andreas Nedbal f035cc2f89 Remove reference code comment 2022-01-06 13:02:18 +01:00
Andreas Nedbal 6dcb5a2afb Remove `jquery.guillotine` import in legacy CoffeeScript 2022-01-06 03:21:09 +01:00
Andreas Nedbal fb9d8bf947 Fix TSLint nits 2022-01-06 03:21:09 +01:00
Andreas Nedbal ed9f0f0123 Remove legacy settings functionality 2022-01-06 03:21:09 +01:00
Andreas Nedbal e4485cb5cd Refactor mute rule functionality into seperate file 2022-01-06 03:21:09 +01:00
Andreas Nedbal b18c68449e Port password confirmation functionality to TypeScript 2022-01-06 03:21:09 +01:00
Andreas Nedbal 9b6abb9148 Port profile picture/header cropping functionality to TypeScript 2022-01-06 03:21:09 +01:00
Andreas Nedbal 12430aebf1 Port theme functionality to TypeScript 2022-01-06 03:21:09 +01:00
Karina Kwiatek ac92a8b6bd Use `String#tr` instead of `String#gsub` 2022-01-05 20:09:34 +01:00
Karina Kwiatek 023b642bc1 Disallow @ symbols from post tags
Co-authored-by: Andreas Nedbal <git@pixelde.su>
2022-01-05 19:50:01 +01:00
Karina Kwiatek 683fffd734 Add the ability to post to services with a tag 2022-01-05 19:49:59 +01:00
Georg Gadinger 3c58257d21 remove tumblr
Resolves #274
2022-01-05 19:32:52 +01:00
Andreas Nedbal bbe5325ba5 Use proper import for question functionality 2022-01-05 01:07:53 +01:00
Andreas Nedbal 99c74e8418 Use proper selector to select share checkboxes 2022-01-05 01:07:53 +01:00
Andreas Nedbal 44b5e3e6a4 Insert answer into list after submitting 2022-01-05 01:07:53 +01:00
Andreas Nedbal 721b7f3657 Remove legacy question TypeScript 2022-01-05 01:07:53 +01:00
Andreas Nedbal a6bc27e884 Port question functionality to TypeScript 2022-01-05 01:07:53 +01:00
Andreas Nedbal 72ae2503ae Add null check to mute rule submits to prevent error flood 2022-01-04 01:40:44 +01:00
Andreas Nedbal 7fcb8312b9 Put `/settings/muted` behind authentication 2022-01-04 01:35:14 +01:00
Andreas Nedbal ceeca7483e Fix haml-lint nits 2022-01-04 00:05:11 +01:00
Andreas Nedbal 8ac7444518 Fix TSLint nits 2022-01-04 00:05:11 +01:00
Andreas Nedbal 21cba89add Remove legacy questionbox CoffeeScript 2022-01-04 00:05:11 +01:00
Andreas Nedbal 3df0196e1f Add `questionbox` class to questions
...so they get removed from the DOM after deletion
2022-01-04 00:05:11 +01:00
Andreas Nedbal a524a244a9 Use utility class instead of inline style on promotion container 2022-01-04 00:05:11 +01:00
Andreas Nedbal 172fc0b84b Port questionbox all (followers) functionality to TypeScript 2022-01-04 00:05:11 +01:00
Andreas Nedbal 5888b0ff04 Port questionbox destroy functionality to TypeScript 2022-01-04 00:05:11 +01:00
Andreas Nedbal e33d2478c2 Port questionbox report functionality to TypeScript 2022-01-04 00:05:11 +01:00
Andreas Nedbal 88d8cae815 Port questionbox user functionality to TypeScript 2022-01-04 00:05:11 +01:00
Karina Kwiatek c19b2df93c Implement pagination in Moderation Panel view 2022-01-03 23:23:12 +01:00
Karina Kwiatek 2cab96b9af Implement cursored pagination in Moderation Panel 2022-01-03 22:43:37 +01:00
Andreas Nedbal 41a7c89dae Make icons on buttons clickthrough to properly catch events 2022-01-03 16:33:06 +01:00
Andreas Nedbal f7e4fc76cb Use proper events for global event handlers 2022-01-03 16:33:06 +01:00
Andreas Nedbal 36acd25395 Disable inbox entry delete button to prevent duplicate deletion errors 2022-01-03 16:33:06 +01:00
Andreas Nedbal 229c10e358 Disable inbox answer button after pressing it to prevent duplicate sending 2022-01-03 16:33:06 +01:00
Andreas Nedbal 367fe0e7a6 Use `registerEvents` to register multiple global events 2022-01-03 16:33:06 +01:00
Andreas Nedbal 707cba8ede Pass proper sweetalert options for delete actions 2022-01-03 16:33:06 +01:00
Andreas Nedbal 3ef2c15267 Use `I18n.translate` everywhere instead of `I18n.t` 2022-01-03 16:33:06 +01:00
Andreas Nedbal 2e5f500d24 Use notification helpers instead of window reference everywhere 2022-01-03 16:33:06 +01:00
Andreas Nedbal 0770dbfc21 Remove legacy inbox CoffeeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 4be25b2a1a Replace inline style on inbox entry options with utility class 2022-01-03 16:33:06 +01:00
Andreas Nedbal aef180277c Extend `registerEvents` utility to accept global events 2022-01-03 16:33:06 +01:00
Andreas Nedbal b2d430eb1e Export `on` method callback function type 2022-01-03 16:33:06 +01:00
Andreas Nedbal 683657a281 Add TypeScript wrapper around legacy notification functionality 2022-01-03 16:33:06 +01:00
Andreas Nedbal 5337897b23 Port inbox deletion functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 721ff425b2 Port inbox question generation functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 8797652746 Port inbox author search functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 2b06d6a6cc Port inbox entry option functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 2fe4438068 Port inbox entry delete functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 128d2142da Port inbox entry answer functionality to TypeScript 2022-01-03 16:33:06 +01:00
Andreas Nedbal 4a1c8ebcf7 Move report event handler to entry subfolder 2022-01-03 16:33:06 +01:00
Karina Kwiatek b249e40273 Fix ban checkbox being passed into ban payload 2022-01-02 19:50:45 +01:00
Karina Kwiatek b196cbdd1c Adjust ban script to work when unbanning 2022-01-02 19:50:45 +01:00
Karina Kwiatek 7677ed21a4 Update tests for unbanning users 2022-01-02 19:50:44 +01:00
Karina Kwiatek a9392dad53 Use use case for `User#unban` 2022-01-02 19:50:44 +01:00
Karina Kwiatek 6500d7ac71 Update usages of bans 2022-01-02 19:50:44 +01:00
Karina Kwiatek ea62d91014 Make ban UI more intuitive when a user is already banned 2022-01-02 19:50:02 +01:00
Karina Kwiatek 9a35584284 Refactor ban-related functionality into use cases 2022-01-02 19:50:01 +01:00
Karina Kwiatek be0cf69368 Refactor existing ban-related methods 2022-01-02 19:50:01 +01:00
Karina Kwiatek e4241d2001 Create user ban model
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-02 19:50:01 +01:00
Andreas Nedbal fab007b2a2 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-02 19:31:58 +01:00
Andreas Nedbal 48c31ebdc6 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-01-02 19:31:58 +01:00
Andreas Nedbal 13c397fe73 Prevent exceptions with invalid URIs 2022-01-02 19:31:58 +01:00
Karina Kwiatek b7ce9cdbba
Merge pull request #222 from Retrospring/feature/muting 2022-01-02 15:31:49 +01:00
Karina Kwiatek abe33a831f Fix lint errors 2022-01-02 01:55:52 +01:00
Karina Kwiatek 05ed214367 Implement frontend for deleting mute rules 2022-01-02 01:55:52 +01:00
Karina Kwiatek 23a5fb55d1 Implement frontend for adding mute rules 2022-01-02 01:55:52 +01:00
Karina Kwiatek 6b626765a8 Create views for managing muted words 2022-01-02 01:55:52 +01:00
Andreas Nedbal bc316757c3 Fix haml-lint nit 2022-01-02 01:27:03 +01:00
Andreas Nedbal dabc917ab5 Align dropdown-menu to the right 2022-01-02 01:27:03 +01:00
Andreas Nedbal 92544370b6 Make entirity of "Lists" dropdown clickable 2022-01-02 01:27:03 +01:00
Andreas Nedbal 2ce94893ea Use `env(safe-area-inset-bottom)` to prevent issues on Apple devices 2022-01-01 22:46:52 +01:00
Andreas Nedbal f75d63bf07 Show progressbar at the top of mobile navbar 2022-01-01 22:46:52 +01:00
Andreas Nedbal 46855eb43f use `md` breakpoint instead of `sm` for the progress bar 2022-01-01 22:46:52 +01:00
Andreas Nedbal 97786e8dec Move turbolinks progressbar to the bottom on tablet and lower 2022-01-01 22:46:52 +01:00
Karina Kwiatek 9ce1fc0ce4 Address review comments from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-01 22:10:13 +01:00
Karina Kwiatek fe6dff8ed6 Improve error messaging when trying to attach a service connected to another account 2022-01-01 21:58:22 +01:00
Andreas Nedbal a4041e5da6 Remove another paragraph where questions are rendered 2022-01-01 02:04:49 +01:00
Andreas Nedbal 4fb1f3f38c Fix wrong spacing in inbox entries 2022-01-01 01:50:46 +01:00
Karina Kwiatek 6c0e6b1d30 Create mute rules AJAX controller 2022-01-01 00:38:38 +01:00
Karina Kwiatek c31ab3578d Apply mute filters to questions asked directly 2022-01-01 00:38:38 +01:00
Karina Kwiatek 249438e5a8 Escape muted strings 2022-01-01 00:38:38 +01:00
Karina Kwiatek 18de468198 Add inverse relationship for mute rules <-> users 2022-01-01 00:38:38 +01:00
Karina Kwiatek f85769eb55 Add mute rules 2022-01-01 00:38:36 +01:00
Andreas Nedbal f803a972b9 Fix haml-lint nit 2021-12-31 22:40:38 +01:00
Andreas Nedbal a0a403ca4f Use `rel="nofollow"` in linkfilter view 2021-12-31 22:40:38 +01:00
Andreas Nedbal c28ecafa80 Refactor `SharedMarkers::autolink` to use `content_tag` 2021-12-31 22:40:38 +01:00
Andreas Nedbal 1f2c9a08eb Fix haml-lint nits 2021-12-31 22:40:38 +01:00
Andreas Nedbal 02a5e7029e Add linkfilter logic to existing renderers 2021-12-31 22:40:38 +01:00
Andreas Nedbal 67ee589b5b Add question markup renderer 2021-12-31 22:40:38 +01:00
Andreas Nedbal 09172a56ef Add linkfilter action 2021-12-31 22:40:38 +01:00
Karina Kwiatek 2a2bd6ad14
Merge pull request #250 from Retrospring/eager-loading
Eager load relationships for questions, answers and users
2021-12-31 22:37:41 +01:00
Karina Kwiatek c3ca93de7f
Merge pull request #252 from Retrospring/rel-nofollow
views: add rel=nofollow to some links
2021-12-31 21:47:18 +01:00
Karina Kwiatek 552f7373e6
Merge pull request #248 from Retrospring/feature/answer-theme
Extend theme helper to show themes on answer pages
2021-12-31 19:46:21 +01:00
Georg Gadinger 34aeb2350c views: add rel=nofollow to some links 2021-12-31 19:30:18 +01:00
Karina Kwiatek 0da070c5ff Move includes into `cursored_friends`/`cursored_followers` 2021-12-31 15:35:02 +01:00
Karina Kwiatek 7e57735b88 Add basic test for answer & user show views 2021-12-31 13:59:15 +01:00
Karina Kwiatek 32e6975c28 Include smiles when eager loading answers 2021-12-30 23:21:46 +01:00
Karina Kwiatek 7357e92865 Eager load relationships for questions, answers and users 2021-12-30 22:15:59 +01:00
Karina Kwiatek 5552f04bdf
Merge pull request #243 from Retrospring/refactor/lists-typescript
Port List functionality to TypeScript
2021-12-30 12:29:59 +01:00
Andreas Nedbal 06e31bb0be Apply review suggestion from @raccube 2021-12-30 12:23:35 +01:00
Andreas Nedbal a6dc7661ee Extend theme helper to show themes on answer pages 2021-12-30 01:41:27 +01:00
Andreas Nedbal a78cb2f2c9 Open profile website links in a new tab 2021-12-30 00:32:46 +01:00
Andreas Nedbal dcc781df3d Put all security related actions behind authentication 2021-12-29 22:35:17 +01:00
Andreas Nedbal 6df040eece Fix missing translation when deleting lists
(this was broken in prod since this was introduced, amazing!)
2021-12-28 21:29:08 +01:00
Andreas Nedbal 493451c777 Remove legacy list CoffeeScript 2021-12-28 21:15:15 +01:00
Andreas Nedbal d84891763a Port creating lists from CoffeeScript to TypeScript 2021-12-28 21:15:15 +01:00
Andreas Nedbal 4a94638b59 Port deleting lists from CoffeeScript to TypeScript 2021-12-28 21:15:15 +01:00
Andreas Nedbal d3d4644776 Port list membership actions from CoffeeScript to TypeScript 2021-12-28 21:15:15 +01:00
Andreas Nedbal 542cdd8b9a Setup lists feature in TypeScript 2021-12-28 21:15:15 +01:00
Karina Kwiatek 1b4aa8600d Set Sentry user context 2021-12-28 19:19:27 +01:00
Karina Kwiatek 065e56ccf1 Replace New Relic with Sentry 2021-12-28 18:32:03 +01:00
Karina Kwiatek fe6a04c6e2
Merge pull request #238 from Retrospring/fix/failed-posts
Catch common `ShareWorker` exceptions to avoid unnecessary retries
2021-12-28 14:37:38 +01:00
Karina Kwiatek 9dafa675d1 Log on `ShareWorker` Twitter exceptions 2021-12-27 23:03:51 +01:00
Andreas Nedbal e3c9d1b7b4 Update mail notice to mention people to look at their spam folder 2021-12-27 20:51:36 +01:00
Karina Kwiatek 9c599db3a7 Log message if `ShareWorker` tries to post something deleted 2021-12-27 18:17:47 +01:00
Karina Kwiatek 58a5065e52 Catch common `ShareWorker` exceptions to avoid unnecessary retries 2021-12-27 17:44:42 +01:00
Andreas Nedbal 4529fa0d18 Fix `Services::Tumblr` not being able to post 2021-12-27 14:28:11 +01:00
Andreas Nedbal 3f4bd13486 Add notice on registering about issues with Hotmail/Outlook 2021-12-27 01:44:10 +01:00
Andreas Nedbal 453724be8b Prevent reloading of page on share link click 2021-12-26 23:46:42 +01:00
Andreas Nedbal a1ba1a8082
Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2021-12-26 23:41:23 +01:00
Andreas Nedbal 5fcf24646e Open share widgets in new tab 2021-12-26 23:28:46 +01:00
Andreas Nedbal 21c4e0662f Make the share event work on any answer
...not just the initially loaded set
2021-12-26 23:01:16 +01:00
Andreas Nedbal 08a0f2e1ca Don't include `Rails.application.routes.url_helpers` in `SocialHelper::`
It badly trips up things
2021-12-26 22:40:27 +01:00
Andreas Nedbal 7be52bb7f2 Include Rails URL helpers in `Services::Twitter` 2021-12-26 22:17:53 +01:00
Andreas Nedbal b630baa870 Hide any element with `ab-share` as a name 2021-12-26 22:07:17 +01:00
Andreas Nedbal fa37f5c857 Add share links to answerboxes 2021-12-26 22:06:52 +01:00
Andreas Nedbal ed64a0990e Move tumblr post formatting into a separate helper class 2021-12-26 22:04:46 +01:00
Andreas Nedbal b64b039d21 Move tweet formatting into a separate helper class 2021-12-26 22:04:16 +01:00
Karina Kwiatek 3e7c6d8d95 Fix ShareWorker retries failing 2021-12-25 23:22:52 +01:00
Karina Kwiatek 0f654a4d7d
Merge pull request #226 from Retrospring/refactor/user-typescript
Port User functionality to TypeScript
2021-12-25 22:44:26 +01:00
Karina Kwiatek 053ebafbc5
Merge pull request #213 from Retrospring/refactor/profile
Move profile fields to seperate table
2021-12-25 22:44:10 +01:00
Karina Kwiatek 7f26c1fef3 Ensure elipsis character always gets added for long questions/answers 2021-12-25 22:08:06 +01:00
Karina Kwiatek f28f714457 Allow retries for ShareWorker 2021-12-25 13:40:21 +01:00
Karina Kwiatek 61c8208e26 Ensure tweets fit twitter's length limit 2021-12-25 13:39:35 +01:00
Andreas Nedbal 8b583e103a Fix lint nits 2021-12-25 04:05:03 +01:00
Andreas Nedbal d27665471e Remove legacy user CoffeeScript 2021-12-25 03:34:24 +01:00
Andreas Nedbal 1bc52786ad Port reporting users from CoffeeScript to TypeScript 2021-12-25 03:34:02 +01:00
Andreas Nedbal 2cc8a33d5b Port (un)following from CoffeeScript to TypeScript 2021-12-25 03:33:33 +01:00
Andreas Nedbal cf8d6b0884 Setup user features in TypeScript 2021-12-25 03:33:09 +01:00
Andreas Nedbal 3b5e963da5 Add `$.on` vanilla JS substitute 2021-12-25 03:31:30 +01:00
Andreas Nedbal 89127aa313 Add aliases for common module locations 2021-12-25 00:02:52 +01:00
Karina Kwiatek 842f51d745 Replace remaining usages of `user.display_name` 2021-12-23 22:01:56 +01:00