Commit graph

579 commits

Author SHA1 Message Date
James Kiesel
e174514d69 Add JSON exporter for user profile download 2014-12-16 08:55:35 +13:00
Jonne Haß
6d682d6c39 Use URI.join to assemble the URL to fetch a single post
That normalizes any extra / on the base URL.
2014-12-09 16:21:04 +01:00
Jonne Haß
74a6f42501 Bye opengraph_parser, hi open_graph_reader
opengraph_parser is basically unmainted, issues are ignored
or deliberately closed without fixing. It pollutes the global
namespace and has no verification of correctness.

The opengraph gem has basically the same issues, not really maintained,
unreleased patches on master since over a year, not really smart either.

So I created my own version and while at it, why not strive try to be
complete and robust, although it's still a work in progress.

This also improves general URL detection by parsing them
from the message after stripping markdown.

An additional dependency was added to support
fetching sites that require cookies to work at all.
For the same reason Faraday's default redirect limit was
bumped.
2014-12-08 02:01:31 +01:00
Dennis Schubert
aec00f834f Add Camo for <img>-tags inside Markdown contents 2014-11-10 02:19:45 +01:00
Dennis Schubert
6808150920 Method calling convention and doc improvements
... and a stealth-commit of an already introduced bug prevention system.
;)
2014-11-09 07:20:30 -08:00
Dennis Schubert
fd63fca7d5 Add Camo to MessageRenderer#markdownified
for mobile views
2014-11-09 07:29:36 +01:00
Dennis Schubert
5c9cc49363 Only RegEx if there is something to RegEx 2014-11-09 02:16:28 +01:00
Dennis Schubert
cca0c9eec4 Some refactorings, safer regex 2014-11-08 23:12:45 +01:00
Dennis Schubert
92cd4e6b78 Use camo for Markdown images
just a quick proof of concept
2014-11-08 05:14:18 +01:00
Augier
2ce98b49d7 Fix issue #4416
Conflicts:
	spec/helpers/notifier_helper_spec.rb
2014-10-16 23:27:48 +02:00
Jonne Haß
499ff6e0f4 Fix receiving a relayable retraction through the public route 2014-09-20 15:03:53 +02:00
Jonne Haß
777e3123d6 Try fetching missing parent of relayables
* Extract post fetching logic from Reshare into
  its own module
* raise proper error message when fetching fails
* raise proper error message when parent is still missing

We can't skip fetch failures or missing parents and
still need to retry them in case we're sent the parent
later on
2014-09-07 10:47:47 +02:00
Jonne Haß
01e0127287 Ignore embedded photos if invalid
For example if they're already present
Also refactor StatusMessage XML specs
2014-09-06 04:52:18 +02:00
Jonne Haß
8de29bc28d bump faraday and faraday_middleware. closes #4950 2014-08-25 19:16:55 +02:00
Jonne Haß
d6d65cd0fd apply rails 4 todos and fix specs after rebase 2014-08-23 16:47:57 +02:00
Jonne Haß
5068be90e8 reduce cuke failures
* Bump sass-rails (without effect)
* Bump mobile-fu (without effect)
* Cosmetically fix two cukes
* Refactor Taggable#tag_strings
* Rename default.css to default.css.scss (without effect)
* Fix receiving a conversation
* Pass aspect_ids instead of a relation to User#aspects_from_ids
2014-08-23 16:47:57 +02:00
Jonne Haß
0d42285496 Do not update_attributes with a nil id
Rails 4 accepts that as a parameter thus setting the id to nil
thus thinking it'd be a new record when we just want to update
it
2014-08-23 16:38:57 +02:00
Jonne Haß
2d57e15d5d Remove :without_protection from call in the posts fetcher and fix a couple hundreds specs as a side effect
Heisenbugs ftw.
2014-08-23 16:34:01 +02:00
Jonne Haß
7e7082a3bd Fix expectations for changes in generated HTML
Just a minor change, supplied attributes now go before the
standard ones
2014-08-23 16:34:01 +02:00
Jonne Haß
a9e107364a make status message controller spec pass and deprecation free 2014-08-23 16:34:00 +02:00
Jonne Haß
2f54d4f17d remove conditions on association deprecation warnings 2014-08-23 16:34:00 +02:00
Jonne Haß
89afb616cf replace deprecated scope syntax and unify it 2014-08-23 16:34:00 +02:00
Jonne Haß
33c3b38f2f replace deprecated finder and finder_options syntax 2014-08-23 16:34:00 +02:00
Jonne Haß
cbd9c56a7a Merge pull request #4919 from hpetru/4776-mention-on-mobile
Unescape text before add mention, this commit solve #4776

Conflicts:
	Changelog.md
2014-05-24 17:34:29 +02:00
Jonne Haß
d36589e05b Remove hack from exporter
I couldn't reproduce what the comment states anymore, so I just removed
it. This fixes a minor issue where html wouldn't be escaped in the
export.

