Commit Graph

2585 Commits (9a5ae096206df2240ba042efed62854193898a65)

Author SHA1 Message Date
HIKARU KOBORI 2c6a85832c Fix typo in admin/status_controller.rb (#4679) 7 years ago
nullkal 80393a23d0 Use checkboxes for application scope setting (#4671) 7 years ago
unarist 760cfe328f Fix accessing to XML attribute in FetchAtomService (#4668) 7 years ago
Eugen Rochko c1b086a538 Fix up the applications area (#4664)
- Section it into "Development" area
- Improve UI of application form, index, and details
7 years ago
Daigo 3 Dango 696c2c6f2f Add Mastodon::Source.url (#4643)
* Add Mastodon::Source.url

* Update spec

* Refactor

Move things frmo Mastodon::Source to Mastodon::Version
7 years ago
unarist 5927b43c0f Ignore empty response in ActivityPub::FetchRemoteStatusService (#4661)
* Ignore empty response in ActivityPub::FetchRemoteStatusService

This fixes `NoMethodError: undefined method `[]' for nil:NilClass` error.

* Check json.nil? in JsonLdHelper#supported_context?
7 years ago
Colin Mitchell 871c0d251a Application prefs section (#2758)
* Add code for creating/managing apps to settings section

* Add specs for app changes

* Fix controller spec

* Fix view file I pasted over by mistake

* Add locale strings. Add 'my apps' to nav

* Add Client ID/Secret to App page. Add some visual separation

* Fix rubocop warnings

* Fix embarrassing typo

I lost an `end` statement while fixing a merge conflict.

* Add code for creating/managing apps to settings section

- Add specs for app changes
- Add locale strings. Add 'my apps' to nav
- Add Client ID/Secret to App page. Add some visual separation
- Fix some bugs/warnings

* Update to match code standards

* Trigger notification

* Add warning about not sharing API secrets

* Tweak spec a bit

* Cleanup fixture creation by using let!

* Remove unused key

* Add foreign key for application<->user
7 years ago
unarist d63de55ef8 Fix bugs which OStatus accounts may detected as ActivityPub ready (#4662)
* Fallback to OStatus in FetchAtomService

* Skip activity+json link if that activity is Person without inbox
* If unsupported activity was detected and all other URLs failed, retry with ActivityPub-less Accept header

* Allow mention to OStatus account in ActivityPub

* Don't update profile with inbox-less Person object
7 years ago
Eugen Rochko 72bb3e03fd Support more variations of ActivityPub keyId in signature (#4630)
- Tries to avoid performing HTTP request if the keyId is an actor URI
- Likewise if the URI is a fragment URI on top of actor URI
- Resolves public key, returns owner if the owner links back to the key
7 years ago
Eugen Rochko f391a4673a Periodically remove expired PuSH subscribers (#4654) 7 years ago
Lynx Kotoura 143b77e10d Increase contrast in landing pages (#4567)
* Increase contrast in about and about/more page

* Lighten em color in landing pages

* Increase contrast in landing pages


Fix about.scss
7 years ago
Eugen Rochko 4cbb638604 Fix visual line-break glitch with .invisible parts of links (#4655) 7 years ago
Eugen Rochko 3534e115e5 Do not try to re-subscribe to unsubscribed accounts (#4653) 7 years ago
abcang ea958cae7f Refactoring streaming connections (#4645) 7 years ago
Yamagishi Kazutoshi 10e9a9a3f9 Use URI.join even when S3 enabled (#4652) 7 years ago
Eugen Rochko 6e9eda5331 ActivityPub migration procedure (#4617)
* ActivityPub migration procedure

Once one account is detected as going from OStatus to ActivityPub,
invalidate WebFinger cache for other accounts from the same domain

* Unsubscribe from PuSH updates once we receive an ActivityPub payload

* Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
7 years ago
m4sk1n 4c23544714 i18n: Minor changes in Polish translation (#4649)
* i18n: Minor changes in Polish translation

* i18n: pl
7 years ago
Eugen Rochko 74e5078795 Fix #4637 - Re-add missing doorkeeper_authorize for /api/v1/verify_credentials (#4650) 7 years ago
Yamagishi Kazutoshi 110227ac5e Remove status from favorites list when unfavorited (#4597) 7 years ago
unarist f26758dc01 Fix .information-board style for Safari (#4602)
flex-basis: 0 allows make flexbox smaller than its contents on Safari <10.

https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored
7 years ago
abcang 23792f5a7c Fix hasUnread on HashtagTimeline (#4644) 7 years ago
Eugen Rochko fe5b66aa08 Handle duplicate ActivityPub activities (#4639)
* Handle duplicate ActivityPub activities

Only perform side-effects when record processed for the first time

* Fast-forward repeat follow requests
7 years ago
takayamaki d5acf4275f Improve about ja translation standalone.public_title (#4641) 7 years ago
Eugen Rochko 412ea87306 Improve ActivityPub/OStatus compatibility (#4632)
*Note: OStatus URIs are invalid for ActivityPub. But we have them for
as long as we want to keep old OStatus-sourced content and as long as
we remain OStatus-compatible.*

- In Announce handling, if object URI is not a URL, fallback to object URL
- Do not use specialized ThreadResolveWorker, rely on generalized handling
- When serializing notes, if parent's URI is not a URL, use parent's URL
7 years ago
Eugen Rochko 774b8661bc Revert #4616 (#4638) 7 years ago
Eugen Rochko c7d2619ab1 Parse OStatus tag URIs in ActivityPub handlers when those are local (#4631) 7 years ago
Yamagishi Kazutoshi 2edfdab6e6 Don't send Link header when don't know prev and next links (#4633) 7 years ago
Eugen Rochko 4edf9d849f Make ActivityPub::TagManager#local_uri? recognize local URIs with ports (#4628) 7 years ago
Eugen Rochko 10489b4e4a If url attribute not present in Note, fallback to id attribute (#4629) 7 years ago
Eugen Rochko 40c45f5dd9 Put ActivityPub alternate link into Atom, prefer it when processing Atom (#4623) 7 years ago
nightpool efec02f153 use existing inflections instead of custom helper (#4624)
* use existing inflections instead of custom helper

* use ActiveSupport versions
7 years ago
Eugen Rochko 116b8a6363 Fix #4607 - Accept/reject activities use FollowRequest, which has inverse relations (#4616) 7 years ago
Eugen Rochko ad892dbc0c Add _:atomUri property for deduplicating OStatus/ActivityPub legacy records (#4593) 7 years ago
nullkal 075d6a1e13 Show what protocol is used for accounts in admin/accounts#index (#4622)
* Show what protocol used for in admin/accounts#index

* Add frozen_string_literal
7 years ago
m4sk1n 2a04bdc87a i18n: Update Polish translation (#4613)
* i18n: Update Polish translation

* Update pl.json
7 years ago
Eugen Rochko ca7ea1aba9 Redesign public profiles (#4608)
* Redesign public profiles

* Responsive design

* Change public profile status filtering defaults and add options

- No longer displays private/direct toots even if you are permitted access
- By default omits replies
- "With replies" option
- "Media only" option

* Redesign account grid cards

* Fix style issues
7 years ago
Clworld f814661fca Make share intent modal to make "signed in as" shown. (#4611)
* Make share intent modal to make "signed in as" shown.

* fix glitch on mobile.
7 years ago
abcang e120d09c98 Fix require_user! behavior when not logged in (#4604) 7 years ago
Eugen Rochko 4fcbb1f838 Re-add missing transaction around status-from-OStatus creation (#4603) 7 years ago
unarist a855956185 Fix ActivityPub follow interaction and add more specs (#4601) 7 years ago
unarist 5b9ae7981e Update /admin/accounts/:id view for ActivityPub (#4600)
* Add protocol field
* Switch protocol specific information according to active protocol
* Hide PuSH subscription related buttons if ActivityPub is active
7 years ago
Yamagishi Kazutoshi 5f22c0189d Add support for searching AP users (#4599)
* Add support for searching AP users

* use JsonLdHelper
7 years ago
Eugen Rochko 26d26644ac Require "inbox" to be set on actor to be ActivityPub-ready (#4595) 7 years ago
Eugen Rochko 3c6503038e Add protocol handler. Handle follow intents (#4511)
* Add protocol handler. Handle follow intents

* Add share intent

* Improve code in intents controller

* Adjust share form CSS
7 years ago
Yamagishi Kazutoshi 96e9ed13de Fix search (regression from #4589) (#4594) 7 years ago
Eugen Rochko 6df8bd277b Set correct content-type for ActivityPub JSON (#4592) 7 years ago
Eugen Rochko 4e75f0d889 Hook up URL-based resource look-up to ActivityPub (#4589) 7 years ago
Eugen Rochko a2aeacbfee Add alternate links to ActivityPub resources from HTML/HEAD variants (#4586) 7 years ago
Eugen Rochko b7370ac8ba ActivityPub delivery (#4566)
* Deliver ActivityPub Like

* Deliver ActivityPub Undo-Like

* Deliver ActivityPub Create/Announce activities

* Deliver ActivityPub creates from mentions

* Deliver ActivityPub Block/Undo-Block

* Deliver ActivityPub Accept/Reject-Follow

* Deliver ActivityPub Undo-Follow

* Deliver ActivityPub Follow

* Deliver ActivityPub Delete activities

Incidentally fix #889

* Adjust BatchedRemoveStatusService for ActivityPub

* Add tests for ActivityPub workers

* Add tests for FollowService

* Add tests for FavouriteService, UnfollowService and PostStatusService

* Add tests for ReblogService, BlockService, UnblockService, ProcessMentionsService

* Add tests for AuthorizeFollowService, RejectFollowService, RemoveStatusService

* Add tests for BatchedRemoveStatusService

* Deliver updates to a local account to ActivityPub followers

* Minor adjustments
7 years ago
Eugen Rochko ccdd5a9576 Add serializing/unserializing of "locked" actor attribute (#4585) 7 years ago
Eugen Rochko 3d47154c20 Only PuSH-resubscribe to OStatus accounts (#4583) 7 years ago
Sylvhem d0a217eb92 Minor fixes in the French translation (#4580)
* Ajout de traductions manquantes

Ajoute des traductions pour les chaînes n’en ayant pas en version 1.5.1.

Add translations for the strings that are missing them in 1.5.1.

* Remplace « ' » par « ’ »

Retire de la traduction les apostrophes droites « ' » (U+0027) au profit des apostrophes typographiques « ’ » (U+2019).
En typographie française, les apostrophes typographiques sont utilisées à la place des apostrophes droites. La traduction était incohérente et utilisait les deux.

Remove from the translation all the vertical apostrophes (U+0027) in favor of the curly ones (U+2019).
In French typography, typographic apostrophes are used instead of vertical ones. The translation was incoherent and used both.

* Ajout d’espaces insécables

Ajoute des espaces insécables suivant les régles nécessaires en typographie française.

Add non-breaking spaces following rules of French typography.

* Remplace « status » par « statut »

Remplace le mot anglais « status » par sa traduction française « statut ».

Replace the English word "status" by its French translation "statut".

* Correction de la politique de confidentialité

Apporte diverses corrections à la traduction de la politique de confidentialité.

Add various fixes to the privacy policy's translation.

* Remplace « mentionné » par « mentionné·e »

Harmonise la traduction en remplaçant « mentionné » par sa forme épicène.

Harmonize the translation by replacing "mentionné" (sure) by its epicene form.

* Remplace « Coup d’œil » par « Jeter un coup d’œil… »

Remplace la première traduction par une forme plus proche de la version originelle.

Replace the first translation by something closer to the original version.

* Remplace « Bon Appétoot ! » par « Bon appouetit ! »

Remplace « Bon Appétoot ! » par « Bon appouetit ! » pour essayer de conserver le jeu de mot.

Replace « Bon Appétoot ! » by « Bon appouetit ! » to keep the pun.

* Remplace « Bon Appétoot ! » par « Bon appouetit ! » (2)

Remplace « Bon Appétoot ! » par « Bon appouetit ! » pour essayer de conserver le jeu de mot.

Replace « Bon Appétoot ! » by « Bon appouetit ! » to keep the pun.f

* Corrections

Corrige des fautes d’orthographe et change « appouetit » pour « appouétit ».

Correct some mistakes and change "appouetit" to "appouétit".
7 years ago
Eugen Rochko 81c1303cd6 Handle ActivityPub follows correctly (#4571)
* Handle ActivityPub follows correctly

ActivityPub follows are follow-requests. Always require an Accept.
If account is not locked, auto-accept.

* Handle ActivityPub Accept/Reject-Follow

* Fix wrong method

* Fix wrong class
7 years ago
Yamagishi Kazutoshi d9a1fb134a Fix emoji picker scrollbar style (#4572) 7 years ago
Eugen Rochko fdea173237 Add Digest header to requests with body, handle acct and URI keyId (#4565) 7 years ago
Ondřej Hruška b1c8a702a4 Add favourited toot to favourites column (#4562)
* Add faved toot to faves column

* renamed append to prepend for clarity
7 years ago
Ondřej Hruška 820099813f add scrollTop to ui/components/column (#4563) 7 years ago
Gergely Nagy 2ebe4ff568 api/instances: Include the stats from the /about/more page (#4074)
To be able to pull some basic statistics from a Mastodon instance, include the
user, status and connected domain counters in the `/api/v1/instance` response.

Fixes #3570.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
7 years ago
Ondřej Hruška 61bfce5aa9 add missing @ to the onboarding modal (#4560) 7 years ago
Eugen Rochko dd7ef0dc41 Add ActivityPub inbox (#4216)
* Add ActivityPub inbox

* Handle ActivityPub deletes

* Handle ActivityPub creates

* Handle ActivityPub announces

* Stubs for handling all activities that need to be handled

* Add ActivityPub actor resolving

* Handle conversation URI passing in ActivityPub

* Handle content language in ActivityPub

* Send accept header when fetching actor, handle JSON parse errors

* Test for ActivityPub::FetchRemoteAccountService

* Handle public key and icon/image when embedded/as array/as resolvable URI

* Implement ActivityPub::FetchRemoteStatusService

* Add stubs for more interactions

* Undo activities implemented

* Handle out of order activities

* Hook up ActivityPub to ResolveRemoteAccountService, handle
Update Account activities

* Add fragment IDs to all transient activity serializers

* Add tests and fixes

* Add stubs for missing tests

* Add more tests

* Add more tests
7 years ago
Lynx Kotoura dcbc1af38a Fix short description in about/more page (#4554) 7 years ago
Yamagishi Kazutoshi 81c41d8681 Add coalesce option to avatar and header convert processor (#4552)
Resolve #3199
7 years ago
雨宮美羽 ec3be87a2b improve zh-CN translations (#4557) 7 years ago
TheInventrix c9fd6f386c unify short description styling (#4548)
apply same style class to the About description on both the landing page
and the about/more page
7 years ago
Yamagishi Kazutoshi 1b5d26735e Revert "Set false to animated options for thumbnail processor" (#4550)
* Revert "Adjust tags and accounts page (#4534)"

This reverts commit a3e53bd442.

* Revert "feat: Cache status height to avoid expensive renders (#4439)"

This reverts commit 8eb6d171e6.

* Revert "Refactor Avatar and AvatarOverlay to have 'account' as prop instead of src and staticSrc (#4526)"

This reverts commit 5942347407.

* Revert "Update dependencies for Ruby (#4543)"

This reverts commit 22db947225.

* Revert "[Docker] Add multicore support to "make" and "bundler" (#4544)"

This reverts commit 5d408fd9aa.

* Revert "It makes no sense to try using invalid or expired link again (#4521)"

This reverts commit 47579ec58c.

* Revert "i18n: Update Polish translation (#4545)"

This reverts commit 3363a05539.

* Revert "Set false to animated options for thumbnail processor (#4547)"

This reverts commit 87f10d476c.
7 years ago
Lynx Kotoura a3e53bd442 Adjust tags and accounts page (#4534)
* Adjust tag and accounts page

* Remove units from 0px paddings
7 years ago
Sorin Davidoi 8eb6d171e6 feat: Cache status height to avoid expensive renders (#4439)
* feat: Cache status height to avoid expensive renders

* feat: Escape content and emojify in reducers

* fix(css): Remove backface-visibility: hidden from .scrollable

* fix(statuses): Avoid creating DOMParses inside a loop
7 years ago
Ondřej Hruška 5942347407 Refactor Avatar and AvatarOverlay to have 'account' as prop instead of src and staticSrc (#4526)
* Refactored Avatar and AvatarOverlay (DRY) to have 'account' as prop.
Also removed animate attribute from compose navigation bar, which should
have never been there. Added test for avatar overlay.

* fix broken tests

* god dammit another bug in tests! travis please let this pass

* formatting in avatar overlay
7 years ago
Yamagishi Kazutoshi 87f10d476c Set false to animated options for thumbnail processor (#4547)
Resolve #3199

Fix the aspect ratio of animated GIF whose background is transparent.
7 years ago
Masoud Abkenar e7a5a188ef i18n: update Persian translation (#4540) 7 years ago
MitarashiDango 5ee45fa571 fix columns_area.js (#4528) 7 years ago
Eugen Rochko df605f0f8b Add "signed in as" header to some pages (#4523) 7 years ago
Akihiko Odaki 9d1f8b9d6a Scroll columns area to right when children property is changed (#4517)
The feature to pin column could hide the rightmost column, which is
specified with children property of ColumnsArea.

The user is likely to see the column when the property changed, so scroll
the area in such cases.
7 years ago
Krzysztof Jurewicz 400616813e Fix some mistakes in Polish translation (#4495) 7 years ago
nullkal dfcd2834f9 Redirect to PasswordController#new when reset_password_token is invalid (#4506) 7 years ago
MIYAGI Hikaru 09e86ef90b make number of comparison in emojify() fewer (#4500)
fix style

"©"削除処理をemojione_lightに移動
7 years ago
TheKinrar 9ba7d526a0 Don't normalize invalid domain names (#4499)
Fixes #4496
7 years ago
unarist 94e233e7b2 Fix column-back-button style for some browsers (#4484)
Use `text-align: unset` instead of `text-align: start` which Edge doesn't support for now.

Also remove default margin on Safari.
7 years ago
Sorin Davidoi ac53736814 fix(status_list): Use correct keys for keyboard navigation (#4487) 7 years ago
Komic 8c0e78ae43 fr.json update (#4492) 7 years ago
Quent-in 7ef8482568 l10n #4457 update for Occitan language (#4483)
Previous and Next buttons
7 years ago
Jeroen 202942a76f Update Dutch (nl) strings (#4480) 7 years ago
Sorin Davidoi d4c4820c03 fix(web_push_notifications): Send message with welcome notifications (#4471)
* fix(web_push_notifications): Send grouping title in welcome notification

* fix(web_push_notifications): Read message from last notification
7 years ago
Yamagishi Kazutoshi 8ccb3b96ab Re-add outline (#4474)
* Re-add outline

* respect default of web browser
7 years ago
Ondřej Hruška e9ee249fd5 do not emojify tm, (R) and (C) (#4472) 7 years ago
Masoud Abkenar 4b6cd1dfdb i18n: update Persian translation (#4470)
* i18n: update Persian translation

* i18n: fix quotes
7 years ago
Yamagishi Kazutoshi b9ec3b7e7c Load extra polyfills when isIntersecting is undefined (#4469) 7 years ago
Eugen Rochko c7cc806251 Simplify web UI character counter logic (#4463) 7 years ago
unarist 82b4cf4acb Fix button overflow on confirmation modal for mobile (#4465) 7 years ago
Yamagishi Kazutoshi 3e7a541e09 Change RuboCop rules to loose (#4464) 7 years ago
m4sk1n 93aafa8549 i18n: Update Polish translation (#4467) 7 years ago
Yamagishi Kazutoshi bb85043f46 Disable sensitive button when with content warnings (#4460) 7 years ago
Eugen Rochko e1fcad34a9 Fix length validator counting things that look like URIs like URLs (#4462)
URI.extract is too strong, not limited to URLs, matched real text.
Same issue was present in language detector.
7 years ago
unarist 155ba8fd3a Make salutation of email localizable (#4454) 7 years ago
Sorin Davidoi e44f03bc71 Improve accessibility (part 7) (#4457)
* fix(media_modal): Keyboard navigation

* fix(column_back_button): Use native button

* fix(media_gallery): Keyboard navigation

* fix(status_content): Make CW content focusable
7 years ago
Yamagishi Kazutoshi 970297a138 Change to sensitive when adding content warning from web UI (#4456) 7 years ago
Yamagishi Kazutoshi 29abc9438c Remove outline from focused toot (#4448)
* Remove outline from focused toot

* change style
7 years ago
Yamagishi Kazutoshi f91284d230 Do not create empty a element when there is no e-mail (#4455)
Empty a element is created when there is no business e-mail input.
7 years ago
unarist feadf7553d Update Japanese translations (#4453) 7 years ago
Lynx Kotoura ea33cdc30b Set contact address in about/more as mailto link (#4450)
* Set contact address as mailto link

To be able to copy long email address

* Set style for mailto link
7 years ago