-
Notifications
You must be signed in to change notification settings - Fork 260
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.19.1 #623
Release 1.19.1 #623
Conversation
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
Word wrap dropdown menu
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
Faster Travis CI builds
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
* Create restroom.fil.yml
Translated files from EN to FIL #451
* switched sass-rails gem (sass-rails --> sassc-rails)
Update some 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.
* Dockerfile: Use better PhantomJS URL GitHub's CDN is more reliable than BitBucket's. (This is the URL we originally used as of PR #435, which was the initial implementation of our Docker setup.) * docker-compose.yml: Add password for PostgreSQL db This is in response to a recent change in the PostgreSQL Docker image. Either the database must be configured to not check passwords, i.e. `POSTGRESQL_HOST_AUTH_METHOD=trust`, or a password must now be set. For explanation and context, see: - docker-library/postgres#658 - docker-library/postgres#681 - docker-library/postgres#580 - https://discuss.circleci.com/t/postgresql-image-password-not-specified-issue/34555
* Gemfile[.lock]: Update rails to 5.2.4.2 Also update its dependencies, as required. * Gemfile[.lock]: Update grape and grape-swagger Also update their dependencies, as needed. * Gemfile[.lock]: Update activeadmin * Gemfile: Pin sprockets to "< 4" The 4.x major version upgrade requires some configuration changes. Pinning keeps the app from breaking when doing `bundle update`. * Gemfile.lock: Update all packages * yarn.lock: Update all packages
* Add server reCAPTCHA verification for contacts Added a temporary secret key for testing in .env, which is loaded by the dotenv gem. In production, just put another key in the Heroku env variable settings. * Add reCAPTCHA to contacts submission page * Enable browser form validation by default This gets form input validated on the client side, which gives faster feedback to the user, without the need for a custom solution. This feature is supported in all modern browsers. * Add reCAPTCHA to restrooms page * Make stub for reCAPTCHA verification during tests Co-authored-by: Mikena Wood <[email protected]>
* application_controller.rb: Adjust set_locale logic Adds a :locale parameter (which should come from the URL, e.g.: `refugerestrooms.org/?locale=en` or something like that.) * application_controller.rb: set up default_url_options Allows URLs auto-generated by Rails to automatically be expanded to include "?locale=xyz" or "&locale=xyz" See: https://guides.rubyonrails.org/v5.2.4/i18n.html#setting-the-locale-from-url-params For example, this affects URLs made with ActionView URL helpers ('button_to', 'link_to', etc.) See: https://api.rubyonrails.org/v5.2.4/classes/ActionView/Helpers/UrlHelper.html (Hard-coded URLS will generally not get the parameter added.) * header: Use link_to helper for homepage link Use a link_to helper to dynamically create the homepage link, because URL helpers now automatically include the 'locale=' parameter. * header: Un-hard-code the api docs path Use the 'api_docs_path' helper, rather than hard-coding '/api/docs'. (This is for the navigation header, under the "Resources" drop-down.) * config/routes.rb: Add (optional) locale scope to all pages Adds an optional locale prefix for almost every page in the app. See: https://guides.rubyonrails.org/v5.2.4/i18n.html#setting-the-locale-from-url-params You can now visit e.g. '/es/restrooms/new' and you will see the "Submit a New Restroom" page in Spanish. All links in the app auto-generate this locale prefix, so users can specify a locale via visiting a specific locale prefix, and the links in the app will not misdirect them into another locale. (You can still visit URLs without a locale prefix, like '/restrooms/new', and the app will simply auto-detect the locale based on the preferred languages in your browser settings.) This preserves the existing URLs in working order, and any links out there on the web, or in people's bookmarks, will still work.) The home page does not always get the prefix: - The home page link in nav is just '/?locale=[I18n.locale]' - You can visit '/?locale=es' to see the homepage in Spanish. - The homepage link in the nav are auto-generated as '/?locale=[I18n.locale]'; This is equivalent in functionality to the locale prefixes (e.g. '/es/'). - The homepage links in the footer are auto-generated as '/[I18n.locale]/'. - You can visit '/es/' to see the homepage in Spanish. * _footer.html.haml: Add locale switcher links Adds locale switcher links in the footer, which displays at the bottom of every page. These links dynamically link to the current page the user is viewing, but with the current locale overridden with a specific, new locale. Uses the Rails API's "ActionDispatch::Request" feature to get a string containing the last requested page, (i.e. the page the user is currently viewing). This includes query parameters, such as "?lat=[num]&long=[num]" See: https://api.rubyonrails.org/v5.2.4/classes/ActionDispatch/Request.html#method-i-GET (Parameters can also be derived from the URL, such as the "es/" in "/es/restrooms/new", if routed properly.) See: https://guides.rubyonrails.org/routing.html See these StackOverflow answers/this Wikipedia article for details: - https://stackoverflow.com/questions/3762430/rails-preserving-get-query-string-parameters-in-link-to - https://stackoverflow.com/questions/6885990/rails-params-explained - https://en.wikipedia.org/wiki/Query_string * CSS: Better styling of the locale-switcher links Spaced out the links a bit, and added bullet-point separators. * spec: Fix a path construction, test passes now Passing the whole array of restroom data was causing the whole array to be erroneously interpreted as if it was the :locale prefix in the path. Explicitly pass :id, and only :id, to the `restroom_path` route helper for this test. (We only need the :id from the newly-constructed test restroom in order to visit the correct path. Other restroom data isn't needed here anyhow.)
(This PR still needs some work.) This reverts commit aed3e1e.
* dependencies: Update puma and jquery * dependencies: Bump Kaminari and Rails
The body of the commit message for this PR should simply be:
|
I've mentioned it before, but I'd really like us to merge these release PRs on the command line so the pointer of What we're doing now:
In this example, What I'd like us to be doing:
In the above example, (Edit: "PRs work like they're supposed to" other than having to hop over to command-line to merge the branches. GitHub does not have a UI to make it possible to perform this simple "advance pointer forward on a linear commit history" aka "fast-forward" merge. It wouldn't be hard, they've just apparently chosen not to add the feature to their site.) I would also see "merge commits into (Sorry to complain, but I also just wanted to point out what we're doing and see if folks agree with me on the solution or not. Thanks.) |
DeeDeeG (1):