Commit Graph

2424 Commits (13bb1ddc7f5f5e3a7fc57396427c750f40d80603)

Author SHA1 Message Date
Sorin Davidoi ebf5a06084 fix(column): Use passive wheel listener (#4348)
* chore(yarn): Install detect-passive-events

* fix(column): Use passive listener
8 years ago
Sorin Davidoi 23e854cb91 fix(components/bundle): Exit early in load function (#4349) 8 years ago
Sorin Davidoi de105d64d5 fix(getting_started): No scrollbar if not needed (#4350) 8 years ago
Eugen Rochko 07d93716aa Improve remote profile disclaimer (#4342)
* Improve remote profile disclaimer

* yarn run manage:translations
8 years ago
Sorin Davidoi 32fa312b2a fix(compose_from): Do not autofocus on mobile (#4344) 8 years ago
Eugen Rochko 1306d637a2 Fix oddities with public profile CSS (#4341)
* Fix oddities with public profile CSS

* Remove trailing whitespace
8 years ago
Eugen Rochko 029f2c4545 Redesign /terms page (#4338)
* Redesign /terms page

* Fix tests

* Remove unused keys
8 years ago
Lynx Kotoura b3e7beb7c5 Perfectly center mastodon logo on mobile landing page (#4339)
Setting only padding-left made the logo left-shifted on mobile page. Margin-right was old setting for adjusting clearance between old logo and letter "Mastodon".
8 years ago
Eugen Rochko 467456f7a1 Move clean up of unconfirmed users to sidekiq-scheduler (#4336)
* Move clean up of unconfirmed users to sidekiq-scheduler

* mastodon:daily is now deprecated
8 years ago
Eugen Rochko 2374d63536 Redesign extended information page (#4322)
* Redesign extended information page

* Remove unused keys

* Add $ui-base-lighter-color variable to SCSS
8 years ago
Yamagishi Kazutoshi 117eb3b2bc Change defaultMessage for spoiler placeholder (#4329) 8 years ago
sdukhovni 06d905f415 Allow domain blocks that only reject media without silencing or suspending (#4325)
* Allow domain blocks to reject media without silencing or suspending

* Fix typo

* Hide 'Reject media' button when superfluous, instead of disabling it

* Properly hide 'reject media' checkbox on page load if needed

This may happen when resubmitting the domain block form after an error.

* Don't ask whether undoing a media-only block should be retroactive

* Rename :media_only block to :noop

* Display :noop block as None in frontend, allow blocks that do nothing

* Remove 'coding' line auto-added by emacs
8 years ago
Andrew Zyabin 0ad41be0f3 Update Russian translation for #4313 (#4334) 8 years ago
Yamagishi Kazutoshi 1e665a0bf4 Add space to toot paragraph in landing page (#4331) 8 years ago
m4sk1n 4b4ea1f929 i18n: Update Polish translation (#4327)
* i18n: Update Polish translation

* i18n: Update Polish translation
8 years ago
Sorin Davidoi 9075c90c46 feat: Enable push subscription for mobile devices by default (#4321) 8 years ago
Yamagishi Kazutoshi 63a2566007 Fix manifest description (regression from #4122) (#4324) 8 years ago
Yamagishi Kazutoshi 43cad817e8 Update Japanese translations for #4313 and #4315 (#4323)
* Update Japanese translations for #4313

* Update Japanese translations for #4315
8 years ago
Eugen Rochko ed4c754fff Add background to media modal (#4317) 8 years ago
Eugen Rochko 1e0c7a0afc Add loading indicator animation (#4316) 8 years ago
Eugen Rochko 3a3b556065 Improve noscript message and style (#4315) 8 years ago
Sylvhem 9244f6b628 Change "Content Warning" to "Write your warning here" (#4313)
Change the placeholder used in the content warning field from "Content Warning" to "Write your warning here". This change should made it easier to understand what the field is about.

Change le message de substitution utilisé dans le champ d’avertissement de « Avertissement » à « Écrivez ici votre avertissement ». Ce changement devrait rendre plus évidente la fonction du champ.
8 years ago
Sorin Davidoi ff26b72333 fix(getting_started): Scroll on mobile (#4312) 8 years ago
m4sk1n 6803935c4d i18n: Update Polish translation (#4311) 8 years ago
Sorin Davidoi 3757546f1b fix(columns_area): Show correct title for preview columns (#4310) 8 years ago
Quent-in a677ac8384 i10n Update for Occitan (#4301)
* Update to translate new strings

* Update

* Update

* Indend added

* Update oc.yml
8 years ago
Yamagishi Kazutoshi 4d661e1183 Change logo.png to logo.svg for web UI (#4307) 8 years ago
Eugen Rochko 0e0f18ce7c New logo (#4306)
* Add new logo

* Remove unused images
8 years ago
Eugen Rochko 7964bfccdb Add rake task mastodon:feeds:build to regenerate all active users' feeds (#4303) 8 years ago
Eugen Rochko 3c515f2cd2 Run yarn run manage:translations and i18n-tasks normalize (#4302) 8 years ago
Ondřej Hruška db73ac92d7 Changed landing page cloud animation to be more relaxed and smoother (#4304) 8 years ago
Damien Erambert 4cd82d442e Update French locales (settings, ToS, & co) (#4261)
* add fr-FR locales to the landing page

* moar french locales

* terms of service/privacy policy

* remove un-used locales in the client (yarn manage:translations)

* update french locales in the client

* remove duplicate locales in fr.yml

* fix typos per PR comments in fr.yml

* put back default messages

* translate untranslated keys on the client

* add "push" after notifications

* correctly ident ToS in fr.yml
8 years ago
Eugen Rochko 311871eefc Turn clouds on landing page into SVGs, use SCSS variables to color them (#4299) 8 years ago
Eugen Rochko a929f7e6ac Fix #4172 - Mutes now block notifications (#4300) 8 years ago
Sorin Davidoi 3817704806 feat(compose): Change media query for compact mode to max-height: 400px (#4291) 8 years ago
Yamagishi Kazutoshi f2390e2803 Dynamicaly change avatar and header bg from account setting (#4289) 8 years ago
Eugen Rochko 7bf7ed6123 Fix #3220 - Show avatar/header on edit profile page (#4288) 8 years ago
Eugen Rochko a390abdefb Use the same emoji data on the frontend and backend (#4284)
* Use the same emoji data on the frontend and backend

* Move emoji.json to repository, add tests

This way you don't need to install node dependencies if you only
want to run Ruby code
8 years ago
Sorin Davidoi c1bc5e14eb feat(compose): More space on mobile devices (#4282)
* feat(compose): More space on mobile devices

* feat(compose): Hide navigation when typing on mobile devices

* fix(compose): Make animation faster

* fix(navigation_bar): Remove hardcoded title

* fix(compose): Prevent accidental bluring

* fix(compose): Increase max-height to 600px
8 years ago
Eugen Rochko 4b911fea03 Add button to re-subscribe to all accounts from a domain (#4285) 8 years ago
Eugen Rochko 1fcdaafa6f Fix webfinger retries (#4275)
* Do not raise unretryable exceptions in ResolveRemoteAccountService

* Removed fatal exceptions from ResolveRemoteAccountService

Exceptions that cannot be retried should not be raised. New exception
class for those that can be retried (Mastodon::UnexpectedResponseError)
8 years ago
Sorin Davidoi f24b81e27f feat(css): Remove border radius from WebKit's scrollbars (#4278) 8 years ago
Sorin Davidoi e01966f7b8 fix(status_list): Update scroll position after toots are appended (#4277) 8 years ago
Sorin Davidoi dcb9497148 fix(push_subscription): Guard against malformed favourite notification (#4271) 8 years ago
unarist 4f2513337f Update scroll top state on column mounting (#4276) 8 years ago
Sorin Davidoi 015269914e fix: Handle errors without response (#4274) 8 years ago
Eugen Rochko bbdcfd6baf Add ActivityPub attributes to accounts (#4273) 8 years ago
Akihiko Odaki f0d6550f16 Fix logging in ProcessFeedService (#4270) 8 years ago
Eugen Rochko 8400bee3b1 Refactor ResolveRemoteAccountService (#4258)
* Refactor ResolveRemoteAccountService

* Remove trailing whitespace

* Use redis locks around critical ResolveRemoteAccountService code

* Add test for race condition of lock
8 years ago
Cygnan bc1f9dc24b Fix a typo in public.js (double semicolons) (#4269)
Signed-off-by: Cygnan <mail@cygnan.com>
8 years ago
m4sk1n cdc349a2d1 i18n: Update Polish translation (#4268) 8 years ago
Eugen Rochko c2c93f8cd6 Fix deprecation warning for non-pipeline assets (#4267) 8 years ago
Yamagishi Kazutoshi 716f4cb11c Add feature to revoke sessions (#4259) 8 years ago
Eugen Rochko a5a07da892 Correct OStatus inflection (Ostatus -> OStatus) (#4255) 8 years ago
Sorin Davidoi 72108b20e2 feat(emoji): Add back title attribute (#4253) 8 years ago
lindwurm 767117f9b0 Update Japanese translation (chase #4249) (#4251)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
8 years ago
m4sk1n fb7f06a752 i18n: Update Polish translation (#4252)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
8 years ago
lindwurm 0b4006fc47 Add Japanese translation for #4246 (#4249)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
8 years ago
lindwurm 0ccd47f413 Update Japanese translations for new landing page (#4159)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
8 years ago
Yamagishi Kazutoshi 3267e4a785 Add unfollow modal (optional) (#4246)
* Add unfollow modal

* unfollowing someone

* remove unnecessary prop
8 years ago
Akihiko Odaki 89b988cab5 Introduce Ostatus name space (#4164)
* Wrap methods of ProcessFeedService::ProcessEntry in classes

This is a change same with 425acecfdb, except
that it has the following changes:

* Revert irrelevant change in find_or_create_conversation
* Fix error handling for RemoteActivity

* Introduce Ostatus name space
8 years ago
abcang 4d42a38954 Improve admin page (#4121)
* Improve admin page

* Fix test

* Add spec

* Improve select style
8 years ago
Sorin Davidoi 8387b3928e fix(push-subscriptions): Refactor how Sidekiq jobs are handled (#4226) 8 years ago
abcang afa52e4d63 Fixed issue that the NSFW image is not hidden on detail page (#4244) 8 years ago
Yamagishi Kazutoshi 8949aad030 Add empty alt attribute to img elements in landing page (#4243) 8 years ago
Yamagishi Kazutoshi f5382ec085 Exclude self toots from regular expression filter (#4245)
* Exclude self toots from regular expression filter

* refactor
8 years ago
Sorin Davidoi 719ab720a7 feat(push-notifications): Open link in current tab if possible (#4228)
* fix(push-notification): Open link in current tab if possible

* feat(sw): Skip waiting and claim clients
8 years ago
Akihiko Odaki b11ac88692 Require any modules after loading polyfill in entry points (#4231)
app/javascript/mastodon/main.js delayed the execution of modules,
but other entry points didn't. That leads to failure in executing
modules, which requires those polyfills.

Strictly enforce the rule to require any modules after loading
polyfill in entry points.
8 years ago
Lynx Kotoura 681c33d1f4 Quit overwriting style of extended-video-player (#4237)
Though size of extended-video-player is already fixed to 80vw*80vh in components.scss, player size was also set to original video size in extended_video_player.js. Video size is fixed to 80vw*80vh, so video player's size must also be fixed to 80vw*80vh.
8 years ago
Akihiko Odaki 7f35947d8e Improve a query in WebPushNotificationWorker (#4234) 8 years ago
Akihiko Odaki 68941d4dfa Use update method to update session in WebPushNotificationWorker (#4235) 8 years ago
Sorin Davidoi 1d2616b79b fix(emojis): Handle multipoint emojis (e.g. country flags) (#4221) 8 years ago
Eugen Rochko d4b097a88c Add missing ActivityPub representations (#4230)
- Follow, undo follow
- Accept follow, reject follow
- Like, undo like
- Block, undo block
- Delete (note)
- Update (actor)
8 years ago
Akihiko Odaki b15f790221 Require images in common.js (#4232) 8 years ago
Eugen Rochko a47c2e8890 Add public key declaration to actors (#4215) 8 years ago
Lynx Kotoura d1c3e35d3f Fix style settings for images in media modal (#4220)
* Shrink too wide single image modal

Fix too wide react-swipeable-view-container

Fix 0067f80 shrinking all react-swipeable-view-container

Change to apply max-width of react-swipeable-view-container only under media-modal.

Fix b30b03b just a typo

* Centering contents in image-loader

Centering small img, canvas, and video in image-loader.
8 years ago
Eugen Rochko a6328fc1b1 Minor ActivityPub JSON fixes (#4214)
- Objects must have attributedTo instead of actor
- The current attribute belongs to CollectionPage, not Collection
8 years ago
unarist 695439775e Fix column swiping (#4211)
This fixes broken behavior and enable animation only on swiping.
8 years ago
ThibG 05cd37097c Optimize uri normalization (#4212)
* Add dependency on idn-ruby to speed up URI normalization

* Use normalized_host instead of normalize.host when applicable

When we are only interested in the normalized host, calling normalized_host
avoids normalizing the other components of the URI as well as creating a
new object
8 years ago
Eugen Rochko 8c45cd0e36 Improve ActivityPub representations (#3844)
* Improve webfinger templates and make tests more flexible

* Clean up AS2 representation of actor

* Refactor outbox

* Create activities representation

* Add representations of followers/following collections, do not redirect /users/:username route if format is empty

* Remove unused translations

* ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better
URL/URI generation

* Add ActivityPub::TagManager#to

* Represent all attachments as Document instead of Image/Video specifically
(Because for remote ones we may not know for sure)

Add mentions and hashtags representation to AP notes

* Add AP-resolvable hashtag URIs

* Use ActiveModelSerializers for ActivityPub

* Clean up unused translations

* Separate route for object and activity

* Adjust cc/to matrices

* Add to/cc to activities, ensure announce activity embeds target status and
not the wrapper status, add "id" to all collections
8 years ago
Eugen Rochko 3fbf1bf35a Fix #3773 - Pin favourites column (#4201) 8 years ago
Eugen Rochko cd9b2ab2f7 Fix #2672 - Connect signed PuSH subscription requests to instance domain (#4205)
* Fix #2672 - Connect signed PuSH subscription requests to instance domain

Resolves #2739

* Fix return of locate_subscription

* Fix tests
8 years ago
Eugen Rochko de397f3bc1 Fix subsequent replies to unresolved status not being filtered from home (#4190)
Resolves #4177 - smaller changeset
8 years ago
Sorin Davidoi 72bd73f605 Small style fixes (#4206)
* fix(components/media_modal): Center horizontally in Firefox

* fix(components/status_list): Do not remove load more button
8 years ago
unarist 1896a154f5 Fix response of unreblog/unfavourite APIs (#4204)
Both APIs process asynchronously, so reblogged/favourited fields in the response should be set to `false` manually.
8 years ago
Eugen Rochko 1618b68bfa HTTP signatures (#4146)
* Add Request class with HTTP signature generator

Spec: https://tools.ietf.org/html/draft-cavage-http-signatures-06

* Add HTTP signature verification concern

* Add test for SignatureVerification concern

* Add basic test for Request class

* Make PuSH subscribe/unsubscribe requests use new Request class

Accidentally fix lease_seconds not being set and sent properly, and
change the new minimum subscription duration to 1 day

* Make all PuSH workers use new Request class

* Make Salmon sender use new Request class

* Make FetchLinkService use new Request class

* Make FetchAtomService use the new Request class

* Make Remotable use the new Request class

* Make ResolveRemoteAccountService use the new Request class

* Add more tests

* Allow +-30 seconds window for signed request to remain valid

* Disable time window validation for signed requests, restore 7 days
as PuSH subscription duration (which was previous default due to a bug)
8 years ago
Sorin Davidoi c1f201c49a 🎄🔨 Force tree shake emojione (#4202)
* chore(yarn): Install babel-plugin-preval as development dependency

* feat(babel): Add preval as a plugin

* feat(emojione_light): Prevaled module what tree-shaked emojione

* refactor(emoji): Use emojione_light

* feat: Preload emojione_picker bundle

* fix(emojione_light): Do not use Object.entries

* fix(emojify): Update tests

* chore(emojione_light): Remove silly ascii art
8 years ago
Eugen Rochko e2685ccc81 Fix #4149, fix #1199 - Store emojis as unicode (#4189)
- Use unicode when selecting emoji through picker
- Convert shortcodes to unicode when storing text input server-side
- Do not convert shortcodes in JS anymore
8 years ago
Eugen Rochko c42092ba7a Add option to opt out of search engines on public profile/status pages (#4199) 8 years ago
Albert ARIBAUD 489d162477 fr.json: replace "silencer" with "masquer" (#4196)
"Silencer" as a verb does not exist in French. A good and valid replacement is "masquer".
8 years ago
Yamagishi Kazutoshi 9008ab3407 Do not load unnecessary script files (#4193) 8 years ago
Yamagishi Kazutoshi 87b96f8d33 Add Japanese translations for #3243 (#4192) 8 years ago
masarakki a49be27145 add validation to tag name (#4194) 8 years ago
unarist eeb5923e89 Add object-fit polyfill for Edge (#4182) 8 years ago
Sorin Davidoi a9067167bb Improve swiping (#4188)
* feat(components/columns_area): Toggle animation settings

* fix(components/media_modal): Center non-visible views

* fix(components/media_modal): Check for null

* refactor(columns_area): Better logic
8 years ago
Sorin Davidoi a9a0c854e1 fix(components/media_modal): Style issues (#4187) 8 years ago
Sorin Davidoi 0c7c188c45 Web Push Notifications (#3243)
* 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
8 years ago
unarist c2753fdfb4 Make tag search case insensitive again (#4184) 8 years ago
unarist c29c20ab3c Add background color for spoiler input, like toot textarea (#4181) 8 years ago
Eugen Rochko 880a5eb25c Fix boolean columns sometimes having a null value (#4162)
* Fix boolean columns sometimes having a null value

* Fix wrong value being set instead of null
8 years ago