Commit Graph

2989 Commits (cbbeec05be5cd0930a7be73bf673acc8d8105c12)

Author SHA1 Message Date
aschmitz 554c2fd8af Clean up reblog tracking keys, related improvements (#5428)
* Clean up reblog-tracking sets from FeedManager

Builds on #5419, with a few minor optimizations and cleanup of sets
after they are no longer needed.

* Update tests, fix multiply-reblogged case

Previously, we would have lost the fact that a given status was
reblogged if the displayed reblog of it was removed, now we don't.

Also added tests to make sure FeedManager#trim cleans up our reblog
tracking keys, fixed up FeedCleanupScheduler to use the right loop,
and fixed the test for it.
7 years ago
Håkan Eriksson a2b600428c Swedish translation (#5406)
* Swedish file added

* Swedish file added

* Swedish file updated

* Swedish languagefile added

* Add Swedish translation

* Add Swedish translation

* Started the Swedish translation

* Added Swedish lang settings

* Updating Swedish language

* Updating Swedish language

* Updating Swedish language

* Updating Swedish language

* Updating Swedish language

* Updating Swedish language

* Swedish language completed and added

* Swedish language Simple_form added

* Swedish language Divise added

* Swedish language doorkeeper added

* Swedish language - now all file complete
7 years ago
Jeroen df1a9c5ab5 Small update Dutch (nl) strings (#5424)
* Update Dutch strings

* Update Dutch
7 years ago
Nolan Lawson 8980aa804f Fix reduced motion breaking public galleries (#5423) 7 years ago
Eugen Rochko 34118169ac Keep references to all reblogs of a status on home feed (#5419)
* Keep references to all reblogs of a status on home feed

When inserting reblog: Add to set of reblogs of this status on
the feed, if original status was present in the feed, add it to
that set as well.

When removing a reblog: Remove it from that set. Take random
remaining item from the set. If one exists, re-insert it into feed,
otherwise do not re-insert anything.

Fix #4210

* When original is removed, toss out reblog references
7 years ago
Eugen Rochko 7cc71748ce Ensure that feed renegeration restores non-zero items (#5409)
Fix #5398

Ordering the home timeline query by account_id meant that the first
100 items belonged to a single account. There was also no reason to
reverse-iterate over the statuses. Assuming the user accesses the
feed halfway-through, it's better to have recent statuses already
available at the top. Therefore working from newer->older is ideal.

If the algorithm ends up filtering all items out during last-mile
filtering, repeat again a page further. The algorithm terminates
when either at least one item has been added, or if the database
query returns nothing (end of data reached)
7 years ago
Eugen Rochko aec70b44fc Filter out duplicate IDs in timelines reducer (#5417)
Possibly the cause of #5379, #5377
7 years ago
unarist 6f490b4bfe Fix un-reblogged status being at wrong position in the home timeline (#5418)
We've changed un-reblogging behavior when we implement Snowflake, to insert un-reblogged status at the position reblogging status existed.

However, our API expects home timeline is ordered by status ids, and max_id/since_id filters by zset score. Due to this, un-reblogged status appears as a last item of result set, and timeline expansion may skips many statuses.

So this reverts that change...reblogged status inserted at corresponding position to its id.
7 years ago
voidSatisfaction 03975dbde4 Add up-to-date korean translation on client (#5402)
* chore: add Korean translation for client

* fix: change unlisted and embed Korean words
7 years ago
KY f72936b4e6 Fix #5082 - disable retweet link for followers only toot (#5397)
* Fix #5082 - disable retweet link for followers only toot

* Hide reblog count when it is a direct message
7 years ago
Marcin Mikołajczak 3c530d95f6 i18n: Update Polish translation (#5416)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
7 years ago
JeanGauthier 1e7b3bf625 i18n ultim hour «More» dropdown title + reduce motion (#5415)
* Correction fem. form

* More dropdown title

* More dropdown title

* More dropdown title

* Add option to reduce motion (#5393)
7 years ago
Yamagishi Kazutoshi bf0ee1a25c Enable ESLint rules import/* (#5414)
* Enable ESLint rules import/*

* fix
7 years ago
Nolan Lawson fa0be3f834 Add option to reduce motion (#5393)
* 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
7 years ago
Nolan Lawson 981e20b03a Fix offline-plugin warning in dev mode (#5411) 7 years ago
Yamagishi Kazutoshi d5b767c374 Replace JavaScript Testing Framework from Mocha to Jest (#5412) 7 years ago
Nolan Lawson 93b54b8d4b i18n "More" dropdown title (#5410) 7 years ago
Nolan Lawson e7ab9bf8b4 Refactor and simplify icon_button.js (#5413) 7 years ago
Eugen Rochko 894da3dcca Clear timer when unmounting RelativeTimestamp components (#5408)
Possibly the cause of #5379, #5377
7 years ago
JeanGauthier 8eb7d30a6c l10n Occitan: finishing touches (#5404)
* Update oc.json

* Update oc.yml
7 years ago
Yannick A 7fe1428cc4 Update French translation (#5401) 7 years ago
Lynx Kotoura b3b4b5a2eb Adjust public hashtag pages (#5357) 7 years ago
unarist 8125fdc19f Use atomUri in Undo activity of Announce (#5376)
This allows deletion of reblogs which delivered before with OStatus URI.
7 years ago
Ondřej Hruška ae716a12e1 replace newlines in desktop notif with spaces instead of removing them (#5361) 7 years ago
spla f63a40e7c2 Updated Catalan strings (#5323)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225

* Catalan translation update

added activerecord.ca.yml

* Update activerecord.ca.yml

Done

* Updated activerecord.ca.yml

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Update ca.json

Removed :

<<<<<<< HEAD
  "getting_started.support": "{faq} • {userguide} • {apps}",
=======
>>>>>>> upstream/master

* Syncing to master

* Added new Catalan strings

* removed config.secret_key line

* Corrected <sotrong> tag to <strong>

Line 515

* Removed extra line

* Reverted

* yarn.lock reverted

* Updated Catalan strings

* Updated Catalan strings
7 years ago
KY 1bdd694a0a Fix #5351 - Redirection with page params after copy emoji (#5387)
* Fix #5351 - Redirection with page params after copy emoji

* Add page params to copy emoji link
7 years ago
abcang 2eab41cd1a Close connection when succeeded posting (#5390)
* Close connection when succeeded posting

* Update webmock
7 years ago
Yannick A c6f76db2e1 Update French translation (#5384)
Update French translation
7 years ago
Masoud Abkenar 2c704ca9c6 l10n: update Persian translation for 2.0 (#5391) 7 years ago
Jakob Kramer eb96aa86a4 Update German translation (#5389) 7 years ago
Jeroen c35132a738 Dutch strings: small change (#5375)
* Dutch strings: small change

* And this too.
7 years ago
unarist a1c54220e8 Optimize Status#permitted_for 500x (account timeline) (#5373)
The main change of this PR is removing `order by visibility` hack.

This was introduced to force using of `index_statuses_on_account_id` instead of PK index, but it seems no longer needed probably due to `index_statuses_on_account_id_id`. Removing this avoids reading all rows, so really improves first fetching of the user who has lot of statuses.

I have also changed JOIN to IN + subquery, which slightly faster in most cases.
7 years ago
Eugen Rochko df7dbc41ae Fix NameError: uninitialized constant OStatus::AtomSerializer::TagManager (#5371)
This error occurred at least in development environment
7 years ago
Eugen Rochko b8db386e05 Fix UserTrackingConcern firing on every request, optimize some queries (#5368)
- For some reason, :if option on before_action did not work. It got
  executed every time, returned false, and the action run anyway,
  which led to the current_sign_in_at and sign_in_count being
  updated on every request
- Return "do not filter" early in FeedManager#filter_from_home? if
  the status is authored by receiver. Usually this method is not
  called for own statuses at all, but it is called when Feed#get
  uses the database
- Return early if #reload_stale_associations! has nothing to load
  to save a database query with WHERE 1=0
7 years ago
Eugen Rochko 48f7a58799 Do not try to guess why home timeline is empty in web UI (#5370)
* Do not try to guess why home timeline is empty in web UI

* Fix style issue
7 years ago
Eugen Rochko 388d093beb When unfollowing, remove from home in web UI immediately (#5369)
Do NOT send "delete" through streaming API when unmerging from
home timeline. "delete" implies that the original status was
deleted, which is not true!
7 years ago
ThibG 95fe20b78a Fix remote status fetching for “pure” ActivityPub WEB_ACCOUNT users (#5372)
Remote ActivityPub users that have never been known as OStatus users
(whether or not they support it) will not have a “remote_url” attribute
set. In case they reside on an instance with WEB_DOMAIN ≠ LOCAL_DOMAIN,
the current check did rely on “remote_url” to verify the user's domain.
7 years ago
Yamagishi Kazutoshi dc91fd482a Set InstancePresenter to `Auth::RegistrationsController#create` (#5366) 7 years ago
Lex Alexander b8bae96647 Retoot count increases without reason (#5363)
* Retoot count increases without reason

-The store_uri method for Statuses was being called on after_create and causing reblogs to be incremented twice.
-This calls it when the transaction is finished by using after_create_commit.
-Fixes #4916.

* Added test case for after_create_commit callback for checking reblog count.

* Rewrote test to keep original, but added one for only the after_create_commit callback.
7 years ago
ThibG d37305c628 Reduce discrepancies between server and client-side character count (#5360) 7 years ago
Anna e só ad917cda10 l10n: PT-BR translation updated (#5362)
* PT-BR translation updated

* Testing

* Indentation error fixed

* More indentation errors fixed
7 years ago
Alda Marteau-Hardi 3cfcc7a50e Fix some consistance errors in gender neutral formulations. Add some missing ones. (#5350) 7 years ago
JeanGauthier cb7ba23cd8 Update oc.json (#5343) 7 years ago
unarist 35ec1c91e3 Fix some failure cases on FetchLinkCardService (#5347)
* If OEmbed response doesn't have a required property `type`, ignore it.
  e.g. `NoMethodError: undefined method 'type' for ...`
* If we failed to detect encoding, fallback to default behavior of Nokogiri.
  e.g. `KeyError: key not found: :encoding`
7 years ago
Sylvhem 3ebe03b729 Fixes and updates for the French translation (#5340)
* Ajout du support des thèmes multiples

Ajoute des traductions pour les nouvelles chaînes permettant le support de thèmes multiples.

Add translations for the new strings allowing support for multiple themes.

* Mise à jour de la traduction

Met à jour les chaînes modifiées et ajoute des traductions pour celle n’en ayant pas.

Update modified strings and add new translations for the ones who are missing them.

* 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.
7 years ago
Jeroen 6bc07d3de3 Updating Dutch strings for 2.0 (#5334) 7 years ago
Alda Marteau-Hardi 0352c40e99 Use gender neutral language as in the rest of the french translation (#5331) 7 years ago
Lynx Kotoura 07ea625cb2 Fix styles of error pages (#5335)
Signed-off-by: Lynx Kotoura <admin@sanin.link>

Signed-off-by: Lynx Kotoura <admin@sanin.link>
7 years ago
takayamaki 27101f1beb fix presented og:url is incorrect (#5320) 7 years ago
Eugen Rochko 1823cf435a In thread view, only scroll first update, scroll to replied-to post (#5322) 7 years ago
Nolan Lawson 6a50329a9c Only preload JS in /web pages (#5325) 7 years ago
Eugen Rochko 476e79b8e3 Fully disable hotkeys when input element is focused (#5324)
Because alt+n is a way to enter some kinda letter on some keyboard
7 years ago
JohnD28 19d3317a69 Update french translation : mastodon/locales/fr.json (#5318)
* Update fr.json

* Update fr.json

* Update fr.json
7 years ago
ButterflyOfFire 38600b2792 Update ar.json (#5316)
Pushing new arabic translated strings for Mastodon web client.
7 years ago
unarist b0407ece42 Fix an error when ancestors get loaded before the status itself (#5312)
When ancestors get loaded, we scroll to the target status (i.e. skip
ancestors). However, ancestors may get loaded before the status itself,
then it causes TypeError because `this.node` is undefined yet.

Since we don't show anything until the status gets loaded, we don't need
to scroll to the target status in this time. If we get the status itslef
later, it causes `componentDidUpdate` and scrolling correctly.
7 years ago
Eugen Rochko b3d7ad958f Fix #5306: Stop hotkeys in input fields even when shift is pressed (#5309)
AZERTY layouts require pressing shift to press a number at all, so
it triggers a column switch even when simply typing numbers in
textarea
7 years ago
takayamaki 552d22bec9 sign_in and sign_up views present og meta infos (#5308) 7 years ago
Eugen Rochko 9815be2a44 Fix #5293 - Pre-fill frequently used emojis to avoid bugs (#5305) 7 years ago
Eugen Rochko 61d3ecc805 Fix custom emoji copy not copying file (#5298) 7 years ago
Eugen Rochko 4bb3e4eeba Fix #5295 - Order custom emoji lexicographically (#5297) 7 years ago
unarist 784c7510d7 Fix an error when video playback buffer is empty (#5300) 7 years ago
nullkal 6c54d2e583 foreign_key, non-nullable, dependent: destroy in account_moderation_notes (#5294)
* Add foreign key constraint to column `account` in `account_moderation_notes`

* Change account_id and target_account_id to non-nullable in account_moderation_notes

* Add dependent: :destroy to account and target_account in account_moderation_notes
7 years ago
Eugen Rochko 1c6fc0e4ce Center error layout (#5289) 7 years ago
Akihiko Odaki cc796298c9 Fix pagination in Api::V1::BlocksController (#5285) 7 years ago
Eugen Rochko 6e9e0c14e6 Fix dependency of error page generation on database (#5280) 7 years ago
Eugen Rochko 3888a12c79 Fix #5272 - Order of checks in ActivityPub handler (#5276) 7 years ago
Eugen Rochko cfa68907ae Fix #5271 - Fix missing attribute in remove_from_feed (#5277)
Regression from #4801
7 years ago
Eugen Rochko 488584bfc1 Track frequently used emojis in web UI (#5275)
* Track frequently used emojis in web UI

* Persist emoji usage, but debounce commits to the settings API

* Fix #5144 - Add tooltips to picker

* Display only 2 lines of frequently used emojis
7 years ago
Eugen Rochko 0717d9b3e6 Set snowflake IDs for backdated statuses (#5260)
- Rename Mastodon::TimestampIds into Mastodon::Snowflake for clarity
- Skip for statuses coming from inbox, aka delivered in real-time
- Skip for statuses that claim to be from the future
7 years ago
Eugen Rochko 6e4046fc3f Fix #5178 - Use object URI only in Announce, instead of embedding (#5266) 7 years ago
JeanGauthier 94f15338c3 i18n update Occitan (#5263)
* Update oc.json

* Update oc.yml

* Update oc.yml

* Update oc.json
7 years ago
Nolan Lawson db33a53ee8 Video preload should be a string (#5267) 7 years ago
Nolan Lawson 7de6d269d2 Use ES module build of react-router-dom (#5264) 7 years ago
Eugen Rochko 684001d729 Dynamically calculate card height for embeds instead of padding (#5265)
The padding trick was hard-coded to a 16:9 ratio, but we can use
width and height provided from OEmbed information and width
of the card itself to calculate a new height
7 years ago
Eugen Rochko 292f3cd7e0 Show buffering in video player (#5261) 7 years ago
nullkal 633426b261 Add moderation note (#5240)
* Add moderation note

* Add frozen_string_literal

* Make rspec pass
7 years ago
Eugen Rochko f486ef2666 Redesign public hashtag pages (#5237) 7 years ago
Eugen Rochko d2dee6ea43 Fix custom emoji in emoji picker, persist skin tone (#5258) 7 years ago
Eugen Rochko 967e70663f In REST API, when URL can be missing, cast it to nil (#5259) 7 years ago
MitarashiDango b7e65a004f Japanese translation (relative time) (#5251) 7 years ago
Eugen Rochko 3a3475450e Encode custom emojis as resolveable objects in ActivityPub (#5243)
* Encode custom emojis as resolveable objects in ActivityPub

* Improve code style
7 years ago
Nolan Lawson 057db0ecd0 Update emoji-mart to v2.1.1 (#5256) 7 years ago
Eugen Rochko 11436358b4 Fix regression from #5206 - deduplicate descendants (#5253) 7 years ago
Eugen Rochko 45682f876d Make auto-play GIFs preference affect custom emojis in web UI (#5254) 7 years ago
Lynx Kotoura 5a2c7bd4ce Fix overflowing in web UI (#5246)
* Fix overflowing in web UI

* Revert fixing dropdown menu modal
7 years ago
unarist 5c8ca024ef Improve error handling on LinkCrawlWorker (#5250)
* Improve error handling on LinkCrawlWorker

* Ignore TimeoutError and InvalidURIError too
* Record errors to debug log
* Enable dead job queue on LinkCrawlWorker

Since most of acceptable errors were already ignored, only our side issue should go to dead job queue.

* Ignore all http gem errors
7 years ago
unarist d8b2f89d33 Fix remote profile being displayed in HTML on remote_follow (#5249) 7 years ago
K.SHIRAKASHI d5f490b1a2 Fix error on reloading status detail column (#5248) 7 years ago
MIYAGI Hikaru 6f2d88dd28 Fix error at emoji_compressed in Firefox ESR (#5241) 7 years ago
Lynx Kotoura daa59dd454 Fix theme settings (#5242) 7 years ago
Nolan Lawson 72d939b69f Fix thinking_face emoji autocomplete (#5238) 7 years ago
Nolan Lawson 97b3d0cd56 Import only Spring/Motion from react-motion (#5236) 7 years ago
Nolan Lawson fd7f0732fe Compress and combine emoji data (#5229) 7 years ago
Nolan Lawson 2aca22b8ea import only Overlay from react-overlays (#5235) 7 years ago
Eugen Rochko 7db0f8dcb2 Implement hotkeys for web UI (#5164)
* Fix #2102 - Implement hotkeys

Hotkeys on status list:

- r to reply
- m to mention author
- f to favourite
- b to boost
- enter to open status
- p to open author's profile
- up or k to move up in the list
- down or j to move down in the list
- 1-9 to focus a status in one of the columns
- n to focus the compose textarea
- alt+n to start a brand new toot
- backspace to navigate back

* Add navigational hotkeys

The key g followed by:

- s: start
- h: home
- n: notifications
- l: local timeline
- t: federated timeline
- f: favourites
- u: own profile
- p: pinned toots
- b: blocked users
- m: muted users

* Add hotkey for focusing search, make escape un-focus compose/search

* Fix focusing notifications column, fix hotkeys in compose textarea
7 years ago
Eugen Rochko 49cc0eb3e7 Improve admin UI for custom emojis, add copy/disable/enable (#5231) 7 years ago
Eugen Rochko b9c76e2edb When processing custom emoji, ensure a non-animated version exists (#5230)
Use the non-animated version in web UI, but return both in API
7 years ago
ThibG 2559d9166c Fix regression in FetchRemoteResourceService (#5217)
* Fix regression in FetchRemoteResourceService

* Update specs to match interface changes made in #5114
7 years ago
Lynx Kotoura 32e8a87830 adjust public profile pages 2 (#5223) 7 years ago
Eugen Rochko b406e3cc4c Fix #5050 - Use summary_large_image only with media attachments (#5219) 7 years ago