Age | Commit message (Collapse) | Author |
|
federate the kobolds~
|
|
|
|
|
|
settings.
|
|
add federatable `adult content` tag. Handle from remote accounts as well.
|
|
kobolds. Also allow showing multiple user roles.
|
|
|
|
Conflicts:
- config/locales/pl.yml
Conflict caused by new upstream string too close to glitch-specific
“flavour” string. Took both strings.
|
|
* Revert "Fix filtering of favourited_by, reblogged_by, followers and following (#10447)"
This reverts commit 120544067fcca4bf6e71ba1ffb276c451c17c656.
* Revert "Hide blocking accounts from blocked users (#10442)"
This reverts commit 62bafa20a112ccdddaedb25723fc819dbbcd8e9a.
* Improve blocked view of profiles
- Change "You are blocked" to "Profile unavailable"
- Hide following/followers in API when blocked
- Disable follow button and show "Profile unavailable" on public profile as well
|
|
Conflicts:
- app/workers/activitypub/distribute_poll_update_worker.rb
- config/locales/pl.yml
|
|
Also, fix some n+1 queries
Resolve #10365
|
|
Conflicts:
- app/models/status.rb
- db/schema.rb
Both conflicts are caused by us having extra database columns.
|
|
* Fix ActivityPub poll results being serialized even with hide_totals
* Fix poll refresh button having a different font size
* Display poll in OpenGraph description
* Fix NoMethodError when serializing votes
Regression from #10158
* Fix polls on public pages being broken for non-logged-in users
* Do not show time remaining if poll has no expiration date
|
|
Conflicts:
- README.md
Kept our version
- app/javascript/mastodon/features/compose/components/compose_form.js
Two changes too close to each other, took both changes
|
|
|
|
|
|
|
|
This is only available if the instance-wide setting isn't set and allows
people to hide their own followers count. This does not hide others' to
them.
|
|
|
|
* Improve overview of accounts in admin UI
- Display suspended status, role, last activity and IP prominently
- Default to showing local accounts
- Default to not showing suspended accounts
* Remove unused strings
* Fix tests
* Allow filtering accounts by IP mask
|
|
This restores the logic from before the public profile redesign. Fixes #8503
|
|
|
|
Fix #8284
|
|
|
|
|
|
|
|
Follow-up to #6124
|
|
* Add RSS feed for accounts
* Add RSS feeds for hashtags
* Fix code style issues
* Fix code style issues
|
|
* Use table for statuses in report
* Display reported account and reporter in the same table
* Split accounts and general report info into two tables again
* Redesign report statuses table, notes, merge notes and action log
* Remove unused translations
* Fix code style issue
* Fix code style issue
* Fix code style issue
|
|
Display summary of attachments in description, and mark up content
warning if present, e.g.:
Attached: 3 images · Content warning: Dota 2
When text is not supposed to be hidden, it looks more like:
Attached: 3 images
Here is the text of the toot
With #6817, multilinguagility should be assured...
|
|
- Add missing meta description to profiles
- Add canonical rel link to landing page
- Remove linebreaks from title tags
- Add username to profile title
- Add toots/following/followers to profile description tags
- Add next/prev rel links to profiles
- Do not index follower/following variants of profiles
|
|
- Use statuses controller for embeds instead of stream entries controller
- Prefer /@:username/:id/embed URL for embeds
- Use /@:username as author_url in OEmbed
- Add follow link to embeds which opens web intent in new window
- Use redis cache in development
- Cache entire embed
|
|
This fixes below bugs:
* pipe characters being counted as RTL character
* only first word being checked
|
|
- Use plaintext
- Strip out URLs
- Strip out mentions
- Strip out hashtags
- Strip out whitespace from "overall" count
- Consistent between JS and Ruby
|
|
https://github.com/codeclimate/codeclimate-rubocop/blob/08f8de84ebfb39caa96391e23816877278f6441c/Gemfile.lock#L38
Code Climate is using RuboCop v0.46.0.
Change several rules to maintain compatibility.
|
|
The two methods `StreamEntriesHelper#stream_link_target` and
`StreamEntriesHelper#acct` are based on checking whether we are running
in an embedded view.
This adds some test helper code to make the testing easier. We extracted
some "magic strings" to constants to lower the coupling in the specs.
|
|
The code that generates CSS is based on a lot of boolean conditions.
The possible combinations of these grows exponentially as we add more
conditions.
Since most of the code is conditional on a single boolean, we tested the
following:
1. All `false`
2. All `true`
3. Each individual flag set to `true`
The methods tested are:
* `StreamEntriesHelper#style_classes`
* `StreamEntriesHelper#microformats_classes`
* `StreamEntriesHelper#microformats_h_class`
|
|
We used some random Arabic characters to test that the various RTL
conditions got triggered.
|
|
* significant improvement in microformats markup
This is a huge improvement and I believe will close #965.
Had these microformats reviewed by others in the community to help
ensure they are at least correct, if not complete.
I did not want to change the structure of the page, and so there it does
not fully mark up the entire ancestry chain, or reply chain, only the
direct decendants and direct ancestors are correctly associated, but
this is likely fine as the most important bit is to have access to the
urls for those toots which are now correctly fetchable.
* improve code climate
* trying to pass code climate tests
* code climate
* fix p-summary for content warning posts
* fix error introduced when merging via github
|
|
* Remove trailing whitespace
* Use query methods instead of explicit .blank? checks
|
|
* Add coverage for embedded status view
* Refactor embed view to eliminate @external_links variable
|
|
Removes:
- avatar_for_status_url
- relative_time
- reblogged_by_me_class
- favourited_by_me_class
|
|
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.
Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.
We added test coverage to untested methods that got refactored.
|
|
|
|
|
|
|
|
fix #361 with rich OEmbed display via iframe, fix #237 by hiding sensitive
content behind a spoiler on public pages
|
|
|
|
|
|
using S3. Do not keep originals
for avatars/headers, resize avatars down to 120x120 instead of 300x300. Set cache headers on S3 stuff, also
make it private (aka only accessible via expiring links to prevent hotlinking)
|