Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.20.4 #670

Merged
merged 93 commits into from
Mar 28, 2022
Merged

Release 1.20.4 #670

merged 93 commits into from
Mar 28, 2022

Conversation

DeeDeeG
Copy link
Contributor

@DeeDeeG DeeDeeG commented Mar 17, 2022

Changelog

DeeDeeG (3):
Add a blank/free-form issue template
Update Dependencies for December 2021 (#668)
Update Dependencies for mid March 2022 (#669)

Checklist

  • Tested Mobile Responsiveness
  • Added Unit Tests
  • CI Passes
  • Deploys to Heroku on test Correctly (Maintainers will handle)
  • Added Documentation (Service and Code when required)

DeeDeeG and others added 30 commits March 31, 2019 16:33
Only applies during development and testing
when we use the "db/export.csv" data.

Doesn't affect production, which uses the real data in its db.
Also, clarify that there are two containers, web and db,
rather than just one; these can be viewed using
docker ps
Add border bottom to give each menu item more separation
Make filter with "focus" class more readable
Does effectively the same things as before,
but now in a simpler/faster way.

Some of the changes take inspiration from
@btyy77c's dockerAlpine branch:
https://github.com/btyy77c/refugerestrooms/blob/dockerAlpine/Dockerfile

The PhantomJS install is based on (mostly copy-pasted from)
@nkovacs' phantomjs image from Docker Hub:
https://github.com/nkovacs/selenium-standalone-phantomjs/blob/c5f6bba218472270/Dockerfile#L19-L22
(Also installs Node.js in /usr/local/
instead of installing Node.js in the root directory.)

With this updated script, we specify just a major version
and the script picks the latest minor/patch version within that.

--

Nodejs.org does most of the work by maintaining the "latest-v[MAJOR]"
folders; We only need to parse the "SHASUMS256.txt" file from there,
and pick the "linux-x64" variant, which works with our Docker setup.

At this point we can use the known directory URL, plus the filename
extracted from "SHASUMS256.txt", and download with curl, or wget, etc.

(e.g. "curl -L https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.xz -o nodejs.tar.xz")

--

There is no "latest-LTS" folder or similar, so automatically getting
the latest LTS version would be more difficult.

We could search "nodejs.org/dist/" for folders with
the name "latest-[LETTERS-ONLY-STRING]", which would be the folders
of all the LTS codenames. Among these, the one with
the alphabetically last name is the latest LTS.

This would work at least until around 2040, when they may have
to loop around and re-use some earlier letters (a, b, c, etc.)
* yarn.lock: Update Node.js packages

* Gemfile.lock: Update gems
To fufill the open source agreement, we have to link to bugsnag now in our readme.
We do all the setup/build steps inside a Docker container,
so we don't need ruby tools outside of Docker
(on the Travis CI virtual machine instances).

Should save about 20 seconds of Travis CI build time.

--

Inspired by @btyy77c who did this first at their dockerAlpine branch:
  - btyy77c@393cf46

Documentation at Travis re: minimal/generic images:
  - https://docs.travis-ci.com/user/languages/minimal-and-generic/
This (the Alpine Linux-based postgresql image) is a smaller image
than the debian-based postgresql image,
so it should be marginally faster to download.

Seems like a good idea in general,
to speed up build times (even outside of Travis CI).

Also should save some disk space for developers.

--

Inspired by the general concept of @btyy77c's dockerAlpine branch:
  - https://github.com/btyy77c/refugerestrooms/commits/dockerAlpine

Docker Hub documentation on the alpine vs debian postgres images:
  - https://hub.docker.com/_/postgres#image-variants
This isn't needed anymore,
since we have removed the tumblr link from the footer.
Remove tumblr link from footer html, related places in the code
I noticed we were removing tumblr, here's one more instance
* Create devise.fil.yml

* Update devise.fil.yml

* Update for devise.fil.yml @100% Translation

* Update and rename devise.fil.yml to devise.fl.yml

* Update and rename devise.fl.yml to devise.fil.yml
Translated files from EN to FIL #451
* switched sass-rails gem (sass-rails --> sassc-rails)
DeeDeeG and others added 26 commits July 4, 2020 11:56
Docker Desktop for Window requires Windows 10 64-bit,
"Professional" or "Enterprise" editions.
* dependencies: Bump geocoder, websocket-extensions

* Gemfile.lock: Update rack to 2.2.3
This one apparently will NOT expire.
* Gemfile[.lock]: Update webpacker to 5.2.1

* Webpacker: Update config files

  Ran "rails webpacker:install" and committed the changes.

  In "config/webpacker.yml,"
  kept the ".js.erb" entry under "extensions:"
  so that "app/javascript/packs/lib/maps.js.erb" is included.

  In "config/webpack/environment.js,"
  kept jQuery and rails-erb-loader configs,
  as we are still using these.

* JS dependencies: Upgrade webpack-dev-server

  Commit the changes from running `rails webpacker:install`,
  but using a caret "^" semver range for "@rails/webpacker",
  rather than an exact version.

  (So that we get updates in the 5.x series)
* dependencies: Remove `swagger` node module

   We don't actually use this.

   Also removes 200 sub-dependencies,
   and makes our yarn.lock file about 1270 lines shorter!

* yarn.lock: Upgrade bootstrap to 4.5.2

   (Was at version 4.4.1)

* dependencies: Resolve node-fetch to ^2.6.1

* yarn.lock: Upgrade "selfsigned" and "node-forge"

* Gemfile[.lock]: Update Rails and dependencies

   rails was 5.2.4.3, now it's version 5.2.4.4
* Keeping filters state on pagination

* Fix Code Climates complaints.

* Fixed active issue on ada filter buttons

* Fixed undefined function problem when run rspec.
* Initialize rubocop

* Run rubocop with --fix

* Don't require magic comment

  This will affect every file and have potential side effects, so I'm
  going to start with this turned off.

* Resolve lint errors in `app`

* RSpec linting

* Resolve remaining

* Fix wrong change

* Singleton method for verify

* New lint rules

* Add rubocop to travis config

* Correct docker compose command

* Check for geo

  The condition was actually supposed to be `if geo = results.first`,
  because that's not always obvious the intention and fails lint, I'm just
  doing a truthy check for it which should be the same.

* Fix typo

* Add contributing docs for rubocop
* Applying ADA filters for the Map view of search.

* Changed comment for polyfill URLSearchParams

* Fixed bug of map marker content not showing.
* Provide a way to respond requests without thread-safe issues

  As rails docs says https://guides.rubyonrails.org/i18n.html#managing-the-locale-across-requests
  When we use 'I18n.locale =' the current locale could leak into following requests
  this is a standard and recommended way to deal with it :)

* Create a shared_example to test I18n locale switching

* Update spec/controllers/pages_controller_spec.rb
Enable puma clustered mode to process more requests and reduce latency
This way we don't need to rebuild everytime we add/update/remove a gem
* Remove unused git keep from models

* Improve identation/organization of Contact form

* Improve Restroom model organization by grouping method kinds
* Dockerfile: Update NodeJS to version 14

* yarn.lock: Bump ini from v1.3.5 to v1.3.8

* yarn.lock: Bump dompurify from v2.0.8 to v2.2.6

* Gemfile.lock: Bump nokogiri from 1.10.10 to 1.11.1

* Gemfile[.lock]: Update rails to v5.2.4.5

    Was version 5.2.4.4 (this is a patch version bump)

* Ruby: Update from 2.5.8 to 2.6.6

* Gemfile[.lock]: Update webmock (v3.2.1 to v3.12.1)

    Also update its transitive dependencies,
    within ranges allowed by Gemfile.

* Ruby: Update from 2.6.6 to 2.7.1

* Ruby: Update from 2.7.1 to 2.7.2

* Gemfile.lock: Update puma from 5.0.2 to 5.2.2

* yarn.lock: Update elliptic from v6.5.3 to v6.5.4
This reverts commit 6c63546.

We don't know for sure that we need these speed/latency gains,
and maintenance bandwidth is low for the project.

We don't want to potentially have to track down bugs,
or undo any damage done, so revert this change for now.
* yarn.lock: Update postcss-svgo, drop is-css

* yarn.lock: Update ssri to latest 6.x and 8.x

* yarn.lock: Update y18n from 4.0.0 to 4.0.3

* Gemfile[.lock]: Update Rails to 5.2.5
    Also update its dependencies.

* Gemfile.lock: Bump rexml from 3.2.4 to 3.2.5

* ruby: Bump Ruby from 2.7.2 to 2.7.3
* Gemfile[.lock]: Update Rails to 5.2.6

Also update its dependency Nokogiri to 1.11.7

* Gemfile.lock: Update Puma to 5.3.2

* yarn.lock: Update browserslist to 4.16.6

* yarn.lock: Update dns-packet to 1.3.4

* deps: Resolve chokidar to 3.x (3.4.2)

* yarn.lock: Update glob-parent to 5.1.2

* yarn.lock: Update hosted-git-info to 2.8.9

* yarn.lock: Update lodash to 4.17.21

* yarn.lock: Update postcss to 7.0.36

* yarn.lock: Update @rails/webpacker to 5.4.0

* yarn.lock: Update ua-parser-js to 0.7.28

* yarn.lock: Update url-parse to 1.5.1

* yarn.lock: Update ws to 6.2.2

* Gemfile.lock: Update rdoc to 6.3.1

* deps: Update [@rails/]webpacker to 5.4.0

Also ran `rails webpacker:install` in the Docker container.

This ensures the packages in `package[-lock].json` and
`Gemfile[.lock]` are in sync with the `webpacker` Ruby gem.

Had to review (and decline) certain conflicting file updates.

* Gemfile.lock: Update addressable to 2.8.0
* yarn.lock: Update color-string to 1.5.5

* ruby: Update from 2.7.3 to 2.7.4

* yarn.lock: Update tar from 6.0.5 to 6.1.7

* yarn.lock: Update path-parse from 1.0.6 to 1.0.7

* yarn.lock: Update url-parse from 1.5.1 to 1.5.3

* Gemfile.lock: Update jquery-rails from 4.3.5 to 4.4.0
This is for when an issue doesn't need
a complex explanation or rationale.

Or when the submitter already knows what they want to put,
and our existing, complex and lengthy template would get in the way.
* Gemfile.lock: Update nokogiri (1.11.7 to 1.12.5)

  Also update some of nokogiri's dependencies,
  specifically `mini_portile2` and `racc`.

* Gemfile.lock: Update puma (5.3.2 to 5.5.2)

  Also update puma's dependency nio4r (2.5.7 to 2.5.8).

* Gemfile[.lock]: Update better_errors 2.4 to 2.9.1

  Also update better_errors' dependency coderay (1.1.2 to 1.1.3).

* yarn.lock: Update tar (6.1.7 to 6.1.11)

* deps: Resolve ansi-regex to "^5.0.1"

* deps: Resolve ansi-html to ansi-html-community

  Pin to an exact version, 0.0.8, which I have personally verified
  only contains the desired change, plus package.json metadata changes
  and updates to README.md.

  (Pinning means we don't have to trust the independent GitHub user
  who published the fork, just the content of the patch.)

  One can do the following commands to download and inspect the contents
  of the packages themselves, as hosted on the npm package registry...
  - `npm pack ansi-html@0.0.7`
  - `npm pack ansi-html-community@0.0.8`
  Then extract the tarballs and compare the content.

  See the following for details of the fork and why it was made:
  - github.com/Tjatse[slash]ansi-html/issues/19
  - github.com/Tjatse[slash]ansi-html/issues/19#issuecomment-913119841

* deps: Resolve nth-check to 2.0.1

* ruby: Update Ruby version from 2.7.4 to 2.7.5

* deps: Update swagger-ui from 3.25.0 to 4.1.3
* yarn.lock: Update follow-redirects

  Update follow-redirects from 1.11.0 to 1.14.8.

* yarn.lock: Update selfsigned and node-forge

  Update selfsigned from 1.10.11 to 1.10.13
  Update node-forge from 0.10.0 to 1.2.1

* Gemfile[.lock]: Update rails from 5.2.6 to 5.2.6.3

  Also update some of its dependencies.

* yarn.lock: Update url-parse from 1.5.3 to 1.5.9

* yarn.lock: Update cross-fetch and node-fetch

  Also pull in some new indirect dependencies :/ ...

* Gemfile.lock: Update puma from 5.5.2 to 5.6.2

* Docker: Update NodeJS version to 16.x

  This is the new default over at Heroku.

  We should start developing and testing against this version of Node,
  in order to better match how our code will run in production/
  on the real site.

  (Reminder: We can always specify a version for production,
  if we need to, with the "engines" field of the package.json file.)

  See: https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

* yarn.lock: Update prismjs and refractor

  Update prismjs from 1.25.0 to 1.27.0
  Update refractor from 3.5.0 to 3.6.0

* Gemfile.lock: Update nokogiri and mini_portile2

  Update nokogiri from 1.12.5 to 1.13.3,
  Update mini_portile2 from 2.6.1 to 2.8.0
This is a no-changes-compared-to-develop merge.

This lets git's merge algorithm know it can basically fast-forward
master branch to the tip of this branch... As there are now no commits
in master branch that aren't also part of this branch's history.

No divergent history? Well then there are no conflicts!

Or in other words, we resolved all the conflicts
in favor of develop's version of the files.
@DeeDeeG
Copy link
Contributor Author

DeeDeeG commented Mar 17, 2022

Suggested commit message if merging this...

* Add a blank/free-form issue template
    This is for when an issue doesn't need
    a complex explanation or rationale.

    Or when the submitter already knows what they want to put,
    and our existing, complex and lengthy template would get in the way.


* Update Dependencies for December 2021 (#668)

  - Gemfile.lock: Update nokogiri (1.11.7 to 1.12.5)
      Also update some of nokogiri's dependencies,
      specifically `mini_portile2` and `racc`.

  - Gemfile.lock: Update puma (5.3.2 to 5.5.2)
      Also update puma's dependency nio4r (2.5.7 to 2.5.8).

  - Gemfile[.lock]: Update better_errors 2.4 to 2.9.1
      Also update better_errors' dependency coderay (1.1.2 to 1.1.3).

  - yarn.lock: Update tar (6.1.7 to 6.1.11)

  - deps: Resolve ansi-regex to "^5.0.1"

  - deps: Resolve ansi-html to ansi-html-community
      Pin to an exact version, 0.0.8, which I have personally verified
      only contains the desired change, plus package.json metadata changes
      and updates to README.md.

      (Pinning means we don't have to trust the independent GitHub user
      who published the fork, just the content of the patch.)

      One can do the following commands to download and inspect the contents
      of the packages themselves, as hosted on the npm package registry...
      - `npm pack ansi-html@0.0.7`
      - `npm pack ansi-html-community@0.0.8`
      Then extract the tarballs and compare the content.

      See the following for details of the fork and why it was made:
      - github.com/Tjatse[slash]ansi-html/issues/19
      - github.com/Tjatse[slash]ansi-html/issues/19#issuecomment-913119841

  - deps: Resolve nth-check to 2.0.1

  - ruby: Update Ruby version from 2.7.4 to 2.7.5

  - deps: Update swagger-ui from 3.25.0 to 4.1.3


* Update Dependencies for mid March 2022 (#669)

  - yarn.lock: Update follow-redirects
      Update follow-redirects from 1.11.0 to 1.14.8.

  - yarn.lock: Update selfsigned and node-forge
      Update selfsigned from 1.10.11 to 1.10.13
      Update node-forge from 0.10.0 to 1.2.1

  - Gemfile[.lock]: Update rails from 5.2.6 to 5.2.6.3
      Also update some of its dependencies.

  - yarn.lock: Update url-parse from 1.5.3 to 1.5.9

  - yarn.lock: Update cross-fetch and node-fetch
      Also pull in some new indirect dependencies :/ ...

  - Gemfile.lock: Update puma from 5.5.2 to 5.6.2

  - Docker: Update NodeJS version to 16.x
      This is the new default over at Heroku.

      We should start developing and testing against this version of Node,
      in order to better match how our code will run in production/
      on the real site.

      (Reminder: We can always specify a version for production,
      if we need to, with the "engines" field of the package.json file.)

      See: https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

  - yarn.lock: Update prismjs and refractor
      Update prismjs from 1.25.0 to 1.27.0
      Update refractor from 3.5.0 to 3.6.0

  - Gemfile.lock: Update nokogiri and mini_portile2
      Update nokogiri from 1.12.5 to 1.13.3,
      Update mini_portile2 from 2.6.1 to 2.8.0

(This is the commit message I arrive at after trimming the old commit messages and co-authored-by footers that don't actually apply here... which only appear in this PR due to the way that squash commits obfuscate the true development history and confuse/thwart git's concepts of which commits/changes appeared on which branch... Also, this is nicely formatted to nest the bullet points and make it easier to tell the hierarchy of the various squashed commit messages at a glance.)

@DeeDeeG DeeDeeG merged commit fcaf692 into master Mar 28, 2022
@DeeDeeG DeeDeeG deleted the release-1.20.4 branch March 28, 2022 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet