Matt Jankowski
ce5cb2b81c
Instances list in admin ( #2095 )
...
* Add admin/instances index action
* Add link to instances admin page
* View lists instances
* Instances, grouped by domain, ordered by count
* Use Account.remote scope
* Extract method: Account.by_domain_accounts
8 years ago
Matt Jankowski
4b6be67e85
Admin reports with accounts ( #2092 )
...
* Add a ReportFilter class
* Add reports and targeted_reports relationships to Account
* Use ReportFilter from admin/reports controller
* Link to admin/reports filtered views from admin account show view
* Add indexes to reports.account_id and reports.target_account_id
8 years ago
839
95e8ab21a1
Avoid dynamic methods due to processing speed ( #2080 )
8 years ago
Eugen Rochko
336fd904db
Merge branch 'pause-gif' of git://github.com/patf/mastodon into patf-pause-gif
8 years ago
Matt Jankowski
7a7a2d591f
Remove unused methods ( #1730 )
...
* Remove unused method #set_counters_maps from api controller
* Remove unused method #set_account_counters_maps from api controller
* Remove unused method Account#followers_domains
* Remove unused User.prolific scope
* Add mastodon:users:admins task to list all admin emails
* Use interpolated query style in Account.triadic_closures
* Coverage for Account.triadic_closures
8 years ago
Eugen Rochko
8867792e53
Rename cache key to exclude_account_ids_for:id, adjust formatting
8 years ago
Eugen Rochko
8af5ceb661
Merge branch 'fix/cache_blocking' of git://github.com/pixiv/mastodon into pixiv-fix/cache_blocking
8 years ago
Matt Jankowski
47cc8462e3
Media controller specs ( #2022 )
...
* Add spec for media controller
* Add MediaAttachment.attached scope
* Simplify methods in media controller
8 years ago
alpaca-tc
4f0d96aa5e
Required foreign keys ( #2003 )
...
* Add `required: true` option to foreign column
* Fixes NoMethodError
```
> Favourite.new.valid?
NoMethodError: undefined method `reblog?' for nil:NilClass
```
8 years ago
Patrick Figel
2fb1f07888
Add gif auto-play/pause preference
...
This introduces a new per-user preference called
"Auto-play animated GIFs", which is enabled by default. When a
user disables this setting, gifs in toots become click-to-play.
Previews of animated gifs were changed to display the video play
button so that users can distinguish them from regular images.
This setting also affects account avatars in the detailed account
view, which was changed to use the same hover-to-play mechanism
that is used for animated avatars in timelines.
Fixes #1652
8 years ago
Matt Jankowski
fff8d92577
I18n health warnings ( #1949 )
...
* Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement
* Use implicit controller/action path for i18n in admin/domain_blocks
* Add DomainBlock#accounts has_many
* Avoid i18n health warning for `en` locale by using symbol scope with :count
* Remove unused i18n key: plaintext_secret_html
* Remove unused i18n key two_factor_auth.warning
* Remove final will_paginate i18n keys
* Remove unused key two_factor_auth.recovery_codes
* Remove unused key: admin.reports.comment.none
* Remove unused reports. i18n namespace (moved to admin.reports)
* Ignore keys from locales which override activemodel and activerecord errors
* Revert "Remove unused key: admin.reports.comment.none"
This reverts commit 350ef2685fadc069e619bb6d1066190de195d942.
* Update i18n key reference to match moved location
* Add missing `en` keys to i18n
* Tell i18n-tasks to ignore missing attributes that dont need overwriting
* Add i18n-tasks unused to travis
8 years ago
Effy Elden
d52abe1cc7
Merge branch 'master' into fix/cache_blocking
8 years ago
Matt Jankowski
a3a4fe2163
Simplify the og:image and og:description code in stream_entries/show ( #1934 )
8 years ago
tackeyy
813ee3cde6
Remove .keep in models ( #1892 )
8 years ago
alpaca-tc
30ef109bc5
Add presence validation to Import ( #1928 )
...
```
*An* `ActiveRecord::StatementInvalid` *occurred while* `POST </settings/import>` *was processed by* `imports#create`
Exception
----------------
PG::NotNullViolation: ERROR: null value in column "type" violates not-null constraint
```
8 years ago
Eugen
ba6b4c6e62
Make file attachment on MediaAttachment optional ( #1865 )
...
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true
Clean up old media files when creating a new domain block with reject_media set to true
Return remote_url in media attachments API if local file is not present
Undo domain block action in admin UI
Ability to enable reject_media from admin UI
8 years ago
Keiji Yoshimi
6ca3a6c9f4
cache blockings for reducing queries.
8 years ago
Patrick Figel
15b393201e
Add recovery code support for two-factor auth ( #1773 )
...
* Add recovery code support for two-factor auth
When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.
The two-factor prompt during login now accepts both OTP codes and
recovery codes.
The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.
Fixes #563 and fixes #987
* Set OTP_SECRET in test enviroment
* add missing .html to view file names
8 years ago
西小倉宏信
d91b462aa1
Remove .keep in models ( #1748 )
8 years ago
Matt Jankowski
22f1d9099a
Admin reports controller improvements ( #1714 )
...
* Simplify admin/reports controller filtering for index
* Rename parameter to resolved
* Fix issue where reports view could not access filter_link_to
* Add coverage for admin/reports controller
* DRY up resolution of related reports for target account
* Clean up admin/reports routes
* Add Report#statuses method
* DRY up current account action taken params
* Rubocop styles
8 years ago
Matt Jankowski
26ea2f70bd
Admin accounts controller cleanup ( #1664 )
...
* Remove unused account_params method in admin/accounts controller
* Introduce AccountFilter to find accounts
* Use AccountFilter in admin/accounts controller
* Use more restful routes admin silence and suspension area
* Add admin/silences and admin/suspensions controllers
8 years ago
Matt Jankowski
0a6cfca260
Settings export refactor ( #1646 )
...
* Refactor Export to take an account and know about the export types
* Use Export instance in settings/exports#show
8 years ago
Matt Jankowski
bf7306636e
Allow import/export of mutes list ( #1541 )
...
* Allow export of mutes list
* Allow importing of mutes list
* Refactor to use Settings::Exports::BaseController and DRY up exports code
8 years ago
Matt Jankowski
63e46e27f0
Refactor exports controller ( #1567 )
...
* Add basic coverage for settings/exports controller
* Remove unused @account variable from settings/exports controller
* Add coverage for download export actions
* Remove deprecated `render :text` in favor of `send_data` for csv downloads
* Add model to handle exports
* Use Export class in settings/exports controller
* Simplify settings/exports controller methods
* Move settings/export to more restful routes
8 years ago
Eugen Rochko
b440b2a9ee
Merge branch 'master' of https://github.com/blackle/mastodon into blackle-master
8 years ago
blackle
e7d77f4e13
Allow user to disable the boost confirm dialog in preferences
8 years ago
Eugen
e0977567e7
When avatar/header are GIF, generate static versions ( #1428 )
...
* When avatar/header are GIF, generate static versions.
Account API returns "avatar"/"avatar_static", "header"/"header_static"
Static version is the same as original for other cases
Web UI de-animates avatars in toots, lists of users
Fix #441 , fix #596 , prerequisite for #1064
* Fix JS test
* Add rake task to generate static avatars/headers from GIF ones, add test
8 years ago
Eugen
68f3ce7d0c
API param to exclude notification types from response ( #1341 )
...
* Add exclude_types param to /api/v1/notifications
* Exclude notification types in web UI through exclude_types in the API
8 years ago
Matt Jankowski
874a240a58
Clean up generation of account webfinger string ( #1477 )
...
* Consolidate webfinger string creation under Account#to_webfinger_s
* Introduce Account#local_username_and_domain for consolidation
8 years ago
Eugen
d30a82a22f
Fix #1339 - better Atom titles ( #1343 )
8 years ago
Matt Jankowski
641e809eaf
Search cleanup ( #1333 )
...
* Clean up SQL output in Tag and Account search methods
* Add basic coverage for Tag.search_for
* Add coverage for Account.search_for
* Add coverage for Account.advanced_search_for
8 years ago
Eugen
b532134503
Fix #795 , fix #704 , fix #835 - 2FA requires confirmation to be enabled ( #1278 )
...
* Fix #795 , fix #704 , fix #835 - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled
* Clean up
8 years ago
Joël Quenneville
8a67fb5eca
DRY up reblog vs original status check
...
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.
8 years ago
Eugen
24c77e57b2
Rewrite Atom generation from stream entries to use Ox instead of Nokogiri ( #1124 )
...
* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder
StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker
PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.
All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri
* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
8 years ago
Brad Urani
522410589e
Eliminate unnecessary queries and query clauses with none and all
8 years ago
Samy KACIMI
06424fd912
fix rubocop issues
8 years ago
Samy KACIMI
9f80b2dd4e
add more tests to models
8 years ago
Eugen Rochko
7a56845060
Only call regeneration worker after first login after a 14 day break
8 years ago
Eugen Rochko
24793cdbaa
Fix ActionController::Parameters in API issue
8 years ago
Eugen Rochko
c9ffa7ab1d
Add basic logging of who resolved report
8 years ago
Eugen Rochko
d1f8bd2673
Paperclip will complain on its own if this variable is missing
8 years ago
Eugen Rochko
244da78105
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
8 years ago
Eugen Rochko
96e58cf289
Add counter caches for a large performance increase on API requests
8 years ago
Eugen Rochko
1b4583ca91
Fix full-text search query quotation, improve tag search performance with an index,
...
add ability to open status by URL from search (fix #53 )
8 years ago
Eugen Rochko
bee385a81f
Merge branch 'master' into feature-omnisearch
...
this merge is necessary,
8 years ago
Eugen Rochko
afd53467eb
More efficient single account retrieval (0.9ms vs 50ms before)
8 years ago
Eugen Rochko
3893f75a51
New API method: /api/v1/search
...
Returns accounts, statuses, hashtags arrays
8 years ago
Eugen Rochko
a19062b726
Federate header images, fix open-uri http->https redirection error
8 years ago
Eugen Rochko
64be072702
Make account search blazing fast and rank followers/followees higher in the results
8 years ago
Eugen Rochko
8e2146ab50
Add method for retrieving triadic closures
8 years ago
Eugen Rochko
f1b9644cfd
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
8 years ago
Eugen Rochko
dea8e95d14
Performance improvement for profiles
8 years ago
Eugen Rochko
8bc70e6a16
Use more widely supported MP4 format for gifv's
8 years ago
Eugen Rochko
42b6d5aca5
Increase max bitrate of converted webms, slightly optimized counter queries
...
(Because postgres can tell that count(*) needs no extra checks, but
counting a specific column requires them)
8 years ago
Eugen Rochko
354eb3b757
Add vsync -cfr option when converting gif to webm
8 years ago
Eugen Rochko
671d1d8a26
Higher quality webms? Might improve conversation of some types of gifs
8 years ago
Eugen Rochko
c911ade272
Detect videos with no sound, handle them like gifv
8 years ago
Eugen Rochko
9adf6e8736
Fix wrongful matching of last period in extended usernames
...
Fix anchor tags in some wikipedia URLs being matches as a hashtag
8 years ago
Eugen Rochko
d1e1f26878
Improved /api/v1/accounts/:id/statuses with new params: only_media, exclude_replies
...
Redirect /:username to /users/:username
Redirect /:username/:id to /users/:username/updates/:id
Updated API documentation and sponsors
8 years ago
Eugen Rochko
4b93cf88e5
Fix #431 - convert gif to webm during upload. Web UI treats them like it did
...
before. In the API, attachments now can be either image, video or gifv. Gifv
is to be treated like images in terms of behaviour, but are videos by file
type.
8 years ago
Eugen Rochko
0cb5a2a0a7
Add digest e-mails
8 years ago
Eugen Rochko
9989890e2e
Fix #231 - Muting
8 years ago
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
8 years ago
Eugen Rochko
a741049a77
Fix #104 - Style OAuth authorized applications page
...
Add ability to search accounts by display name
8 years ago
Eugen Rochko
b734ae3029
Skip remote media URLs that don't have a hostname
8 years ago
Eugen Rochko
c7427bf3c9
Split public timeline into "public timeline" which is local, and
...
"whole known network" which is what public timeline used to be
Only domain blocks with suspend severity will block PuSH subscriptions
Silenced accounts should not appear in conversations unless followed
8 years ago
Eugen Rochko
3d291bcc55
Do not display non-Status stream entries anymore
8 years ago
Eugen Rochko
6917e53fe0
Adding index overview for reports in admin UI
8 years ago
Eugen Rochko
2cc31b3194
Adding POST /api/v1/reports API, and a UI for submitting reports
8 years ago
Eugen Rochko
f9f8f52fe9
Stop trying to shoehorn all Salmon updates into the poor database-connected
...
StreamEntry model. Simply render Salmon slaps as they are needed
8 years ago
Eugen Rochko
12ed6f5712
Resolve issue with rendering authorize/reject Salmon slaps
8 years ago
Eugen Rochko
c001ef3df6
Fix Status.permitted_for scope query
8 years ago
Eugen Rochko
db53bfd30e
Fix semantics of follow requests another slaps
8 years ago
Eugen Rochko
ffd58aad9d
Make PuSH only distribute to subscriptions that match follower domains
...
Allow PuSH to distribute private toots with that condition
8 years ago
Eugen Rochko
ce193afa4f
Mentions in private statuses allow mentioned people to see them
8 years ago
Eugen Rochko
59c8c2b28a
Make follow requests federate
8 years ago
Eugen Rochko
f0d4a2c9b7
Fix the fix
8 years ago
Eugen Rochko
81be690f95
Fix #614 - extra reply-boolean on statuses to account for cases when replied-to
...
status is not in the system at time of distribution; fix #607 - reset privacy
settings to defaults when cancelling replies
8 years ago
Eugen Rochko
94cda4cfb9
Add "clear notifications" button, exclude posts from people who have blocked *you* from public/hashtag timelines
8 years ago
Eugen Rochko
b1f2683ecc
Add API modifiers to limit returned toots from public/hashtag timelines
...
to only those from local users; Add link to "extended information" to
getting started in the UI; Add defaults for posting privacy; Change
how publish button looks depending on posting privacy chosen
8 years ago
Eugen Rochko
d384845469
Fix #61 - Add list of blocked users to the UI; clean up failed push notifications API
...
Try to fix Travis CI setup
8 years ago
Eugen Rochko
2f126b1225
Removing failed push notification API, make context loads use cache
8 years ago
Eugen Rochko
727d236fcc
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
8 years ago
Eugen Rochko
edcfbee9f5
Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI
8 years ago
Eugen Rochko
9327d05bf7
API for apps to register for push notifications
8 years ago
Eugen Rochko
9b8670c939
Added optional two-factor authentication
8 years ago
Eugen Rochko
27ad4ce9e8
Do not run FetchLinkCardService on local URLs, increase file size limit to 8MB,
...
fix ProcessFeedService pushing status into distribution if called a second time
while the first is still running (i.e. when a PuSH comes after a Salmon slap),
fix not running escape on spoiler text before emojify
8 years ago
Eugen Rochko
096ff9ba38
Removed accidental n+1 query from notifications, updated some deps,
...
improved how "show more" link looks
8 years ago
Eugen Rochko
803652ff75
Follow request authorizations faster
8 years ago
Eugen Rochko
959e064186
Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text
...
Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" />
Clean up schema file from accidental development migrations
8 years ago
blackle
e25fc71c2c
Implement a click-to-view spoiler system
8 years ago
Eugen Rochko
77a76d5171
Domain blocks now have varying severity - auto-suspend vs auto-silence
8 years ago
Eugen
9a2a6b476b
Mitigate inconsistent notifications
8 years ago
Eugen Rochko
f748a91ec7
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 years ago
Eugen Rochko
31d48af0d1
Fix statsd null backend not being initialized properly
8 years ago
Eugen
788e884690
Try to avoid any potential loops
8 years ago
Eugen Rochko
3f30e91462
Improve how the list entry Account component looks when target is blocked/follow is requested
8 years ago
Eugen Rochko
5d88ef90c9
Fix tests, add applications to eager loading/cache for statuses, fix
...
application website validation, don't link to app website if website isn't set,
also comment out animated boost icon from #464 until it's consistent with non-animated version
8 years ago
Effy Elden
8e0c1914fb
Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves #11
8 years ago
Eugen Rochko
533448be42
Add extended about page stub
8 years ago
Eugen Rochko
6d98465db2
Extend rails-settings-cached to merge db-saved hash values with defaults
8 years ago
Eugen Rochko
7e7c2bbb0f
Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
...
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
8 years ago
Eugen Rochko
4293e132d1
Persist UI settings, add missing localizations for German
8 years ago
Eugen Rochko
f29df16eea
Fix Paperclip timeout setting. Fix bug introduced in #437
8 years ago
Eugen
72843ea705
Merge pull request #437 from krainboltgreene/patch-1
...
Simplifying followers mappings
8 years ago
Kurtis Rainbolt-Greene
5cecff7f2a
Simplifying followers mappings
...
Deduplicating some logic and switching to pluck, to avoid pulling the entire model in memory.
8 years ago
Kurtis Rainbolt-Greene
ff835f3377
Less complicated determination
8 years ago
Kurtis Rainbolt-Greene
82b0eb2ae4
Using "rails style" order arguments
8 years ago
Eugen Rochko
0df070596e
Fix #416 - Generate random unique 14-byte (19 characters) shortcodes
...
for local attachments, use them in URLs. Check status privacy
before redirecting to actual file.
8 years ago
Eugen Rochko
df2f14d2dd
Adding remote follow button
8 years ago
Eugen Rochko
d7bc0d8a33
Set in_reply_to_account on statuses to non-self value when possible, thus
...
resolving the confusion from self-chain replies ultimately linking to a
non-self status. Adjust filters
8 years ago
Eugen Rochko
2bc6e7c96e
Add API for retrieving blocked accounts
8 years ago
Eugen Rochko
34febf75be
Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds
8 years ago
Eugen Rochko
cef68b9b1c
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
8 years ago
Eugen Rochko
ef9e827c54
Adding follow requests API
8 years ago
Eugen Rochko
1ed3bb3a02
Don't show statuses to blocked users
8 years ago
Eugen Rochko
9e0bd72434
Fix account timelines bug
8 years ago
Eugen Rochko
a3680345b7
Hide follow/unfollow button from public page if follow already requested
8 years ago
Eugen Rochko
238233440f
Follow call on locked account creates follow request instead
...
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
8 years ago
Eugen Rochko
11e2159859
Merge branch 'master' into development
8 years ago
Eugen Rochko
8038c663b0
Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper
8 years ago
Eugen Rochko
d417da7d3a
Private visibility on statuses prevents non-followers from seeing those
...
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
8 years ago
Eugen Rochko
6d7f3be2f6
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
8 years ago
Eugen Rochko
9d4f96f440
Removing external hub completely, fix #333 fixing digit-only hashtags,
...
removing web app capability from non-webapp pages
8 years ago
Eugen Rochko
ebfe460e82
Downsize attachment previews, but improve quality from 80 to 90
8 years ago
Eugen Rochko
88218c83d5
Add suspend account functionality to admin UI
8 years ago
Eugen Rochko
a4d3947c88
Fix
8 years ago
Eugen Rochko
ca0757a6cf
Add account suspension
8 years ago
Eugen Rochko
303044f899
Downsize originals in media attachments, small fixes
8 years ago
Eugen Rochko
e5e702a976
Adding configurable e-mail blacklist
8 years ago
Eugen Rochko
595f592304
Do not autoplay videos, display play button instead. Use expiring links when 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)
8 years ago
Eugen Rochko
047bdf6fe0
Improve notification model
8 years ago
Eugen Rochko
2d4ce8a867
Fix #248 - Reload all accounts when fetching from cache
8 years ago
Eugen Rochko
23a4f93345
Fix #323 - self-replies to appear in public timelines again
8 years ago
Eugen Rochko
211049ae59
Fix #329 - avatar errors no longer prevent remote accounts from being saved
...
(without avatar). Also improved search position of exact matches
8 years ago
Eugen Rochko
8d4ef0b6c3
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
8 years ago
Eugen Rochko
1bb1ec3b8d
Further abstract caching for includes
8 years ago
Eugen Rochko
bee7aeaea5
Unify collection caching code
8 years ago
Eugen Rochko
67db2cd871
Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions of avatars
8 years ago
Eugen Rochko
0cc5410e03
Adding backtracing to Salmon/Processing workers
8 years ago
Eugen Rochko
b344f157cc
Fix order of attachments (see #269 )
8 years ago
Eugen Rochko
b5ad0eb4ea
Adding embedded PuSH server
8 years ago
Eugen Rochko
31108d4659
Public and hashtag timelines now exclude reblogs and replies
...
Fix #289 - don't download avatar unless the URL is http/https
Fix #293 - reblog/reblogged is now boost/boosted
8 years ago
Eugen Rochko
ea0846645a
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
8 years ago
Eugen Rochko
3b3bf2dd59
Filter statuses that mention blocked users
8 years ago
Eugen Rochko
30f9e9e624
Remove Neo4J
8 years ago
Alyssa Ross
cb06801b21
Extract filename obfuscation into module
8 years ago
Eugen Rochko
59d7fe4c05
Fix #168 - Turn off e-mail notifications by default
8 years ago
Eugen Rochko
dda6354c76
Implement includes caching for timelines APIs
8 years ago
Eugen Rochko
f6a975af8b
More query optimizations
8 years ago
Eugen Rochko
30010a6dbd
Moving some counter queries out of subqueries in the API
8 years ago
Eugen Rochko
f07b0dc82f
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
8 years ago
Eugen Rochko
4d100a1b36
Remove some n+1 queries from notifications API
8 years ago
Eugen Rochko
83cdfefa7d
Remove orphaned notifications, add scopes param to app create API
8 years ago
Eugen Rochko
38025dfea3
Adding unified streamable notifications
8 years ago
Eugen Rochko
d2029a8845
Don't create attachments if remote file cannot be fetched
8 years ago
Eugen Rochko
8d767b477f
Validate presence of text even for remote statuses
8 years ago
Eugen Rochko
b8e6ca45e5
Add user locale setting
8 years ago
Eugen Rochko
c6f5eb8aa7
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
8 years ago
Eugen Rochko
e71b152d89
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
733b5415be
Fix #142 - Escape ILIKE special characters from Account.find_remote
8 years ago
Eugen Rochko
6b7fdf3b5f
Weigh username matches higher than domain matches in account search
8 years ago
Eugen Rochko
cbfa28b9cc
Use full-text search for autosuggestions
8 years ago
Eugen Rochko
d8c2044e65
Fix public timeline query
8 years ago
Eugen Rochko
0b03bbad67
Discard misattributed remote statuses, improve timelines filter
8 years ago
Eugen Rochko
6d9f8ee11e
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago
Eugen Rochko
beb36e24fe
API pagination for all collections using Link header
8 years ago
Eugen Rochko
d98b43cf56
Move timelines API from statuses to its own controller, add a check for
...
resources that require a user context vs those that don't (such as public timeline)
/api/v1/statuses/public -> /api/v1/timelines/public
/api/v1/statuses/home -> /api/v1/timelines/home
/api/v1/statuses/mentions -> /api/v1/timelines/mentions
/api/v1/statuses/tag/:tag -> /api/v1/timelines/tag/:tag
8 years ago
Eugen Rochko
f1d2c46ded
Improve feed regeneration
8 years ago
Eugen Rochko
b225b8d32e
Fix account and hashtag regex
8 years ago
Eugen Rochko
6d948a809e
Account notes (bios) can now contain links. Character limit upped to 160
8 years ago
Eugen Rochko
f0956d434c
Improve @mention regex
8 years ago
Eugen Rochko
cb22dce970
Adding hashtags
8 years ago
Eugen Rochko
082e57fc13
Adding hashtag model
8 years ago
Eugen Rochko
71836838dd
Enable caching for some rabl views
8 years ago
Eugen Rochko
02a90979c5
Catch 404 errors when downloading remote media, add screenshot to landing page
8 years ago
Eugen Rochko
95e65d883a
Limit returned followees/followers by API to 40 for now
8 years ago
Eugen Rochko
e5c0f979cf
Fix common followers API
8 years ago
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
8 years ago
Eugen Rochko
2917bca72b
Fix follow suggestion fallback to exclude already followed users
8 years ago
Eugen Rochko
f9e06eb819
Make suggestions box also use user list components
8 years ago
Eugen Rochko
1eac265f35
Adding public timeline silencing
8 years ago
Eugen Rochko
d8a66ab492
Fix suggestions fallback query
8 years ago
Eugen Rochko
d63f0295b9
Fix public channel
8 years ago
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
8 years ago
Eugen Rochko
4470966cd9
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
8 years ago
Eugen Rochko
39aa7caaa5
Do not force-transcode uploaded videos to webm (leave mp4 as-is)
8 years ago
Eugen Rochko
39d6f837db
Actually fix public timeline
8 years ago
Eugen Rochko
b1dee1b6d1
Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues
8 years ago
Eugen Rochko
1df4d2e3aa
Increase default number of loaded suggestions to 10
8 years ago
Eugen Rochko
41aae40927
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
8 years ago
Eugen Rochko
19b6f7a013
Filter out reblogs of blocked users from public timeline (the not real-time variant)
8 years ago
Eugen Rochko
916907580e
Backfill follow suggestions with fallback when not enough results. Cycling
...
through suggestions in UI
8 years ago
Eugen Rochko
395d15e5fd
Fix suggestions fallback
8 years ago
Eugen Rochko
8497dfc98e
Fix follow suggestions order
8 years ago
Eugen Rochko
52a5ad8207
Fix follow suggestions ranking
8 years ago
Eugen Rochko
e5bcf8040c
Adding sort by node rank to follow suggestions and fallback to most influential users
8 years ago
Eugen Rochko
2614a47a15
Exclude blocked users from follow suggestions, fix tests
8 years ago
Eugen Rochko
8374abcf06
Fix multiple results return from FollowSuggestion.get
8 years ago
Eugen Rochko
e88d667d3f
Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed
8 years ago
Eugen Rochko
92209a1b6e
Display follow suggestions
8 years ago
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
8 years ago
Eugen Rochko
5e49118f86
Change how convert options are escaped
8 years ago
Eugen Rochko
1474f87a14
Allow mp4 uploads, convert to WebM
8 years ago
Eugen Rochko
12a6eb95be
Make account domains case-insensitive, downcase before checking against local
8 years ago
Eugen Rochko
7cb55af441
Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies
8 years ago
Eugen Rochko
102eab0ac9
Public timeline to exclude users you blocked
8 years ago
Eugen Rochko
9bf5a73968
Adding domain blocks
8 years ago
Yann Vaillant
9f7d65b98b
Strip exif data from uploaded images
...
Using `-strip` cli options from ImageMagick
http://www.imagemagick.org/script/command-line-options.php#strip
fix #85
8 years ago
Eugen Rochko
d51efdd1dc
Adding user settings (model and mailer), no form yet
8 years ago
Eugen Rochko
2c9e672ee2
Integrating block relationships into the API (read-only for now)
8 years ago
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
8 years ago
Eugen Rochko
fc198a8b4c
Adding e-mail confirmations
8 years ago
Eugen Rochko
b3c7c8700d
Fix most pages on small screens
8 years ago
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
8 years ago
Eugen Rochko
9fd3d7b6cd
Add since_id param to feeds
8 years ago
Eugen Rochko
2d4f9ecebf
Validate against multiple reblogs of same status by same account
8 years ago
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
8 years ago
Eugen Rochko
927333f4f8
Improve code style
8 years ago
Eugen Rochko
e9bc4a4a08
Limit usernames to 30 chars, statuses to 500, open account after follow form success
8 years ago
Eugen Rochko
15f51dbf8c
Better styling for selected status in detailed view
8 years ago
Eugen Rochko
1215ab57ff
Some extra scopes for user sorting
8 years ago
Eugen Rochko
a706f1af04
Don't generate stream entries for streamables of remote accounts
8 years ago
Eugen Rochko
c6d893a71d
Uploading/undoing media modifies status text. Also: status text trimmed before validation
8 years ago
Eugen Rochko
c0e9603c92
Fix #50 - Order ancestors/descendants by tree path
8 years ago
Eugen Rochko
e46abc71ca
Fix notifications in UI, added new API for fetching account relationships
8 years ago
Eugen Rochko
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
8 years ago
Eugen Rochko
1cfc9aa20e
OStatus2 and Goldfinger gems now have timeouts for requests
8 years ago
Eugen Rochko
059ebbf48d
Separate PuSH subscriptions from following, add mastodon:push:refresh task,
...
respect hub.lease_seconds (fix #46 )
8 years ago
Eugen Rochko
bd5ad304ba
Adding media controller, 1 webm/compose form allowed, previews generated
8 years ago
Eugen Rochko
ce29624c6d
Fixing image upload limits, allowing webm, merge/unmerge events trigger
...
timeline reload in UI, other small fixes
8 years ago
Eugen Rochko
7d45a4e692
Fix local mention regex so it works on newlines in HTML (with a preceding tag)
8 years ago
Eugen Rochko
d6b3113304
Validates local username, max sizes for uploads. Fixes #32
8 years ago
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
8 years ago
Eugen Rochko
762157ee4e
Fix for single status pages
8 years ago
Eugen Rochko
85d89b472d
Optimized n+1 queries in accounts Atom and HTML views
...
Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API
8 years ago
Eugen Rochko
a4cc966476
Removing default avatars
8 years ago
Eugen Rochko
14fb0ab4a2
Improve JSON output for media attachments, generate :small preview for them
8 years ago
Eugen Rochko
ed94e998bc
Fix for media attachments remote URL download
8 years ago
Eugen Rochko
1d9c886518
Adding enclosures to Atom and statuses JSON
8 years ago
Eugen Rochko
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
8 years ago
Eugen Rochko
ae1fac0062
Add API to upload media attachments
8 years ago
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
8 years ago
Eugen Rochko
d0e2733f63
Fix reblogs of reblogs in UI, add follow form in UI
8 years ago
Eugen Rochko
595c8dda60
Favouriting works, reblogging is a little broken because of <Status>
8 years ago
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
8 years ago
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
8 years ago
Eugen Rochko
ff2cbc0753
Remember me enabled by default
9 years ago
Eugen Rochko
c38ad208c3
Fix mentions regex to exclude usernames in Medium URLs
9 years ago
Eugen Rochko
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
9 years ago