Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `app/lib/formatter.rb`: Upstream completely refactored the formatting code and removed that file, while glitch-soc had code for Markdown and HTML toots. Took upstream code, glitch-soc changes will be re-implemented on top of the refactored classes in a later commit. - `app/models/status.rb`: Upstream refactored status edit handling and moved code to `app/models/concerns/status_snapshot_concern.rb`. Applied glitch-soc's changes to that file. - `app/serializers/activitypub/note_serializer.rb`: Not really a conflict, just a line added too close to one modified by glitch-soc. Applied upstream changes while keeping the glitch-soc-modified one. - `app/services/update_status_service.rb`: Not really a conflict, upstream modified a line adjacent to one added by glitch-soc. Applied upstream changes while keeping the glitch-soc line. - `app/views/statuses/_simple_status.html.haml`: Upstream refactored formatting, glitch-soc changed the markup slightly. Applied upstream changes. - `spec/lib/formatter_spec.rb`: Upstream completely refactored the formatting code and removed that file, while glitch-soc had code for Markdown and HTML toots. Took upstream code, glitch-soc changes will be re-implemented on top of the refactored classes in a later commit.
This commit is contained in:
@@ -75,30 +75,4 @@ module Twitter::TwitterText
|
||||
)
|
||||
}iox
|
||||
end
|
||||
|
||||
module Extractor
|
||||
# Extracts a list of all XMPP and magnet URIs included in the Toot <tt>text</tt> along
|
||||
# with the indices. If the <tt>text</tt> is <tt>nil</tt> or contains no
|
||||
# XMPP or magnet URIs an empty array will be returned.
|
||||
#
|
||||
# If a block is given then it will be called for each XMPP URI.
|
||||
def extract_extra_uris_with_indices(text, _options = {}) # :yields: uri, start, end
|
||||
return [] unless text && text.index(":")
|
||||
urls = []
|
||||
|
||||
text.to_s.scan(Twitter::TwitterText::Regex[:valid_extended_uri]) do
|
||||
valid_uri_match_data = $~
|
||||
|
||||
start_position = valid_uri_match_data.char_begin(3)
|
||||
end_position = valid_uri_match_data.char_end(3)
|
||||
|
||||
urls << {
|
||||
:url => valid_uri_match_data[3],
|
||||
:indices => [start_position, end_position]
|
||||
}
|
||||
end
|
||||
urls.each{|url| yield url[:url], url[:indices].first, url[:indices].last} if block_given?
|
||||
urls
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user