Commit Graph

41 Commits

Author SHA1 Message Date
5a003715d3 DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
68b4fe4cf8 SECURITY: Expand and improve SSRF Protections (#18815)
See https://github.com/discourse/discourse/security/advisories/GHSA-rcc5-28r3-23rr

Co-authored-by: OsamaSayegh <asooomaasoooma90@gmail.com>
Co-authored-by: Daniel Waterworth <me@danielwaterworth.com>
2022-11-01 16:33:17 +00:00
c75500b871 DEV: decrease webhook timeout and move to 'low' priority queue. (#14038)
Previously, webhooks has 60 seconds default timeout of Excon and were added in the 'default' queue.
2021-08-13 10:41:02 +05:30
75e159f0ed FEATURE: add support for like webhooks (#12917)
* FEATURE: add support for like webhooks

Add support for like webhooks. Webhook events only send on user membership
in the defined webhook group filters.

This also fixes group webhook events, as before this was never used, and
the logic was not correct.
2021-04-30 17:08:38 -07:00
d0d5a138c3 DEV: stop freezing frozen strings
We have the `# frozen_string_literal: true` comment on all our
files. This means all string literals are frozen. There is no need
to call #freeze on any literals.

For files with `# frozen_string_literal: true`

```
puts %w{a b}[0].frozen?
=> true

puts "hi".frozen?
=> true

puts "a #{1} b".frozen?
=> true

puts ("a " + "b").frozen?
=> false

puts (-("a " + "b")).frozen?
=> true
```

For more details see: https://samsaffron.com/archive/2018/02/16/reducing-string-duplication-in-ruby
2020-04-30 16:48:53 +10:00
16f0d1c503 PERF: Remove database query when publishing to staff users. 2020-04-27 11:50:21 +08:00
b6c19cba20 FIX: Abort emit_web_hook_event job cleanly if web hook was deleted (#9445)
Raising an error causes the job to be retried, and causes a lot of noise in the logs
2020-04-16 21:24:09 +01:00
cf0c6d5761 FIX: Ensure web hooks are retried at most 5 times 2020-02-21 17:02:40 +02:00
1358312584 FIX: Zeitwerk-related fixes for jobs. (#8219) 2019-10-21 20:25:35 +03:00
427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. 

We no longer need to use Rails "require_dependency" anywhere and instead can just use standard 
Ruby patterns to require files.

This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00
30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
0210b0aabc REFACTOR: Prefer accessing instance variables directly.
* No need to wrap instance variables with another method to read it.
* Remove memoization that wasn't really memozing anything.
2019-04-20 09:39:25 +08:00
6e46197bc8 FIX: Disable webhooks on 410 and 404 HTTP responses (#7392)
FIX: Disable webhooks on 410 and 404 HTTP responses (#7392)
2019-04-18 12:36:37 +01:00
02a9429c38 REFACTOR: Quick refactor of the webhook event emitter job (#7385)
* REFACTOR: Quick refactor of the webhook event emitter job
2019-04-17 10:03:23 +01:00
594674703c FIX: properly log webhook errors in UI on rescue (#7376) 2019-04-15 12:19:48 +05:30
1e3cb7575d DEV: Update webhook event attributes even when an error raised 2019-03-21 20:45:21 +05:30
4c6bfb9b39 DEV: Don't destroy webhook in case of error 2019-03-21 18:34:54 +05:30
d33d031742 FEATURE: Filter topic and post web hook events by tags (#6726)
* FEATURE: Filter topic and post web hook events by tags

* Add a spec test with unmatched tags
2018-12-05 14:44:06 +05:30
ccf76d45f2 FIX: Missing variable outside of begin block. 2018-07-27 08:19:11 +08:00
f8e9190617 FEATURE: Retry web hook when it is failed 2018-07-23 10:12:04 +08:00
43f7cb05c9 FIX: Broken ping event for web hooks due to missing payload. 2018-05-24 15:16:52 +08:00
bf84037f79 FIX: Payload for webhooks should be current as of the time the event was triggered.
https://meta.discourse.org/t/group-category-tag-user-deleted-webhooks-not-firing/87752
2018-05-21 17:29:58 +08:00
1ff767559d Fix incorrect param. 2018-05-18 14:05:45 +08:00
c42b65df5f find raises an error if the record is missing. 2018-05-18 13:37:07 +08:00
a16b616861 FEATURE: webhook for flag events 2018-04-13 07:47:58 +05:30
434cbc649f FEATURE: Webhook for tag events 2018-04-04 17:49:20 +05:30
142571bba0 Remove use of rescue nil.
* `rescue nil` is a really bad pattern to use in our code base.
  We should rescue errors that we expect the code to throw and
  not rescue everything because we're unsure of what errors the
  code would throw. This would reduce the amount of pain we face
  when debugging why something isn't working as expexted. I've
  been bitten countless of times by errors being swallowed as a
  result during debugging sessions.
2018-04-02 13:52:51 +08:00
dc33f2d071 Add new web hook serializers 2018-03-28 17:40:29 +05:30
e700e3e882 FIX: post_destroyed webhook event not fired 2018-02-13 01:36:56 +05:30
Sam
47058b29d3 FEATURE: emit external_id field with user webhook 2018-01-22 10:09:26 +11:00
3c56c9b637 FIX: strip webhook payload_url 2017-12-11 13:48:11 +05:30
974836962d Fix invalid method call. 2017-10-02 12:50:22 +08:00
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
0a87547cbc Fix broken tests. 2017-03-16 10:22:15 +08:00
cfbfea0596 FEATURE: Allow easier customization to the web hook event serialization. 2017-03-16 10:09:05 +08:00
Sam
ac2c035856 FIX: stop raising exceptions when a post goes missing 2016-11-08 14:51:56 +11:00
dd58c00699 FEATURE: Add instance id in the webhook payload 2016-11-04 15:21:41 +01:00
707fcb9434 FIX: Content-Lenght should be the size in octets 2016-09-21 10:31:20 +08:00
00d5facf36 FEATURE: prompts new webhook events 2016-09-19 12:07:17 +08:00
7423140825 FIX: show event name in webhook headers 2016-09-12 17:48:54 +08:00
9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00