Commit Graph

296 Commits

Author SHA1 Message Date
Thibaut Girka
1e656c3632 [Glitch] Fix “load more” button when no data has been fetched 2018-12-13 15:00:36 +01:00
Thibaut Girka
73ee38f485 [Glitch] Do not display empty message when the list is known to have more elements 2018-12-13 15:00:36 +01:00
Thibaut Girka
39696024ca Minor cleanup in ScrollableList component 2018-12-13 15:00:36 +01:00
Thibaut Girka
7e63fb26e0 Do not hardcode preferences link, pleroma doesn't have it 2018-11-28 22:36:01 +01:00
Thibaut Girka
922d05864f Add error boundary component to catch Web UI crashes 2018-11-28 22:36:01 +01:00
Thibaut Girka
0d3612482e Render placeholder instead of image when MediaGallery container width isn't known 2018-11-25 11:29:56 +01:00
Thibaut Girka
b3ff35a75c Move URLs to backend in their own file 2018-11-19 15:56:38 +01:00
Thibaut Girka
86527024aa In detailed status view, take displayMedia setting into account when changing media
Fixes #819
2018-11-15 16:38:50 +01:00
Thibaut Girka
2fe0cb1623 [Glitch] Prepend account header even when status list is empty
Partially port 90b64c0069
2018-11-13 15:54:04 +01:00
Thibaut Girka
5ebbaffaa3 [Glitch] Use local instead of global loading indicator for timelines, account timelines
Port dd00cd19d2 to glitch-soc
2018-11-13 15:54:04 +01:00
Thibaut Girka
7e18e95716 Add a local setting for inline preview cards 2018-10-30 17:51:06 +01:00
Thibaut Girka
bdc2338833 Add a “link” status icon for toots with a preview card 2018-10-30 17:51:06 +01:00
Thibaut Girka
ac9780b844 [Glitch] Include preview cards in status entity in REST API
Port 795f0107d2 to glitch-soc
2018-10-30 17:51:06 +01:00
Thibaut Girka
0c7f710be1 [Glitch] Surround mid-text display names with bdi tags
Port 7861c5f108 to glitch-soc
2018-10-22 18:57:20 +02:00
Thibaut Girka
dfa5b0576f Update mediaGallery component's width when opening CWs 2018-10-21 16:09:07 +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
a9e8f98a9d Make hidden media clickable in account media gallery 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
Thibaut Girka
925c185ef9 Prevent clicks on video from initiating selections 2018-09-21 12:56:13 +02:00
Thibaut Girka
c3ab2973c5 Improve keyboard VS mouse navigation of dropdown menus 2018-09-13 20:32:08 +02:00
Thibaut Girka
5ff733b614 Only focus first item of dropdown if it was opened via keyboard 2018-09-13 20:32:08 +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
8622dccaf1 Disable focus points for letterboxed media 2018-09-04 13:31:55 +02:00
Thibaut Girka
be644e3b7c Media gallery styling closer to upstream's 2018-09-04 13:31:55 +02:00
Thibaut Girka
8183d2ed55 [Glitch] Do not override ctrl/cmd+click in media gallery 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
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
087dcf720e [Glitch] Fix off-by-one error in aria-posinset
Port 885711afb9 to glitch-soc
2018-08-31 19:49:29 +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
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
4a9e3f80e8 [Glitch] Add CSS class to replies
Port 2bbec9f4da to glitch-soc
2018-08-28 19:52:47 +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
fce248810b [Glitch] Update state when opened dropdown is unmounted
Port dcd3544d153dd2a3961bd0d2214ed01a902a66da to glitch-soc
2018-08-23 22:58:14 +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
87ad942d76 [Glitch] Display replies count in web UI
Port 4df9cabb22 to glitch-soc
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
acb3d5b7aa Don't prevent opening links in tabs with keyboard modifiers
Ctrl+click usually allows opening a link in a new tab. This
was prevented for hashtag or user links in toots.
2018-08-11 15:29:08 +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
d894cdc93f Port profile redesign to glitch-soc
Port bb71538bb5 to glitch-soc
2018-08-01 00:18:42 +02:00
Thibaut Girka
5d060cb6e4 Allow modals to be closed by pressing “back” 2018-07-30 14:32:02 +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
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
Thibaut Girka
33c1607c83 [Glitch] Fix Chrome issue with sizes="0px" 2018-07-10 10:53:36 +02:00
Thibaut Girka
a01faecfcb [Glitch] Add redraft function
Port bd0791d800 to glitch-soc
2018-06-16 15:09:28 +02: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
David Yip
cfdbb36bdf
Merge pull request #519 from ThibG/glitch-soc/fixes/status-node-null
Prevent a rare crash when a status' root node is undefined
2018-06-02 16:19:06 -05:00
David Yip
9ad5de8a3a
Merge pull request #501 from ThibG/glitch-soc/features/red-bookmarks
Make active bookmarks red (fixes #493)
2018-06-01 00:36:48 -05:00
Spencer Alves
e5f25a73f2 Adjust spacing between status icons 2018-05-31 21:55:44 -07:00
Spencer Alves
7d2e6429c2 Merge branch 'glitch' into thread-icon 2018-05-31 21:33:16 -07: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
893f2aff20 Prevent a rare crash when a status' root node is undefined 2018-05-31 14:38:29 +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
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
d0b2f71501 Fix width only being set for standalone media 2018-05-21 18:25:41 +02:00
Thibaut Girka
3ad3cee44c [Glitch] Use real container width in MediaGallery srcSet
Port 22e067bf5c to glitch-soc
2018-05-21 17:55:07 +02:00
Thibaut Girka
9d6788b30b Prevent click on video from opening detailed toot 2018-05-18 17:49:51 +02:00
Thibaut Girka
2154bd1b5a Widen clickable area of toots 2018-05-18 17:33:58 +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
Thibaut Girka
97c69de416 [Glitch] Feature: Direct message from Statuses
Port 904a2479dd to glitch-soc
2018-05-16 19:45:30 +02:00
Thibaut Girka
769a48495c Fix root modal's keyup handling (Fixes #478) 2018-05-11 22:42:32 +02:00
Spencer Alves
f2ff167c1a Add an extra icon to indicate that a status is part of a conversation 2018-05-07 22:10:34 -07:00
Thibaut Girka
658ac4396c Hide media in report modal regardless of whether they are marked sensitive
The rationale behind this is that if the user wants to report violent media,
they might not want to see it repeatedly. The “sensitive” property is still
kept, displaying different messages for hidden media depending on whether
they are marked as sensitive.
2018-05-07 15:00:55 +02:00
Thibaut Girka
de7feea30e Revert "[Glitch] Prevent timeline from moving when cursor is hovering over it"
This reverts commit 553cc28240.
2018-05-06 21:50:33 +02:00
Thibaut Girka
4133f70902 Revert "[Glitch] Do not re-position scroll when loading more (inserting items from below)"
This reverts commit 32974a58dc.
2018-05-06 21:50:26 +02:00
beatrix
331190e5fb
Merge pull request #462 from ThibG/glitch-soc/features/dropdowns-accessibility
Improve accessibility of toot dropdown menu
2018-05-06 12:12:20 -04:00
Thibaut Girka
32974a58dc [Glitch] Do not re-position scroll when loading more (inserting items from below)
Port 8c601b54cc to glitch-soc
2018-05-05 17:18:55 +02:00
Thibaut Girka
553cc28240 [Glitch] Prevent timeline from moving when cursor is hovering over it
Port 58852695c8 to glitch-soc
2018-05-05 17:18:25 +02:00
Thibaut Girka
cee157fc19 Improve accessibility of toot dropdown menu
* Prevent Enter keypresses from triggering dropdown display toggle twice
* Give focus to first/selected item of dropdown menus
* Implement keyboard navigation in generic dropdown menus

Partial port from ef7d64c801 to glitch-soc
2018-05-05 17:11:48 +02:00
Thibaut Girka
70a16d8858 [Glitch] Improve relative timestamps in web UI
Port 660cb058e1 to glitch-soc flavour
2018-05-02 13:45:40 +02:00
Thibaut Girka
1222e0a381 Use new getDerivedStateFromProps instead of deprecated componentWillReceiveProps
As we are already using the new getSnapshotBeforeUpdate lifecycle method,
we apparently cannot use the deprecated ones at all in this component.
2018-04-27 01:24:55 +02:00
Thibaut Girka
b39f3648a7 Tentative fix for #446 2018-04-27 00:59:36 +02:00
beatrix
f4ed38272b
Merge pull request #401 from ThibG/glitch-soc/features/unfold-thread
Port the “unfold thread” feature from Mastodon's UI to glitch-soc flavour
2018-04-26 11:34:14 -04:00
Thibaut Girka
003d114332 [Glitch] Fix the hot key (j, k) does not function correctly when there is a pinned toot in account timeline.
Port 23106844a1 to glitch-soc
2018-04-22 23:11:16 +02:00
Thibaut Girka
64d8d0464d Add show more/less toggle for entire threads in web UI
Inspired from b6003afcdb but using component
properties instead of redux store for hidden/revealed state.
2018-04-22 19:19:01 +02:00
Thibaut Girka
2888f74c12 Refactor the infamous three-valued boolean into two booleans, trying to simplify the logic 2018-04-22 19:18:15 +02:00
Thibaut Girka
63d671b18f [Glitch] Fix button hiding when header title is too long
Port ffb2b8ef8c to glitch-soc
2018-04-22 19:17:10 +02:00
Thibaut Girka
abf7c5b850 [Glitch] Fix column headers accessibility
Port 08e4c78e78 to glitch-soc.

SCSS fix inspired by 69f13e7bca.
2018-04-22 19:17:10 +02:00
beatrix
06fc278e4c
Merge pull request #432 from ThibG/glitch-soc/features/reblog-private
Glitchsoc-specific changes to allow boosting own private toots
2018-04-22 12:32:58 -04:00
beatrix
125e8c7f5a
Merge pull request #427 from ThibG/glitch-soc/fixes/scroll-behavior
Improve ScrollableList behavior
2018-04-22 12:09:52 -04:00
beatrix
e88ce27855
Merge pull request #435 from ThibG/glitch-soc/features/public-modals
[Glitch] Show media modal on public pages
2018-04-22 12:07:29 -04:00
Thibaut Girka
7a68079b3f [Glitch] Show media modal on public pages
Port ff7941e652 to glitch-soc
2018-04-20 15:58:36 +02:00
Thibaut Girka
694337d9bb Fix auto-collapsed toots making the TL jump (fixes #417) 2018-04-19 11:30:42 +02:00
Thibaut Girka
931a4d1ebf Clean up dead code 2018-04-19 11:30:42 +02:00
Thibaut Girka
8f8b71a278 Use React's new lifecycles for scrollable lists 2018-04-19 11:29:37 +02:00
Thibaut Girka
3068384dbc Glitchsoc-specific changes to allow boosting own private toots 2018-04-19 11:24:29 +02:00
Thibaut Girka
779aa707ec Only compute height dynamically for standalone media
This prevents changing the status' height and triggering jumps in the TL
2018-04-19 11:16:18 +02:00
Thibaut Girka
dcc1c10937 [Glitch] Center thumbnails on focus point
Port the display part of the following commits to glitch-soc:
* 90f12f2e5a
* b170627ceb
* 11697d6894
* 56eb5c3f34
2018-04-19 11:16:18 +02:00
Thibaut Girka
f1e25b672a Use javascript to set MediaGallery height automatically 2018-04-19 11:16:18 +02:00
Thibaut Girka
a95f8271be Revert some glitch-specific refactoring
In order to keep my sanity when porting changes between glitch-soc and upstream.
2018-04-19 11:16:18 +02:00
Thibaut Girka
5d96c5ac41 [Glitch] Responsively enforce 16:9 ratio on video thumbnails in web UI
Port the video-player part of 036dd98abb to
glitch-soc. MediaGallery part ignored since it has diverged quite a bit.

This fixes #423
2018-04-14 17:35:45 +02:00
Thibaut Girka
c5dd4ed1d5 [Glitch] Fix media button type
Port ecdac9017e to glitch-soc
2018-04-14 12:30:55 +02:00
Thibaut Girka
dfe8abb8cd [Glitch] Handle preference to always display sensitive media
Port the UI part of 76f3d5d16b to glitch-soc
2018-04-14 12:27:14 +02:00
David Yip
b7804028c2
Merge pull request #419 from ThibG/glitch-soc/features/bookmarks
Bookmarks
2018-04-13 16:38:15 -05:00
Thibaut Girka
acb434b0c9 Add glitch-soc front-end support for bookmarks
Unlike boosts and like, there is no confirmation dialog as misclicking
can be recovered without another user seeing it.
2018-04-11 21:05:34 +02:00
Thibaut Girka
87071d9e81 [Glitch] Improved media modal
Port 4e929b2d17 to glitch-soc
2018-04-08 23:15:25 +02:00
Thibaut Girka
75f2e9fd97 Remove duplicate message entries 2018-04-04 12:19:00 +02:00
beatrix
3304cb681d
Merge pull request #380 from ThibG/glitch-soc/features/domain-block-ui
Port #6628 to glitch-soc flavour
2018-03-30 14:50:02 -04:00
Thibaut Girka
48bcf4d6e8 [Glitch] Remove pointer events on the entire UI when a dropdown menu is open
Port 913a38111f to glitch-soc
2018-03-30 12:45:23 +02:00
Thibaut Girka
2871a82fcc [Glitch] Place dropdown menu top if it is closer to the bottom of the viewport
Port f6a8d835d3 to glitch-soc
2018-03-30 12:31:29 +02:00
Thibaut Girka
afa813d71f Add basic domain block UI 2018-03-30 10:07:33 +02:00
Thibaut Girka
b5948044b3 [Glitch] Display unfollow button even if account moved
Backport 3987bd18a4 to glitch-soc
2018-03-29 14:59:20 +02:00
David Yip
4e45954280
Merge pull request #402 from ThibG/glitch-soc/fixes/accept-empty-toot-contents
Render toots with empty contents
2018-03-28 16:39:12 -05:00
Thibaut Girka
7db431eac6 Fix attachment lists 2018-03-28 22:19:36 +02:00
Thibaut Girka
53eab4470d Render toots with empty contents
This is necessary to display toots with media but otherwise no contents,
as glitch-soc displays the media as a child of StatusContent, unlike
Mastodon.
2018-03-28 21:13:45 +02:00
Thibaut Girka
88790b91de [Glitch] Display AttachmentList in notifications
Port 77406d3a09 to glitch-soc
2018-03-27 16:09:33 +02:00
Thibaut Girka
3bc5452449 [Glitch] Display AttachmentList in timelines in compact style when media missing
Port 86a9de6753 to glitch-soc
2018-03-27 16:09:27 +02:00
Ash Levy
58eeb92755 expanded notifications show like default 2018-03-22 10:20:36 -04:00
David Yip
c074b226b6
Merge pull request #394 from ashkitten/compressed-notifs
fix compressed notifications again (#393)
2018-03-19 15:41:09 -05:00
David Yip
a387f99659
Merge pull request #388 from ThibG/glitch-soc/federated-pinned-toots
Port WebUI toots/with reply/media tabs and pinned toots to glitch
2018-03-18 20:17:15 -05:00
Ash Levy
c68c1466ac fix compressed notifications again (#393) 2018-03-18 13:42:28 -04:00
Thibaut Girka
6f0e50f9a0 [Glitch] Federate pinned statuses over ActivityPub
Port 9110db41c5 to glitch
2018-03-16 23:16:20 +01:00
David Yip
a3c86d8cb9
Merge pull request #386 from ashkitten/compressed-notifs
compress boost/fave notifications more
2018-03-16 16:35:15 -05:00
Ash Levy
9317f6853e compress boost/fave notifications more 2018-03-13 13:54:57 -04:00
Thibaut Girka
841ef606a9 Remove text requirement when media attached from statuses (fixes #381)
Ports cfa9b6e13a to glitchsoc
2018-03-12 18:39:07 +01:00
Thibaut Girka
fb6f131fa1 Revert 245816ab27 (fixes #348)
Since 245816ab27, IntersectionObserverArticle
assumes that its children do not change unless the number of children changes.

This is not the case with the notification overlay, which resulted in the
checkmark of notification cleaning mode not updating unless scrolling to make
notifications appear/disappear.

This change may negatively impact performances.
2018-02-10 20:59:50 +01:00
Thibaut Girka
2107891edb Remove some leftover code, I guess 2018-01-23 09:20:18 +01:00
David Yip
bcd86404da
Port 7badad7797 to glitch frontend 2018-01-18 10:25:37 -06:00
David Yip
708ec07e27
Style fixes to make eslint happier, hopefully 2018-01-18 09:13:07 -06:00
kibi!
a5931e1f48 Fixed autocollapse detection 2018-01-14 13:29:51 -08:00
cwm
8a0e4bb9a4 Hide moved account's follow button in search result (tootsuite pr #5913) 2018-01-09 08:50:55 -06:00
kibigo!
60433d03f5 Add missing comma 2018-01-08 18:38:28 -08:00
kibigo!
5d2ef7a616 Show SENSITIVE tag on sensitive images (#267) 2018-01-08 18:25:29 -08:00
kibigo!
6932b464e6 Fixed improper dropdown func binding for #293 + toot button spacing 2018-01-05 21:02:53 -08:00
kibigo!
ad10a80a99 Styling and autosuggest fixes for #293 2018-01-05 20:43:16 -08:00
kibigo!
42f50049ff WIP <Compose> Refactor; 1000 tiny edits 2018-01-04 18:33:13 -08:00
kibigo!
b4a3792201 WIP <Compose> Refactor; <ActionsModal>; dropdowns 2018-01-04 18:31:00 -08:00
kibigo!
083170bec7 WIP <Compose> Refactor; SCSS ed. 2018-01-04 18:23:46 -08:00
kibigo!
924ffe81d4 WIPgit status <Compose> Refactor; <Composer> ed. 2018-01-04 18:21:59 -08:00
cwm
832a93e67c Fix GIF avatars not autoplaying (fixes #287, tootsuite pr #6000) 2017-12-28 08:30:51 -06:00
cwm
083571915f onMuteNotifications validation (tootsuite pr #6092) 2017-12-26 13:25:43 -06:00
cwm
2bbd22e91c Rename settingKey to settingPath (tootsuite pr #6046 & #6098) 2017-12-26 13:21:20 -06:00
cwm
072ab191cc pulled master, moved locale entry to new location 2017-12-10 15:22:15 -06:00
cwm
22cdbca82c fixes, functioning now 2017-12-09 12:06:00 -06:00
cwm
abe95b614b add initial components based off of tootsuite pr #1507 2017-12-09 10:26:22 -06:00
cwm
02d71c6a11 fix a missing semicolon and mixed tabs/spaces that travis was complaining about 2017-12-08 21:09:53 -06:00
cwm
4a5401a58e merge tootsuite prs #5895 and #5889 into glitch flavour 2017-12-08 20:50:39 -06:00
David Yip
133f5b3b53
Apply Javascript changes in tootsuite/mastodon#5887 to glitch flavour (#239) 2017-12-06 18:23:28 -06:00
David Yip
d9800a5647
Merge branch 'gs-master' into glitch-theme 2017-12-04 11:07:01 -06:00
kibigo!
bc4fa6b198 Rename themes -> flavours ? ? 2017-12-03 23:26:40 -08:00