Commit Graph

400 Commits

Author SHA1 Message Date
Thibaut Girka
bb1103d974 Really fix HotKeys 2018-10-10 17:40:06 +02:00
Thibaut Girka
721aec40cd Define some local-settings hints 2018-10-09 18:10:54 +02:00
Thibaut Girka
26409f3e8e Add support for hints (or extended descriptions) in local-settings pages 2018-10-09 18:10:54 +02:00
Thibaut Girka
6cd793f0ac Change “preferences” icon to match settings page icon 2018-10-09 18:10:54 +02:00
Thibaut Girka
edb9ec8543 Add icons for each of the local-setting pages 2018-10-09 18:10:54 +02:00
Thibaut Girka
d0b1369a85 Fix app-wide hotkeys randomly failing to work 2018-10-09 12:10:51 +02:00
Thibaut Girka
96c3d26870 Move “Show action buttons in collapsed toots” option 2018-10-08 13:49:25 +02:00
Thibaut Girka
faecb35fe0 Switch from selects to radio buttons for local settings, improve styling 2018-10-08 13:49:25 +02:00
Thibaut Girka
a3677a828d [Glitch] Change documentation URL
Port 28401962ca to glitch-soc
2018-10-07 22:56:24 +02:00
Thibaut Girka
7cc7843109 Do not scroll timelines when *closing* media modals
Media modals push an history state so that pressing back on mobile closes them.
We made sure to not scroll when opening them, but not when *closing* them,
which caused some issues in rare cases.
2018-10-07 12:08:32 +02:00
Thibaut Girka
c6e4c48942 [Glitch] Add a confirmation dialog when hitting reply and the compose box isn't empty 2018-10-05 19:08:52 +02:00
Thibaut Girka
a9e8f98a9d Make hidden media clickable in account media gallery 2018-10-02 22:00:57 +02:00
Thibaut Girka
d82c495c0f Add media description (or status spoiler) in account media gallery 2018-10-02 22:00:57 +02:00
Thibaut Girka
eb85427576 [Glitch] Honour displayMedia setting in accountMedia gallery
Inspired by b79ab15859
2018-10-02 22:00:57 +02:00
Thibaut Girka
6ad7606909 [Glitch] Add support for new display_media setting
Port f7a6f9489d to glitch-soc

