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.17.0 #614

Merged
merged 58 commits into from
Feb 8, 2020
Merged

Release 1.17.0 #614

merged 58 commits into from
Feb 8, 2020

Conversation

DeeDeeG
Copy link
Contributor

@DeeDeeG DeeDeeG commented Feb 8, 2020

Context

  • Relatively small maintenance release
  • Mostly under-the-hood stuff, but also a few small, cosmetic CSS fixes.

Changes

Here is the list of changes. Click to expand.
commit dd5441e7d2d29201967dc69c76017a2bfb7a1fe6
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Tue Jan 28 15:47:41 2020 -0500

    CSS: Center logo and brand name on narrow screens (#611)
    
    * _mobile.scss: Lower logo/brand on narrow screens
    
    Adjust the CSS "top" property to set the logo and "brand name"
    ("Refuge Restrooms") slightly lower within the navbar on narrow
    screens.
    
    This is to adjust for the navbar being responsively taller
    on narrower screens. "767px screen width" happens to be the responsive
    threshold for that height change for the navbar.
    
    * _mobile.scss: Move 342px rules, adjust whitespace
    
    Moved the "max 342px" rules to the bottom, so all screen-width-related
    style rules are in descending order of the sizes that they apply to.
    (For consistency).
    
    Adjusted the use of newlines in this stylesheet to be more consitent.

commit 61e5df4406b2b9c5a9a6eba78c058b4cbbafcfb0
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Sun Jan 5 12:18:29 2020 -0500

    Tweak CSS a bit for narrow screens (e.g. mobile phones) (#610)
    
    * CSS: Add some styles for narrow screens
    
    For screen widths ~340px or narrower.
    
    (Such a narrow screen is found, for example, on the original iPhone
    through to the iPhone 5S and iPhone SE.)
    
    - Makes the "+" icon on the "Add A Restroom" button
      appear in a more correct-looking position.
    
    - Fixes the overlap of the "Refuge Restrooms" text
      with the "hamburger" drop-down menu button in the header/nav section.
    
    - Adds a class via the haml source (.nav-column)
      to make applying one of the style rules easier.
    
    * CSS: No double-padding on nested `.container`s
    
    Eliminate double-padding in cases of
    an [element].container immediately inside another [element].container.
    
    (Doing this only directly under the header div, just to be conservative.)
    
    The 15px + 15px = 30px of padding on both sides
    seemed unintentionally wide. Also, I think this looks nicer.
    Helps with the tight fit on mobile devices, too.
    
    (Should affect the header/nav on all pages other than the home page,
    aka the splash page, due to the way the pages are coded.)

commit 89c835528ef0fe545d80c7273d563b70e0d9970a
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Sun Jan 5 11:54:01 2020 -0500

    Update some dependencies, fix some deprecation warnings (#609)
    
    * Gemfile[.lock]: Update simplecov
    
    Fixes a deprecation warning
    
    * restrooms_spec.rb: Use 'successful' not 'success'
    
    Rspec's `be_success` and `.success?` are deprecated.
    
    Rspec's `be_successful` and `.successful?`
    are the non-deprecated versions of this check.
    
    (This fixes the associated deprecation warning)
    
    * Gemfile.lock: Bump some dependencies
    
    Upgraded loofah, puma, rack, and rack-cors,
    plus their dependencies.

commit 3714303e85387050227d0f3439ecdc3f118dcef4
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Tue Dec 24 17:55:25 2019 -0500

    restrooms_spec.rb: Fix a test (#608)
    
    Background:
    
    The Mission Creek Cafe in San Francisco has been closed for some time.
    
    Google Maps API now resolves "Mission Creek Cafe"
    to a coffee shop in Washington state.
    
    Washington is too far away from our stub restroom entries;
    No stub restrooms are located near Washington,
    so no restroom results are shown on our results page for this search.
    
    The test expects to see a stub restroom entry on the reults page,
    but does not see it, and so the test fails.
    
    ---
    
    Fix:
    
    search the Maps API for "San Francisco," not "Mission Creek Cafe"
    
    (This returns a lat/long associated with San Francisco not Washington)

commit 297980c3a0f8c6ec6abcbf5b63d4a4f97da01f6f
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Mon Dec 23 21:37:00 2019 -0500

    db/schema.rb: Commit with underscores in date
    
    The date gets underscores added automatically
    when running migrations on the database.
    
    Committing with the underscores so the change isn't flagged by git
    when no code has been changed.

commit da6e0e2cc8986dbbe6169275d4196c0db5dc56e6
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Fri Dec 20 22:46:56 2019 -0500

    CONTRIBUTING.md: Remove the reference to "Cmd + C"
    
    The "Cmd + C" keyboard shortcut is for copying text,
    not quitting programs in the terminal.
    
    The proper way to quit programs in the terminal
    under macOS is "Ctrl + C", the same as Linux.
    
    Referring to "Cmd + C" here was based on
    a mistaken assumption that "Ctrl" on Windows or Linux
    always gets translated to "Cmd" on macOS.
    
    (In fact, some uses of "Ctrl" on Windows/Linux
    are preserved as-is on macOS. It's a mixed bag.)
    
    Deleting the reference to "Ctrl + C", to make the guidance clearer.

commit c6dc441dc100a1e4cf16c519adf2887a5302ff86
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Fri Dec 20 20:08:17 2019 -0500

    PR #607: Minor tweaks/cleanup
    
    - Adjust Gemfile[.lock] to specify webpacker within the 4.x series,
      rather than any version 4.0 or greater.
    
    - Delete some duplicate entries in the .gitignore file

commit 01c3c2111128f47136bec535de4998398ac0c632
Author: Emily Ring <emily_ring@ymail.com>
Date:   Fri Dec 20 19:53:08 2019 -0500

    Webpack Upgrade (#607)
    
    * Updated webpacker gem
    
    * Upgraded yarn packages
    
    * Ran webpack:install process.  Working without rails-erb-loader
    
    * Added rails-erb-loader to webpack
    
    * Fixed include PgSearch warning
    
    * Added .dockerignore

commit 5154cd1c29069f74dd8b41b25ed08c9228c40599
Author: DeeDeeG <DeeDeeG@users.noreply.github.com>
Date:   Fri Nov 1 16:58:40 2019 -0400

    Dockerfile: Upgrade Node from v10.x to v12.x (#603)
    
    Node 12 "Erbium" is the newest Long Term Service release.
    
    We should either pin a version of Node in our package.json file,
    or stay on the latest LTS version of Node;
    
    Heroku will use the latest LTS version of Node
    in production if we don't have any versions pinned in our package.json

commit 6c9636877c24aed5b40a80982165dd761170aa0a
Author: Jason Chen <kbtpodifo@gmail.com>
Date:   Fri Nov 1 16:52:29 2019 -0400

    Fix Travis tests failing on distributions other than trusty (#606)
    
    * Revert ".travis.yml: Set "dist" to "trusty" (#600)"
    
    This reverts commit ac8f6aba3e4fe2d5728c5809b2b61ed91c0b5432.
    
    Doing this to run tests on Travis to investigate why they
    aren't passing.
    
    * Explicitly require locations.rb in rspec.rb
    
    Tentative fix for tests not passing in xenial but passing in trusty.
    This might be because different distributions load files in a
    different order. In xenial, `rspec.rb` might get loaded before
    `locations.rb`, making `Locations` uninitialized. Explicit require
    fixes this.

commit 73817966a0559dcee525def971c1082050f7b510
Merge: 05c74cb 699d846
Author: Teagan <tkwidmer@gmail.com>
Date:   Tue Oct 29 13:15:10 2019 -0700

    Merge branch 'master' into develop

commit 699d8469c25ff0208d5b94427119ec32b798f6e2
Merge: fbdc95d 4d2a0f0
Author: Mikena Wood <mi-wood@users.noreply.github.com>
Date:   Sat Mar 30 16:50:49 2019 -0700

    Merge pull request #575 from RefugeRestrooms/develop
    
    Deploy Dance!

commit fbdc95d2999d1d8367e5ae2c1b4f4f0d03e3da8e
Merge: cdafea8 842ba26
Author: Mikena Wood <mi-wood@users.noreply.github.com>
Date:   Sat Mar 30 09:36:45 2019 -0700

    Merge pull request #568 from RefugeRestrooms/develop
    
    Deploy!

commit cdafea840381df8e3ac811911945d5f4008c4b83
Merge: edbe1d7 beeee91
Author: Mikena Wood <mi-wood@users.noreply.github.com>
Date:   Wed Feb 6 20:03:02 2019 -0800

    Merge pull request #558 from RefugeRestrooms/develop
    
    Deploy! Deploy!

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 21 commits October 26, 2019 09:24
Set up internationalization (i18n) fallbacks, including Tagalog --> Filipino
* yarn.lock: Commit updated (indirect) dependencies
When running the tests, cliver tries to check that PhantomJS's version
is within a certain range, by running "phantomjs --version".

The "phantomjs --version" command fails for some reason
on the new ruby:2.5.7-slim Docker base image.

Perhaps because the new Docker image is based on Debian 10 "Buster,"
whereas the old Docker image was based on Debian 9 "Stretch"?

This commit's workaround allows "phantomjs --version" to work again.
Ruby: Upgrade from 2.5.3 to 2.5.7
* Revert ".travis.yml: Set "dist" to "trusty" (#600)"

This reverts commit ac8f6ab.

Doing this to run tests on Travis to investigate why they
aren't passing.

* Explicitly require locations.rb in rspec.rb

Tentative fix for tests not passing in xenial but passing in trusty.
This might be because different distributions load files in a
different order. In xenial, `rspec.rb` might get loaded before
`locations.rb`, making `Locations` uninitialized. Explicit require
fixes this.
Node 12 "Erbium" is the newest Long Term Service release.

We should either pin a version of Node in our package.json file,
or stay on the latest LTS version of Node;

Heroku will use the latest LTS version of Node 
in production if we don't have any versions pinned in our package.json
* Updated webpacker gem

* Upgraded yarn packages

* Ran webpack:install process.  Working without rails-erb-loader

* Added rails-erb-loader to webpack

* Fixed include PgSearch warning

* Added .dockerignore
- Adjust Gemfile[.lock] to specify webpacker within the 4.x series,
  rather than any version 4.0 or greater.

- Delete some duplicate entries in the .gitignore file
The "Cmd + C" keyboard shortcut is for copying text,
not quitting programs in the terminal.

The proper way to quit programs in the terminal
under macOS is "Ctrl + C", the same as Linux.

Referring to "Cmd + C" here was based on
a mistaken assumption that "Ctrl" on Windows or Linux
always gets translated to "Cmd" on macOS.

(In fact, some uses of "Ctrl" on Windows/Linux
are preserved as-is on macOS. It's a mixed bag.)

Deleting the reference to "Ctrl + C", to make the guidance clearer.
The date gets underscores added automatically
when running migrations on the database.

Committing with the underscores so the change isn't flagged by git
when no code has been changed.
Background:

The Mission Creek Cafe in San Francisco has been closed for some time.

Google Maps API now resolves "Mission Creek Cafe"
to a coffee shop in Washington state.

Washington is too far away from our stub restroom entries;
No stub restrooms are located near Washington,
so no restroom results are shown on our results page for this search.

The test expects to see a stub restroom entry on the reults page,
but does not see it, and so the test fails.

---

Fix:

search the Maps API for "San Francisco," not "Mission Creek Cafe"

(This returns a lat/long associated with San Francisco not Washington)
* Gemfile[.lock]: Update simplecov

Fixes a deprecation warning

* restrooms_spec.rb: Use 'successful' not 'success'

Rspec's `be_success` and `.success?` are deprecated.

Rspec's `be_successful` and `.successful?`
are the non-deprecated versions of this check.

(This fixes the associated deprecation warning)

* Gemfile.lock: Bump some dependencies

Upgraded loofah, puma, rack, and rack-cors,
plus their dependencies.
* CSS: Add some styles for narrow screens

For screen widths ~340px or narrower.

(Such a narrow screen is found, for example, on the original iPhone
through to the iPhone 5S and iPhone SE.)

- Makes the "+" icon on the "Add A Restroom" button
  appear in a more correct-looking position.

- Fixes the overlap of the "Refuge Restrooms" text
  with the "hamburger" drop-down menu button in the header/nav section.

- Adds a class via the haml source (.nav-column)
  to make applying one of the style rules easier.

* CSS: No double-padding on nested `.container`s

Eliminate double-padding in cases of
an [element].container immediately inside another [element].container.

(Doing this only directly under the header div, just to be conservative.)

The 15px + 15px = 30px of padding on both sides
seemed unintentionally wide. Also, I think this looks nicer.
Helps with the tight fit on mobile devices, too.

(Should affect the header/nav on all pages other than the home page,
aka the splash page, due to the way the pages are coded.)
* _mobile.scss: Lower logo/brand on narrow screens

Adjust the CSS "top" property to set the logo and "brand name"
("Refuge Restrooms") slightly lower within the navbar on narrow
screens.

This is to adjust for the navbar being responsively taller
on narrower screens. "767px screen width" happens to be the responsive
threshold for that height change for the navbar.

* _mobile.scss: Move 342px rules, adjust whitespace

Moved the "max 342px" rules to the bottom, so all screen-width-related
style rules are in descending order of the sizes that they apply to.
(For consistency).

Adjusted the use of newlines in this stylesheet to be more consitent.
@DeeDeeG DeeDeeG marked this pull request as ready for review February 8, 2020 21:25
@DeeDeeG DeeDeeG closed this Feb 8, 2020
@DeeDeeG DeeDeeG reopened this Feb 8, 2020
@tkwidmer
Copy link
Contributor

tkwidmer commented Feb 8, 2020

LGTM

@tkwidmer tkwidmer merged commit f3139ce into master Feb 8, 2020
@tkwidmer tkwidmer deleted the release-1.17.0 branch February 8, 2020 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants