Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Add logging of admin actions
* Update brakeman whitelist
* Log creates, updates and destroys with history of changes
* i18n: Update Polish translation (#5782)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
* Split admin navigation into moderation and administration
* Redesign audit log page
* 🇵🇱 (#5795)
* Add color coding to audit log
* Change dismiss->resolve, log all outcomes of report as resolve
* Update terminology (e-mail blacklist) (#5796)
* Update terminology (e-mail blacklist)
imho looks better
* Update en.yml
* Fix code style issues
* i18n-tasks normalize
|
|
|
|
|
|
* Add tests for class methods of AccountInteractions
* Add tests for instance methods of AccountInteractions
|
|
|
|
|
|
* Add structure for lists
* Add list timeline streaming API
* Add list APIs, bind list-account relation to follow relation
* Add API for adding/removing accounts from lists
* Add pagination to lists API
* Add pagination to list accounts API
* Adjust scopes for new APIs
- Creating and modifying lists merely requires "write" scope
- Fetching information about lists merely requires "read" scope
* Add test for wrong user context on list timeline
* Clean up tests
|
|
|
|
|
|
|
|
* Move some tests of User into Settings::ScopedSettings
* Add a test for User@settings
|
|
|
|
* Add a hide_notifications column to mutes
* Add muting_notifications? and a notifications argument to mute!
* block notifications in notify_service from hard muted accounts
* Add specs for how mute! interacts with muting_notifications?
* specs testing that hide_notifications in mutes actually hides notifications
* Add support for muting notifications in MuteService
* API support for muting notifications (and specs)
* Less gross passing of notifications flag
* Break out a separate mute modal with a hide-notifications checkbox.
* Convert profile header mute to use mute modal
* Satisfy eslint.
* specs for MuteService notifications params
* add trailing newlines to files for Pork :)
* Put the label for the hide notifications checkbox in a label element.
* Add a /api/v1/mutes/details route that just returns the array of mutes.
* Define a serializer for /api/v1/mutes/details
* Add more specs for the /api/v1/mutes/details endpoint
* Expose whether a mute hides notifications in the api/v1/relationships endpoint
* Show whether muted users' notifications are muted in account lists
* Allow modifying the hide_notifications of a mute with the /api/v1/accounts/:id/mute endpoint
* make the hide/unhide notifications buttons work
* satisfy eslint
* In probably dead code, replace a dispatch of muteAccount that was skipping the modal with launching the mute modal.
* fix a missing import
* add an explanatory comment to AccountInteractions
* Refactor handling of default params for muting to make code cleaner
* minor code style fixes oops
* Fixed a typo that was breaking the account mute API endpoint
* Apply white-space: nowrap to account relationships icons
* Fix code style issues
* Remove superfluous blank line
* Rename /api/v1/mutes/details -> /api/v2/mutes
* Don't serialize "account" in MuteSerializer
Doing so is somewhat unnecessary since it's always the current user's account.
* Fix wrong variable name in api/v2/mutes
* Use Toggle in place of checkbox in the mute modal.
* Make the Toggle in the mute modal look better
* Code style changes in specs and removed an extra space
* Code review suggestions from akihikodaki
Also fixed a syntax error in tests for AccountInteractions.
* Make AddHideNotificationsToMute Concurrent
It's not clear how much this will benefit instances in practice, as the
number of mutes tends to be pretty small, but this should prevent any
blocking migrations nonetheless.
* Fix up migration things
* Remove /api/v2/mutes
|
|
* Add tests for StreamEntry
- `#object_type`
- `#verb`
- `#mentions`
* Fix to test results instead of implementations
|
|
* Add option to block direct messages from people you don't follow
Fix #5326
* If the DM responds to a toot by recipient, allow it through
* i18n: Update Polish translation (for #5669) (#5673)
|
|
|
|
|
|
|
|
|
|
* Fabricate SessionActivation
not only user_id but user association.
* Add tests for SessionActivation
|
|
|
|
* Add tests for RemoteFollow.initialize
* Add tests for RemoteFollow#valid?
* Add tests for RemoteFollow#subscribe_address_for
|
|
* Add tests for Notification#target_status
* Add tests for Notification#browserable?
* Add tests for Notification.reload_stale_associations!
|
|
* Add a test for FollowRequest#authorize!
* Remove tests
There is no need to test
ActiveModel::Validations::ClassMethods#validates.
* Make an alias of destroy! as reject!
Instead of defining the method,
make an alias of destroy! as reject! because of reducing test.
|
|
* make accounts_controller_spec DRY
* Add blocked user spec
|
|
- `#local?`
- `#needs_redownload?`
- `#to_param`
|
|
|
|
|
|
There was a test when some of the properties are invalid, but none when all
of them are valid.
|
|
|
|
Looks like copied tempfile need to be flushed before further processing. This issue won't happen if the uploaded file has enough file size.
|
|
* 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.
|
|
* 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
|
|
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.
|
|
|
|
This allows deletion of reblogs which delivered before with OStatus URI.
|
|
|
|
* 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.
|
|
|
|
- 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
|
|
* Add moderation note
* Add frozen_string_literal
* Make rspec pass
|
|
|
|
* Encode custom emojis as resolveable objects in ActivityPub
* Improve code style
|
|
|
|
|
|
|
|
* Fix regression in FetchRemoteResourceService
* Update specs to match interface changes made in #5114
|
|
* Implement BlacklistedEmailDomain
* Use Faker::Internet.domain_name
* Remove note column
* Add frozen_string_literal comment
* Delete unnecessary codes
* Sort alphabetically
* Change of wording
* Rename BlacklistedEmailDomain to EmailDomainBlock
|