Commit graph

47 commits

Author SHA1 Message Date
Eugen Rochko
ef2af79a48 Replace sprockets/browserify with Webpack (#2617)
* Replace browserify with webpack

* Add react-intl-translations-manager

* Do not minify in development, add offline-plugin for ServiceWorker background cache updates

* Adjust tests and dependencies

* Fix production deployments

* Fix tests

* More optimizations

* Improve travis cache for npm stuff

* Re-run travis

* Add back support for custom.scss as before

* Remove offline-plugin and babili

* Fix issue with Immutable.List().unshift(...values) not working as expected

* Make travis load schema instead of running all migrations in sequence

* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />

* Add react definitions to places that use JSX

* Add Procfile.dev for running rails, webpack and streaming API at the same time
2017-05-03 02:04:16 +02:00
Eugen Rochko
553d6a1ea6 Fix #2402 - Add Idempotency-Key header to PostStatusService that prevents (#2419)
duplicates. Web UI regenerates UUID for that header every time the compose
form is changed or successfully submitted

Also, fix Farsi i18n overwriting the English one
2017-04-25 15:04:49 +02:00
Zac Anger
137be0dfc0 Return early from submit if no text. (#1962) 2017-04-17 20:30:38 +02:00
Rachel H
a6515aeea8 Convert emoji shortnames when sending status (#1666) 2017-04-13 16:03:45 +02:00
Eugen Rochko
e03f11e6a0 When replying to status with content warning, prefill content warning 2017-03-25 19:30:56 +01:00
Eugen Rochko
53ef83be1e Redesigned compose form 2017-03-25 19:14:12 +01:00
Eugen Rochko
b899b3def2 Fancier drag & drop indicator, emoji icon for emoji, upload progress (fix #295) 2017-03-24 03:55:45 +01:00
Eugen Rochko
6ded139be0 Fix #372 - Emoji picker 2017-03-02 00:57:55 +01:00
Eugen Rochko
4aa152f18f Fix typo 2017-03-01 01:57:48 +01:00
Eugen Rochko
a270f1c13e Revert infinite scroll in timelines back to looking at ID of oldest
loaded status; do not preload submitted statuses into community/public
timelines, unless those timelines have already been loaded; do not
close streaming API connections for community/public timelines, once
they have been established (most users navigate back to them eventually)
2017-03-01 01:43:29 +01:00
Eugen Rochko
c7427bf3c9 Split public timeline into "public timeline" which is local, and
"whole known network" which is what public timeline used to be

Only domain blocks with suspend severity will block PuSH subscriptions
Silenced accounts should not appear in conversations unless followed
2017-02-19 20:25:54 +01:00
Eugen Rochko
2cc31b3194 Adding POST /api/v1/reports API, and a UI for submitting reports 2017-02-14 20:59:26 +01:00
Eugen Rochko
0ba2b2d54e Fix wrong prediction of whether toot will apear on public timeline in UI 2017-02-07 00:40:35 +01:00
Eugen Rochko
b9ec5973eb Make profile header scroll along with contents. AccountTimeline, Followers and Following are no longer
nested inside a common parent (<Account>), instead they all embed <HeaderContainer />
2017-01-30 21:44:11 +01:00
Eugen Rochko
959e064186 Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text
Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" />
Clean up schema file from accidental development migrations
2017-01-25 01:29:16 +01:00
blackle
e25fc71c2c Implement a click-to-view spoiler system 2017-01-23 21:07:40 -05:00
Eugen Rochko
1d40662609 Hide unlisted toggle when private is active, hide nsfw toggle when no files added 2016-12-24 01:28:10 +01:00
Anthony Bellew
dfc95491f1 Re-add unlisted toggle to the UI 2016-12-24 01:28:02 +01:00
Eugen Rochko
4839ab3998 Compose form in the UI now has public/private toggle instead of public/unlisted 2016-12-23 00:38:16 +01:00
Eugen Rochko
d417da7d3a Private visibility on statuses prevents non-followers from seeing those
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
2016-12-21 20:04:13 +01:00
Eugen Rochko
d088b3cade Re-implemented autosuggestions component for the compose form
Fix #205, fix #156, fix #124
2016-12-14 18:21:31 +01:00
Eugen Rochko
303044f899 Downsize originals in media attachments, small fixes 2016-12-05 17:13:44 +01:00
Eugen Rochko
cc7e8339ac Fix rule 2016-12-04 18:34:30 +01:00
Eugen Rochko
9c379084a7 Fix mutating objects 2016-12-04 18:32:31 +01:00
Eugen Rochko
bae8aa876a Better responsiveness 2016-12-04 18:13:07 +01:00
Eugen Rochko
8d4ef0b6c3 Per-status control for unlisted mode, also federation for unlisted mode
Fix #233, fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
1c8ca7aed5 Adding content sensitivity toggle, spoilers for media 2016-11-23 18:53:23 +01:00
Eugen Rochko
524847e4e1 Switch to compose route when replying and compose is not mounted 2016-11-21 10:52:11 +01:00
Eugen Rochko
6206f75837 Add limit to search results 2016-11-12 14:49:28 +01:00
Eugen Rochko
cbfa28b9cc Use full-text search for autosuggestions 2016-11-12 14:36:10 +01:00
Eugen Rochko
db3322033f Aria-labels actually didn't work in React, so removing. Fixing some bugs 2016-11-03 19:52:09 +01:00
Eugen Rochko
6c4efc9cab Add own composed status to home without waiting for websocket event
This makes the UI appear less laggy. After all, the status *is* created
right there and then, it's the distribution to home timelines that can take
a while
2016-11-03 11:06:55 +01:00
Eugen Rochko
6448169447 Actually complete the autosuggestion feature 2016-10-30 18:21:38 +01:00
Eugen Rochko
b91faaebbb Basic username autocomplete for text area 2016-10-30 18:13:05 +01:00
Eugen Rochko
5bea337189 Move status components inside individual containers. We still need to select
all statuses/accounts to assemble, but at least lists don't have to be
re-rendered all the time now. Also add "mention" dropdown option
2016-10-24 18:08:23 +02:00
Eugen Rochko
9d7c7bd342 Improve how errors are displayed in the UI 2016-10-18 17:09:45 +02:00
Eugen Rochko
b9ace5a74c Add console.error to all axios failures 2016-10-18 00:42:04 +02:00
Eugen Rochko
4f9b7432dd Fix #52 - Add API versioning (v1) 2016-09-27 16:59:08 +02:00
Eugen Rochko
ee770c3fd3 Live update account timelines, small fix for replyCompose 2016-09-18 18:38:44 +02:00
Eugen Rochko
dafcb02153 Remove unused action constants 2016-09-18 13:45:39 +02:00
Eugen Rochko
d6a64f45fd Adding a notification stack for error messages 2016-09-12 19:20:55 +02:00
Eugen Rochko
499beb4484 UI for uploading media attachments (and cancelling them)
Mostly resolves #8, though attachments are still not displayed in public view
2016-09-07 18:21:57 +02:00
Eugen
265215dae9 Fix reply bug introduced when compose form started using normalized data 2016-09-05 22:43:34 +02:00
Eugen Rochko
05001d54d1 Make compose form also use normalized data 2016-09-05 16:56:43 +02:00
Eugen Rochko
595c8dda60 Favouriting works, reblogging is a little broken because of <Status> 2016-09-01 13:21:48 +02:00
Eugen Rochko
dbae8062f4 Replies in the compose form 2016-08-31 22:58:10 +02:00
Eugen Rochko
72591cc6d5 Cleaning up action names and compose drawer 2016-08-31 16:15:12 +02:00