Akihiko Odaki
51d760960c
Set the default locale in config ( #6580 )
...
Previously the default locale was set by Localized concern for controllers,
but it was not enforced for mailers.
config is enforced throughout the application and an appropriate place to
set the default locale.
2018-03-04 09:21:35 +01:00
beatrix
4072b68686
remove Uglifier call from production.rb ( #6568 )
2018-02-27 05:48:11 +01:00
Akihiko Odaki
2e8a492e88
Raise Mastodon::HostValidationError when host for HTTP request is private ( #6410 )
2018-02-24 19:16:11 +01:00
Akihiko Odaki
9b8a448477
Isolate each specs for cache store ( #6450 )
...
The cache store is explicitly used by some specs, but they were not
isolated and therefore not reliable. This fixes the issue by clearing
the cache after each specs.
2018-02-17 22:35:05 +01:00
Eugen Rochko
35a8cafa35
Replace self-rolled statsd instrumention with localshred/nsa ( #5118 )
2017-09-29 03:16:44 +02:00
Yamagishi Kazutoshi
3f333a8d31
Set fallback address when empty notification address ( #4868 )
2017-09-09 21:31:48 +02:00
Eugen Rochko
e95bdec7c5
Update status embeds ( #4742 )
...
- Use statuses controller for embeds instead of stream entries controller
- Prefer /@:username/:id/embed URL for embeds
- Use /@:username as author_url in OEmbed
- Add follow link to embeds which opens web intent in new window
- Use redis cache in development
- Cache entire embed
2017-08-30 10:23:43 +02:00
Eugen Rochko
a3202fd51e
Add SMTP_TLS variable for configuring TLS when server uses non-standard port ( #4227 )
2017-07-16 23:48:35 +02:00
Sorin Davidoi
0c7c188c45
Web Push Notifications ( #3243 )
...
* feat: Register push subscription
* feat: Notify when mentioned
* feat: Boost, favourite, reply, follow, follow request
* feat: Notification interaction
* feat: Handle change of public key
* feat: Unsubscribe if things go wrong
* feat: Do not send normal notifications if push is enabled
* feat: Focus client if open
* refactor: Move push logic to WebPushSubscription
* feat: Better title and body
* feat: Localize messages
* chore: Fix lint errors
* feat: Settings
* refactor: Lazy load
* fix: Check if push settings exist
* feat: Device-based preferences
* refactor: Simplify logic
* refactor: Pull request feedback
* refactor: Pull request feedback
* refactor: Create /api/web/push_subscriptions endpoint
* feat: Spec PushSubscriptionController
* refactor: WebPushSubscription => Web::PushSubscription
* feat: Spec Web::PushSubscription
* feat: Display first media attachment
* feat: Support direction
* fix: Stuff broken while rebasing
* refactor: Integration with session activations
* refactor: Cleanup
* refactor: Simplify implementation
* feat: Set VAPID keys via environment
* chore: Comments
* fix: Crash when no alerts
* fix: Set VAPID keys in testing environment
* fix: Follow link
* feat: Notification actions
* fix: Delete previous subscription
* chore: Temporary logs
* refactor: Move migration to a later date
* fix: Fetch the correct session activation and misc bugs
* refactor: Move migration to a later date
* fix: Remove follow request (no notifications)
* feat: Send administrator contact to push service
* feat: Set time-to-live
* fix: Do not show sensitive images
* fix: Reducer crash in error handling
* feat: Add badge
* chore: Fix lint error
* fix: Checkbox label overlap
* fix: Check for payload support
* fix: Rename action "type" (crash in latest Chrome)
* feat: Action to expand notification
* fix: Lint errors
* fix: Unescape notification body
* fix: Do not allow boosting if the status is hidden
* feat: Add VAPID keys to the production sample environment
* fix: Strip HTML tags from status
* refactor: Better error messages
* refactor: Handle browser not implementing the VAPID protocol (Samsung Internet)
* fix: Error when target_status is nil
* fix: Handle lack of image
* fix: Delete reference to invalid subscriptions
* feat: Better error handling
* fix: Unescape HTML characters after tags are striped
* refactor: Simpify code
* fix: Modify to work with #4091
* Sort strings alphabetically
* i18n: Updated Polish translation
it annoys me that it's not fully localized :P
* refactor: Use current_session in PushSubscriptionController
* fix: Rebase mistake
* fix: Set cacheName to mastodon
* refactor: Pull request feedback
* refactor: Remove logging statements
* chore(yarn): Fix conflicts with master
* chore(yarn): Copy latest from master
* chore(yarn): Readd offline-plugin
* refactor: Use save! and update!
* refactor: Send notifications async
* fix: Allow retry when push fails
* fix: Save track for failed pushes
* fix: Minify sw.js
* fix: Remove account_id from fabricator
2017-07-13 22:15:32 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
2083000027
Set default From address in config ( #3756 )
...
The old implementation sets default From address in mailers. It sets
the address from SMTP_FROM_ADDRESS, or notifications@localhost. The
behavior is occasionally undesired results.
In production environment, notifications@localhost is likely to be
incorrect.
In testing environment, the email address should not be varied by a
environment variable.
After appling this change,
In production environment, it will throw an exception when launching
Mastodon.
In testing environment, the address will be fixed with
notifications@localhost.
2017-07-07 00:12:12 +02:00
nullkal
b8ea28d6d0
Support multiple trusted proxy ip addresses ( #3639 )
...
* Support multiple trusted proxy ip addresses
* correct coding style
2017-06-08 14:33:28 +02:00
Matt Jankowski
2212dc4aaa
Update Rails to version 5.1.1 ( #3121 )
...
* Update rails to version 5.1.1
* Run `rails app:update`
* Remove the override of polymorphic activity relationship
* Silence warning about otp_secret attribute being unknown to rails
* We will only introduce form_with where we want to use remote data
2017-06-01 20:53:37 +02:00
Clworld
df92f010ad
Set config.cache_store in environments file. ( #3219 )
...
* Set config.cache_store in application.rb
* Set config.cache_store in environments.
* fix code format.
2017-05-22 15:01:02 +02:00
Eugen Rochko
2cc0d56652
Add back stdout logging to development environment after rails_12factor was removed ( #3011 )
2017-05-12 16:47:49 +02:00
alpaca-tc
ef226a6f22
Remove rails_12factor ( #2901 )
2017-05-09 05:15:54 +02:00
Eugen Rochko
b8e166894b
Fix Scheduler::SubscriptionsScheduler ( #2834 )
...
* Fix Scheduler::SubscriptionsScheduler, add worker test for it
* Change production log level of Sidekiq to "warn" instead of "info"
2017-05-06 13:05:03 +02:00
Eugen Rochko
81584779cb
More robust PuSH subscription refreshes ( #2799 )
...
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron
Fix an issue where / in domain would raise exception in TagManager#normalize_domain
PuSH subscriptions refresh done in a round-robin way to avoid hammering a single
server's hub in sequence. Correct handling of failures/retries through Sidekiq (see
also #2613 ). Optimize Account#with_followers scope. Also, since subscriptions
are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire
refreshing operation halfway through
Fix #2702 - Correct user agent header on outgoing http requests
* Add test for SubscribeService
* Extract #expiring_accounts into method
* Make mastodon:push:refresh no-op
* Queues are now defined in sidekiq.yml
* Queues are now in sidekiq.yml
2017-05-05 02:23:01 +02:00
Eugen Rochko
c997091166
Clean up redis configuration. Allow using REDIS_URL to set advanced ( #2732 )
...
connection options instead of setting REDIS_HOST etc individually
Close #1986
2017-05-03 23:18:13 +02:00
Eugen Rochko
f5bf5ebb82
Replace sprockets/browserify with Webpack ( #2617 )
...
* Replace browserify with webpack
* Add react-intl-translations-manager
* Do not minify in development, add offline-plugin for ServiceWorker background cache updates
* Adjust tests and dependencies
* Fix production deployments
* Fix tests
* More optimizations
* Improve travis cache for npm stuff
* Re-run travis
* Add back support for custom.scss as before
* Remove offline-plugin and babili
* Fix issue with Immutable.List().unshift(...values) not working as expected
* Make travis load schema instead of running all migrations in sequence
* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />
* Add react definitions to places that use JSX
* Add Procfile.dev for running rails, webpack and streaming API at the same time
2017-05-03 02:04:16 +02:00
Akihiko Odaki
26bc591572
Allow to set CA file for SMTP ( #2713 )
2017-05-03 01:03:12 +02:00
Matt Jankowski
a0dd90a397
Return force_ssl to the controller ( #2380 )
2017-04-24 02:44:05 +02:00
Matt Jankowski
57cd6546c3
Make HSTS enable optional with force_ssl ( #2364 )
2017-04-23 19:08:32 +02:00
Matt Jankowski
ee82d8a876
Move force_ssl check to production config ( #2165 )
...
The force_ssl method from controllers does not add all of the options that the
sitewide configuration in a config block does. For example, HSTS enforcement is
not added by the controller method, but is added by this style.
2017-04-23 04:22:22 +02:00
Miguel Jacq
b79ba3db8a
Send nil for SMTP_LOGIN or SMTP_PASSWORD if it was left blank in the envfile, otherwise Ruby still attempts auth even if SMTP_AUTH_METHOD is none ( #2180 )
2017-04-20 03:12:14 +02:00
Miguel Jacq
e9eaf9e33c
Allow using an SMTP server without authentication ( #1597 )
...
* Allow using an SMTP server without authentication (e.g Postfix relay on the same host) by setting SMTP_LOGIN and SMTP_AUTH_METHOD to 'none'
* Add note in .env.production.sample about SMTP settings for servers where no auth is required
* Assume that SMTP_LOGIN and SMTP_PASSWORD will be blank if we set SMTP_AUTH_METHOD to none
2017-04-17 10:41:19 +02:00
Les Orchard
7609593e48
Add REDIS_DB env variable to configure Redis database ( #1366 )
2017-04-15 02:21:13 +02:00
Effy Elden
c019b0acfd
Modify ActionMailer configuration to default to ENV['LOCAL_DOMAIN'] if ENV['SMTP_DOMAIN'] is not set. The previous fallback, config.x.local_domain, is undefined when the code is called. ( #1745 )
2017-04-14 11:02:25 +02:00
James Moore
d9dc0fe84e
smtp delivery type fix ( #1556 )
...
* delivery fix
# Conflicts:
# config/environments/production.rb
* added stub in .env file
* reordered and added a comment
2017-04-13 19:51:49 +02:00
Eugen
40bdf43297
Change default log level in production from :debug to :info for less I/O ( #1579 )
2017-04-11 23:28:23 +02:00
Eugen
5cdd2c2414
Fix #1535 - #1372 set a wrong default on :openssl_verify_mode ( #1563 )
2017-04-11 22:49:53 +02:00
Alexander Mankuta
0dbbc16c69
More SMTP customization ( #1372 )
...
* Allow SMTP auth method customization
* Add SMTP openssl_verify_mode option support
Allows one use self-signed certs with their SMTP server.
* Add SMTP enable_starttls_auto option support
2017-04-10 21:48:30 +02:00
Ash Furrow
c3e7bac1cc
Allows setting log level in env variable ( #1290 )
...
* Allows setting log level in env variable.
* Made changes based on feedback in #1290 .
2017-04-09 01:42:13 +02:00
Eugen Rochko
6b81d10030
Add digest e-mails
2017-03-04 00:00:48 +01:00
Eugen Rochko
9d4cad6307
Improve glow
2017-02-23 02:14:35 +01:00
Eugen Rochko
19b9e1e2c3
Preheat status cache
2017-02-05 17:24:18 +01:00
Eugen Rochko
1da0ce5c7c
Looks like log level :debug is required for activerecord times to be tracked
2017-02-01 12:13:16 +01:00
Eugen Rochko
65402d9c09
Fix activerecord logging in production
2017-02-01 11:34:50 +01:00
Eugen Rochko
cc5c1e5feb
Removed accidental n+1 query from notifications, updated some deps,
...
improved how "show more" link looks
2017-01-26 14:52:07 +01:00
Eugen Rochko
67befe5463
Allow to specify trusted proxies through env
2017-01-22 20:35:49 +01:00
Eugen Rochko
e028406db4
Fix code style
2017-01-21 22:19:13 +01:00
Effy Elden
5fef55c11a
Set remote dev environments to use letter_opener_web, add default .env.vagrant variables
2017-01-21 20:22:49 +11:00
Eugen Rochko
f051c2e813
Fix statsd null backend not being initialized properly
2017-01-19 09:37:07 +01:00
Eugen Rochko
306eb6e9c9
Add optional StatsD performance tracking
2017-01-18 23:44:29 +01:00
Effy Elden
ab4f5f5da5
Add Heroku deployment support
2017-01-17 22:00:03 +11:00
Eugen Rochko
cc70f28f19
Adding rack timeout of 30sec, PuSH jobs moved to push queue so they
...
can be processed separately
2016-11-29 02:07:14 +01:00
Eugen Rochko
6c82dfcf5f
Fix CDN_HOST variable requirement
2016-11-26 15:27:05 +01:00
Eugen Rochko
4f1d863615
Only distribute statuses to followers who signed in in the last 2 weeks, add rake task for clearing feeds of inactive users
2016-11-24 18:17:58 +01:00
Eugen Rochko
7944ed6fe5
Adding option to specify asset server, filter followers query by local accounts
...
during Fan Out On Write to load less stuff into memory
2016-11-21 22:04:10 +01:00
Eugen Rochko
dbe00a4156
Improved configuration from ENV, cleaned up timeline filter methods
...
to be more readable, add extra logging to process feed service
2016-11-07 23:20:52 +01:00
Eugen Rochko
829d189f44
Add tests for recently added API end points
2016-11-03 18:53:37 +01:00
Eugen Rochko
53fb7b1aa8
Replace in-memory cache store with redis store, should decrease memory
...
footprint of each running process by 128mb
2016-11-02 13:30:52 +01:00
Eugen Rochko
a9e40a3d80
Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
...
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
dd02fc0ec4
More debugging
2016-10-18 01:22:28 +02:00
Eugen Rochko
6611e3a2ef
More debugging
2016-10-18 00:59:18 +02:00
Eugen Rochko
4baca34a45
Do not compress JS (perhaps it removes source maps, needed for debugging)
2016-10-18 00:48:40 +02:00
Eugen Rochko
fe77921e47
Catching more exceptions that slipped through, removing AR logging from
...
production as it's very verbose and not very useful
2016-10-05 13:26:44 +02:00
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
2016-09-08 20:36:01 +02:00
Eugen Rochko
509c18eb13
Fix local follows, 404 in logs
2016-09-08 02:40:51 +02:00
Eugen Rochko
0f4bc56719
Improving production logs, removing n+1 on media attachments in atom,
...
adding attachments display to static views
2016-09-08 01:24:26 +02:00
Eugen Rochko
ae1fac0062
Add API to upload media attachments
2016-09-05 17:46:36 +02:00
Eugen Rochko
413e700fe0
Enhancing test suite but I think the problem might have been caching setting
2016-09-05 01:26:08 +02:00
Eugen Rochko
92afd29650
The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
...
Adding better errors for the API controllers, posting a simple status works from the frontend now
2016-08-26 19:12:19 +02:00
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
2016-08-24 17:56:44 +02:00
Eugen Rochko
68c93f8b85
Final fix for ActionCable origin issues
2016-08-18 18:51:50 +02:00
Eugen Rochko
8985f8e66c
Fixing more configuration issues with ActionCable
2016-08-18 18:39:35 +02:00
Eugen Rochko
8459acd123
Fix for force SSL issue with websockets
2016-08-18 17:48:57 +02:00
Eugen Rochko
6deb9f966e
Live timelines using ActionCable
2016-08-18 15:49:51 +02:00
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
2016-08-17 17:58:00 +02:00
Eugen Rochko
6c480c8429
Oops, typo
2016-03-26 13:52:40 +01:00
Eugen Rochko
85b00d19b8
Moving Salmon notifications to background processing, fixing mini-profiler
...
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-26 13:42:10 +01:00
Eugen Rochko
253ab26520
Adding more tests for helpers
2016-03-20 13:50:22 +01:00
Eugen Rochko
e2b846f630
Adding letter opener for development and Rack::Attack for future rate limiting implementations
2016-03-19 14:57:30 +01:00
Eugen Rochko
48d66a2055
Fixing the docker container setup (with assets compilation &co)
2016-03-16 12:57:01 +01:00
Eugen Rochko
2c374cd97c
Adding e-mail configuration
2016-03-16 12:13:40 +01:00
Eugen Rochko
1dad72bf13
Fixes and general progress
2016-02-22 18:10:30 +01:00
Eugen Rochko
709c6685a9
Made some progress
2016-02-22 16:00:20 +01:00
Eugen Rochko
9c4856bdb1
Initial commit
2016-02-20 22:53:20 +01:00