* Use [node-]redis as a direct dependency
* Extract Redis client creation to its own module
* Attach extensive logging in the Redis client creation module
* Allow the rate limiter to pass requests when Redis is disconnected
* Update rate-limit-redis
* Default error input to empty object for formatRedisError method
* Provide a name for the rate limiter's Redis client
* Include redis-mock, exclude ioredis/ioredis-mock
* Remove unused RedisAccessor#exists method
* Switch RedisAccessor to use redis/redis-mock
* Provide a name for logging on the Redis page cache
* Remove extraneous trailing space from Redis logging prefix
Our updated use of console.* will already be adding a space after the prefix
* Replace ioredis-mock with redis-mock in tests
* Revert removal of ioredis dependency
* Bind Redis client to async promisified methods
* Extract former RedisAccessor constructor tests to new create-client tests
* Update RedisAccessor tests to work with the callback-based redis client
* Handle formatting Redis errors (or not) with more resiliency
* Use [node-]redis as a direct dependency
* Extract Redis client creation to its own module
* Attach extensive logging in the Redis client creation module
* Allow the rate limiter to pass requests when Redis is disconnected
* Update rate-limit-redis
* Default error input to empty object for formatRedisError method
* Provide a name for the rate limiter's Redis client
Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
Co-authored-by: Rachael Sewell <rachmari@github.com>
* Middleware overhaul!
- Remove unnecessary 'async' keywords from middleware functions
- Ensure all middleware functions we create have names
- Wrap the method contents of all async middleware functions in a try-catch+next(error) pattern
* Use asyncMiddleware wrapper instead of try-catch+next(error) pattern
* Remove unnecessary try-catch+next(error) pattern from context middleware
* Do not load the timeout middleware during testing
* Run the link-check-server in testing mode to avoid loading the timeout middleware
* Revert the change to 'package.json'
* Also consider GITHUB_ACTIONS to be a testing environment to support the link checkers
* Add middleware to timeout requests after a period
* Add halt-on-dropped-connection middleware to stop the middleware processing stack if the connection was already dropped
* Add a few strategic bail-out spots for dropped connections during the render-page middleware
* Handle 404s and HEAD requests earlier in the page rendering flow
* Add a few more strategic bail-out spots for dropped connections during the render-page middleware
* Add middleware to notice aborted requests
* Add a check for aborted requests into the isConnectionDropped logic
* Reformat comment for consistency
* Handle aborted requests correctly in the error handler
* Explicit returns for consistency
* Cache archived asset JS/CSS for a day
* Don't waste time with ETag calculations
* Add a comment about the expiration length
* Cache images and fonts for a day
* Cache GraphQL data files for a week
* Set Fastly surrogate-key header on all responses
* Update test to account for new response header
* Add 0-rc2
* Started adding release notes
* added more line items
* finished initial draft of enterprise 2 fix notes
* some more line items added
* updated known issues and took out rc1 fixes
* added download link bug fix
* added new known issues identified in rc2
* Fix a typo
* Lint YAML
* Tweak sorting for new version schem
* Use today's date
* removed links to PRs and reduced notes to most important ones
* Fix indentation
* bug_fixes => bugs
* spruce it up
* typo
* update without changes
Co-authored-by: Amulya Raja <53104849+amulyaraja@users.noreply.github.com>
Co-authored-by: Maya <maya-ross@github.com>
Co-authored-by: Meg Bird <megbird@github.com>
* Add Lunr as a site search option
* Use a class like the Algolia option does
* Lint
* Working on showing real content, prep for highlighting
* Move searching to their own files
* Split out ridiculous fn
* Add highlighting
* Less lunr search code
* A little more tidy
* Then chain on write too
* Mark from server too
* Write a batch of indices
* Update compress.js
* Highlighting with fewer calls
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Add instrument-middleware.js
* Make it do some fancy require-ing
* Use it
* Prefix names
* dot prefix
* Improve async detection
* Add some comments
* Can't instrument error handler
* Move search results to use relative urls
* ..and now we have real mark tags instead of em tags
Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>
* Move site search to use an endpoint
* Update browser.js
* Update search.js
* Update lib/search/versions.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Fix URLs
Co-authored-by: James M. Greene <JamesMGreene@github.com>