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

Continuous Release 1.10.0 #601

Merged
merged 5 commits into from
Mar 21, 2024
Merged

Continuous Release 1.10.0 #601

merged 5 commits into from
Mar 21, 2024

Conversation

Splines
Copy link
Member

@Splines Splines commented Mar 20, 2024

Feedback button ⭐ and other things ;)

* Don't report unused disable directive (ESLint)

* Upgrade eslint-plugin-erb to v2.0.1
* Kneecap the user cleaner

* Fix typo
* Replace `ENV.fetch(..., nil)` by `ENV.fetch(...)`

This means that if the env variable is not set, we will encounter an exception
which is good as otherwise we'd just ignore that exception even though it
might result in serious repercussions.

Regex used for matching (in VSCode): ENV.fetch\(".*",\snil\)

* Sync `docker.env` with actual file on server

* Replace `ENV[]` by `ENV.fetch(...)` whenever applicable

Sometimes `ENV[]` is used in a statement where we check if the env variable
is present or not. In this case, we did not change it to `ENV.fetch(...)`.

* Fix missing quotes around env variable

Error we got during deployment:
docker.env: line 24: Users/mampf: No such file or directory

* Source dummy `docker.env` file (workaround)

See the comment in the code for an in-depth explanation for this
workaround.

* Replace `<>` syntax in env file to allow sourcing it

* Copy dummy docker file into container

* Use automatic export of env variables

by setting `set -o allexport` (or equivalently: `set -a`).

* Use new env syntax for registration limit check

* Fall back to `nil` as was before for `RAILS_CACHE_ID`
* Authenticate mails sent by MaMpf

* Fix mails comment

* Add `nil` env fallback due to #542 (this one was removed again in merge commit 4d066c3)
Due to a forced push of the dev branch, the following list might
unfortunately include items from other branches as well.

* Init Feedback model

* Add Feedback modal view and corresponding controller

First working version, of course still a lot to improve from here.

* Migrate feedback form to Bootstrap v5

* Add basic styling to Feedback form

* Add "allow contact via mail" checkbox

A new column was added to the Feedbacks schema.
Note that we did not create a new migration as this is a PR which should
only contain one migration, namely the one for the creation of the whol
Feedback table.

* Toggle "allow email contact" by default

* Improve submit button handler (outsource to function)

* Init feedback mailer

Right now just for ourselves, so that we get a plaintext mail with
the feedback of a user.

Env variables were adjusted accordingly, but need to be set manually
in the production environment!

* Adjust feedback mail in views

* Implement success/error flow with toast messages

* Add missing database field "can_contact"

* Add internationalization to feedback error/success

* Lint some files

* Set feedback text field as required with min 10 chars

* Add "optional" to title in email

* Adjust spacing around feedback button

* Internationalize tooltip

* Delete console log

* Add comment describing hidden submit button handler

* Delete default test specs

* Add proper validation for Feedback body

Alongside this, also made sure that we use a custom client-side
validation message when input is too short (under 10 chars long).
This allows us to use the language the user has selected in MaMpf
instead of the browser language.

* Default `can_contact` to false in backend

* Update bootstrap to v5.3.1

command used: bundle update bootstrap
bundle update bootstrap --conservative did not work, as docker
containers did not start again due to dependency errors

* Revert "Update bootstrap to v5.3.1" in favor of PR #537

This reverts commit 5cd1af2.

* Submit form via Ctrl + Enter when modal is opened

* Remove default nil value from ENV.fetch()

* Revert "Remove default nil value from ENV.fetch()"

This reverts commit 696a395.

* Rename button to 'Send' (not 'Save')

* Check if should register feedback event handlers

* Make feedback button ID more specific

* Fix line wrapping (code style)

* Use delete on cascade to be able to delete a user

even if he/she has sent some feedback

* Move Send button before Cancel button

* Replace "on delete cascade" with "dependent destroy"

* Add cypress rules to ESLint & ignore some patterns

* Allow usage of tempusDominus global variable

* Ignore JS files with Sprocket syntax

* Further improve rules, e.g. allow common globals

* Ignore sprocket syntax in cable.js

* Autofix all `.js` and `.js.erb` files

Command used:
`yarn run eslint --fix .`

Still 47 problems (27 errors, 20 warnings) after this.

* Fix variables in turbolink fix

* Prepend unused variables with "_"

* Get rid of unused widget variable

* Fix specs comment tab alignment

* Warn about too long GitHub commit messages (#586)

* Fix comment status (#585)

* Reapply first fix for Reader/Media

See discussion on #574 for further details.
Previous PR for this was #576, closed in favor of this one
as this directly branches off the new "dev" branch.

* Correctly show latest post (might be current_user's comment)

* Fix update of unread comments logic in comments controller

* Fix update icon logic and latest post comment

* Simplify latest comment logic

* Improve code comments

* Further improve comments

* Fix wording in comment

* Fix construction of media array & use `.blank?` instead of `.empty?`

* Migrate `unread_comments` flag (fix inconsistencies) (#587)

* Add dummy migration

* Implement migration for unread comment flag

* Remove unnecessary comment

* Declare migration as not idempotent

* Use array.length instead of counting

* Throw error to prevent revert of migration

* Fix severe flaws in unread comments migration

* Simplify Reader retrieval

* Use the more explicit `.nil?` method

* Update migration date

* Fix annoying bug: don't use `.select!` but `.select`

* Polish migration

e.g. update comment, more suitable name for the method etc.

* Rename method according to #585

* Use `warn` log level for migration (#588)

* Fix linting in feedback.js

* Fix RuboCop errors

* Fix remaining ESLint errors

* Update timestamp of feedback migration

* Add missing Feedback email to prod docker.env

* Remove unnecessary Feedback env variables

* Add validation message for empty body

* Change `const` to `var` to avoid "redefined" errors

* Update timestamp of feedback migration (again)
@Splines Splines self-assigned this Mar 20, 2024
@Splines
Copy link
Member Author

Splines commented Mar 21, 2024

Will merge without approval as Denis is on vacation.

@Splines Splines marked this pull request as ready for review March 21, 2024 21:04
@Splines Splines merged commit ee2bc9a into main Mar 21, 2024
5 checks passed
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.

1 participant