about summary refs log tree commit diff
path: root/app/serializers/initial_state_serializer.rb
AgeCommit message (Collapse)Author
2022-12-15Fix punycoded local domains not being prettified in initial state (#21440)Matthías Páll Gissurarson
2022-11-05Fix n+1 queries when rendering initial state JSON (#19795)Eugen Rochko
2022-11-05Change sign-in banner to reflect disabled or moved account status (#19773)Claire
2022-10-24Change “Translate” button to only show up when a translation backend is ↵Claire
configured (#19434) * Change “Translate” button to only show up when a translation backend is configured Fixes #19346 * Add `translation` attribute to /api/v2/instance to expose whether the translation feature is enabled Fixes #19328
2022-10-12Redirect non-logged-in user to owner statuses on single user mode (#19333)Yamagishi Kazutoshi
2022-10-09Remove timeline preview link from nav panel when not signed-in (#19320)Yamagishi Kazutoshi
* Remove timeline preview link from nav panel when not signed-in * Always enable server stats
2022-10-05Add server banner to web app, add `GET /api/v2/instance` to REST API (#19294)Eugen Rochko
2022-09-29Add sign-up button to logged-out web UI (#19250)Eugen Rochko
2022-09-29Add logged-out access to the web UI (#18961)Eugen Rochko
2022-07-05Add customizable user roles (#18641)Eugen Rochko
* Add customizable user roles * Various fixes and improvements * Add migration for old settings and fix tootctl role management
2022-05-16Add language dropdown to compose in web UI (#18420)Eugen Rochko
2021-06-27Fix #16407 (#16432)David Sterry
2020-09-30Add option to disable swiping motions across the WebUI (#13885)ThibG
Fixes #13882
2020-06-09Add visibility parameter in share page (#13023)Takeshi Umeda
* Add visibility parameter in share page * Restrict to default privacy
2019-10-24Add setting for whether to crop images in unexpanded toots (#12126)Faye Duxovni
2019-08-16Fix blurhash and autoplay not working on public pages (#11585)Eugen Rochko
2019-08-13Add indicator of unread content to window title when web UI is out of focus ↵Eugen Rochko
(#11560) Fix #1288
2019-08-06Add trends UI with admin and user settings (#11502)Eugen Rochko
2019-07-16Add option to disable real-time updates in web UI (#9984)Eugen Rochko
Fix #9031 Fix #7913
2019-06-26Add option to disable blurhash previews (#11188)ThibG
* Add option to disable blurhash previews * Update option text * Change options order
2019-06-22Fix audio not being downloaded from remote servers (#11145)Eugen Rochko
2019-06-19Add audio uploads (#11123)Eugen Rochko
* Add audio uploads Fix #4827 Accept uploads of OGG, WAV, FLAC, OPUS and MP3 files, and converts them to OGG. Media attachments get a new `audio` type. In the UI, audio uploads are displayed identically to video uploads. * Improve code style
2019-05-25Add responsive panels to the single-column layout (#10820)Eugen Rochko
* Add responsive panels to the single-column layout * Fixes * Fix not being able to save the preference * Fix code style issues * Set max-height on the compose textarea and add a link to relationship manager
2019-04-21Configrationable repository url (#10600)Sho Kusano
* config: Add GITHUB_REPOSITORY for repository name * config: Add SOURCE_BASE_URL for repository url * Show source_url and repository name on getting started
2019-01-04Add quick links to the admin interface in the WebUI (#8545)ThibG
* Allow to show a specific status in the admin interface * Let the front-end know the current account is a moderator * Add admin links to status and account menus 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 * Use @statuses.first instead of @statuses[0]
2018-12-30If it is disabled, remove the link of the profile directory (#9665)Takeshi Umeda
2018-10-12Display customized mascot in web UI and fix admin form for it (#8964)Eugen Rochko
Follow-up to #8766
2018-09-25Add a new preference to always hide all media (#8569)ふぁぼ原
2018-09-24Add user preference to always expand toots marked with content warnings (#8762)Matt Sweetman
2018-07-14Display Mastodon version in footer of web UI (#8013)Eugen Rochko
Fix #7846
2018-06-15Add "find friends", "invite people", and more to getting started footer (#7803)Eugen Rochko
- Find friends from Twitter (bridge) - Invite people (when invites enabled) - Security (change e-mail/password) - Developers (create OAuth apps/tokens)
2018-05-11Add REST API for Web Push Notifications subscriptions (#7445)Eugen Rochko
- POST /api/v1/push/subscription - PUT /api/v1/push/subscription - DELETE /api/v1/push/subscription - New OAuth scope: "push" (required for the above methods)
2018-04-04retrieve custom emoji list via API instead of before page load (#7047)Isatis
2018-03-02When search enabled, display hint in search popout (#6593)Eugen Rochko
* When advanced search is enabled, show different hint in search popout * Change "getting started" icon in tabs bar from asterisk to hamburger
2018-02-09Add preference to always display sensitive media (#6448)Eugen Rochko
2017-11-07Hide disabled custom emojis from emoji picker and emoji auto suggestions. ↵kedama
(#5613) Make the same behavior as /api/v1/custom_emojis.
2017-10-16Add option to reduce motion (#5393)Nolan Lawson
* Add option to reduce motion * Use HOC to wrap all Motion calls * fix case-sensitive issue * Avoid updating too frequently * Get rid of unnecessary change to _simple_status.html.haml
2017-09-23Add custom emojis to the emoji picker (#5052)Eugen Rochko
2017-09-20Use file extensions in addition to MIME types for file picker (#5029)unarist
Currently we're using a list of MIME types for `accept` attribute on `input[type="file"]` for filter options of file picker, and actual file extensions will be infered by browsers. However, infered extensions may not include our expected items. For example, "image/jpeg" seems to be infered to only ".jfif" extension in Firefox. To ensure common file extensions are in the list, this PR adds file extensions in addition to MIME types. Also having items in both format is encouraged by HTML5 spec. https://www.w3.org/TR/html5/forms.html#file-upload-state-(type=file)
2017-09-20Change IDs to strings rather than numbers in API JSON output (#5019)aschmitz
* Fix JavaScript interface with long IDs Somewhat predictably, the JS interface handled IDs as numbers, which in JS are IEEE double-precision floats. This loses some precision when working with numbers as large as those generated by the new ID scheme, so we instead handle them here as strings. This is relatively simple, and doesn't appear to have caused any problems, but should definitely be tested more thoroughly than the built-in tests. Several days of use appear to support this working properly. BREAKING CHANGE: The major(!) change here is that IDs are now returned as strings by the REST endpoints, rather than as integers. In practice, relatively few changes were required to make the existing JS UI work with this change, but it will likely hit API clients pretty hard: it's an entirely different type to consume. (The one API client I tested, Tusky, handles this with no problems, however.) Twitter ran into this issue when introducing Snowflake IDs, and decided to instead introduce an `id_str` field in JSON responses. I have opted to *not* do that, and instead force all IDs to 64-bit integers represented by strings in one go. (I believe Twitter exacerbated their problem by rolling out the changes three times: once for statuses, once for DMs, and once for user IDs, as well as by leaving an integer ID value in JSON. As they said, "If you’re using the `id` field with JSON in a Javascript-related language, there is a very high likelihood that the integers will be silently munged by Javascript interpreters. In most cases, this will result in behavior such as being unable to load or delete a specific direct message, because the ID you're sending to the API is different than the actual identifier associated with the message." [1]) However, given that this is a significant change for API users, alternatives or a transition time may be appropriate. 1: https://blog.twitter.com/developer/en_us/a/2011/direct-messages-going-snowflake-on-sep-30-2011.html * Additional fixes for stringified IDs in JSON These should be the last two. These were identified using eslint to try to identify any plain casts to JavaScript numbers. (Some such casts are legitimate, but these were not.) Adding the following to .eslintrc.yml will identify casts to numbers: ~~~ no-restricted-syntax: - warn - selector: UnaryExpression[operator='+'] > :not(Literal) message: Avoid the use of unary + - selector: CallExpression[callee.name='Number'] message: Casting with Number() may coerce string IDs to numbers ~~~ The remaining three casts appear legitimate: two casts to array indices, one in a server to turn an environment variable into a number. * Back out RelationshipsController Change This was made to make a test a bit less flakey, but has nothing to do with this branch. * Change internal streaming payloads to stringified IDs as well Per https://github.com/tootsuite/mastodon/pull/5019#issuecomment-330736452 we need these changes to send deleted status IDs as strings, not integers.
2017-09-01Use system's default font on non web UI pages (#4553)Yamagishi Kazutoshi
* Use system's default font on non web UI pages * Remove import for Redirect
2017-08-14Add protocol handler. Handle follow intents (#4511)Eugen Rochko
* Add protocol handler. Handle follow intents * Add share intent * Improve code in intents controller * Adjust share form CSS
2017-07-18Add unfollow modal (optional) (#4246)Yamagishi Kazutoshi
* Add unfollow modal * unfollowing someone * remove unnecessary prop
2017-07-13Web Push Notifications (#3243)Sorin Davidoi
* feat: Register push subscription * feat: Notify when mentioned * feat: Boost, favourite, reply, follow, follow request * feat: Notification interaction * feat: Handle change of public key * feat: Unsubscribe if things go wrong * feat: Do not send normal notifications if push is enabled * feat: Focus client if open * refactor: Move push logic to WebPushSubscription * feat: Better title and body * feat: Localize messages * chore: Fix lint errors * feat: Settings * refactor: Lazy load * fix: Check if push settings exist * feat: Device-based preferences * refactor: Simplify logic * refactor: Pull request feedback * refactor: Pull request feedback * refactor: Create /api/web/push_subscriptions endpoint * feat: Spec PushSubscriptionController * refactor: WebPushSubscription => Web::PushSubscription * feat: Spec Web::PushSubscription * feat: Display first media attachment * feat: Support direction * fix: Stuff broken while rebasing * refactor: Integration with session activations * refactor: Cleanup * refactor: Simplify implementation * feat: Set VAPID keys via environment * chore: Comments * fix: Crash when no alerts * fix: Set VAPID keys in testing environment * fix: Follow link * feat: Notification actions * fix: Delete previous subscription * chore: Temporary logs * refactor: Move migration to a later date * fix: Fetch the correct session activation and misc bugs * refactor: Move migration to a later date * fix: Remove follow request (no notifications) * feat: Send administrator contact to push service * feat: Set time-to-live * fix: Do not show sensitive images * fix: Reducer crash in error handling * feat: Add badge * chore: Fix lint error * fix: Checkbox label overlap * fix: Check for payload support * fix: Rename action "type" (crash in latest Chrome) * feat: Action to expand notification * fix: Lint errors * fix: Unescape notification body * fix: Do not allow boosting if the status is hidden * feat: Add VAPID keys to the production sample environment * fix: Strip HTML tags from status * refactor: Better error messages * refactor: Handle browser not implementing the VAPID protocol (Samsung Internet) * fix: Error when target_status is nil * fix: Handle lack of image * fix: Delete reference to invalid subscriptions * feat: Better error handling * fix: Unescape HTML characters after tags are striped * refactor: Simpify code * fix: Modify to work with #4091 * Sort strings alphabetically * i18n: Updated Polish translation it annoys me that it's not fully localized :P * refactor: Use current_session in PushSubscriptionController * fix: Rebase mistake * fix: Set cacheName to mastodon * refactor: Pull request feedback * refactor: Remove logging statements * chore(yarn): Fix conflicts with master * chore(yarn): Copy latest from master * chore(yarn): Readd offline-plugin * refactor: Use save! and update! * refactor: Send notifications async * fix: Allow retry when push fails * fix: Save track for failed pushes * fix: Minify sw.js * fix: Remove account_id from fabricator
2017-07-11Redesign the landing page, mount public timeline on it (#4122)Eugen Rochko
* Redesign the landing page, mount public timeline on it * Adjust the standalone mounted component to the lacking of router * Adjust auth layout pages to new design * Fix tests * Standalone public timeline polling every 5 seconds * Remove now obsolete translations * Add responsive design for new landing page * Address reviews * Add floating clouds behind frontpage form * Use access token from public page when available * Fix mentions and hashtags links, cursor on status content in standalone mode * Add footer link to source code * Fix errors on pages that don't embed the component, use classnames * Fix tests * Change anonymous autoPlayGif default to false * When gif autoplay is disabled, hover to play * Add option to hide the timeline preview * Slightly improve alt layout * Add elephant friend to new frontpage * Display "back to mastodon" in place of "login" when logged in on frontpage * Change polling time to 3s
2017-07-10Add setting a always mark media as sensitive (#4136)Yamagishi Kazutoshi
2017-07-08Replace OEmbed and initial state Rabl templates with serializers (#4110)Eugen Rochko
* Replace OEmbed Rabl template with serializer * Replace initial state rabl with serializer