logster 2.20.0 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ede0a1e21b11d22b9619d9b228d8eefe91d32201425ee6ced44f44b52f9ce635
4
- data.tar.gz: 444afc2111fb8991691d3429d3c1a3887b576787639b919fd7d0b3ff049797f0
3
+ metadata.gz: 032bd6d934543680f2c4a2136ff9d3df2e413a98d9e7d411d59dc8dd2f52a976
4
+ data.tar.gz: 501ce97ec3873136ef87f9d7ae67e7b259982359fc96e5282382fae099c6df67
5
5
  SHA512:
6
- metadata.gz: cdcca8dd9b72a41c20fcd2448536fe21e9cfe4a813d3fd150d9d34588e0c4433ad2b9531b4b948a028de868ba4b58026b39fa9eea47b9fc4a9a5e0157b02e783
7
- data.tar.gz: 8b4214424ab630f1c37a563d134b290a402d10de1c414852c0513054d255320a4c21ae456d0a4f500a29b26ad764a1e795f9a2e8464d72f46cdd52e524fcf788
6
+ metadata.gz: ec6e3e7127482c0619954f2141d687680a0f92a23414dfeae6c17c2bc3bf51f6cf875ca9331bef660b2c70661f564bfef09f464e7df3dc3a4e6a4ab5c886657a
7
+ data.tar.gz: 30eeec69d9543d38a2b2ce92c9bf6a1a069e6c18064ee689fb3edf438c9c2c22f3ef30b3df700b5599dce5589ddf7258898a08b7be488ab88187d8c5675162aa
@@ -20,8 +20,8 @@ jobs:
20
20
 
21
21
  strategy:
22
22
  matrix:
23
- ruby: ["3.1", "3.2", "3.3"]
24
- rails: ["6.1", "7.0", "7.1"]
23
+ ruby: ["3.2", "3.3", "3.4"]
24
+ rails: ["6.1", "7.0", "7.1", "7.2"]
25
25
 
26
26
  env:
27
27
  BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/rails_${{ matrix.rails }}.gemfile
data/.rubocop.yml CHANGED
@@ -6,3 +6,7 @@ inherit_mode:
6
6
  AllCops:
7
7
  Exclude:
8
8
  - 'client-app/**/*'
9
+ Discourse/Plugins/NamespaceConstants:
10
+ Enabled: false
11
+ Layout/SpaceAroundKeyword:
12
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,152 +1,123 @@
1
1
  # CHANGELOG
2
2
 
3
- - 2024-07-05: 2.20.0
3
+ - 2026-04-29: 2.21.0
4
+ - FEATURE: Allow editing grouping pattern before submitting
5
+
6
+ - 2025-02-06: 2.20.1
7
+ - FIX: Don't break search when providing invalid regex characters
4
8
 
9
+ - 2024-07-05: 2.20.0
5
10
  - Dropped support for Ruby 3.0
6
11
  - Add `Logster::Logger#subscribe` which allows subscribing to log events from `Logster::Logger`.
7
12
 
8
13
  - 2024-03-12: 2.19.1
9
-
10
14
  - FIX: Don’t truncate backtrace on copying
11
15
 
12
16
  - 2024-02-28: 2.19.0
13
-
14
17
  - FIX: Add compatibility with Rails 7.1+
15
18
 
16
19
  - 2024-02-19: 2.18.1
17
-
18
20
  - UX: backlink in dark mode has a dark background
19
21
 
20
22
  - 2024-02-15: 2.18.0
21
-
22
23
  - FEATURE: Implement a default Content-Security-Policy
23
24
 
24
25
  - 2024-02-15: 2.17.1
25
-
26
26
  - UX: fixed top menu when backlink to the site exists
27
27
 
28
28
  - 2024-02-15: 2.17.0
29
-
30
29
  - FEATURE: backlink to site
31
30
 
32
31
  - 2024-01-19: 2.16.0
33
-
34
32
  - FEATURE: Add inline grouping pattern creation
35
33
 
36
34
  - 2024-01-16: 2.15.0
37
-
38
35
  - FEATURE: Add loading spinner
39
36
 
40
37
  - 2024-01-15: 2.14.0
