catstodon/app/javascript/mastodon
Daniel Sockwell 8758221e73
Fix frontend crash when deleting announcements (#13283)
This two-line change fixes a crash in the front end that occurred
under the following circumstances:
 *  A server had more than one announcement,
 *  A user was displaying the announcements, and
 *  An announcement was deleted (or unpublished, which amounts to
    the same thing.)

As might be expected, the bug was caused by attempting to access a
notification using an index value outside the bounds of the existing
announcements.  Specifically, in two places.  First,
`_markAnnouncementAsRead` attempts to modify announcements based on
the current index.  This is what caused the front end crash.  Second,
when rendering the `Announcements` component, the code paginates the
announcements and displays the current one.  This did not cause a
crash, but caused the front end to confusingly display a blank
announcement (in situations that would have caused a crash) with no
way for the user to navigate back to previous announcements.

This commit fixes both issues by adding a check to ensure that the
code never attempts to access an announcement with an index greater
than or equal to the number of announcements present.
2020-03-21 03:10:42 +01:00
..
actions Fix regression in “Edit media” modal in web UI (#13243) 2020-03-10 11:59:44 +01:00
components Fix WebUI crash in single-column mode on prehistoric browsers (#13267) 2020-03-17 20:43:55 +01:00
containers Change the string "hidden" to "blocked" in WebUI (#13221) 2020-03-09 09:13:21 +01:00
features Fix frontend crash when deleting announcements (#13283) 2020-03-21 03:10:42 +01:00
locales Change the string "hidden" to "blocked" in WebUI (#13221) 2020-03-09 09:13:21 +01:00
middleware Add missing rejection handling for Promises (#7008) 2018-04-02 14:51:02 +02:00
reducers Code style improvements in JavaScript (#13159) 2020-03-08 16:02:36 +01:00
selectors Code style improvements in JavaScript (#13159) 2020-03-08 16:02:36 +01:00
service_worker Code style improvements in JavaScript (#13159) 2020-03-08 16:02:36 +01:00
storage Cache media only when storage can be freed (#7547) 2018-05-19 19:22:11 +02:00
store Code style improvements in JavaScript (#13159) 2020-03-08 16:02:36 +01:00
utils Fix shortNumberFormat to within 3 chars without units (#12706) 2019-12-29 16:59:25 +01:00
api.js Do not set CSRF Token when no csrf header (#10383) 2019-03-26 11:13:20 +01:00
base_polyfills.js Fix old browsers crashing because of missing finally polyfill in web UI (#13115) 2020-02-18 17:22:44 +01:00
common.js Improve the public hashtag page (#9831) 2019-01-17 14:06:08 +01:00
compare_id.js Add option to disable real-time updates in web UI (#9984) 2019-07-16 06:30:47 +02:00
extra_polyfills.js fix multiple space (#12655) 2019-12-19 07:39:08 +09:00
initial_state.js Add setting for whether to crop images in unexpanded toots (#12126) 2019-10-24 22:51:41 +02:00
is_mobile.js Change mobile layout breakpoint from 1024px to 630px (#5063) 2017-09-24 01:25:07 +02:00
load_keyboard_extensions.js fix: support KaiOS arrow navigation on public pages (#12251) 2019-11-04 13:03:09 +01:00
load_polyfills.js Fix old browsers crashing because of missing finally polyfill in web UI (#13115) 2020-02-18 17:22:44 +01:00
main.js Fix /web redirecting to /web/web in web UI (#13128) 2020-02-22 01:27:34 +01:00
performance.js Upgrade to React 16 (#5119) 2017-09-30 04:29:56 +02:00
ready.js Do not load unnecessary script files (#4193) 2017-07-14 11:08:56 +02:00
rtl.js Exclude URLs from text analysis (#11759) 2019-09-04 22:30:49 +02:00
scroll.js Use ScrollToOptions for smooth scrolling if supported (#11207) 2019-06-29 18:32:06 +02:00
settings.js Implement tag auto-completion by history (#6621) 2018-03-04 20:27:25 +01:00
stream.js minor server-sent events fixes (#12945) 2020-01-24 20:51:33 +01:00
test_setup.js Replace JavaScript Testing Framework from Mocha to Jest (#5412) 2017-10-16 09:33:08 +02:00
uuid.js Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00