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
2017-04-11 00:38:58 +02:00
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
2017-04-10 23:45:29 +02:00
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
2017-04-10 22:58:06 +02:00
Eugen
d30a82a22f
Fix #1339 - better Atom titles ( #1343 )
2017-04-09 20:55:54 +02:00
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
2017-04-09 14:45:01 +02:00
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
2017-04-08 22:20:08 +02:00
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.
2017-04-07 14:18:30 -04:00
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
2017-04-07 05:56:56 +02:00
Brad Urani
522410589e
Eliminate unnecessary queries and query clauses with none and all
2017-04-05 06:02:58 +00:00
Samy KACIMI
06424fd912
fix rubocop issues
2017-04-05 00:47:17 +02:00
Samy KACIMI
9f80b2dd4e
add more tests to models
2017-04-05 00:29:56 +02:00
Eugen Rochko
7a56845060
Only call regeneration worker after first login after a 14 day break
2017-04-04 02:00:10 +02:00
Eugen Rochko
24793cdbaa
Fix ActionController::Parameters in API issue
2017-04-04 01:33:34 +02:00
Eugen Rochko
c9ffa7ab1d
Add basic logging of who resolved report
2017-04-03 19:35:00 +02:00
Eugen Rochko
d1f8bd2673
Paperclip will complain on its own if this variable is missing
2017-04-01 22:16:26 +02:00
Eugen Rochko
244da78105
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
2017-03-30 19:42:33 +02:00
Eugen Rochko
96e58cf289
Add counter caches for a large performance increase on API requests
2017-03-30 15:06:59 +02:00
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 )
2017-03-22 17:36:34 +01:00
Eugen Rochko
bee385a81f
Merge branch 'master' into feature-omnisearch
...
this merge is necessary,
2017-03-22 03:34:58 +01:00
Eugen Rochko
afd53467eb
More efficient single account retrieval (0.9ms vs 50ms before)
2017-03-22 03:21:38 +01:00
Eugen Rochko
3893f75a51
New API method: /api/v1/search
...
Returns accounts, statuses, hashtags arrays
2017-03-22 02:32:27 +01:00
Eugen Rochko
a19062b726
Federate header images, fix open-uri http->https redirection error
2017-03-18 22:51:20 +01:00
Eugen Rochko
64be072702
Make account search blazing fast and rank followers/followees higher in the results
2017-03-17 20:48:14 +01:00
Eugen Rochko
8e2146ab50
Add method for retrieving triadic closures
2017-03-16 20:10:51 +01:00
Eugen Rochko
f1b9644cfd
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
2017-03-15 22:55:45 +01:00
Eugen Rochko
dea8e95d14
Performance improvement for profiles
2017-03-06 01:50:35 +01:00
Eugen Rochko
8bc70e6a16
Use more widely supported MP4 format for gifv's
2017-03-06 00:30:03 +01:00
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)
2017-03-05 23:43:58 +01:00
Eugen Rochko
354eb3b757
Add vsync -cfr option when converting gif to webm
2017-03-05 23:27:25 +01:00
Eugen Rochko
671d1d8a26
Higher quality webms? Might improve conversation of some types of gifs
2017-03-05 23:13:21 +01:00
Eugen Rochko
c911ade272
Detect videos with no sound, handle them like gifv
2017-03-05 22:55:24 +01:00
Eugen Rochko
9adf6e8736
Fix wrongful matching of last period in extended usernames
...
Fix anchor tags in some wikipedia URLs being matches as a hashtag
2017-03-05 18:08:19 +01:00
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
2017-03-05 17:27:17 +01:00
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.
2017-03-04 23:02:24 +01:00
Eugen Rochko
0cb5a2a0a7
Add digest e-mails
2017-03-04 00:00:48 +01:00
Eugen Rochko
9989890e2e
Fix #231 - Muting
2017-03-02 18:49:32 +01:00
Kit Redgrave
4554ccd5d0
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
Eugen Rochko
a741049a77
Fix #104 - Style OAuth authorized applications page
...
Add ability to search accounts by display name
2017-02-27 00:15:00 +01:00
Eugen Rochko
b734ae3029
Skip remote media URLs that don't have a hostname
2017-02-22 19:55:14 +01:00
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
2017-02-19 20:25:54 +01:00
Eugen Rochko
3d291bcc55
Do not display non-Status stream entries anymore
2017-02-17 02:20:52 +01:00
Eugen Rochko
6917e53fe0
Adding index overview for reports in admin UI
2017-02-16 02:28:10 +01:00
Eugen Rochko
2cc31b3194
Adding POST /api/v1/reports API, and a UI for submitting reports
2017-02-14 20:59:26 +01:00
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
2017-02-12 01:19:14 +01:00
Eugen Rochko
12ed6f5712
Resolve issue with rendering authorize/reject Salmon slaps
2017-02-11 19:42:05 +01:00
Eugen Rochko
c001ef3df6
Fix Status.permitted_for scope query
2017-02-11 19:16:10 +01:00
Eugen Rochko
db53bfd30e
Fix semantics of follow requests another slaps
2017-02-11 17:13:11 +01:00
Eugen Rochko
ffd58aad9d
Make PuSH only distribute to subscriptions that match follower domains
...
Allow PuSH to distribute private toots with that condition
2017-02-11 15:41:39 +01:00
Eugen Rochko
ce193afa4f
Mentions in private statuses allow mentioned people to see them
2017-02-11 15:10:22 +01:00
Eugen Rochko
59c8c2b28a
Make follow requests federate
2017-02-11 02:58:00 +01:00
Eugen Rochko
f0d4a2c9b7
Fix the fix
2017-02-09 21:22:49 +01:00
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
2017-02-09 20:25:39 +01:00
Eugen Rochko
94cda4cfb9
Add "clear notifications" button, exclude posts from people who have blocked *you* from public/hashtag timelines
2017-02-07 00:06:40 +01:00
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
2017-02-06 23:16:20 +01:00
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
2017-02-05 19:18:11 +01:00
Eugen Rochko
2f126b1225
Removing failed push notification API, make context loads use cache
2017-02-05 17:51:44 +01:00
Eugen Rochko
727d236fcc
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
2017-02-02 00:03:31 +01:00
Eugen Rochko
edcfbee9f5
Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI
2017-01-31 22:35:38 +01:00
Eugen Rochko
9327d05bf7
API for apps to register for push notifications
2017-01-29 01:30:32 +01:00
Eugen Rochko
9b8670c939
Added optional two-factor authentication
2017-01-27 20:35:16 +01:00
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
2017-01-27 16:57:23 +01:00
Eugen Rochko
096ff9ba38
Removed accidental n+1 query from notifications, updated some deps,
...
improved how "show more" link looks
2017-01-26 14:52:07 +01:00
Eugen Rochko
803652ff75
Follow request authorizations faster
2017-01-26 03:56:26 +01:00
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
2017-01-25 01:29:16 +01:00
blackle
e25fc71c2c
Implement a click-to-view spoiler system
2017-01-23 21:07:40 -05:00
Eugen Rochko
77a76d5171
Domain blocks now have varying severity - auto-suspend vs auto-silence
2017-01-23 17:38:38 +01:00
Eugen
9a2a6b476b
Mitigate inconsistent notifications
2017-01-22 21:50:17 +01:00
Eugen Rochko
f748a91ec7
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
2017-01-20 01:00:14 +01:00
Eugen Rochko
31d48af0d1
Fix statsd null backend not being initialized properly
2017-01-19 09:37:07 +01:00
Eugen
788e884690
Try to avoid any potential loops
2017-01-19 02:14:57 +01:00
Eugen Rochko
3f30e91462
Improve how the list entry Account component looks when target is blocked/follow is requested
2017-01-16 19:36:32 +01:00
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
2017-01-15 14:01:33 +01:00
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
2017-01-15 08:58:50 +11:00
Eugen Rochko
533448be42
Add extended about page stub
2017-01-13 03:24:41 +01:00
Eugen Rochko
6d98465db2
Extend rails-settings-cached to merge db-saved hash values with defaults
2017-01-13 02:42:22 +01:00
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
2017-01-12 20:46:24 +01:00
Eugen Rochko
4293e132d1
Persist UI settings, add missing localizations for German
2017-01-09 14:00:55 +01:00
Eugen Rochko
f29df16eea
Fix Paperclip timeout setting. Fix bug introduced in #437
2017-01-08 19:12:54 +01:00
Eugen
72843ea705
Merge pull request #437 from krainboltgreene/patch-1
...
Simplifying followers mappings
2017-01-08 04:14:54 +01:00
Kurtis Rainbolt-Greene
5cecff7f2a
Simplifying followers mappings
...
Deduplicating some logic and switching to pluck, to avoid pulling the entire model in memory.
2017-01-07 18:09:00 -08:00
Kurtis Rainbolt-Greene
ff835f3377
Less complicated determination
2017-01-07 17:59:51 -08:00
Kurtis Rainbolt-Greene
82b0eb2ae4
Using "rails style" order arguments
2017-01-07 17:55:40 -08:00
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.
2017-01-06 00:29:12 +01:00
Eugen Rochko
df2f14d2dd
Adding remote follow button
2017-01-01 19:54:34 +01:00
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
2016-12-31 14:36:25 +01:00
Eugen Rochko
2bc6e7c96e
Add API for retrieving blocked accounts
2016-12-29 20:12:32 +01:00
Eugen Rochko
34febf75be
Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds
2016-12-28 13:21:12 +01:00
Eugen Rochko
cef68b9b1c
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
2016-12-26 21:52:03 +01:00
Eugen Rochko
ef9e827c54
Adding follow requests API
2016-12-26 19:30:45 +01:00
Eugen Rochko
1ed3bb3a02
Don't show statuses to blocked users
2016-12-26 19:13:56 +01:00
Eugen Rochko
9e0bd72434
Fix account timelines bug
2016-12-23 01:13:16 +01:00
Eugen Rochko
a3680345b7
Hide follow/unfollow button from public page if follow already requested
2016-12-22 23:07:46 +01:00
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
2016-12-22 23:03:57 +01:00
Eugen Rochko
11e2159859
Merge branch 'master' into development
2016-12-22 11:35:00 +01:00
Eugen Rochko
8038c663b0
Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper
2016-12-22 11:34:05 +01:00
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
2016-12-21 20:04:13 +01:00
Eugen Rochko
6d7f3be2f6
Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
2016-12-18 15:20:39 +01:00
Eugen Rochko
9d4f96f440
Removing external hub completely, fix #333 fixing digit-only hashtags,
...
removing web app capability from non-webapp pages
2016-12-18 12:24:37 +01:00
Eugen Rochko
ebfe460e82
Downsize attachment previews, but improve quality from 80 to 90
2016-12-07 12:09:20 +01:00
Eugen Rochko
88218c83d5
Add suspend account functionality to admin UI
2016-12-06 18:22:59 +01:00
Eugen Rochko
a4d3947c88
Fix
2016-12-06 00:24:33 +01:00
Eugen Rochko
ca0757a6cf
Add account suspension
2016-12-05 22:59:30 +01:00
Eugen Rochko
303044f899
Downsize originals in media attachments, small fixes
2016-12-05 17:13:44 +01:00
Eugen Rochko
e5e702a976
Adding configurable e-mail blacklist
2016-12-04 19:07:02 +01:00
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)
2016-12-04 12:28:10 +01:00
Eugen Rochko
047bdf6fe0
Improve notification model
2016-12-03 20:04:19 +01:00
Eugen Rochko
2d4ce8a867
Fix #248 - Reload all accounts when fetching from cache
2016-12-03 18:21:26 +01:00
Eugen Rochko
23a4f93345
Fix #323 - self-replies to appear in public timelines again
2016-12-02 14:33:20 +01:00
Eugen Rochko
211049ae59
Fix #329 - avatar errors no longer prevent remote accounts from being saved
...
(without avatar). Also improved search position of exact matches
2016-12-02 14:14:49 +01:00
Eugen Rochko
8d4ef0b6c3
Per-status control for unlisted mode, also federation for unlisted mode
...
Fix #233 , fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
1bb1ec3b8d
Further abstract caching for includes
2016-11-30 15:57:56 +01:00
Eugen Rochko
bee7aeaea5
Unify collection caching code
2016-11-29 15:49:39 +01:00
Eugen Rochko
67db2cd871
Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions of avatars
2016-11-29 14:20:15 +01:00
Eugen Rochko
0cc5410e03
Adding backtracing to Salmon/Processing workers
2016-11-28 19:11:36 +01:00
Eugen Rochko
b344f157cc
Fix order of attachments (see #269 )
2016-11-28 13:49:55 +01:00
Eugen Rochko
b5ad0eb4ea
Adding embedded PuSH server
2016-11-28 13:36:47 +01:00
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
2016-11-26 15:45:35 +01:00
Eugen Rochko
ea0846645a
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
3b3bf2dd59
Filter statuses that mention blocked users
2016-11-25 12:35:52 +01:00
Eugen Rochko
30f9e9e624
Remove Neo4J
2016-11-24 23:46:27 +01:00
Alyssa Ross
cb06801b21
Extract filename obfuscation into module
2016-11-24 00:30:58 +00:00
Eugen Rochko
59d7fe4c05
Fix #168 - Turn off e-mail notifications by default
2016-11-23 08:39:04 +01:00
Eugen Rochko
dda6354c76
Implement includes caching for timelines APIs
2016-11-23 08:34:35 +01:00
Eugen Rochko
f6a975af8b
More query optimizations
2016-11-22 23:18:54 +01:00
Eugen Rochko
30010a6dbd
Moving some counter queries out of subqueries in the API
2016-11-22 22:59:54 +01:00
Eugen Rochko
f07b0dc82f
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
2016-11-22 17:32:51 +01:00
Eugen Rochko
4d100a1b36
Remove some n+1 queries from notifications API
2016-11-21 15:16:04 +01:00
Eugen Rochko
83cdfefa7d
Remove orphaned notifications, add scopes param to app create API
2016-11-21 14:59:13 +01:00
Eugen Rochko
38025dfea3
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
d2029a8845
Don't create attachments if remote file cannot be fetched
2016-11-18 23:16:34 +01:00
Eugen Rochko
8d767b477f
Validate presence of text even for remote statuses
2016-11-18 23:14:41 +01:00
Eugen Rochko
b8e6ca45e5
Add user locale setting
2016-11-16 17:56:31 +01:00
Eugen Rochko
c6f5eb8aa7
Fix #144 - Filter statuses from blocked users out of ancestors/descendants results
2016-11-15 17:33:41 +01:00
Eugen Rochko
e71b152d89
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
Eugen Rochko
733b5415be
Fix #142 - Escape ILIKE special characters from Account.find_remote
2016-11-13 11:27:13 +01:00
Eugen Rochko
6b7fdf3b5f
Weigh username matches higher than domain matches in account search
2016-11-12 14:56:40 +01:00
Eugen Rochko
cbfa28b9cc
Use full-text search for autosuggestions
2016-11-12 14:36:10 +01:00
Eugen Rochko
d8c2044e65
Fix public timeline query
2016-11-10 21:58:22 +01:00
Eugen Rochko
0b03bbad67
Discard misattributed remote statuses, improve timelines filter
2016-11-10 00:15:49 +01:00
Eugen Rochko
6d9f8ee11e
Improve filtering of public/hashtag timelines, both in backlog and real-time
2016-11-10 00:03:33 +01:00
Eugen Rochko
beb36e24fe
API pagination for all collections using Link header
2016-11-09 17:48:44 +01:00
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
2016-11-08 23:29:08 +01:00
Eugen Rochko
f1d2c46ded
Improve feed regeneration
2016-11-08 02:08:32 +01:00
Eugen Rochko
b225b8d32e
Fix account and hashtag regex
2016-11-07 17:35:25 +01:00
Eugen Rochko
6d948a809e
Account notes (bios) can now contain links. Character limit upped to 160
2016-11-07 01:14:12 +01:00
Eugen Rochko
f0956d434c
Improve @mention regex
2016-11-05 22:09:51 +01:00
Eugen Rochko
cb22dce970
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
082e57fc13
Adding hashtag model
2016-11-04 19:12:59 +01:00
Eugen Rochko
71836838dd
Enable caching for some rabl views
2016-11-03 13:28:36 +01:00
Eugen Rochko
02a90979c5
Catch 404 errors when downloading remote media, add screenshot to landing page
2016-11-01 16:58:13 +01:00
Eugen Rochko
95e65d883a
Limit returned followees/followers by API to 40 for now
2016-10-30 15:14:07 +01:00
Eugen Rochko
e5c0f979cf
Fix common followers API
2016-10-30 15:08:36 +01:00
Eugen Rochko
38cacac4b0
Adding common followers API, fixing fallback query again
2016-10-29 01:29:19 +02:00
Eugen Rochko
2917bca72b
Fix follow suggestion fallback to exclude already followed users
2016-10-28 20:35:30 +02:00
Eugen Rochko
f9e06eb819
Make suggestions box also use user list components
2016-10-28 20:26:49 +02:00
Eugen Rochko
1eac265f35
Adding public timeline silencing
2016-10-27 19:33:04 +02:00
Eugen Rochko
d8a66ab492
Fix suggestions fallback query
2016-10-27 19:03:05 +02:00
Eugen Rochko
d63f0295b9
Fix public channel
2016-10-23 11:56:04 +02:00
Eugen Rochko
6657414266
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
4470966cd9
Fix #100 - Add "back" button to certain views
...
Also fix reloading of timelines after merge-type events
2016-10-19 18:20:19 +02:00
Eugen Rochko
39aa7caaa5
Do not force-transcode uploaded videos to webm (leave mp4 as-is)
2016-10-18 17:51:45 +02:00
Eugen Rochko
39d6f837db
Actually fix public timeline
2016-10-17 01:59:34 +02:00
Eugen Rochko
b1dee1b6d1
Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues
2016-10-17 01:23:41 +02:00
Eugen Rochko
1df4d2e3aa
Increase default number of loaded suggestions to 10
2016-10-16 19:30:01 +02:00
Eugen Rochko
41aae40927
Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
2016-10-16 19:10:16 +02:00
Eugen Rochko
19b6f7a013
Filter out reblogs of blocked users from public timeline (the not real-time variant)
2016-10-16 18:35:20 +02:00
Eugen Rochko
916907580e
Backfill follow suggestions with fallback when not enough results. Cycling
...
through suggestions in UI
2016-10-16 17:04:13 +02:00
Eugen Rochko
395d15e5fd
Fix suggestions fallback
2016-10-15 17:34:00 +02:00
Eugen Rochko
8497dfc98e
Fix follow suggestions order
2016-10-15 17:19:18 +02:00
Eugen Rochko
52a5ad8207
Fix follow suggestions ranking
2016-10-15 16:54:50 +02:00
Eugen Rochko
e5bcf8040c
Adding sort by node rank to follow suggestions and fallback to most influential users
2016-10-15 16:46:15 +02:00
Eugen Rochko
2614a47a15
Exclude blocked users from follow suggestions, fix tests
2016-10-15 13:48:38 +02:00
Eugen Rochko
8374abcf06
Fix multiple results return from FollowSuggestion.get
2016-10-15 13:00:21 +02:00
Eugen Rochko
e88d667d3f
Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed
2016-10-15 12:37:43 +02:00
Eugen Rochko
92209a1b6e
Display follow suggestions
2016-10-15 12:06:30 +02:00
Eugen Rochko
5860094354
Adding sync of follow relationships to Neo4J, accounts/suggestions API
2016-10-14 23:10:07 +02:00
Eugen Rochko
5e49118f86
Change how convert options are escaped
2016-10-12 14:39:54 +02:00
Eugen Rochko
1474f87a14
Allow mp4 uploads, convert to WebM
2016-10-12 14:29:10 +02:00
Eugen Rochko
12a6eb95be
Make account domains case-insensitive, downcase before checking against local
2016-10-10 03:34:15 +02:00
Eugen Rochko
7cb55af441
Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies
2016-10-10 02:55:30 +02:00
Eugen Rochko
102eab0ac9
Public timeline to exclude users you blocked
2016-10-09 15:15:21 +02:00
Eugen Rochko
9bf5a73968
Adding domain blocks
2016-10-09 14:48:59 +02:00
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
2016-10-08 15:18:20 +02:00
Eugen Rochko
d51efdd1dc
Adding user settings (model and mailer), no form yet
2016-10-07 13:17:56 +02:00
Eugen Rochko
2c9e672ee2
Integrating block relationships into the API (read-only for now)
2016-10-03 17:16:58 +02:00
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
2016-10-03 17:12:13 +02:00
Eugen Rochko
fc198a8b4c
Adding e-mail confirmations
2016-10-03 16:51:00 +02:00
Eugen Rochko
b3c7c8700d
Fix most pages on small screens
2016-10-03 16:17:28 +02:00
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
2016-10-03 00:26:00 +02:00
Eugen Rochko
9fd3d7b6cd
Add since_id param to feeds
2016-10-02 22:35:27 +02:00
Eugen Rochko
2d4f9ecebf
Validate against multiple reblogs of same status by same account
2016-10-02 15:33:24 +02:00
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
2016-09-29 21:40:37 +02:00
Eugen Rochko
927333f4f8
Improve code style
2016-09-29 21:28:21 +02:00
Eugen Rochko
e9bc4a4a08
Limit usernames to 30 chars, statuses to 500, open account after follow form success
2016-09-25 15:26:56 +02:00
Eugen Rochko
15f51dbf8c
Better styling for selected status in detailed view
2016-09-25 14:20:29 +02:00
Eugen Rochko
1215ab57ff
Some extra scopes for user sorting
2016-09-24 14:59:52 +02:00
Eugen Rochko
a706f1af04
Don't generate stream entries for streamables of remote accounts
2016-09-24 14:42:29 +02:00
Eugen Rochko
c6d893a71d
Uploading/undoing media modifies status text. Also: status text trimmed before validation
2016-09-22 21:39:53 +02:00
Eugen Rochko
c0e9603c92
Fix #50 - Order ancestors/descendants by tree path
2016-09-21 23:18:28 +02:00
Eugen Rochko
e46abc71ca
Fix notifications in UI, added new API for fetching account relationships
2016-09-21 22:07:18 +02:00
Eugen Rochko
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
2016-09-20 02:43:20 +02:00
Eugen Rochko
1cfc9aa20e
OStatus2 and Goldfinger gems now have timeouts for requests
2016-09-20 01:10:51 +02:00
Eugen Rochko
059ebbf48d
Separate PuSH subscriptions from following, add mastodon:push:refresh task,
...
respect hub.lease_seconds (fix #46 )
2016-09-20 00:43:36 +02:00
Eugen Rochko
bd5ad304ba
Adding media controller, 1 webm/compose form allowed, previews generated
2016-09-17 17:47:26 +02:00
Eugen Rochko
ce29624c6d
Fixing image upload limits, allowing webm, merge/unmerge events trigger
...
timeline reload in UI, other small fixes
2016-09-12 18:22:43 +02:00
Eugen Rochko
7d45a4e692
Fix local mention regex so it works on newlines in HTML (with a preceding tag)
2016-09-10 10:19:50 +02:00
Eugen Rochko
d6b3113304
Validates local username, max sizes for uploads. Fixes #32
2016-09-10 09:43:45 +02:00
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
2016-09-09 20:04:34 +02:00
Eugen Rochko
762157ee4e
Fix for single status pages
2016-09-08 21:23:29 +02:00
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
2016-09-08 20:36:01 +02:00
Eugen Rochko
a4cc966476
Removing default avatars
2016-09-08 18:23:59 +02:00
Eugen Rochko
14fb0ab4a2
Improve JSON output for media attachments, generate :small preview for them
2016-09-05 19:26:24 +02:00
Eugen Rochko
ed94e998bc
Fix for media attachments remote URL download
2016-09-05 19:11:25 +02:00
Eugen Rochko
1d9c886518
Adding enclosures to Atom and statuses JSON
2016-09-05 18:57:59 +02:00
Eugen Rochko
eec0dc46a6
PostStatusService can attach media to status, ProcessFeedService likewise
2016-09-05 18:39:53 +02:00
Eugen Rochko
ae1fac0062
Add API to upload media attachments
2016-09-05 17:46:36 +02:00
Eugen Rochko
54ea7f5dfe
Case-insensitive search by usernames
2016-09-04 21:06:04 +02:00
Eugen Rochko
d0e2733f63
Fix reblogs of reblogs in UI, add follow form in UI
2016-09-03 14:01:42 +02:00
Eugen Rochko
595c8dda60
Favouriting works, reblogging is a little broken because of <Status>
2016-09-01 13:21:48 +02:00
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
2016-08-24 17:56:44 +02:00
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
2016-08-17 17:58:00 +02:00
Eugen Rochko
ff2cbc0753
Remember me enabled by default
2016-03-28 00:06:52 +02:00
Eugen Rochko
c38ad208c3
Fix mentions regex to exclude usernames in Medium URLs
2016-03-27 23:51:18 +02:00
Eugen Rochko
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-26 13:42:10 +01:00
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
2016-03-26 01:34:12 +01:00
Eugen Rochko
318886287b
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
2016-03-25 15:09:40 +01:00
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
2016-03-25 14:12:24 +01:00
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
2016-03-25 02:13:30 +01:00
Eugen Rochko
0f5bbb999c
Pre-loading polymorphic associations for Atom feeds
2016-03-24 13:21:53 +01:00
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)
2016-03-24 12:49:34 +01:00
Eugen Rochko
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
2016-03-24 12:43:55 +01:00
Eugen Rochko
7cd3de3494
Do display top-level content on remote shared notices
2016-03-24 12:34:32 +01:00
Eugen Rochko
082e1cbe5a
Fix default max_id query in paginate_by_max_id
2016-03-22 21:53:33 +01:00
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
2016-03-22 21:38:47 +01:00
Eugen Rochko
02e4fb2e06
Only re-download avatar if URL changed ( fix #19 )
2016-03-22 21:05:23 +01:00
Eugen Rochko
f14f462eaf
Adding Turbolinks, adding status posting form on homepage
2016-03-21 18:26:47 +01:00
Eugen Rochko
35aafdba96
Ancestors and descendants of statuses
2016-03-21 11:43:21 +01:00
Eugen Rochko
7e00a21ea6
Small optimizations in Atom feeds
2016-03-21 10:31:20 +01:00
Eugen Rochko
f97fc9744f
Use FanOutOnWriteService AFTER processing mentions
2016-03-19 00:41:29 +01:00
Eugen Rochko
9a7485d034
Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
...
when registering incoming status mentions, add Travis CI file
2016-03-18 23:23:19 +01:00
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
2016-03-17 12:02:45 +01:00
Eugen Rochko
e239fc3050
Fix error when unfollowing somebody who wasn't followed in the first place
2016-03-16 21:23:40 +01:00
Eugen Rochko
086d487145
Fix unfollows
2016-03-16 21:14:39 +01:00
Eugen Rochko
9cb690c706
Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
2016-03-16 18:29:52 +01:00
Eugen Rochko
a9db42a956
Validations for local profiles
2016-03-16 11:18:09 +01:00
Eugen Rochko
5c99e304e5
Deleting statuses, deletion propagation
2016-03-16 10:58:58 +01:00
Eugen Rochko
75b3339a99
Respect "delete" verb on remote feeds
2016-03-16 10:46:15 +01:00
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
2016-03-14 17:49:13 +01:00
Eugen Rochko
3441361568
Adding simple_form, adding profile settings, header image
2016-03-12 20:47:22 +01:00
Eugen Rochko
aab9f57e36
Adding config for puma, dashboard layout, fixing some queries
2016-03-12 16:21:53 +01:00