Eugen Rochko
ba192f12e3
Added optional two-factor authentication
8 years ago
Eugen Rochko
450ad43180
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
cc5c1e5feb
Removed accidental n+1 query from notifications, updated some deps,
...
improved how "show more" link looks
8 years ago
Eugen Rochko
57f7cf8349
Follow request authorizations faster
8 years ago
Eugen Rochko
999cde94a6
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
bf0f6eb62d
Implement a click-to-view spoiler system
8 years ago
Eugen Rochko
6d98a73180
Domain blocks now have varying severity - auto-suspend vs auto-silence
8 years ago
Eugen
cea9fb31fe
Mitigate inconsistent notifications
8 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
8 years ago
Eugen Rochko
f051c2e813
Fix statsd null backend not being initialized properly
8 years ago
Eugen
8b9206f7d9
Try to avoid any potential loops
8 years ago
Eugen Rochko
6cf44ca92c
Improve how the list entry Account component looks when target is blocked/follow is requested
8 years ago
Eugen Rochko
e9737c2235
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
d6bc0e8db4
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
e25170f960
Add extended about page stub
8 years ago
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
8 years ago
Eugen Rochko
b11fdc3ae3
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
75f80bef10
Persist UI settings, add missing localizations for German
8 years ago
Eugen Rochko
2e71bb031b
Fix Paperclip timeout setting. Fix bug introduced in #437
8 years ago
Eugen
69643338f6
Merge pull request #437 from krainboltgreene/patch-1
...
Simplifying followers mappings
8 years ago
Kurtis Rainbolt-Greene
abe3ae1cc2
Simplifying followers mappings
...
Deduplicating some logic and switching to pluck, to avoid pulling the entire model in memory.
8 years ago
Kurtis Rainbolt-Greene
4a7e3e5082
Less complicated determination
8 years ago
Kurtis Rainbolt-Greene
e5d9009d71
Using "rails style" order arguments
8 years ago
Eugen Rochko
7b9f8766e8
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
8f47f6a7ec
Adding remote follow button
8 years ago
Eugen Rochko
8d44281677
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
49834a6e7f
Add API for retrieving blocked accounts
8 years ago
Eugen Rochko
8b94d283fb
Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds
8 years ago
Eugen Rochko
2146ac91a0
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
8 years ago
Eugen Rochko
004382e4d0
Adding follow requests API
8 years ago
Eugen Rochko
7376af90f7
Don't show statuses to blocked users
8 years ago
Eugen Rochko
6e064cf715
Fix account timelines bug
8 years ago
Eugen Rochko
9d42bff285
Hide follow/unfollow button from public page if follow already requested
8 years ago
Eugen Rochko
b891a81008
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
f91b6fa9e1
Merge branch 'master' into development
8 years ago
Eugen Rochko
3caf0cfb03
Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper
8 years ago
Eugen Rochko
80e02b90e4
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
aed25932b5
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
8 years ago
Eugen Rochko
6de079a5af
Removing external hub completely, fix #333 fixing digit-only hashtags,
...
removing web app capability from non-webapp pages
8 years ago
Eugen Rochko
06dd359239
Downsize attachment previews, but improve quality from 80 to 90
8 years ago
Eugen Rochko
f978b06dd1
Add suspend account functionality to admin UI
8 years ago
Eugen Rochko
84d2371d6a
Fix
8 years ago
Eugen Rochko
39cc9fde8a
Add account suspension
8 years ago
Eugen Rochko
64d109dc0e
Downsize originals in media attachments, small fixes
8 years ago
Eugen Rochko
b362de2232
Adding configurable e-mail blacklist
8 years ago
Eugen Rochko
80c44ed9c1
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
b14b5e3b44
Improve notification model
8 years ago
Eugen Rochko
816284d739
Fix #248 - Reload all accounts when fetching from cache
8 years ago
Eugen Rochko
3114e55c7a
Fix #323 - self-replies to appear in public timelines again
8 years ago
Eugen Rochko
58b3f4fd67
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
14bd46946d
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
8 years ago
Eugen Rochko
a21bcac9e1
Further abstract caching for includes
8 years ago
Eugen Rochko
7e90772c92
Unify collection caching code
8 years ago
Eugen Rochko
5973ca3d11
Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions of avatars
8 years ago
Eugen Rochko
4eba76711b
Adding backtracing to Salmon/Processing workers
8 years ago
Eugen Rochko
f860d15d39
Fix order of attachments (see #269 )
8 years ago
Eugen Rochko
2d2c81765b
Adding embedded PuSH server
8 years ago
Eugen Rochko
8a4913fde0
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
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
8 years ago
Eugen Rochko
e3ed212b85
Filter statuses that mention blocked users
8 years ago
Eugen Rochko
8efa081f21
Remove Neo4J
8 years ago
Alyssa Ross
cefef2c571
Extract filename obfuscation into module
8 years ago
Eugen Rochko
9b53c7d353
Fix #168 - Turn off e-mail notifications by default
8 years ago
Eugen Rochko
cf912e01fd
Implement includes caching for timelines APIs
8 years ago
Eugen Rochko
5c78547198
More query optimizations
8 years ago
Eugen Rochko
fc90d38893
Moving some counter queries out of subqueries in the API
8 years ago
Eugen Rochko
45c7ee39b3
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
52119104b9
Remove some n+1 queries from notifications API
8 years ago
Eugen Rochko
e8c27767aa
Remove orphaned notifications, add scopes param to app create API
8 years ago
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
8 years ago
Eugen Rochko
e4f56fa942
Don't create attachments if remote file cannot be fetched
8 years ago
Eugen Rochko
882de42bab
Validate presence of text even for remote statuses
8 years ago
Eugen Rochko
2c766bd4b4
Add user locale setting
8 years ago
Eugen Rochko
4f07fb1f0a
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
8 years ago
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
8152584cf5
Fix #142 - Escape ILIKE special characters from Account.find_remote
8 years ago
Eugen Rochko
20aa777c58
Weigh username matches higher than domain matches in account search
8 years ago
Eugen Rochko
09218d4c01
Use full-text search for autosuggestions
8 years ago
Eugen Rochko
0320ea4b85
Fix public timeline query
8 years ago
Eugen Rochko
aabf884c5f
Discard misattributed remote statuses, improve timelines filter
8 years ago
Eugen Rochko
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
8 years ago
Eugen Rochko
b13e7dda1f
API pagination for all collections using Link header
8 years ago
Eugen Rochko
9aecc0f48a
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
bb4d1eb2e8
Improve feed regeneration
8 years ago
Eugen Rochko
f5c6baf29d
Fix account and hashtag regex
8 years ago
Eugen Rochko
23fc424b7a
Account notes (bios) can now contain links. Character limit upped to 160
8 years ago
Eugen Rochko
7bb28bf780
Improve @mention regex
8 years ago
Eugen Rochko
48b9619439
Adding hashtags
8 years ago
Eugen Rochko
62292797ec
Adding hashtag model
8 years ago
Eugen Rochko
0160d1d9b5
Enable caching for some rabl views
8 years ago
Eugen Rochko
57304ac375
Catch 404 errors when downloading remote media, add screenshot to landing page
8 years ago
Eugen Rochko
fa1cc2d05a
Limit returned followees/followers by API to 40 for now
8 years ago
Eugen Rochko
f10feb2e70
Fix common followers API
8 years ago
Eugen Rochko
e0a197650a
Adding common followers API, fixing fallback query again
8 years ago
Eugen Rochko
c913bdfc98
Fix follow suggestion fallback to exclude already followed users
8 years ago
Eugen Rochko
bfb6cc5f2c
Make suggestions box also use user list components
8 years ago
Eugen Rochko
909d0d5e88
Adding public timeline silencing
8 years ago
Eugen Rochko
e5565a7e4a
Fix suggestions fallback query
8 years ago
Eugen Rochko
abb8f5837e
Fix public channel
8 years ago
Eugen Rochko
a9e40a3d80
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
8 years ago
Eugen Rochko
04bbc57690
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
8 years ago
Eugen Rochko
1d2175f73c
Do not force-transcode uploaded videos to webm (leave mp4 as-is)
8 years ago
Eugen Rochko
a782e3b39d
Actually fix public timeline
8 years ago
Eugen Rochko
b5c6d00afa
Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues
8 years ago
Eugen Rochko
13ee88926d
Increase default number of loaded suggestions to 10
8 years ago
Eugen Rochko
de1f3aab86
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
8 years ago
Eugen Rochko
1de2833f30
Filter out reblogs of blocked users from public timeline (the not real-time variant)
8 years ago
Eugen Rochko
4470330385
Backfill follow suggestions with fallback when not enough results. Cycling
...
through suggestions in UI
8 years ago
Eugen Rochko
db4671fd3f
Fix suggestions fallback
8 years ago
Eugen Rochko
6e0b3ddb0d
Fix follow suggestions order
8 years ago
Eugen Rochko
04bfd4262f
Fix follow suggestions ranking
8 years ago
Eugen Rochko
7075cef8f9
Adding sort by node rank to follow suggestions and fallback to most influential users
8 years ago
Eugen Rochko
67b35a601a
Exclude blocked users from follow suggestions, fix tests
8 years ago
Eugen Rochko
edefd87adf
Fix multiple results return from FollowSuggestion.get
8 years ago
Eugen Rochko
4d336cefac
Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed
8 years ago
Eugen Rochko
20f581f796
Display follow suggestions
8 years ago
Eugen Rochko
e21a3fe0cd
Adding sync of follow relationships to Neo4J, accounts/suggestions API
8 years ago
Eugen Rochko
2ddf4e09f9
Change how convert options are escaped
8 years ago
Eugen Rochko
cdc49c6b4b
Allow mp4 uploads, convert to WebM
8 years ago
Eugen Rochko
aec51e40ee
Make account domains case-insensitive, downcase before checking against local
8 years ago
Eugen Rochko
5f737c7228
Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies
8 years ago
Eugen Rochko
427ba27641
Public timeline to exclude users you blocked
8 years ago
Eugen Rochko
22a8801dbc
Adding domain blocks
8 years ago
Yann Vaillant
35de03fbe3
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
06016453bd
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
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
9 years ago
Eugen Rochko
318886287b
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
9 years ago
Eugen Rochko
e24bfbde1a
Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
...
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
9 years ago
Eugen Rochko
a08e724476
Fix subscriptions:clear task, refactor feeds, refactor streamable activites
...
and atom feed generation to some extent, as well as the way mentions are
stored
9 years ago
Eugen Rochko
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
9 years ago
Eugen Rochko
7e58303a8d
Limit Atom feeds to 20 items by default, add pagination by max_id
...
(But there are no Atom feed pagination elements yet)
9 years ago
Eugen Rochko
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
9 years ago
Eugen Rochko
7cd3de3494
Do display top-level content on remote shared notices
9 years ago
Eugen Rochko
082e1cbe5a
Fix default max_id query in paginate_by_max_id
9 years ago
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
9 years ago
Eugen Rochko
02e4fb2e06
Only re-download avatar if URL changed ( fix #19 )
9 years ago
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
9 years ago
Eugen Rochko
35aafdba96
Ancestors and descendants of statuses
9 years ago
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
9 years ago
Eugen Rochko
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
9 years ago
Eugen Rochko
9a7485d034
Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
...
when registering incoming status mentions, add Travis CI file
9 years ago
Eugen Rochko
323474c97e
Fix #2 , add rake task for PuSH-unsubscribing from remote users who have no
...
local followers. Remote users' usernames SHOULD be case-sensitive
9 years ago
Eugen Rochko
e239fc3050
Fix error when unfollowing somebody who wasn't followed in the first place
9 years ago
Eugen Rochko
086d487145
Fix unfollows
9 years ago
Eugen Rochko
9cb690c706
Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
9 years ago
Eugen Rochko
a9db42a956
Validations for local profiles
9 years ago
Eugen Rochko
5c99e304e5
Deleting statuses, deletion propagation
9 years ago
Eugen Rochko
75b3339a99
Respect "delete" verb on remote feeds
9 years ago
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
9 years ago
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
9 years ago
Eugen Rochko
aab9f57e36
Adding config for puma, dashboard layout, fixing some queries
9 years ago
Eugen Rochko
447cfef62d
Improving feed queries, switching API to doorkeeper authentication
9 years ago
Eugen Rochko
6c4c84b161
Distrubute statuses as a fan-out-on-write system, with optional precomputing
9 years ago
Eugen Rochko
ab6696e855
Adding doorkeeper, adding a REST API
...
POST /api/statuses Params: status (text contents), in_reply_to_id (optional)
GET /api/statuses/:id
POST /api/statuses/:id/reblog
GET /api/accounts/:id
GET /api/accounts/:id/following
GET /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow
POST /api/follows Params: uri (e.g. user@domain)
OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
9 years ago
Eugen Rochko
aab330eb2d
Adjusting design of public pages, optimizing account page queries
9 years ago
Eugen Rochko
6045b6cb18
Customizing devise views and controllers
9 years ago
Eugen Rochko
7e93da3f8d
Removing grape and adding devise
9 years ago
Eugen Rochko
0e8f59c16f
Refactoring Grape API methods into normal controllers & other things
9 years ago
Eugen Rochko
11ff92c9d7
Adding a test for ReblogService, fixing mentions for remote statuses
9 years ago
Eugen Rochko
8fada4fae2
When posting a status or reblogging one, ping hubs about the feed update
9 years ago