[API] [vanilla required] [glitch-soc optional] initial_state show_sensitive_media boolean changed to show_media string with options "default", "hide_all", "show_all"
2018-10-01 16:48:55 +02:00
Spencer Alves
4e60a0d543 Add option to hide action bar in collapsed toots 2018-09-30 08:31:50 +02:00
David Yip
c065717b67
Merge pull request #681 from ThibG/glitch-soc/fixes/accessibility
Port various accessibility improvements from upstream
2018-09-29 19:01:19 -05:00
David Yip
2bb3c8c944
Merge pull request #755 from ThibG/glitch-soc/features/optional-reply-selection
Make pre-selection of usernames optional when replying to a toot
2018-09-29 19:01:05 -05:00
David Yip
19968912fa
Merge pull request #754 from ThibG/glitch-soc/fixes/scroll-compose-into-view
Scroll to textarea when composing a toot
2018-09-29 19:00:31 -05:00
David Yip
5b43d7bcbf
Merge pull request #745 from ThibG/glitch-soc/fixes/grey-out-button
Disable the “TOOT” button (and secondary toot button) if the toot text is empty
2018-09-29 19:00:06 -05:00
Thibaut Girka
86b2b009dd Make pre-selection of usernames optional when replying to a toot
Fixes #751
2018-09-28 21:01:09 +02:00
Thibaut Girka
15134beb1e Fix styling issue in “Compose box options” local settings page 2018-09-28 18:55:44 +02:00
Thibaut Girka
9594c68532 Scroll to textarea when composing a toot 2018-09-28 18:44:55 +02:00
Thibaut Girka
fa18859b20 [Glitch] Adjust beforeUnload conditions
Port 05f90e3695 to glitch-soc
2018-09-28 17:09:25 +02:00
Thibaut Girka
d3426ed87a Disable the “TOOT” button (and secondary toot button) if the toot text is empty 2018-09-21 23:20:06 +02:00
Thibaut Girka
9e8d776a77 [Glitch] Display verified links in glitch flavor
Port front-end changes from f4d549d300 to glitch-soc
2018-09-21 12:56:42 +02:00
Thibaut Girka
5833cc41c2 [Glitch] Add edit profile action button to profile
Port some parts from 1a7a74ff76
2018-09-21 12:56:42 +02:00
Thibaut Girka
c1701ae2a8 [Glitch] Fix “Toots” tab highlighting for replies and media timelines
Port front-end changes from f8b54d229f
2018-09-21 12:56:29 +02:00
Thibaut Girka
925c185ef9 Prevent clicks on video from initiating selections 2018-09-21 12:56:13 +02:00
Thibaut Girka
657805f444 Fix thread CW expansion not being reset when changing threads 2018-09-16 12:41:20 +02:00
Thibaut Girka
cf142e8556 [Glitch] Highlight active tab in action bar
Port 7b7c26063e to glitch-soc
2018-09-13 17:13:29 +02:00
Thibaut Girka
1cb3af21c5 Autofocus comment textarea in report modal 2018-09-13 17:03:48 +02:00
Thibaut Girka
b3c698d6f4 Auto-focus emoji picker's search field 2018-09-13 15:32:23 +02:00
Thibaut Girka
307fb338ee Fix composer actions modal 2018-09-11 22:04:06 +02:00
Thibaut Girka
59de2868c1 Fix media description in various media modals 2018-09-11 18:29:19 +02:00
Thibaut Girka
65f625cf23 [Glitch] Hide floating action button on thread views
Port f66a786029 to glitch-soc
2018-09-11 16:29:46 +02:00
Thibaut Girka
d9a92d5040 [Glitch] After click to embed video, autoplay it
Port 478ca39e5e to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
bc5009cd45 [Glitch] Click card to embed external content
Port front-end changes from f7765acf9d to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
dfa6fb4927 [Glitch] Fix oEmbed image_modal src.
Port 25b0d7538e to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
cc58265216 [Glitch] Ensure link thumbnails are not stretched to super low quality
Port front-end changes from c36b9cc5a6 to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
49eaf72faf [Glitch] Add embed_url to preview cards
Port front-end changes from c083816c24 to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
324ce93368 Add preferences for notification badges 2018-09-07 20:37:17 +02:00
Thibaut Girka
ba4521b175 Move compose box options to their own page 2018-09-07 20:37:17 +02:00
Thibaut Girka
b28cbb8b25 Add unread notifications badge to the mobile navbar 2018-09-07 20:37:17 +02:00
Thibaut Girka
2cdc00bc8b Add unread notifications badge to the navigation bar 2018-09-07 20:37:17 +02:00
Thibaut Girka
0f155af32a Add notification badge to favicon 2018-09-07 20:37:17 +02:00
Thibaut Girka
d315f1dc02 Count unread notifications when window loses focus 2018-09-07 20:37:17 +02:00
Thibaut Girka
c8875b4d8a Keep track of unread notifications when the notification column isn't mounted 2018-09-07 20:37:17 +02:00
Thibaut Girka
d8b2f15b23 Pause video playback if toot is collapsed or CWs folded (fixes #146) 2018-09-05 11:58:56 +02:00
Thibaut Girka
c0275cdcb2 Fix interactions between CW and sensitive flag when spoilersAlwaysOn is set 2018-09-04 19:40:57 +02:00
Thibaut Girka
b6ce5fa3fb Fix emoji autosuggest when using a CDN for assets 2018-09-04 15:05:31 +02:00
Thibaut Girka
be644e3b7c Media gallery styling closer to upstream's 2018-09-04 13:31:55 +02:00
Thibaut Girka
bd437f8077 Add admin links to status and account menus (fixes #673)
If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten
2018-09-03 18:19:11 +02:00
Thibaut Girka
8e862ecf8d [Glitch] Add aria-label to floatingActionButton
Port 7c12c7b124 to glitch-soc
2018-09-03 18:18:39 +02:00
Thibaut Girka
e915bc3e9e Fixes columns scrolling to top when opening media modal
Fixes #700
2018-09-03 14:24:10 +02:00
Thibaut Girka
530da545a5 [Glitch] Give focused status a sensible aria-label for screen readers
Port 248df68c36 to glitch-soc
2018-08-31 19:49:51 +02:00
Thibaut Girka
d8fbd74c47 [Glitch] Add aria-label to column regions
Port 66dbb59aa1 to glitch-soc
2018-08-31 19:49:29 +02:00
Thibaut Girka
c6942a5283 Add option to not automatically unfold content warnings matching a regexp
Fixes #678
2018-08-31 18:35:03 +02:00
Thibaut Girka
5c400a2842 Allow text inputs in local settings dialog 2018-08-31 18:35:03 +02:00
Thibaut Girka
9d2739d74d Add a setting to automatically unfold all content warnings 2018-08-31 18:35:03 +02:00
Thibaut Girka
130bdb5ee8 [Glitch] Show compose form on delete & redraft when in mobile layout
Port 025fbb8285 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
0f1db47a7e Fix search results on compose box 2018-08-31 18:33:46 +02:00
Thibaut Girka
b4f548fa18 Fix account header showing on search page 2018-08-31 18:33:46 +02:00
Thibaut Girka
4a686ddf8a [Glitch] On the mobile UI, move the search column to the right
Port 20bb90ced6 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
4686b3fa76 [Glitch] Hide search from Compose on mobile devices
Port 0893b16695 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
37a00d4c1d [Glitch] Add search item to tab bar for mobile devices
Port c9cbb8de70 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
76a3f373e3 [Glitch] Use withRouter for TabsBar
Port 61e6275781 to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
5f035a2a1a [Glitch] Move "compose" on mobile to floating action button
Port e72db6d9dd to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
70c308c4aa [Glitch] When search enabled, display hint in search popout
Port 7901f9f63e to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
c20b27a9f4 Restrict querySelectorAll to the upload form component 2018-08-30 13:20:37 +02:00
Thibaut Girka
1544ac4e27 Add confirmation dialog when posting media without description
Fixes #211
2018-08-30 13:20:37 +02:00
Thibaut Girka
171e54eb46 Add opt-in feature to have the spoilers field always on (fixes #634) 2018-08-29 14:29:36 +02:00
Thibaut Girka
24b6811a6e [Glitch] Implement tag auto-completion by history
Port 460e380d38 to glitch-soc
2018-08-28 19:52:28 +02:00
Thibaut Girka
937cd03a9a [Glitch] Add missing video descriptions
Port ac092d03e7 to glitch-soc
2018-08-27 20:21:23 +02:00
Thibaut Girka
3106c81b1e [Glitch] Wait until relationship is loaded before showing follow button
Port cd049454be to glitch-soc
2018-08-27 20:21:12 +02:00
Thibaut Girka
3c49daeb8d Add glitch-soc local setting to display reply counters
Defaults to false.
2018-08-22 20:29:55 +02:00
Thibaut Girka
d62ea55d51 Move layout options to their own section 2018-08-22 20:29:55 +02:00
Thibaut Girka
801919fc9b Add hashtag trendline support to glitch-soc flavour
Port Mastodon's hashtag stats thing to glitch-soc.
This doesn't change how hashtags are ordered, and doesn't add a trending
hashtags section, but it does change how hashtag searches are rendered,
displaying a trend line alongside each hashtag.
2018-08-22 19:27:06 +02:00
Thibaut Girka
360fbf1bd4 Add pinned accounts editor 2018-08-22 16:18:23 +02:00
Thibaut Girka
9fbaaefe59 Split list editor into components and containers 2018-08-22 16:18:23 +02:00
Thibaut Girka
d69f045681 Fix ColumnLink keys in getting_started_misc 2018-08-22 16:18:23 +02:00
Thibaut Girka
c789181626 [Glitch] Add hotkey for follow requests
Port 25f6f41052 to glitch-soc
2018-08-20 21:25:02 +02:00
Thibaut Girka
b230c04e00 Make the privacy dropdown button not look strange when using top placement
Inspired by 8fe1f8d4ce
2018-08-20 20:10:53 +02:00
Thibaut Girka
0c091475df Make non-link ColumnLinks behave as links 2018-08-20 20:08:13 +02:00
Thibaut Girka
432f6b88b0 Focus CW field when enabling it, focus compose textarea when disabling it
Port a99179d31f and 09147186b7
to glitch-soc
2018-08-19 16:56:31 +02:00
Thibaut Girka
7423c0c130 Various minor upload description fixes 2018-08-18 17:53:20 +02:00
Thibaut Girka
534439e73b Add focal points support in the composer 2018-08-18 17:53:20 +02:00
Thibaut Girka
9782ac017b Refactor in preparation for focal points modal 2018-08-18 17:53:20 +02:00
Thibaut Girka
4a6bc2482a [Glitch] Defer scrollIntoView after DOM is drawn 2018-08-17 14:46:37 +02:00
Thibaut Girka
50cd70b3e9 Fix incorrect prop type for ComposerReply.status 2018-08-16 21:19:20 +02:00
Thibaut Girka
7595ae4090 Fix one GettingStarted ColumnLink not having a key 2018-08-16 20:59:12 +02:00
Thibaut Girka
494eaab5b1 Slightly more aggressive video preloading
- Preload video metadata if the video is loaded in detailed view, as it is
  likely to get played, and metadata is useful for seeking in the video.
- Preload video data if it's fullscreen as it is extremely likely to get
  played right after being put in fullscreen (although those are two steps).
- Preload video data if the user has clicked the position slider, as the video
  will play as soon as the mouse button is released, and video metadata is
  needed to properly seek into the video.
2018-08-14 21:56:23 +02:00
Thibaut Girka
c4e8402ef9 Fix bug when clicking on video position slider before starting the video 2018-08-14 21:56:23 +02:00
Thibaut Girka
f0fa6e3a7c Prevent default event handling when clicking on the video position slider
This prevents accidental text selection and avoids opening the toot containing
the video in the dynamic column when clicking on the position slider.
2018-08-14 21:56:23 +02:00
Thibaut Girka
7067b64de3 Implement public profile endorsements in glitch-soc
Port WebUI changes from f2404de871 to glitch-soc
2018-08-10 16:25:46 +02:00
Thibaut Girka
175c2155a9 [Glitch] Compensate for scrollbar disappearing when media modal
Port 60df87f6f0 to glitch-soc
2018-08-01 00:18:42 +02:00
Thibaut Girka
d2b3eebe00 [Glitch] Show media modal on public timeline
Port e0b1e17bd0 to glitch-soc
2018-08-01 00:18:42 +02:00
Thibaut Girka
88b593a63f Drop glitch-style account bio fields
Upstream's implementation has been merged a while ago and is the preferred
way to set fields, as it is the only one compatible with upstream and is
more user-friendly.

This commit deletes the legacy glitch-soc FrontMatter functionality in order
to clean up the code and make it easier to maintain.
2018-07-31 16:26:36 +02:00
Thibaut Girka
b02bfe86ce Don't reset scroll position when opening a modal 2018-07-30 14:32:02 +02:00
Thibaut Girka
3eb3c21327 Treat the App Setting link as a proper link (fixes #375) 2018-07-30 14:31:45 +02:00
Thibaut Girka
88b7ccc2ca [Glitch] Improve WebUI account action bar
Mostly a port of 2ccef52a4f to glitch-soc
2018-07-30 14:24:35 +02:00
Thibaut Girka
28a59e4e80 Move CW field just above main textarea 2018-07-28 23:25:42 +02:00
Thibaut Girka
358e3a4c32 Get rid of Collapsable, use CSS instead
Change inspired by 691107263c
2018-07-28 23:25:42 +02:00
Thibaut Girka
d3783b864c Refactor reply indicator and show compact list of attachments 2018-07-28 23:24:15 +02:00
Thibaut Girka
e3bf8c8aa1 Show reply indicator for empty toots, not undefined toots (fixes #610)
Fix a regression introduced by 612b00d1bb
2018-07-28 23:24:15 +02:00
Thibaut Girka
c057aeb76b [Glitch] Add documentation for “p” hotkey
Port ed50c2393a to glitch-soc
2018-07-26 22:19:01 +02:00
Thibaut Girka
a8911616b6 Add hotkey variants to keyboard shortcuts description
Port 89c6d2bd6b to glitch-soc
2018-07-26 22:19:01 +02:00
Thibaut Girka
82ab5aacb2 Prevent scrolling main frame when navigating in image gallery with arrow keys 2018-07-26 08:42:25 +02:00
Thibaut Girka
02326a4322 [Glitch] Use LoadingBar instead of blur to indicate that an image is loading
Port 955d5d36e8 to the glitch-soc flavour
2018-07-24 21:20:18 +02:00
Thibaut Girka
1769a7e9aa Use the same description string as upstream for the “x” hotkey 2018-07-24 21:15:21 +02:00
Thibaut Girka
b1ed2b1d03 Fix focusing search bar with hotkeys 2018-07-24 21:15:21 +02:00
Thibaut Girka
c600bcfe1d Fix focusing composer textarea on “new toot” hotkey 2018-07-24 21:15:21 +02:00
Thibaut Girka
037228cf03 Fix routing issues, especially keyboards shortcuts changing location 2018-07-24 21:14:50 +02:00
Thibaut Girka
1aa253c41d Display custom emoji in account notes in WebUI (fixes #595) 2018-07-21 21:44:49 +02:00
Thibaut Girka
57f31b361f Add an option restricting secondary toot privacy to that of the toot being replied to 2018-07-12 19:15:44 +02:00
Thibaut Girka
d67cb13d84 Use options rather than a boolean
This prepares for a third option that would restrict privacy to
privacyPreference(replyPrivacy, sideArmBasePrivacy)
2018-07-12 11:22:34 +02:00
Thibaut Girka
8c8707771d Do not store duplicate reply_privacy 2018-07-12 11:22:34 +02:00
Ash Levy
6f06d16b1e add option to enable auto visibility on secondary toot button 2018-07-12 11:22:34 +02:00
Thibaut Girka
612b00d1bb Display reply indicator even when replying to contentless toot (fixes #564) 2018-07-10 22:53:04 +02:00
Thibaut Girka
00c1386b9d [Glitch] Fix filters not affecting notifications in web UI
Port cfeb3beb4e to glitch-soc
2018-07-10 14:06:04 +02:00
Thibaut Girka
0bb1720495 Add client-side custom filter support to glitch-soc
Port cdb101340a to glitch-soc,
but without dropping support for regexp filters yet.
2018-07-10 14:06:04 +02:00
Ash Levy
e96a4434c7 add keybind in composer textarea for secondary submit 2018-07-10 10:53:22 +02:00
Thibaut Girka
f0161702d8 [Glitch] Submit report using meta key
Port 64d7a63f18 to glitch-soc
2018-06-21 22:28:50 +02:00
Thibaut Girka
a01faecfcb [Glitch] Add redraft function
Port bd0791d800 to glitch-soc
2018-06-16 15:09:28 +02:00
David Yip
fac6e392e9
Port emojimart 2.6.1 changes to glitch flavour
See also the following commits:

- 0c3ce41031
- 268d90e810
2018-06-12 17:43:50 -05:00
David Yip
f8d50a4070
Merge pull request #509 from ThibG/glitch-soc/fixes/router-history-navigation
Use history.state to decide whether we should goBack() or go to / (fixes #247)
2018-06-06 23:56:48 -05:00
Thibaut Girka
b9fdeceb3c Make active bookmarks red (fixes #493) 2018-05-31 14:39:48 +02:00
Thibaut Girka
cc396f085d Use history.state to decide whether we should goBack() or go to / (fixes #247)
So far, glitch-soc used history.length to decide whether to call `goBack()` or
go to / in order to not leave the webUI. This made clicking the “Back” button
go to the “Getting started” column instead of going back in the browser's
history when such an action would leave the web UI, but also when:
- The WebUI is refreshed (F5)
- A tab is restored
- The history length reaches its maximum (e.g., 50 in Firefox)

This commit fixes these shortcomings by checking `window.history.state`.
Indeed, we only want to go back in the browser's history when the current
location has been reached from within the WebUI, which only happens via
`pushState` as far as I know. Since browser store the serialized state in
the browser history, this also survives page reload and session restoration.
2018-05-31 14:39:02 +02:00
Thibaut Girka
f86d280fd6 Use props.router instead of context.router, as we are using withRouter 2018-05-31 14:39:02 +02:00
Thibaut Girka
e396fbfe3b Fix direct timeline 2018-05-31 14:37:13 +02:00
Thibaut Girka
e7b3a4263e [Glitch] Fix low-contrasted cancel button of reply indicator
Port 86efccce2a to glitch-soc
2018-05-29 21:25:47 +02:00
Thibaut Girka
08dbe29e29 [Glitch] Improve load gap styling in web UI
Port 45c9f16f71 to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
fbc25bdd2d [Glitch] Do not crash in getStatusIds when there is a gap in the timeline
Port b1938d7853 to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
6020a21130 [Glitch] Fix LoadMore on account media gallery
Port 3523aa440b to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
4eba8c50c3 [Glitch] Allow clients to fetch notifications made while they were offline
Port cbf97c03bb to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
0ad3eedd4c [Glitch] Allow clients to fetch statuses made while they were offline
Port 9a1a55ce52 to glitch-soc
2018-05-29 21:25:28 +02:00
Thibaut Girka
8b98afa781 [Glitch] Replace onScrollToBottom with onLoadMore
Port b0664a5e6c to glitch-soc
2018-05-27 20:40:58 +02:00
Thibaut Girka
a81ed7b205 Do not needlessly refresh pinned toots
Port missing part of 6ae70a92c9 to glitch-soc
2018-05-27 20:40:58 +02:00
Thibaut Girka
60addb14ce [Glitch] Change icon for domain blocks
Port fa04945365 to glitch-soc
2018-05-27 20:40:58 +02:00
Thibaut Girka
b7508940b7 [Glitch] Add option to show only local toots in timeline preview
Port missing changes from 4e4f1b0dcb to glitch-soc
2018-05-27 20:39:25 +02:00
Thibaut Girka
1fa3586db5 [Glitch] Use streaming API for standalone timelines on /about and /tag pages
Port 0128b86d30 to glitch-soc
2018-05-27 20:39:25 +02:00
Thibaut Girka
d959d04133 Change direct message warning to match upstream 2018-05-27 15:46:00 +02:00
Thibaut Girka
d253449ff0 Port upstream's result section headers (fixes #366) 2018-05-27 11:02:44 +02:00
Thibaut Girka
18d9a7fd71 Fix caret position after inserting suggestions (fixes #281) 2018-05-26 12:17:03 +02:00
Thibaut Girka
d8793e1bee Remove unneeded code now that attachment URL isn't appended to toots 2018-05-26 12:17:03 +02:00
Thibaut Girka
4c91215e1f [Glitch] Use .star-icon instead of hardcoding color in detailed statuses
Port 2587fcdd27 to glitch-soc
2018-05-25 11:16:11 +02:00
Thibaut Girka
07baa1ddb5 [Glitch] Open video modal on public UI
Port d9b2f84c92 to glitch-soc
2018-05-17 18:37:00 +02:00
ThibG
80aad16e10
Merge pull request #405 from ThibG/glitch-soc/features/dm-from-menu
[Glitch] Feature: Direct message from menu
2018-05-16 20:17:08 +02:00
Thibaut Girka
784712791d [Glitch] Reword the direct message warning
Port 53c2164e9c to glitch-soc
2018-05-16 19:45:30 +02:00
Thibaut Girka
97c69de416 [Glitch] Feature: Direct message from Statuses
Port 904a2479dd to glitch-soc
2018-05-16 19:45:30 +02:00