Matt Jankowski
71706f21c2
Ignore implied formats for catch all route requests ( #1340 )
...
A request to `/test` would show the custom 404 page, but a request to
`/test.test` would return a 404 with an empty body.
This change ignores the format on incoming catch all route requests, so that the
html 404 page is returned on these requests.
8 years ago
Eugen
982fef811e
Fix #1141 , fix #1126 - Avatar/profile info fetching ( #1215 )
...
* Fix #1141 , fix #1126 - Work through UpdateRemoteProfileService for both <feed> and <entry> top-level tags
* Improve code quality, remove line unrelated to fix
8 years ago
Matt Jankowski
ca44c13455
Use Setting.site_title value for `og:site_name` occurrences ( #1194 )
...
* Add helper method to return Setting.site_title
* Use site_title helper in application layout
* Use site_title value for og:site_name
8 years ago
Eugen
1961825ff9
Merge pull request #1183 from thoughtbot/cp-post-status-service-specs
...
Add specs for PostStatusService
8 years ago
Eugen
32748c0f71
Merge pull request #1184 from thoughtbot/extract-proper-status
...
DRY up reblog vs original status check
8 years ago
Joël Quenneville
4fdeac21f4
Implement pending specs on Status
...
Implement the two pending specs on `Status`: `reblogs_count` and
`favourites_count`.
8 years ago
Chad Pytel
ad5ddd5e95
Use I18n for media attachment validation errors
...
These are currently user facing errors, but are not localized. This adds the
ability for these messages to be localized.
8 years ago
Chad Pytel
13c0077003
Add specs for PostStatusService
...
This implements all pending specs, and adds additional coverage for the
following functionality:
* Normal status creation
* Creating a reply status
* Creating a sensitive status
* Creating a status with spoiler text
* A status with no spoiler text gets an empty string for spoiler text
* Creating a status with custom visibility
* Creating a status for an application
* Processing mentions
* Processing Hashtags
* Pinging PuSH hubs
* Crawling links
* Attaching media
8 years ago
Joël Quenneville
d4c94fa004
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
Chad Pytel
38bec79811
Add specs for media attachment validations
...
There are currently not specs for the two media validations that are performed
by `PostStatusService`. This adds specs for the validations that ensure that you
cannot attach more than four files, and that a status cannot have both image and
video attachments.
8 years ago
Eugen Rochko
5442083b3c
Split SalmonWorker into smaller parts, move profile updating into another job
8 years ago
Eugen Rochko
667ffafef8
Fix spec
8 years ago
Eugen
4c92f15664
Merge branch 'master' into add_more_tests_to_models
8 years ago
Eugen
117b22e905
Merge pull request #852 from peterkeen/email-whitelist-817
...
[#817 ] Add email whitelist
8 years ago
Samy KACIMI
073f92fc76
Merge branch 'master' into add_more_tests_to_models
8 years ago
Samy KACIMI
46c0e8b0e7
update account_spec
8 years ago
Samy KACIMI
81c76fe375
add more tests to models
8 years ago
Kurtis Rainbolt-Greene
9ae9ecdebe
Quick attempt to get pull requests passing
8 years ago
Pete Keen
e9a6da6bc7
[ #817 ] Add email whitelist
...
This adds the ability to filter user signup with a whitelist
instead of or in addition to a blacklist.
Fixes #817
8 years ago
Eugen Rochko
68f829e11c
Add basic logging of who resolved report
8 years ago
Eugen Rochko
e8875c6046
Import feature for following/blocking lists (addresses #62 , #177 , #201 , #454 )
8 years ago
Eugen Rochko
1c6b02f936
Fix #690 - Webfinger should handle new shortform profile URLs now (nice)
8 years ago
Eugen Rochko
d6ed2eb512
Prettier account and stream entry URLs
8 years ago
Eugen Rochko
4fb95c91fb
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
6b81d10030
Add digest e-mails
8 years ago
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
8 years ago
Eugen Rochko
3202bdd744
Fix #555 - Use a better URL parser
8 years ago
Eugen Rochko
3b81baaaaf
Adding POST /api/v1/reports API, and a UI for submitting reports
8 years ago
Eugen Rochko
720ff55262
Adding more unit tests. Fixing Salmon slaps XML
8 years ago
Eugen Rochko
0518492158
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
50660d54e8
Fix semantics of follow requests another slaps
8 years ago
Eugen Rochko
0b95eb3612
Improve docs
8 years ago
Eugen Rochko
00b5731ecb
After FollowService, re-fetch remote account asynchronously, do nothing
...
if account lock info was up to date, otherwise re-do the FollowService
with now updated information
8 years ago
Eugen Rochko
149887a0ff
Make follow requests federate
8 years ago
Eugen
9d5fb49cd8
Merge pull request #603 from evanminto/activitypub-account
...
Expose ActivityStreams 2.0 representation of accounts
8 years ago
Evan Minto
da7f24c238
Add test
8 years ago
Eugen Rochko
920ba5fc4e
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
77e13c2bc9
Removing failed push notification API, make context loads use cache
8 years ago
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
8 years ago
Eugen Rochko
e70e721a0d
Add tests for new API
8 years ago
Eugen Rochko
83ccdeb87a
Fix tests
8 years ago
Eugen Rochko
3f075c7794
API for apps to register for push notifications
8 years ago
Eugen Rochko
80cefd5b3c
Fix #204 , fix #515 - URL truncating is now a style so copypasting is not
...
affected, replaced onClick handler with onMouseUp/Down to detect text
selection not trigger onClick handler then
8 years ago
Eugen Rochko
6d98a73180
Domain blocks now have varying severity - auto-suspend vs auto-silence
8 years ago
Eugen Rochko
7c015ece45
Fix oembed controller test
8 years ago
Eugen Rochko
f0de621e76
Fix #463 - Fetch and display previews of URLs using OpenGraph tags
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
Eugen Rochko
c01dd089ff
Adding about/more page with extended information that can be set up by an admin
8 years ago
Effy Elden
f876a8681d
Update the Mastodon repository URL from Gargron/ to tootsuite/ in various places
8 years ago
Eugen Rochko
75f80bef10
Persist UI settings, add missing localizations for German
8 years ago
Jessica Stokes
bb033c1d37
"Reblog" -> "boost" in more places
...
A couple of places were using "reblog" rather than "boost" - this updates them to match the web UI
8 years ago
Eugen Rochko
1bbcd71cd4
Fix #390 - fix redirect after sign-up (to login page instead of homepage)
8 years ago
Eugen Rochko
a302e56f9a
Add API for retrieving favourites
8 years ago
Eugen Rochko
49834a6e7f
Add API for retrieving blocked accounts
8 years ago
Eugen Rochko
d7dc84439c
Add ability to use remote follow function on other sites
8 years ago
Eugen Rochko
3689c119f0
Replacing follow requests in the settings area with in-UI column
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
b302b9202b
Add page for authorizing/rejecting follow requests
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
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
6de079a5af
Removing external hub completely, fix #333 fixing digit-only hashtags,
...
removing web app capability from non-webapp pages
8 years ago
Eugen Rochko
76ec907993
Improved admin UI
8 years ago
Eugen Rochko
f978b06dd1
Add suspend account functionality to admin UI
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
6ff93845d5
Add basic OEmbed provider API, fix #247
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
356d3874eb
Normalize localizations, add stub for admin/accounts
8 years ago
Eugen Rochko
7e90772c92
Unify collection caching code
8 years ago
Eugen Rochko
27fc49d745
Add simple admin overview of PuSH subscriptions
8 years ago
Eugen Rochko
2d2c81765b
Adding embedded PuSH server
8 years ago
Eugen Rochko
2cb3dc5e5a
Update hub URL and re-subscribe if hub URL changes
8 years ago
Eugen Rochko
8efa081f21
Remove Neo4J
8 years ago
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
8 years ago
Eugen Rochko
7b7bf834e9
Fix OAuth authorization page and add a spec for it
8 years ago
Eugen Rochko
7ac574d9a9
Fix #148 - Devise mailer fixed, test spec added so it won't slip past again
8 years ago
Eugen Rochko
b2e504616a
Remove broken test
8 years ago
Eugen Rochko
546c4718e7
Localizations for most server-side strings
8 years ago
Eugen Rochko
8152584cf5
Fix #142 - Escape ILIKE special characters from Account.find_remote
8 years ago
Eugen Rochko
cd765f26a9
Upgrade ruby to 2.3.1
8 years ago
Eugen Rochko
aabf884c5f
Discard misattributed remote statuses, improve timelines filter
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
93212bc2c4
Add test for FanOutOnWriteService
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
829d189f44
Add tests for recently added API end points
8 years ago
Kai Schaper
19cfe64455
add/update specs for Button, DisplayName, DropdownMenu
8 years ago
Eugen Rochko
d5e086a47b
Adding application/jrd+json webfinger resource
8 years ago
Eugen Rochko
67b35a601a
Exclude blocked users from follow suggestions, fix tests
8 years ago
Eugen Rochko
ab7cb80dd5
Merge branch 'kschaper-avatar-component-testing' into development
8 years ago
Eugen Rochko
44856fb641
Merge branch 'avatar-component-testing' of https://github.com/kschaper/mastodon into kschaper-avatar-component-testing
8 years ago
Eugen Rochko
7a6d95f70c
E-mail preferences page
8 years ago
Eugen Rochko
33f7e1cf99
Shorten rendered links (strip protocol and www, truncate to 30 chars), redirect
...
to sign in page after sign up instead of root path which redirects to /about
8 years ago
Kai Schaper
cbfc12044d
actually use const
8 years ago
Kai Schaper
b113cf97fb
add chai-enzyme; add/improve Avatar component specs
8 years ago
Kai Schaper
ecd4042c20
use ES6 arrow functions
8 years ago
Kai Schaper
e0a4455622
add sinon; add basic Button component test
8 years ago
Kai Schaper
998f161e1d
add jsdom; add basic Avatar component test
8 years ago
Kai Schaper
d7c55853e9
set up Mocha/Chai/Enzyme for React component unit testing
8 years ago
Eugen Rochko
81065bc06c
Adding test for ProcessFeedService
8 years ago
Eugen Rochko
22a8801dbc
Adding domain blocks
8 years ago
Eugen Rochko
1f650d327d
Adding public timeline
8 years ago
Eugen Rochko
7b9a4af311
API for blocking and unblocking
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
6d7290f47c
Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials
8 years ago
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
8 years ago
Eugen Rochko
b36197c307
Fix tests, update goldfinger to catch XML errors
8 years ago
Eugen Rochko
2603c7e69f
Fix tests
8 years ago
Eugen Rochko
e63aebff7a
Adding landing page
8 years ago
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
8 years ago
Eugen Rochko
7e14eefc81
Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
...
registration API
8 years ago
Eugen Rochko
c6b0311b86
Fix #54 - Fetch remote accounts by URL from mentions
...
Fetching atom extracted from FetchRemoteAccountService and FetchRemoteStatusService
into FetchAtomService. Mentions of the constant "http://activityschema.org/collection/public "
skipped as it's not a real URL/user.
8 years ago
Eugen Rochko
e46abc71ca
Fix notifications in UI, added new API for fetching account relationships
8 years ago
Eugen Rochko
4bec613897
Fix #24 - Thread resolving for remote statuses
...
This is a big one, so let me enumerate:
Accounts as well as stream entry pages now contain Link headers that
reference the Atom feed and Webfinger URL for the former and Atom entry
for the latter. So you only need to HEAD those resources to get that
information, no need to download and parse HTML <link>s.
ProcessFeedService will now queue ThreadResolveWorker for each remote
status that it cannot find otherwise. Furthermore, entries are now
processed in reverse order (from bottom to top) in case a newer entry
references a chronologically previous one.
ThreadResolveWorker uses FetchRemoteStatusService to obtain a status
and attach the child status it was queued for to it.
FetchRemoteStatusService looks up the URL, first with a HEAD, tests
if it's an Atom feed, in which case it processes it directly. Next
for Link headers to the Atom feed, in which case that is fetched
and processed. Lastly if it's HTML, it is checked for <link>s to the Atom
feed, and if such is found, that is fetched and processed. The account for
the status is derived from author/name attribute in the XML and the hostname
in the URL (domain). FollowRemoteAccountService and ProcessFeedService
are used.
This means that potentially threads are resolved recursively until a dead-end
is encountered, however it is performed asynchronously over background jobs,
so it should be ok.
8 years ago
Eugen Rochko
608a2bfffc
Upgrade to PubSubHubbub 0.4 (removing verify_token)
8 years ago
Eugen Rochko
9863196f7b
Small rubocop offences removed
8 years ago
Eugen Rochko
adffc7a495
Fix #43
8 years ago
Eugen Rochko
4f25e3d042
Test case for new api endpoint
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
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
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
509c18eb13
Fix local follows, 404 in logs
8 years ago
Eugen Rochko
87576e1ab1
Fixing atom feeds for accounts, adding tests that would catch such bugs in future
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
413e700fe0
Enhancing test suite but I think the problem might have been caching setting
8 years ago
Eugen Rochko
a289c1d52f
Handle delete Salmons, todo: clean up timelines
8 years ago
Eugen Rochko
1022d682dc
Normalized data in Redux, fix for asset URLs when rendered outside request
8 years ago
Eugen Rochko
8985f8e66c
Fixing more configuration issues with ActionCable
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
039e6f951c
Fix issue with unresolvable usernames
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
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
c8999a116e
Sanitize remote html in atom feeds, API (not just UI), use cached mention
...
relations on Status#mentions
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
c28971c70c
Fixed the lookup API method
9 years ago
Eugen Rochko
9d55529318
Fix text color in dashboard inputs, sanitize remote status content in UI,
...
simplify FanOutOnWriteService, add /api/accounts/lookup method
9 years ago
Eugen Rochko
35aafdba96
Ancestors and descendants of statuses
9 years ago
Eugen Rochko
253ab26520
Adding more tests for helpers
9 years ago
Eugen Rochko
b640f35621
Writing out more tests, fixed some bugs
9 years ago
Eugen Rochko
2b116131d7
Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
9 years ago
Eugen Rochko
71ae4dd3d2
Adding public following and followers pages, fix #3
9 years ago
Eugen Rochko
c349200761
Removing some unused gems, adding pagination to profiles, fix #10
9 years ago
Eugen Rochko
d4892ace62
Adding more test stubs
9 years ago
Eugen Rochko
071f64d317
Fix #13 , Atom feeds now contain formatted post content
9 years ago
Eugen Rochko
7837afbb5f
Removing autogenerated test stubs that were not needed
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
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
3824c58853
Adding GNU Public license, adding home timeline, reblog/favourite counters
9 years ago
Eugen Rochko
3b4e04dc32
Fixing some bugs, adding pending test examples
9 years ago
Eugen Rochko
23d08c6749
Changing the use of config constants to the Rails configuration object
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
47d50b0e39
A lot of fixes from a live test
9 years ago
Eugen Rochko
8fada4fae2
When posting a status or reblogging one, ping hubs about the feed update
9 years ago
Eugen Rochko
ad5ae3f60e
Update profile information and download avatar of remote accounts
9 years ago
Eugen Rochko
f16b31f077
Adding a bunch of tests
9 years ago
Eugen Rochko
71fe24096c
Adding a Mention model, test stubs
9 years ago
Eugen Rochko
fa33750105
Adding reblogs, favourites, improving atom generation
9 years ago
Eugen Rochko
709c6685a9
Made some progress
9 years ago
Eugen Rochko
9c4856bdb1
Initial commit
9 years ago