diff --git a/.travis.yml b/.travis.yml
index 95291a551..c04c0e859 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
env:
- - DOCKER_COMPOSE_VERSION=1.23.2
-
+ - DOCKER_COMPOSE_VERSION=v2.22.0
+dist: jammy
sudo: required
language: ruby
addons:
@@ -10,9 +10,9 @@ services:
- docker
before_install:
- sudo rm /usr/local/bin/docker-compose
- - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
+ - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64 > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- - make docker
+ - make docker-ci
script:
- make tests-ci
diff --git a/Makefile b/Makefile
index ea90052ec..246d213e3 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,9 @@ heroku:
docker:
@docker-compose build
+docker-ci:
+ @docker-compose --progress plain build web
+
docker-production:
@docker-compose -f docker-compose.production.yml build --build-arg BUILD_TIMESTAMP=$(BUILD_TIMESTAMP)
@@ -81,10 +84,17 @@ integration-tests:
@$(MAKE) rails cmd="bundle exec cucumber"
tests-ci:
- @docker-compose run --rm web bash -c "bundle install && yarn install"
- @docker-compose up -d webpack
- @docker-compose ps
- @docker-compose run -e ENABLE_EMAIL_CONFIRMATIONS=false -e MAIL_FROM=MAIL_FROM -e MAIL_REPLYTO=MAIL_REPLYTO -e RAILS_ENV=test -e MAIL_SERVER_URL=localhost:3000 -e ENABLE_RECAPTCHA=false -e ENABLE_USER_CONFIRMATION=false -e ENABLE_USER_REGISTRATION=true -e CORE_API_RATE_LIMIT=1000000 --rm web bash -c "rake db:create && rake db:migrate && yarn install && bundle exec rspec"
+ @docker-compose run --rm web bash -c "bundle install"
+ @docker-compose run -e ENABLE_EMAIL_CONFIRMATIONS=false \
+ -e MAIL_FROM=MAIL_FROM \
+ -e MAIL_REPLYTO=MAIL_REPLYTO \
+ -e RAILS_ENV=test \
+ -e MAIL_SERVER_URL=localhost:3000 \
+ -e ENABLE_RECAPTCHA=false \
+ -e ENABLE_USER_CONFIRMATION=false \
+ -e ENABLE_USER_REGISTRATION=true \
+ -e CORE_API_RATE_LIMIT=1000000 \
+ --rm web bash -c "rake db:create && rake db:migrate && bundle exec rspec ./spec/requests/api/"
console:
@$(MAKE) rails cmd="rails console"
diff --git a/VERSION b/VERSION
index eb6c80e2b..0bb3ab4d7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.29.0.1
+1.29.1.1
diff --git a/app/assets/javascripts/projects/index.js b/app/assets/javascripts/projects/index.js
index ffb96ab65..7f063a0f1 100644
--- a/app/assets/javascripts/projects/index.js
+++ b/app/assets/javascripts/projects/index.js
@@ -430,7 +430,7 @@ var ProjectsIndex = (function() {
view_mode: $('.projects-index').data('view-mode'),
sort: projectsCurrentSort,
search: projectsViewSearch,
- members: membersFilter,
+ members: membersFilter && membersFilter.map(m => m.value),
created_on_from: createdOnFromFilter,
created_on_to: createdOnToFilter,
folders_search: lookInsideFolders,
@@ -549,6 +549,8 @@ var ProjectsIndex = (function() {
var datePicker = $field.data('DateTimePicker');
if (datePicker && datePicker.date()) {
return datePicker.date()._d.toUTCString();
+ } else if ($field.val()) {
+ return moment($field.val(), $field.data('dateFormat'))._d.toUTCString();
}
return null;
}
@@ -565,8 +567,8 @@ var ProjectsIndex = (function() {
let $textFilter = $('#textSearchFilterInput', $projectsFilter);
function getFilterValues() {
- createdOnFromFilter = selectDate($createdOnFromFilter) || $createdOnFromFilter.val();
- createdOnToFilter = selectDate($createdOnToFilter) || $createdOnToFilter.val();
+ createdOnFromFilter = selectDate($createdOnFromFilter);
+ createdOnToFilter = selectDate($createdOnToFilter);
membersFilter = dropdownSelector.getData($('.members-filter'));
lookInsideFolders = $foldersCB.prop('checked') || '';
archivedOnFromFilter = selectDate($archivedOnFromFilter) || $archivedOnFromFilter.val();
diff --git a/app/assets/stylesheets/protocols/index.scss b/app/assets/stylesheets/protocols/index.scss
index 662fa0065..7bb510962 100644
--- a/app/assets/stylesheets/protocols/index.scss
+++ b/app/assets/stylesheets/protocols/index.scss
@@ -20,7 +20,7 @@
width: 100%;
.dataTables_scrollHead {
- overflow: visible !important;
+ flex-shrink: 0;
thead {
.sci-checkbox-container {
diff --git a/app/assets/stylesheets/tailwind/inputs.css b/app/assets/stylesheets/tailwind/inputs.css
index 963aa94bd..805ce15b1 100644
--- a/app/assets/stylesheets/tailwind/inputs.css
+++ b/app/assets/stylesheets/tailwind/inputs.css
@@ -1,7 +1,7 @@
@layer components {
.sci-label {
- @apply text-sm font-medium text-sn-grey;
+ @apply text-sm font-medium text-sn-dark-grey;
}
.sci-input-container-v2 {
diff --git a/app/controllers/api/v1/inventory_status_items_controller.rb b/app/controllers/api/v1/inventory_status_items_controller.rb
index 09d4cb032..45a519270 100644
--- a/app/controllers/api/v1/inventory_status_items_controller.rb
+++ b/app/controllers/api/v1/inventory_status_items_controller.rb
@@ -12,7 +12,6 @@ module Api
timestamps_filter(
@inventory_column.repository_status_items
)
- .repository_status_items
.page(params.dig(:page, :number))
.per(params.dig(:page, :size))
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 8242d6be2..44e1dff6f 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -137,14 +137,13 @@ module ApplicationHelper
# and outputs a popover with user information
def smart_annotation_filter_users(text, team, base64_encoded_imgs: false)
sa_user = /\[\@(.*?)~([0-9a-zA-Z]+)\]/
- new_text = text.gsub(sa_user) do |el|
+ text.gsub(sa_user) do |el|
match = el.match(sa_user)
user = User.find_by_id(match[2].base62_decode)
next unless user
popover_for_user_name(user, team, false, false, base64_encoded_imgs)
end
- sanitize_input(new_text)
end
# Generate smart annotation link for one user object
diff --git a/app/javascript/vue/protocol/container.vue b/app/javascript/vue/protocol/container.vue
index 3314ee999..aacbaa6ea 100644
--- a/app/javascript/vue/protocol/container.vue
+++ b/app/javascript/vue/protocol/container.vue
@@ -210,6 +210,14 @@
@publish="publishProtocol"
@cancel="closePublishModal"
/>
+
{{i18n.t('assets.from_clipboard.image_preview')}}
- -{{i18n.t('assets.from_clipboard.file_name')}}
-