Thanks to A Kai (@sixhundredns) for reporting.
2014-05-24 15:27:13 +02:00
Hincu Petru
e699a682f4 Unescape text before add mention, this commit solve #4776 2014-05-06 12:13:43 +00:00
Jason Robinson
356096a7eb Merge pull request #4836 from MrZYX/message_renderer
Introduce message renderer
2014-04-13 15:00:46 +03:00
Jonne Haß
98057885ac use uuids for guid generation 2014-03-30 15:38:18 +02:00
Jonne Haß
8280556a47 Introduce message renderer
This new class replaces all existing server side message
rendering helpers and is the new global entry point for such
needs. All models with relevant fields now expose an instance
of MessageRenderer for those. MessageRenderer acts as
gateway between the existing processing solutions for markdown,
mentions and tags and provides a very flexible interface for
all output needs. This makes the API to obtain a message
in a certain format clear. As a result of centralizing the
processing a lot of duplication is eliminated. Centralizing
the message processing also makes it clear where to change
its behaviour, add new representations and what options
are already available.
2014-03-15 17:16:17 +01:00
Jonne Haß
bd24cb71a4 Fix plaintext mode for mentionable
Also slight refactors to it.
2014-03-09 14:02:15 +01:00
Ivan Zotov
a4ce6e267a Fix after_create to after_commit 2014-01-14 22:35:29 +04:00
Oliver Azevedo Barnes
7214dc184d Remove namespacing from federation libs recently migrated from app/models/ 2013-08-13 18:23:05 -05:00
Oliver Azevedo Barnes
1c9d65e94c WIP refactor namespacing for federation libs, into Diaspora::Federated 2013-08-12 13:10:38 -05:00
Oliver Azevedo Barnes
5564644306 WIP 2013-08-12 13:10:38 -05:00
Florian Staudacher
4ee5d5f19c replace mentions of out-of-aspect people in limited posts with just a
markdown link to their profile (fixes #2516)

add failing spec for #4160 / #2516

extend the spec a bit more

refactor mention handling in a status message

add method for filtering mentions by aspects

wire mention filtering into the status message model, adapt a few tests to
work properly

cosmetic changes

shorten helper methods

add changelog entry
2013-06-09 19:16:40 +02:00
Jonne Haß
ac147cc9f4 Refactor config/ directory
* Get rid of early pathname requirement
* Use require_relative where approciate
* Drop unused files
* Imported new application.rb, environment.rb and environments/* from fresh Rails app
* Cleaned up boot.rb
* Load config in boot.rb
* Deduplicate environments/integration*.rb
* Move username blacklist into defaults.yml
* Ruby 1.9 Hash syntax everywhere
* Reorganize lib/diaspora/markdownify to match conventions
* Get rid of full path requires where possible
* Add dummy content to production section diaspora.yml.example to prevent warning
* Drop sqlite? method
* Move postgres? method into ConfigurationMethods
* Drop token authentication from User
2013-05-19 18:54:54 +02:00
Jonne Haß
79a79d65d6 Bye Resque. Ohai Sidekiq.
* Dropped all references to Resque
* Moved all jobs under app/workers since that's the Sidekiq convention
* Renamed Jobs module to Worker to match new location
* Adapted all jobs to Sidekiq
* Replaced all enqueue calls with perform_async
* Dropped Resque hacks from specs and features, replaced with
  sidekig/testing in RSpec and sidekig/testing/inline in Cucumber
* Updated scripts to start a Sidekiq server
* Inline Sidekiq sinatra app
* Let Sidekiq create the actual Redis instance
* Workaround already initialized constant warnings in service models
* Resolved ToDo in one job definition by creating proper exception clases
  for some errors in receiving posts
* Added sidekiq section to configuration to make it completly
  configurable to the user
* Add Sidekiq middleware for clean backtraces
* Delay HttpMulti retry to give offline pods a chance to come back up
* Do not retry on GUID already taken and alike errors
* Be graceful about deleted posts in GatherOEmbedData
2013-03-21 23:39:07 +01:00
Jonne Haß
3fc3b249e7 End the require mess
* Rename and reorganize post fetcher to fix autoloading, also let it use
  Faradays default connection so we get nice redirects
* Add initializer to load libs at a central place
* added lib dir to autoload_once paths to increase thread safety
* Moved lib/exceptions.rb to lib/diaspora/ to conform namespacing
2013-03-21 23:37:53 +01:00
Jonne Haß
e70e48d6ca some refactoring regarding the law of demeter 2012-09-23 19:33:19 +02:00
Florian Staudacher
2e3da0cf05 fix date and guid assignment for fetched posts 2012-09-06 18:16:40 +02:00
Florian Staudacher
8f1204d05a first working version of a 'post fetcher' for remote accounts 2012-08-04 13:22:03 +02:00
Steven Hancock
a8de3a5a3f Rails.root and File.join cleanup
- `Rails.root` is a `Pathname`, so let's use `Rails.root.join`
- Clean up most of the remaining `File.join`s
2012-06-11 03:13:20 -07:00
Steven Hancock
99a2865e23 Make hashtags clickable in emails
Refactor the Redcarpet renderer created in c2bc7272f to parse hashtags
into clickable links (for HTML emails only).
2012-05-29 10:01:58 -07:00
Steven Hancock
c2bc7272fb Escape hashtags in emails
Custom Redcarpet renderer to escape hashtags (but not legitimate headers)
in emails before Markdown processing. Prevents hashtags from being rendered
as H1 headers. This also leaves open the possibility of parsing hashtags
into clickable links in the future.

fixes #3325
2012-05-28 21:31:27 -07:00
Maxwell Salzberg
ab2e740ca2 upgrade to Rails 3.2.3 2012-05-14 21:53:16 -07:00
Dennis Collinson
efa79a4ad7 Refactor Post Presenter
and comment presenter
2012-05-10 12:24:21 -07:00
Maxwell Salzberg
a2aabeb599 remove ActiveSupport::SecureRandom 2012-03-21 13:49:34 -07:00
Maxwell Salzberg
27a4c1bf2d introduce the idea of Federated::Base. this is mostly just renaming and collasping of different federation modules, but also starting a direct hiearchy of these federation classes to make everything easier to refactor 2012-02-25 16:57:14 -08:00
Pistos
44e6084a29 Gracefully handle unrecognized federated objects so failed Resque jobs don't pile up.
Conflicts:

	lib/postzord/receiver/public.rb
2012-02-10 23:30:59 -05:00
Dennis Collinson
14b9f5dc5b move user modules into user namespace. 2012-02-09 19:01:01 -08:00