Commit Graph

46 Commits

Author SHA1 Message Date
Nicolas Perriault
50ee7646fd
Fix #127: Avoid requesting relationships without providing ids. 2017-05-05 23:47:25 +02:00
Nicolas Perriault
fcfa767b91 Fix #29: Allow clearing notifications. (#137) 2017-05-05 23:36:16 +02:00
Nicolas Perriault
56ade98158 Fix #134: Paginate notifications. (#136) 2017-05-05 23:35:54 +02:00
Nicolas Perriault
102210aebb
Post #64: Fix erroneous account timeline update. 2017-05-05 19:34:44 +02:00
Nicolas Perriault
2b74533960 Fix #64: Handle paginations. (#131)
* Extract link header values.
* Expose response link header to a new type.
* Add tests for Mastodon.http.extractLinks.
* WiP
* Wrap decoded content and links into a new Response type.
* Update MastodonMsg handlers so they handle responses.
* Remove debug statements.
* Add edge case to tests.
* Add missing TODO comment.
* Simplifies Mastodon.Http signatures
* Paginate the user timeline.
* I lost my mind. May revert.
* Updated Http API to be more explicit.
* Fuck namespaces.
* Cosmetics.
* I'm burnt out, lost 10 pounds, but it works.
* Fix qs param for local tl was appended to link url.
* Fix my own mediocrity.
* Fix oauth endpoints.
* Fix Link header case handling with Firefox.
* Add test case for link header name case handling.
2017-05-05 17:26:49 +02:00
Vincent Jousse
9b8293554f Add scrollIntoView port (#129)
* Add scrollIntoView port

* Fix js formatting

* @n1k0's review
2017-05-04 08:31:58 +02:00
Vincent Jousse
bff92549a2 Use currentView to subscribe contextually to WS
Closes #74
2017-05-03 21:58:32 +02:00
Vincent Jousse
59c1050e10 Fix global/local timeline display bug
Closes #93
2017-05-03 21:27:19 +02:00
Nicolas Perriault
3b67a20909 Reflect status events in thread view. (#123) 2017-05-03 11:47:42 +02:00
Nicolas Perriault
edf64977f2
Fix #124: Reload page after successful OAuth registration. 2017-05-03 09:19:36 +02:00
Nicolas Perriault
1ad5dac7a1
Fix #108, fix #100, fix #98: Reflect status event in all timelines. 2017-05-02 19:46:02 +02:00
Nicolas Perriault
f064c5d8d6 Fix #118: Render a draft char counter. (#119) 2017-05-02 12:26:17 +02:00
Vincent Jousse
69f0cfdc54 Closes #44: Autocomplete usernames. (#107)
* Get @mention in model

* Add autocomplete logic

* Get accounts to autocomplete from the server

* Add autocomplete css

* Check if we should show menu on account search

* Add keyboard events

* Update status with completed username

* Trigger autocomplete when getting accounts back

* Highlight choices on hover

* Put focus on textarea after updating it

* Fix clear draft

* Hit the server only on non empty query

* Lazzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

* Add missing lazy

* Add keyboard subscriptions

* Add images and display name

* Better menu visibility handling

* Add lazy to notifications

* Js formatting.

* Improve styles.

* Add unique keys to costly lists.

* Fix tests.

* Coding style nits.

* Use the encodeUrl helper in ApiUrl.

* Nanonit.

* Improve autocomplete box styling.

* CamelCase draft record

* Move all autocomplete stuff to Draft

* Send status to ports with the reply prefix.

* Clear draft after posting a status.

* Move ports setStatus call to a dedicated Command helper.

* Naming.

* Fix navigation with arrow keys in textarea

* Always autoselect the first item of the menu
2017-05-01 22:10:34 +02:00
Nicolas Perriault
5da0c77551
it works™. 2017-04-30 12:15:33 +02:00
Nicolas Perriault
3530f3c79d
NotificationFilter type. 2017-04-30 11:46:51 +02:00
Nicolas Perriault
8bb9adb307
Add more scroll events when navigating timelines. 2017-04-30 11:08:30 +02:00
Nicolas Perriault
059b2726e6 Fix #49: Denote account relationships, follow & unfollow actions. (#105)
* Check relationships.
* Follow & unfollow actions.
* Don't display follow button to ourselves.
* Profile view follow button.
* Added follow/unfollow button to viewed account profile.
2017-04-29 22:48:55 +02:00
Nicolas Perriault
57f7f0cc7c Fix #81: Account followers and followings (#104) 2017-04-29 18:05:06 +02:00
Nicolas Perriault
017f07d45d Improve reply prefix computation. (#103) 2017-04-29 11:57:26 +02:00
Nicolas Perriault
44f8caa1ea Fix #97: Allow deleting a toot. (#102) 2017-04-29 09:20:26 +02:00
Nicolas Perriault
d32f12bf20 Slice timelines to 100 entries max. (#90) 2017-04-28 20:09:19 +02:00
Nicolas Perriault
56932df177 Fix #85 : Add a link to column headings for scrolling to top. (#88)
gg @nicosomb
2017-04-28 14:06:00 +02:00
Nicolas Perriault
fc08b5c6a9 Exclude current user from draft reply mentions. (#86)
* Exclude current user from draft reply mentions.
* @nicosomb review.
2017-04-28 11:21:54 +02:00
Nicolas Perriault
5fbfe8e7cb
Fix #80: Include all mentions in draft replies. 2017-04-28 09:03:50 +02:00
Nicolas Perriault
75aa841ceb Fix #26: Load account timeline. (#77) 2017-04-27 22:01:51 +02:00
Nicolas Perriault
e77dca0692
Fix #76: Update current view when using timeline option. 2017-04-27 19:48:35 +02:00
Nicolas Perriault
0ad2b59c32 Fix #65: Add a thread view. (#73)
* Add Mastodon.Http.context.
* Added thread events.
* Fix a few server endpoint urls.
* Added thread views.
2017-04-27 18:39:14 +02:00
Nicolas Perriault
f5b41aa155 Modularize the Mastodon package. (#70) 2017-04-27 16:34:27 +02:00
Nicolas Perriault
2de53bd103 Handle WebSocket "delete" events. (#69)
* Handle WS delete events.
* Factor ws msg handlers to their own updater.
2017-04-27 08:11:24 +02:00
Vincent Jousse
00ffcecf1d Add websocket for local and global timeline (#66)
* Connect to the websocket API

* Enable user timeline update through websockets

* Update elm-html-parser to latest

* Listem to local and global timelines

* Subscribe to global timeline only if it's displayed

* Some review changes

* Add elm-test and test notification aggregates

* Add new follow notification

* Fex addNotificationToAggregates

* Add test

* Clarify logic

* Update local and global timelines using WS

I've renamed the "public" timeline to "global", and removed the HTTP
reload of the user timeline when posting a Toot. We only rely on
websockets now.
2017-04-25 23:33:37 +02:00
Nicolas Perriault
1af985130f Move mastodon server messages to their own type. (#63) 2017-04-25 20:37:44 +02:00
Nicolas Perriault
299a0236dc Fix #57: Reply preserving initial status properties. (#62)
Preserve visibility, sensitivity and spoiler text in replies.
2017-04-25 18:45:11 +02:00
Nicolas Perriault
a2e4014b56
Add error logging to WS errors. 2017-04-25 17:27:21 +02:00
Vincent Jousse
583ee2def2 Connect to the websocket API (#35) 2017-04-25 16:27:15 +02:00
Nicolas Perriault
5f457f009a Fix #43: Sanitize server url. (#47)
* Sanitize server url.
* Prettify auth page.
2017-04-25 10:13:00 +02:00
Nicolas Perriault
b5fa55f49d Fix #45: Add a media viewer. (#46) 2017-04-24 21:21:43 +02:00
Jérémy Benoist
7e2896dcf0 Use project url instead of instance url (#41) 2017-04-24 12:02:23 +02:00
Nicolas Perriault
6b75c90ef6 Aggregate notifications. (#37) 2017-04-23 21:49:04 +02:00
Nicolas Perriault
225a95a637 WiP: Add status action buttons. (#32)
* Add status action buttons.
* Handle favorite actions.
* Handle reblog actions.
* Optimistic updates for reblogs.
2017-04-23 10:18:47 +02:00
Nicolas Perriault
82ada5ede8
Add a button to close the account view. 2017-04-22 17:03:35 +02:00
Nicolas Perriault
440806fa80 Fix #23: Render user mentions in the second column. (#31)
* Render user mentions in the second column.
* Add a timeline type toggler.
2017-04-22 16:39:19 +02:00
Vincent Jousse
201c6f48ce WIP: Display user account (#13)
* Display user account information in console

* Review's modifications

* Load user on mention click

* Display account information

* Reviews

* Undo messy refactoring

* Remove unused function
2017-04-22 10:16:14 +02:00
Nicolas Perriault
9b1520ffbc Handle post visibility. (#14) 2017-04-21 14:03:39 +02:00
Nicolas Perriault
aa91182ff6 Allow posting messages (#7) 2017-04-20 20:30:19 +02:00
Jérémy Benoist
1c8559e4ad Add application link to client name (#9)
When you publish a toot the client name is associated to the toot.
By defining the `website` parameter in Mastodon model, it is automatically associated.
2017-04-20 19:12:23 +02:00
Vincent Jousse
556fab7daa Put Elm files into src/ and assets into public/ (#4) 2017-04-20 14:38:52 +02:00