Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
7752f103
Commit
7752f103
authored
May 05, 2017
by
lain
Browse files
Add basic thread fetching.
parent
00a71831
Changes
1
Show whitespace changes
Inline
Side-by-side
lib/pleroma/web/ostatus/ostatus.ex
View file @
7752f103
...
...
@@ -121,6 +121,13 @@ def handle_note(entry, doc \\ nil) do
{
:ok
,
actor
}
=
find_make_or_update_user
(
author
)
inReplyTo
=
string_from_xpath
(
"//thr:in-reply-to[1]/@ref"
,
entry
)
if
!Object
.
get_cached_by_ap_id
(
inReplyTo
)
do
inReplyToHref
=
string_from_xpath
(
"//thr:in-reply-to[1]/@href"
,
entry
)
if
inReplyToHref
do
Task
.
start
(
fn
->
fetch_activity_from_html_url
(
inReplyToHref
)
end
)
end
end
context
=
(
string_from_xpath
(
"//ostatus:conversation[1]"
,
entry
)
||
""
)
|>
String
.
trim
attachments
=
get_attachments
(
entry
)
...
...
@@ -248,6 +255,7 @@ def gather_user_info(username) do
# It's a hack anyway. Maybe revisit this in the future
@mastodon_regex
~r/<link href='(.*)' rel='alternate' type='application\/
atom
\
+
xml
'>/
@gs_regex ~r/<link title=.* href="(.*)" type="application\/atom\+xml" rel="alternate">/
@gs_classic_regex ~r/<link rel="alternate" href="(.*)" type="application\/atom\+xml" title=.*>/
def get_atom_url(body) do
cond do
Regex.match?(@mastodon_regex, body) ->
...
...
@@ -256,6 +264,9 @@ def get_atom_url(body) do
Regex.match?(@gs_regex, body) ->
[[_, match]] = Regex.scan(@gs_regex, body)
{:ok, match}
Regex.match?(@gs_classic_regex, body) ->
[[_, match]] = Regex.scan(@gs_classic_regex, body)
{:ok, match}
true ->
Logger.debug(fn -> "Couldn'
t
find
atom
link
in
#{inspect(body)}" end)
{
:error
,
"Couldn't find the atom link"
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment