Commit Graph

15 Commits (32d31528522fd7b1064b75e238e0efb2516dd27b)

Author SHA1 Message Date
ThibG 193ebf3cf4 Serialize text-less statuses as '.' over OStatus (fixes ) () 2018-08-05 12:22:23 +02:00
abcang f0ee3f8f8a Fix N+1 on AtomSerializer () 2018-05-29 13:34:02 +02:00
Eugen Rochko 244a270a80 If an OStatus message contains nsfw hashtag, mark it as sensitive ()
* If an OStatus message contains nsfw hashtag, mark it as sensitive

Undo parts of 

* Put nsfw hashtag on OStatus messages if they have any media

* Fix code style issues
2018-05-07 14:49:13 +02:00
Eugen Rochko 599aa39aca Remove "nsfw" category for sensitive statuses in OStatus serializer ()
Fix 
2018-04-22 22:09:03 +02:00
David Underwood 44274257de [WIP] Enable custom emoji on account pages and in the sidebar ()
Federate custom emojis with accounts
2018-04-01 23:55:42 +02:00
ThibG 99790407e2 Serialize mentions in the order they are added ()
Up until now, the order seemed to be in the *opposite* order,
which caused the WebUI to populate mentions in reversed order
when replying to toots local to one's instance.
2018-03-19 20:19:35 +01:00
Yamagishi Kazutoshi fba46b6072 Using double splat operator () 2017-12-06 11:41:57 +01:00
Eugen Rochko ab9c76d786 Fix NameError: uninitialized constant OStatus::AtomSerializer::TagManager ()
This error occurred at least in development environment
2017-10-13 16:44:43 +02:00
Akihiko Odaki b1ba673029 Introduce OStatus::TagManager () 2017-09-19 18:08:08 +02:00
Eugen Rochko eb345f8e8b Custom emoji ()
* Custom emoji

- In OStatus: `<link rel="emoji" name="coolcat" href="http://..." />`
- In ActivityPub: `{ type: "Emoji", name: ":coolcat:", href: "http://..." }`
- In REST API: Status object includes `emojis` array (`shortcode`, `url`)
- Domain blocks with reject media stop emojis
- Emoji file up to 50KB
- Web UI handles custom emojis
- Static pages render custom emojis as `<img />` tags

Side effects:

- Undo  optimization, as I needed to modify it to restore
  shortcode handling in emojify()
- Formatter#plaintext should now make sure stripped out line-breaks
  and paragraphs are replaced with newlines

* Fix emoji at the start not being converted
2017-09-19 02:42:40 +02:00
Eugen Rochko 73c613dcfc Switch to static URIs, new URI format in both protocols for new statuses ()
* Decouple Status#local? from uri being nil

* Replace on-the-fly URI generation with stored URIs

- Generate URI in after_save hook for local statuses
- Use static value in TagManager when available, fallback to tag format
- Make TagManager use ActivityPub::TagManager to understand new format
- Adjust tests

* Use other heuristic for locality of old statuses, do not perform long query

* Exclude tombstone stream entries from Atom feed

* Prevent nil statuses from landing in Pubsubhubbub::DistributionWorker

* Fix URI not being saved ()

* Add more specs for Status

* Save generated uri immediately

and also fix method order to minimize diff.

* Fix alternate HTML URL in Atom

* Fix tests

* Remove not-null constraint from statuses migration to speed it up
2017-09-06 19:01:28 +02:00
Eugen Rochko 3135d20283 Serialize ActivityPub alternate link into OStatus deletes, handle it ()
Requires moving Atom rendering from DistributionWorker (where
`stream_entry.status` is already nil) to inline (where
`stream_entry.status.destroyed?` is true) and distributing that.

Unfortunately, such XML renderings can no longer be easily chained
together into one payload of n items.
2017-08-29 16:11:05 +02:00
Eugen Rochko ce7e12bd72 Put ActivityPub alternate link into Atom, prefer it when processing Atom () 2017-08-18 01:03:18 +02:00
Eugen Rochko 3852032953 Correct OStatus inflection (Ostatus -> OStatus) () 2017-07-19 01:37:26 +02:00
Akihiko Odaki b0f97d9a87 Introduce Ostatus name space ()
* Wrap methods of ProcessFeedService::ProcessEntry in classes

This is a change same with 002ed7dc62, except
that it has the following changes:

* Revert irrelevant change in find_or_create_conversation
* Fix error handling for RemoteActivity

* Introduce Ostatus name space
2017-07-18 16:39:47 +02:00