Skip to content

Commit

Permalink
Merge branch 'master' into work_on_browser_warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
epugh@opensourceconnections.com committed Jul 31, 2021
2 parents f8f37ad + 59ce657 commit 7d888f1
Show file tree
Hide file tree
Showing 177 changed files with 10,431 additions and 1,888 deletions.
1 change: 1 addition & 0 deletions .browserslistrc
@@ -0,0 +1 @@
defaults
2 changes: 1 addition & 1 deletion .circleci/config.yml
Expand Up @@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: circleci/ruby:2.7.2-node-browsers
- image: circleci/ruby:2.7.4-node-browsers
environment: # environment variables for primary container
BUNDLE_JOBS: 3
BUNDLE_RETRY: 3
Expand Down
7 changes: 7 additions & 0 deletions .env.example
Expand Up @@ -49,3 +49,10 @@ EMAIL_SENDER=
# See https://github.com/o19s/quepid/issues/272 for a bug in expand/collapse that some setups experience.
# This lets you disable the sorting if you experience the bug.
QUERY_LIST_SORTABLE=true

# OAuth Settings
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

KEYCLOAK_REALM=quepid
KEYCLOAK_SITE=http://keycloak:9080
10 changes: 10 additions & 0 deletions .gitattributes
@@ -0,0 +1,10 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.

# Mark the database schema as having been generated.
db/schema.rb linguist-generated

# Mark the yarn lockfile as having been generated.
yarn.lock linguist-generated

# Mark any vendored files as having been vendored.
vendor/* linguist-vendored
5 changes: 3 additions & 2 deletions .github/stale.yml
Expand Up @@ -11,7 +11,8 @@ staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
recent activity. It will be closed if no further activity occurs. Please do
advocate for this issue and ideally submit a patch to get the attention of
the maintainers!
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
6 changes: 6 additions & 0 deletions .gitignore
Expand Up @@ -34,6 +34,7 @@ npm-debug.log
# Rails assets
# Ignore compiled assets
public/assets
public/packs

# Test Coverage
coverage/
Expand All @@ -43,3 +44,8 @@ public/srv

# Test Reports
test/reports

/public/packs
/public/packs-test
yarn-debug.log*
.yarn-integrity
2 changes: 1 addition & 1 deletion .ruby-version
@@ -1 +1 @@
2.7.2
2.7.4
34 changes: 33 additions & 1 deletion CHANGELOG.md
@@ -1,6 +1,36 @@
# Changelog

## 6.5.4 - ??
## 6.6.0 - ????

### Features

* OpenID Support! Historically you had to create your own account on Quepid, but that is another barrier to entry, and something else to keep track of. Inspired by the issue _Add OAuth Providers_ by @gregoryduckworth https://github.com/o19s/quepid/issues/188, https://github.com/o19s/quepid/pull/280 and https://github.com/o19s/quepid/pull/389 by @epugh implements the first two providers, Google and Keycloak.

### Improvements

* Quepid is running on Rails 6! Rails 6 was released ~26 months, and represents the future of Rails. I'm excited that this push initiated by @DmitryKey is going to bring us some great new features like: better developer experience with Webpack for JavaScript, ActionText to handle better text formatting of notes and messages about Cases and Queries, ActionCable which will let us notify users who are rating the same case. https://github.com/o19s/quepid/pull/381 by @DmitryKey with assist from @epugh.

* Make our ActiveRecord modeling for ownership the same. Teams have an _owner_, Scorers have an _owner_, but Cases have a _user_. Now we have _case.owner_ relationship. https://github.com/o19s/quepid/pull/359 by @epugh.

### Bugs

## 6.5.5 - 2021-06-30

### Features

* You can now tag a field with `translate:`, as in `translate:content` and you will get an icon to pop the text open in a Google Translate in a new browser window. https://github.com/o19s/quepid/pull/386 by @epugh.

### Improvements

* You can now export fields that have the formatting modifiers `thumb` and `image` using the detail format. Also improved the handling of the General and Detail export from the Case Listing page. https://github.com/o19s/quepid/pull/383 by @epugh fixes https://github.com/o19s/quepid/issues/382. Thanks @DmitryKey for the improvement assist and spotting the Case Listing export issue.

* Admin user can now reset a users password with a new password. https://github.com/o19s/quepid/pull/385 by @epugh to fix issue identified by @michaelcizmar. Thanks Michael!

* Trying to communciate about HTTPS better when you set up a case. https://github.com/o19s/quepid/pull/384 by @epugh inspired by https://github.com/o19s/quepid/issues/279 by @arafalov.



## 6.5.4 - 2021-06-16

### Features

Expand All @@ -14,6 +44,8 @@

* Revamped the layout of the Scorer creation and editing screens to be visually cleaner. Retired the old _Fibonnaci_ scale, and renamed _Default_ to _Detail_, as well as _Short_ to _Graded_ scales. Introduced _Binary_ as a new, default scale. @DmitryKey and @epugh paired on this during Quepid Qommunity Qoding hour, resulting in https://github.com/o19s/quepid/pull/379.

* Shrink production Docker image of Quepid from 2.19GB to 2.17GB by not installing development and test Gems. Commit 426d2677f6c4a8380971ddc1b0faa42a53a48879 by @epugh.

### Bugs

* Preserve the chosen scorer when cloning a case, we were defaulting to the users default scorer. https://github.com/o19s/quepid/pull/372 by @epugh fixes https://github.com/o19s/quepid/issues/273. Thanks @binarymax and @nathancday for spotting this!
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile.dev
@@ -1,4 +1,4 @@
FROM ruby:2.7.2-buster
FROM ruby:2.7.4-buster

LABEL maintainer="quepid_admin@opensourceconnections.com"

Expand All @@ -19,14 +19,14 @@ RUN bundle install
# Dependencies for Puppeteer/Chromium
# Dependency for generating the ERD is at the end, 'graphviz'
RUN apt-get update -qq \
&& apt-get install -y --no-install-recommends gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils libgbm1 wget graphviz \
&& apt-get install -y --no-install-recommends gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils libgbm1 wget graphviz \
&& rm -rf /var/lib/apt/lists/*


# may not need libgbm


# Install Node
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

Expand Down
16 changes: 13 additions & 3 deletions Dockerfile.prod
@@ -1,9 +1,9 @@
FROM node:10.20.1 AS build-dep
FROM node:14.17.3-buster AS build-dep
WORKDIR /srv/app
COPY package.json yarn.lock ./
RUN yarn install --production=true

FROM ruby:2.7.2-buster
FROM ruby:2.7.4-buster

LABEL maintainer="quepid_admin@opensourceconnections.com"

Expand Down Expand Up @@ -32,9 +32,19 @@ RUN apt-get update \
WORKDIR /srv/app
COPY Gemfile Gemfile.lock ./
RUN gem install bundler:1.17.3
RUN bundle install
#RUN bundle install
# Clean up Bundle
RUN bundle install --without development test && \
bundle clean --force && \
rm -rf /app/.bundle/cache && \
rm -rf /app/vendor/bundle/ruby/*/cache

COPY --from=build-dep /srv/app/node_modules ./node_modules/
COPY . .

RUN RAILS_ENV=production SECRET_KEY_BASE=fake_out_devise bundle exec rake assets:precompile

# Remove some files not needed in resulting image
RUN rm package.json yarn.lock

CMD ["foreman", "s", "-f", "Procfile"]
24 changes: 17 additions & 7 deletions Gemfile
Expand Up @@ -2,7 +2,7 @@

source 'https://rubygems.org'

ruby '2.7.2'
ruby '2.7.4'

gem 'activerecord-import', '>= 1.0.7'
gem 'acts_as_list', '>= 1.0.1'
Expand All @@ -16,30 +16,32 @@ gem 'devise', '>= 4.6.2'
gem 'devise_invitable', '~> 2.0'
gem 'gabba'
gem 'intercom-rails'
gem 'jbuilder', '~> 2.5'
gem 'jbuilder', '~> 2.7'
gem 'redis', '~> 4.0'
gem 'jquery-rails'
gem 'jquery-ui-rails' # Can we narrow the widgets to load faster?
gem 'mysql2'
gem 'postmark-rails', '~> 0.10.0'
gem 'puma', '~> 3.11'
gem 'postmark-rails'
gem 'puma', '~> 5.0'
gem 'puma_worker_killer'
gem 'pundit'
gem 'rails', '~> 5.2.4', '>= 5.2.4.4'
gem 'rails', '= 6.1.4' # starting Rails 6 the webpack is included by default.
gem 'responders'
gem 'sidekiq'
gem 'terser'
gem 'bootsnap'
gem 'bootsnap', '>= 1.4.4', require: false
gem 'listen', '~> 3.3'
gem 'd3-rails', '~> 3.5.5' # we have a very old version of D3. This provides D3 assets.
gem 'cal-heatmap-rails', '~> 3.6' # provides assets for cal heatmap, that requires old d3
gem 'font-awesome-sass'
gem 'webpacker', '= 5.4.0'
gem 'rack-cors', '~> 1.1'
gem 'foreman'

group :development, :test do
gem 'annotate'
gem 'bullet'
gem 'byebug'
gem 'foreman'
gem 'memory_profiler'
gem 'rack-mini-profiler'
end
Expand All @@ -59,3 +61,11 @@ group :test do
gem 'webmock'
gem 'rails-controller-testing' # bring back compatibility with rails 4 assigns in controller tests.
end

gem 'omniauth', '~> 2.0'

gem 'omniauth-keycloak', '~> 1.3'

gem 'omniauth-rails_csrf_protection', '~> 1.0'

gem 'omniauth-google-oauth2', '~> 1.0'

0 comments on commit 7d888f1

Please sign in to comment.