41
-
42
38
  - FEATURE: Stop grouping logs with different messages
43
39
 
44
40
  - 2023-11-01: 2.13.1
45
-
46
41
  - FIX: Solve/remove buttons on 'share' page
47
42
 
48
43
  - 2023-10-03: 2.13.0
49
-
50
44
  - FEATURE: Format messages with Logster::Logger#formatter before storing
51
45
 
52
46
  - 2023-03-10: 2.12.2
53
-
54
47
  - FIX: Don't throw on non-gem backtrace lines
55
48
 
56
49
  - 2023-03-10: 2.12.1
57
50
  Note: 2.12.0 was yanked due to a release process error
58
-
59
51
  - DEV: Upgrade to Ember 3.28
60
52
 
61
53
  - 2023-01-30: 2.11.4
62
-
63
54
  - DEV: Various dependencies upgrade
64
55
  - FIX: Switch the `/messages.json` endpoint from `GET` to `POST`
65
56
 
66
57
  - 2022-08-25: 2.11.3
67
-
68
58
  - DEV: Avoid deprecation warning in Redis 4.8 (#166)
69
59
 
70
60
  - 2022-04-28: 2.11.2
71
-
72
61
  - FIX: store override level in thread local storage (Truffle Ruby compatibility)
73
62
 
74
63
  - 2022-04-21: 2.11.1
75
-
76
64
  - FIX: Redis pipelining deprecation (#159)
77
65
 
78
66
  - 2022-03-12: 2.11.0
79
-
80
67
  - FEATURE: Improve support for logging error objects (#153)
81
68
 
82
69
  - 2021-11-26: 2.10.1
83
-
84
70
  - UX: More dark-mode related changes
85
71
 
86
72
  - 2021-11-26: 2.10.0
87
-
88
73
  - FEATURE: Introduce dark mode
89
74
 
90
75
  - 2021-10-27: 2.9.8
91
-
92
76
  - FIX: We weren't properly memoizing the hostname
93
77
 
94
78
  - 2021-07-01: 2.9.7
95
-
96
79
  - FEATURE: Optionally use full hostname
97
80
 
98
81
  - 2021-02-19: 2.9.6
99
-
100
82
  - UX: Make `Warn` level visible by default
101
83
 
102
84
  - 2021-01-21: 2.9.5
103
-
104
85
  - FIX: Stop encoding errors when converting Message objects to JSON (#128)
105
86
  - DEV: Bump dependencies
106
87
 
107
88
  - 2020-09-01: 2.9.4
108
-
109
89
  - FEATURE: Merge messages differing only by numbers (#118)
110
90
  - DEV: Bump dependencies
111
91
  - UX: Turn severities below `Error` off by default and remember changes using localStorage (#125)
112
92
 
113
93
  - 2020-08-20: 2.9.3
114
-
115
94
  - FIX: fix code that causes warning from recent redis gem
116
95
 
117
96
  - 2020-08-11: 2.9.2
118
-
119
97
  - FIX: `report_js_error` incorrectly denying logs when Redis#exists returns integer
120
98
 
121
99
  - 2020-07-20: 2.9.1
122
-
123
100
  - FIX: Missing application backtrace in chained loggers.
124
101
 
125
102
  - 2020-06-11: 2.9.0
126
-
127
103
  - FEATURE: Allows JS errors to specify a log severity
128
104
  - DEV: Several dependencies upgrades
129
105
  - FIX: Don't search if the phrase hasn't changed
130
106
  - UX: Distinguish the value of the current env from the values of other envs in a merged message
131
107
 
132
108
  - 2020-03-30: 2.8.0
133
-
134
109
  - FEATURE: Upgrade icons to Font Awesome 5
135
110
 
136
111
  - 2020-03-03: 2.7.1
137
-
138
112
  - FIX: Stop env mutation to allow all chained loggers to have the same env (#110)
139
113
 
140
114
  - 2020-02-26: 2.7.0
141
-
142
115
  - FEATURE: Make log message max length configurable and bump the default to 2000 (#109)
143
116
 
144
117
  - 2020-02-17: 2.6.3
145
-
146
118
  - FIX: Respect redis namespace when fetching env using LUA
147
119
 
148
120
  - 2020-02-09: 2.6.2
149
-
150
121
  - FIX: Regression with rendering single env when `env_expandable_keys` config is present
151
122
  - DEV: Fix Ember deprecations in tests
152
123
  - DEV: Add more tests to env rendering
@@ -155,11 +126,9 @@
155
126
  - FIX: Fetch env when navigating through grouped messages
156
127
 
157
128
  - 2020-02-07: 2.6.1
158
-
159
129
  - FIX: Fetch env when row is selected to allow copy to work on Firefox
160
130
 
161
131
  - 2020-02-07: 2.6.0
162
-
163
132
  - DEV: Bump handlebars from 4.1.2 to 4.5.3 in /client-app (#102)
164
133
  - FEATURE: Linkify backtrace lines to github (#104)
165
134
  - UX: Keep the 50 most recent envs rather than the first 50 (#103). Also introduces new config options `max_env_bytes` and `max_env_count_per_message`.
@@ -168,7 +137,6 @@
168
137
  - DEV: Upgrade Ember to 3.15 and remove jQuery and lodash as dependencies (#107)
169
138
 
170
139
  - 2019-12-13: 2.5.1
171
-
172
140
  - DEV: Bump puma from 4.2.1 to 4.3.1 in /website (#100)
173
141
  - FIX: Don't include messages that were removed from groups due to max size limit
174
142
  - FIX: loadingEnv is an attribute of model
@@ -176,7 +144,6 @@
176
144
  - UX: Group count attribute should be a long-running number of errors, not just the number of errors the group currently contains
177
145
 
178
146
  - 2019-12-12: 2.5.0
179
-
180
147
  - DEV: Update to latest version of gems
181
148
  - FIX: when rate limiting return an object responding to each
182
149
  - FEATURE: Expose the search phrase in query params
@@ -184,11 +151,9 @@
184
151
  - FEATURE: Custom grouping patterns
185
152
 
186
153
  - 2019-10-28: 2.4.2
187
-
188
154
  - FIX: wrong number of arguments when adding message using a block (#98)
189
155
 
190
156
  - 2019-10-17: 2.4.1
191
-
192
157
  - PERF: Debounce search field so it doesn't fire a search query at every keystroke.
193
158
  - PERF: Disallow search terms that are fewer than 2 characters long.
194
159
  - PERF: Bypass refresh cycle if previous cycle hasn't finished.
@@ -196,63 +161,50 @@
196
161
  - PERF: Cap message size to 60,000 bytes by default.
197
162
 
198
163
  - 2019-10-10: 2.4.0
199
-
200
164
  - FEATURE: Allow having retroactive affect when adding suppression patterns
201
165
  - DEV: Bump JS dependencies
202
166
 
203
167
  - 2019-10-08: 2.3.3
204
-
205
168
  - FEATURE: keep track of message timestamp when it's merged into another message
206
169
 
207
170
  - 2019-08-20: 2.3.2
208
-
209
171
  - FEATURE: automatic 1 minute rate limiting for js error reporting per IP
210
172
 
211
173
  - 2019-08-15: 2.3.1
212
-
213
174
  - DEV: upgrade Ember to 3.8 and jQuery to 3.4.1 (#84)
214
175
  - FIX: properly escape string ignore pattern (#88)
215
176
  - FIX: scrub params if they have invalid encoding (#92)
216
177
 
217
178
  - 2019-03-26: 2.3.0
218
-
219
179
  - FEATURE: track count of suppressed logs for each pattern
220
180
 
221
181
  - 2019-03-19: 2.2.0
222
-
223
182
  - FEATURE: custom suppression patterns via UI
224
183
  - UX: auto expand env keys when list length is <= 3
225
184
 
226
185
  - 2019-03-14: Unreleased
227
-
228
186
  - FIX: Logster message options missing when base logger is a sub-class of
229
187
  `Logster::Logger`
230
188
 
231
189
  - 2019-02-21: Version 2.1.2
232
-
233
190
  - FEATURE: allow certain env keys to be expandable via `Logster.config.env_expandable_keys.push(:key, :another_key)`. See https://github.com/discourse/logster/pull/81 for more info
234
191
 
235
192
  - 2019-02-21: Version 2.1.1
236
-
237
193
  - FEATURE: allow defer logger to be disabled as Ruby 2.5.3 can segfault with defer logger due to a bug in Ruby. To disable run `Logster::Scheduler.disable`
238
194
 
239
195
  - 2019-02-13: Version 2.1.0
240
-
241
196
  - FEATURE/DEV: adds a defer logger that will do logging asynchronously only in dev environments. It should speed things up a little in dev.
242
197
 
243
198
  - 2019-02-05: Version 2.0.1
244
-
245
199
  - FIX: env line height issue on iOS
246
200
 
247
201
  - 2019-01-17: Version 2.0.0.pre
248
-
249
202
  - FIX: don't merge any new env samples if there are 50 samples (1.4.0.pre regression)
250
203
  - UX: make env navigation controls stick to the top when scrolled
251
204
  - PERF: store env samples separately from the rest of message data
252
205
  - DEV: Rubocop
253
206
 
254
207
  - 2019-01-09: Version 1.4.0.pre
255
-
256
208
  - FEATURE: allow navigation through merged errors
257
209
  - FEATURE: search should look at env
258
210
  - FIX: deselect message if new filtering doesn't include selected message
@@ -260,85 +212,67 @@
260
212
  - FIX: hide "load more" when there are no more messages and filters/search applied
261
213
 
262
214
  - 2018-12-30: Version 1.3.4
263
-
264
215
  - FIX: linear-gradient issue on iOS
265
216
  - FIX: actions menu should have highest z-index
266
217
 
267
218
  - 2018-12-26: Version 1.3.3
268
-
269
219
  - Fix: fix double lines logs when date is too long
270
220
 
271
221
  - 2018-12-25: Version 1.3.2
272
-
273
222
  - UX: improve usability on mobile
274
223
 
275
224
  - 2018-11-09: Version 1.3.1
276
-
277
225
  - Feature: auto scrub invalid messages reported to logger
278
226
 
279
227
  - 2018-11-09: Version 1.3.0
280
-
281
228
  - Feature: upgrade Ember to 3.5.1
282
229
  - Feature: remove inline JS for CSP compliance
283
230
 
284
231
  - 2018-08-13: Version 1.2.10
285
-
286
232
  - Feature: expose chained loggers in Logster::Logger
287
233
 
288
234
  - 2017-10-27: Version 1.2.8
289
-
290
235
  - Fix: `Logster::Middleware::DebugExceptions` is passed a request in Rails 5 instead of the env.
291
236
 
292
237
  - 2017-01-30: Version 1.2.7
293
-
294
238
  - Feature: Add override_level to Logster::Logger allowing for threadsafe logger override
295
239
 
296
240
  - 2016-10-24: Version 1.2.6
297
-
298
241
  - Fix: Check if `Rails.env` is defined when using Logster in a none Rails project.
299
242
 
300
243
  - 2016-07-11: Version 1.2.5
301
-
302
244
  - Fix: Chained `Logster::Logger` logger now receives backtrace as well.
303
245
 
304
246
  - 2016-05-05: Version 1.2.4
305
-
306
247
  - Fix: XSS in log message show if attacker can inject script into ENV
307
248
 
308
249
  - 2016-05-05: Version 1.2.3
309
-
310
250
  - Fix: clear_all now also clears rate limits
311
251
  - Fix: protect against corrupt data in redis during clear
312
252
 
313
253
  - 2016-03-22: Version 1.2.2
314
-
315
254
  - Fix: Conflicting attributes and method name for `Logster::RedisStore#rate_limits`.
316
255
  - Fix: Rate limit checker was tracking limits too early. It should only track when a message has been bumped or saved.
317
256
 
318
257
  - 2016-03-22: Version 1.2.1
319
-
320
258
  - Feature: Add method to retrieve current rate from rate limiters.
321
259
  - Feature: Make `RedisStore#rate_limits` readable.
322
260
  - Feature: Make `RedisRateLimiter#callback` and `RedisRateLimiter#duration` readable.
323
261
 
324
262
  - 2016-03-18: Version 1.2.0
325
-
326
263
  - Fix: Move Redis configuration into RedisStore.
327
264
  - Feature: Allow `RedisStore#redis_prefix` to either be a String or a Proc.
328
265
 
329
266
  - 2016-02-11: Version 1.1.1
330
-
331
267
  - Feature: Error rate can now be tracked in one minute and one hour buckets.
332
268
 
333
269
  - 2015-11-27: Version 1.0.1
334
-
335
270
  - New assets and logster logo
336
271
  - Added favicon
337
272
  - Added title
338
273
  - Use rails logger instead of invoking store
339
274
 
340
275
  - 2015-08-18: Version 0.9.9
341
-
342
276
  - This marks the largest release of Logster to date, it has been in production use for quite a while, hence the version bump.
343
277
  - Feature: automatically group errors in production mode, can be manually controlled via Logster.config.allow_grouping
344
278
  - Feature: automatically track application version, can be manually controlled via Logster.config.application_version
@@ -355,46 +289,36 @@
355
289
  - Fix: protect/unprotect redirected to show page
356
290
 
357
291
  - 2015-06-16: Version 0.8.3
358
-
359
292
  - Chained loggers now respect chain ignore
360
293
  - Add hostname and process_id to env on all messages
361
294
 
362
295
  - 2015-06-10: Version 0.8.2
363
-
364
296
  - Add hostname and process_id to env on all messages
365
297
 
366
298
  - 2015-05-01: Version 0.8.1
367
-
368
299
  - Don't crash out logging routine if redis is down or stderr is closed
369
300
 
370
301
  - 2015-04-16: Version 0.8.0
371
-
372
302
  - Improve formatting of /show page
373
303
  - Big version bump cause it is quite stable
374
304
 
375
305
  - 2015-02-27: Version 0.1.7
376
-
377
306
  - Fix invalid request on ?test
378
307
 
379
308
  - 2014-08-05: Version 0.1.3
380
-
381
309
  - Automatically include ignore filter
382
310
 
383
311
  - 2014-08-13: Version 0.1.6
384
-
385
312
  - Simplify install process
386
313
  - Fix crash on 404 in /logs dir
387
314
 
388
315
  - 2014-08-10: Version 0.1.5
389
-
390
316
  - Fix crash in Rails 3
391
317
 
392
318
  - 2014-08-08: Version 0.1.4
393
-
394
319
  - Fix crash in ignore filter
395
320
 
396
321
  - 2014-07-17: Version 0.1.1
397
-
398
322
  - Refactored report method into base_store.rb - will be easier to make a new log store
399
323
  - Add link in UI to clear all (non-protected) logs
400
324
  - Add example of submitting logs from Sidekiq jobs
@@ -402,42 +326,33 @@
402
326
  - Render hashes provided via Logster.add_to_env
403
327
 
404
328
  - 2014-07-04: Version 0.0.12
405
-
406
329
  - Feature: Able to share logs, at /logs/show/(hexdigits)
407
330
  - Add protecting logs, so they aren't deleted when old (for use with sharing)
408
331
  - Restructured Redis data model
409
332
 
410
333
  - 2014-05-24: Version 0.0.10
411
-
412
334
  - Correct context for error reporting
413
335
  - Clean up backtraces of reported exceptions
414
336
 
415
337
  - 2014-05-13: Version 0.0.9
416
-
417
338
  - Stray debugger message removed, add window.location logging to js
418
339
 
419
340
  - 2014-05-13: Version 0.0.8
420
-
421
341
  - Fix packaging binstubs by mistake
422
342
 
423
343
  - 2014-05-13: Version 0.0.7
424
-
425
344
  - Add support for javascript exception logging
426
345
 
427
346
  - 2014-05-12: Version 0.0.6
428
-
429
347
  - Add referer to env
430
348
 
431
349
  - 2014-05-12: Version 0.0.5
432
-
433
350
  - Feature: We now log basic rack environment with the messages
434
351
  - Add your own with Logster.add_to_env(env, key, value)
435
352
 
436
353
  - 2014-05-07: Version 0.0.4
437
-
438
354
  - Feature: Ability to ignore patterns with Logster.store.ignore = [/regex/]
439
355
  - Feature: Store backtraces, allow people to view them in the GUI
440
356
 
441
357
  - 2014-05-07: Started changelog :)
442
-
443
358
  - Report params in env tab
data/Rakefile CHANGED
@@ -12,10 +12,7 @@ task(default: :test)
12
12
  desc "Starts Sinatra and Ember servers"
13
13
  task :client_dev do
14
14
  begin
15
- pid =
16
- spawn(
17
- "cd website && LOGSTER_ENV=development BUNDLE_GEMFILE=Gemfile bundle exec rackup --host 0.0.0.0",
18
- )
15
+ pid = spawn("cd website && LOGSTER_ENV=development BUNDLE_GEMFILE=Gemfile bundle exec puma")
19
16
  pid2 = spawn("cd client-app && npx ember s --proxy http://localhost:9292")
20
17
  Process.wait pid
21
18
  Process.wait pid2
@@ -1,6 +1,6 @@
1
1
  var __ember_auto_import__
2
- !function(){var e,r={518:function(e,r,n){var o,t
3
- e.exports=(o=_eai_d,t=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?t("_eai_dyn_"+e):t("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return t("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},o("__v1-addons__early-boot-set__",[],(function(){})),void o("sinon",["__v1-addons__early-boot-set__"],(function(){return n(468)})))},286:function(e,r){window._eai_r=require,window._eai_d=define}},n={}
2
+ !function(){var e,r={281:function(e,r,n){var o,t
3
+ e.exports=(o=_eai_d,t=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?t("_eai_dyn_"+e):t("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return t("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},o("__v1-addons__early-boot-set__",[],(function(){})),void o("sinon",["__v1-addons__early-boot-set__"],(function(){return n(761)})))},428:function(e,r){window._eai_r=require,window._eai_d=define}},n={}
4
4
  function o(e){var t=n[e]
5
5
  if(void 0!==t)return t.exports
6
6
  var i=n[e]={exports:{}}
@@ -11,12 +11,12 @@ if(_){e.splice(c--,1)
11
11
  var f=t()
12
12
  void 0!==f&&(r=f)}}return r}i=i||0
13
13
  for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1]
14
- e[c]=[n,t,i]},o.d=function(e,r){for(var n in r)o.o(r,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={143:0}
14
+ e[c]=[n,t,i]},o.d=function(e,r){for(var n in r)o.o(r,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={524:0}
15
15
  o.O.j=function(r){return 0===e[r]}
16
16
  var r=function(r,n){var t,i,u=n[0],_=n[1],a=n[2],f=0
17
17
  if(u.some((function(r){return 0!==e[r]}))){for(t in _)o.o(_,t)&&(o.m[t]=_[t])
18
18
  if(a)var c=a(o)}for(r&&r(n);f<u.length;f++)i=u[f],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0
19
19
  return o.O(c)},n=self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]
20
- n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))}(),o.O(void 0,[468],(function(){return o(286)}))
21
- var t=o.O(void 0,[468],(function(){return o(518)}))
20
+ n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))}(),o.O(void 0,[761],(function(){return o(428)}))
21
+ var t=o.O(void 0,[761],(function(){return o(281)}))
22
22
  t=o.O(t),__ember_auto_import__=t}()
@@ -1,6 +1,6 @@
1
1
  var __ember_auto_import__
2
- !function(){var r,n={286:function(r,n){window._eai_r=require,window._eai_d=define},882:function(r,n,e){var t,o
3
- r.exports=(t=_eai_d,o=_eai_r,window.emberAutoImportDynamic=function(r){return 1===arguments.length?o("_eai_dyn_"+r):o("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return o("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},t("__v1-addons__early-boot-set__",[],(function(){})),void t("qunit",["__v1-addons__early-boot-set__"],(function(){return e(916)})))}},e={}
2
+ !function(){var r,n={428:function(r,n){window._eai_r=require,window._eai_d=define},863:function(r,n,e){var t,o
3
+ r.exports=(t=_eai_d,o=_eai_r,window.emberAutoImportDynamic=function(r){return 1===arguments.length?o("_eai_dyn_"+r):o("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return o("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},t("__v1-addons__early-boot-set__",[],(function(){})),void t("qunit",["__v1-addons__early-boot-set__"],(function(){return e(747)})))}},e={}
4
4
  function t(r){var o=e[r]
5
5
  if(void 0!==o)return o.exports
6
6
  var i=e[r]={id:r,loaded:!1,exports:{}}
@@ -11,12 +11,12 @@ if(u){r.splice(f--,1)
11
11
  var c=o()
12
12
  void 0!==c&&(n=c)}}return n}i=i||0
13
13
  for(var f=r.length;f>0&&r[f-1][2]>i;f--)r[f]=r[f-1]
14
- r[f]=[e,o,i]},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},t.nmd=function(r){return r.paths=[],r.children||(r.children=[]),r},function(){var r={178:0}
14
+ r[f]=[e,o,i]},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},t.nmd=function(r){return r.paths=[],r.children||(r.children=[]),r},function(){var r={582:0}
15
15
  t.O.j=function(n){return 0===r[n]}
16
16
  var n=function(n,e){var o,i,_=e[0],u=e[1],a=e[2],c=0
17
17
  if(_.some((function(n){return 0!==r[n]}))){for(o in u)t.o(u,o)&&(t.m[o]=u[o])
18
18
  if(a)var f=a(t)}for(n&&n(e);c<_.length;c++)i=_[c],t.o(r,i)&&r[i]&&r[i][0](),r[i]=0
19
19
  return t.O(f)},e=self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]
20
- e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),t.O(void 0,[916],(function(){return t(286)}))
21
- var o=t.O(void 0,[916],(function(){return t(882)}))
20
+ e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),t.O(void 0,[747],(function(){return t(428)}))
21
+ var o=t.O(void 0,[747],(function(){return t(863)}))
22
22
  o=t.O(o),__ember_auto_import__=o}()
@@ -1,5 +1,5 @@
1
- /*! For license information please see chunk.916.85a3fc9d873df80f5ea5.js.LICENSE.txt */
2
- (self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]).push([[916],{916:function(e,t,n){var r
1
+ /*! For license information please see chunk.747.a730c497582bb6742a6e.js.LICENSE.txt */
2
+ (self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]).push([[747],{747:function(e,t,n){var r
3
3
  e=n.nmd(e),function(){"use strict"
4
4
  function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n]
5
5
  r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
@@ -493,12 +493,12 @@ var o=S(i)
493
493
  if("hidepassed"===r.name&&"replaceState"in h.history){rt.urlParams[r.name]=n,e[r.name]=n||!1
494
494
  var s=C("qunit-tests")
495
495
  if(s){var a=s.children.length,u=s.children
496
- if(r.checked){for(var l=0;l<a;l++){var f=u[l],d=f?f.className:"",p=d.indexOf("pass")>-1,g=d.indexOf("skipped")>-1;(p||g)&&t.push(f)}var m,v=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
497
- if(!n){if(Array.isArray(e)||(n=c(e))){n&&(e=n)
498
- var r=0,i=function(){}
499
- return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1
500
- return{s:function(){n=n.call(e)},n:function(){var e=n.next()
501
- return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t)
496
+ if(r.checked){for(var l=0;l<a;l++){var f=u[l],d=f?f.className:"",p=d.indexOf("pass")>-1,g=d.indexOf("skipped")>-1;(p||g)&&t.push(f)}var m,v=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
497
+ if(!t){if(Array.isArray(e)||(t=c(e))){t&&(e=t)
498
+ var n=0,r=function(){}
499
+ return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1
500
+ return{s:function(){t=t.call(e)},n:function(){var e=t.next()
501
+ return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==t.return||t.return()}finally{if(s)throw i}}}}(t)
502
502
  try{for(v.s();!(m=v.n()).done;){var b=m.value
503
503
  s.removeChild(b)}}catch(e){v.e(e)}finally{v.f()}}else for(var y;null!=(y=t.pop());)s.appendChild(y)}h.history.replaceState(null,"",o)}else h.location=o}function S(e){var t="?",n=h.location
504
504
  for(var i in e=I(I({},rt.urlParams),e))if(r.call(e,i)&&void 0!==e[i])for(var o=[].concat(e[i]),s=0;s<o.length;s++)t+=encodeURIComponent(i),!0!==o[s]&&(t+="="+encodeURIComponent(o[s])),t+="&"