3 ms·
react-router depends on the ReactTraining/history package for browser navigation support. On 10 June 2017, an mind-bogglingly ill-conceived pull request[1] was
by codesparkle 8y ago
react-router depends on the ReactTraining/history package for browser navigation support.
On 10 June 2017, an mind-bogglingly ill-conceived pull request[1] was merged, which causes invalid URLs to be pushed to the browser history, breaking the back button and page refresh in many scenarios.
Ever since, users have practically been begging the maintainer to fix the bug[2] and implementing hacky workarounds[3].
In a twist of irony, the contributor who originally introduced the bug has:
a) switched their own competing router package to a different history implementation[4]
b) argued that fixing the bug (which was introduced in a patch release) would require a major version bump, implying it would be better to let it remain broken[5].
I concede that the software is open source, and nobody is entitled to make any demands of the maintainers. Nevertheless, I pity the countless end-users who are left wondering why the most basic functionality of their web browsers is broken.
[1]: https://github.com/ReactTraining/history/pull/465 https://github.com/ReactTraining/history/pull/465
[2]: https://github.com/ReactTraining/history/issues/505 https://github.com/ReactTraining/history/issues/505
[3]: https://github.com/elastic/kibana/pull/32365 https://github.com/elastic/kibana/pull/32365
[4]: https://github.com/pshrmn/curi/commit/e850bcd9297398653a79b903f35818cb2df7738c https://github.com/pshrmn/curi/commit/e850bcd9297398653a79b9...
[5]: https://github.com/ReactTraining/history/pull/656 https://github.com/ReactTraining/history/pull/656
- laurent123456 8y agoThis [0] indeed seems like such a rookie mistake, with all kind of edge cases ready to mess up the path encoding. The fact that they left such a broken behaviour in the lib for two years doesn't inspire much confidence. 0: https://github.com/ReactTraining/history/pull/465/files#diff-c0634631ce0ed08197ba5cf4643ca0cfR37 https://github.com/ReactTraining/history/pull/465/files#diff...