Compare commits

...

218 commits

Author SHA1 Message Date
Jyri-Petteri Paloposki
97220798db
Merge pull request #3143 from TracksApp/dependabot/bundler/nokogiri-1.18.9
Some checks failed
Build latest / Build latest (push) Has been cancelled
Bump nokogiri from 1.18.8 to 1.18.9
2025-09-20 18:18:25 +03:00
Jyri-Petteri Paloposki
bebdcb233c
Merge pull request #3142 from TracksApp/dependabot/bundler/thor-1.4.0
Bump thor from 1.3.2 to 1.4.0
2025-09-20 18:18:09 +03:00
Jyri-Petteri Paloposki
52c9a50f16
Merge pull request #3141 from TracksApp/dependabot/bundler/sqlite3-2.7.3
Bump sqlite3 from 2.7.2 to 2.7.3
2025-09-20 18:17:55 +03:00
Jyri-Petteri Paloposki
6e0cb8125d
Merge pull request #3149 from TracksApp/dependabot/bundler/rack-mini-profiler-4.0.1
Bump rack-mini-profiler from 4.0.0 to 4.0.1
2025-09-20 18:17:41 +03:00
Jyri-Petteri Paloposki
1d483148d7
Merge pull request #3156 from TracksApp/dependabot/bundler/stripe-15.5.0
Bump stripe from 15.3.0 to 15.5.0
2025-09-20 18:16:41 +03:00
Jyri-Petteri Paloposki
d397e7be97
Merge pull request #3161 from bluewings1211/add_zh_TW_support
Add Traditional Chinese (Taiwan) localization support
2025-09-20 14:32:15 +03:00
Jyri-Petteri Paloposki
8a8a816645
Merge pull request #3167 from TracksApp/fix_build
Fix build by changing how Yarn is installed
2025-09-20 14:29:38 +03:00
Jyri-Petteri Paloposki
36cba2fffc Fix build by changing how Yarn is installed 2025-09-20 14:21:16 +03:00
bluewings1211
02ca81f761 Add Traditional Chinese (Taiwan) localization support
- Add jQuery UI datepicker Traditional Chinese localization file
- Add complete zh-TW locale file with translations for all UI elements
- Configure asset precompilation for datepicker locale files
2025-09-05 16:19:23 +08:00
dependabot[bot]
f8966fb48f
Bump stripe from 15.3.0 to 15.5.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 15.3.0 to 15.5.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v15.3.0...v15.5.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 03:19:53 +00:00
dependabot[bot]
a121b6381d
Bump rack-mini-profiler from 4.0.0 to 4.0.1
Bumps [rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/MiniProfiler/rack-mini-profiler/releases)
- [Changelog](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MiniProfiler/rack-mini-profiler/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: rack-mini-profiler
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 00:23:28 +00:00
dependabot[bot]
d670a70ede
Bump nokogiri from 1.18.8 to 1.18.9
---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 04:04:24 +00:00
dependabot[bot]
21e27915a6
Bump thor from 1.3.2 to 1.4.0
---
updated-dependencies:
- dependency-name: thor
  dependency-version: 1.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 02:08:59 +00:00
dependabot[bot]
2691d18cdb
Bump sqlite3 from 2.7.2 to 2.7.3
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.2 to 2.7.3.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.2...v2.7.3)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 00:12:20 +00:00
Jyri-Petteri Paloposki
4ffdf00dca
Merge pull request #3140 from TracksApp/dependabot/bundler/rubocop-1.78.0
Bump rubocop from 1.77.0 to 1.78.0
2025-07-11 18:35:07 +03:00
dependabot[bot]
889540cc94
Bump rubocop from 1.77.0 to 1.78.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.77.0 to 1.78.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.77.0...v1.78.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.78.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 00:04:29 +00:00
Jyri-Petteri Paloposki
ea70f0a13b
Merge pull request #3139 from TracksApp/dependabot/bundler/sqlite3-2.7.2
Bump sqlite3 from 2.7.1 to 2.7.2
2025-07-07 15:07:05 +03:00
dependabot[bot]
3b2c26478f
Bump sqlite3 from 2.7.1 to 2.7.2
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.1...v2.7.2)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 00:01:25 +00:00
Jyri-Petteri Paloposki
a2d86b5d6c
Merge pull request #3135 from TracksApp/dependabot/bundler/rubocop-1.77.0
Bump rubocop from 1.70.0 to 1.77.0
2025-07-02 10:24:31 +03:00
Jyri-Petteri Paloposki
86a0ace6b9
Merge pull request #3136 from TracksApp/dependabot/bundler/stripe-15.3.0
Bump stripe from 15.2.1 to 15.3.0
2025-07-02 10:24:17 +03:00
Jyri-Petteri Paloposki
18e9fb7b0c
Merge pull request #3137 from TracksApp/dependabot/bundler/sqlite3-2.7.1
Bump sqlite3 from 2.7.0 to 2.7.1
2025-07-02 10:24:06 +03:00
Jyri-Petteri Paloposki
a3e23ef9ed
Merge pull request #3138 from TracksApp/dependabot/bundler/solargraph-0.56.0
Bump solargraph from 0.55.4 to 0.56.0
2025-07-02 10:23:54 +03:00
dependabot[bot]
4cf825cb83
Bump solargraph from 0.55.4 to 0.56.0
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.55.4 to 0.56.0.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.55.4...v0.56.0)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:38 +00:00
dependabot[bot]
c684b1ce19
Bump sqlite3 from 2.7.0 to 2.7.1
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:27 +00:00
dependabot[bot]
86b982df8e
Bump stripe from 15.2.1 to 15.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 15.2.1 to 15.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v15.2.1...v15.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:16 +00:00
dependabot[bot]
c1dd33975b
Bump rubocop from 1.70.0 to 1.77.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.70.0 to 1.77.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.70.0...v1.77.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.77.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:15:55 +00:00
Jyri-Petteri Paloposki
661ef20c5f
Merge pull request #3133 from TracksApp/dependabot/bundler/rails-dom-testing-2.3.0
Bump rails-dom-testing from 2.2.0 to 2.3.0
2025-07-01 12:48:16 +03:00
Jyri-Petteri Paloposki
ab640a8f46
Merge pull request #3131 from TracksApp/dependabot/bundler/rexml-3.4.1
Bump rexml from 3.4.0 to 3.4.1
2025-07-01 12:48:01 +03:00
Jyri-Petteri Paloposki
8a50b67edd
Merge pull request #3130 from TracksApp/dependabot/bundler/spring-4.3.0
Bump spring from 4.2.1 to 4.3.0
2025-07-01 12:47:50 +03:00
Jyri-Petteri Paloposki
61841c1f14
Merge pull request #3127 from TracksApp/dependabot/bundler/bullet-8.0.8
Bump bullet from 8.0.0 to 8.0.8
2025-07-01 12:47:40 +03:00
dependabot[bot]
e7aace3cac
Bump rexml from 3.4.0 to 3.4.1
Bumps [rexml](https://github.com/ruby/rexml) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: rexml
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 09:02:10 +00:00
dependabot[bot]
160b9a7ab5
Bump rails-dom-testing from 2.2.0 to 2.3.0
Bumps [rails-dom-testing](https://github.com/rails/rails-dom-testing) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/rails/rails-dom-testing/releases)
- [Commits](https://github.com/rails/rails-dom-testing/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: rails-dom-testing
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:55 +00:00
dependabot[bot]
2f5451a713
Bump spring from 4.2.1 to 4.3.0
Bumps [spring](https://github.com/rails/spring) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.2.1...v4.3.0)

---
updated-dependencies:
- dependency-name: spring
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:49 +00:00
dependabot[bot]
42e397d028
Bump bullet from 8.0.0 to 8.0.8
Bumps [bullet](https://github.com/flyerhzm/bullet) from 8.0.0 to 8.0.8.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/8.0.0...8.0.8)

---
updated-dependencies:
- dependency-name: bullet
  dependency-version: 8.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:39 +00:00
Jyri-Petteri Paloposki
edf145f366
Merge pull request #3129 from TracksApp/dependabot/bundler/stripe-15.2.1
Bump stripe from 13.3.1 to 15.2.1
2025-07-01 11:58:19 +03:00
Jyri-Petteri Paloposki
82e49bd00b
Merge pull request #3128 from TracksApp/dependabot/bundler/rspec-expectations-3.13.5
Bump rspec-expectations from 3.13.3 to 3.13.5
2025-07-01 11:58:05 +03:00
Jyri-Petteri Paloposki
e3a26f9396
Merge pull request #3126 from TracksApp/dependabot/bundler/byebug-12.0.0
Bump byebug from 11.1.3 to 12.0.0
2025-07-01 11:57:51 +03:00
Jyri-Petteri Paloposki
3fbf0b07f5
Merge pull request #3134 from TracksApp/dependabot/bundler/solargraph-0.55.4
Bump solargraph from 0.51.0 to 0.55.4
2025-07-01 11:57:39 +03:00
dependabot[bot]
4bbc809a1c
Bump solargraph from 0.51.0 to 0.55.4
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.51.0 to 0.55.4.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.51.0...v0.55.4)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-version: 0.55.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:23:25 +00:00
dependabot[bot]
a185b2c0f8
Bump stripe from 13.3.1 to 15.2.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.3.1 to 15.2.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.3.1...v15.2.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.2.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:22:31 +00:00
dependabot[bot]
3ccd2345ba
Bump rspec-expectations from 3.13.3 to 3.13.5
Bumps [rspec-expectations](https://github.com/rspec/rspec) from 3.13.3 to 3.13.5.
- [Changelog](https://github.com/rspec/rspec/blob/rspec-expectations-v3.13.5/rspec-expectations/Changelog.md)
- [Commits](https://github.com/rspec/rspec/compare/rspec-expectations-v3.13.3...rspec-expectations-v3.13.5)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-version: 3.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:22:21 +00:00
dependabot[bot]
95597a969c
Bump byebug from 11.1.3 to 12.0.0
Bumps [byebug](https://github.com/deivid-rodriguez/byebug) from 11.1.3 to 12.0.0.
- [Release notes](https://github.com/deivid-rodriguez/byebug/releases)
- [Changelog](https://github.com/deivid-rodriguez/byebug/blob/master/CHANGELOG.md)
- [Commits](https://github.com/deivid-rodriguez/byebug/compare/v11.1.3...v12.0.0)

---
updated-dependencies:
- dependency-name: byebug
  dependency-version: 12.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:21:58 +00:00
Jyri-Petteri Paloposki
4f6d806724
Merge pull request #3124 from TracksApp/fix_env
Upgrade to Rails 7.1 and add some environment fixes
2025-06-30 01:00:08 +03:00
Jyri-Petteri Paloposki
63d2060dc1 Use MariaDB instead of MySQL also in tests 2025-06-30 00:49:34 +03:00
Jyri-Petteri Paloposki
2eb54b1c3e Upgrade to Rails 7.1 2025-06-30 00:45:25 +03:00
Jyri-Petteri Paloposki
36b47125ef Change to a new JS preprocessor, change from MySQL to MariaDB and fix polling 2025-06-29 21:27:27 +03:00
Jyri-Petteri Paloposki
d51432d09b
Merge pull request #3118 from TracksApp/dependabot/bundler/factory_bot_rails-6.5.0
Bump factory_bot_rails from 6.4.4 to 6.5.0
2025-06-29 15:39:55 +03:00
Jyri-Petteri Paloposki
46a6cd716b
Merge pull request #3120 from TracksApp/dependabot/bundler/jquery-ui-rails-8.0.0
Bump jquery-ui-rails from 7.0.0 to 8.0.0
2025-06-29 15:37:25 +03:00
Jyri-Petteri Paloposki
1a9ffd96d3
Merge pull request #3122 from TracksApp/dependabot/bundler/sanitize-7.0.0
Bump sanitize from 6.1.3 to 7.0.0
2025-06-29 15:37:12 +03:00
dependabot[bot]
eecd15b150
Bump sanitize from 6.1.3 to 7.0.0
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.3 to 7.0.0.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.3...v7.0.0)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:29:26 +00:00
dependabot[bot]
7b6f7fe8bb
Bump factory_bot_rails from 6.4.4 to 6.5.0
Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.4.4 to 6.5.0.
- [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases)
- [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md)
- [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0)

---
updated-dependencies:
- dependency-name: factory_bot_rails
  dependency-version: 6.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:28:19 +00:00
dependabot[bot]
2f6dd0f808
Bump jquery-ui-rails from 7.0.0 to 8.0.0
Bumps [jquery-ui-rails](https://github.com/joliss/jquery-ui-rails) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/joliss/jquery-ui-rails/releases)
- [Changelog](https://github.com/jquery-ui-rails/jquery-ui-rails/blob/master/History.md)
- [Commits](https://github.com/joliss/jquery-ui-rails/compare/v7.0.0...v8.0.0)

---
updated-dependencies:
- dependency-name: jquery-ui-rails
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:26:52 +00:00
Jyri-Petteri Paloposki
8a8bdfe732
Merge pull request #3119 from TracksApp/dependabot/bundler/tolk-6.0.0
Bump tolk from 5.0.2 to 6.0.0
2025-06-29 15:26:44 +03:00
Jyri-Petteri Paloposki
db41886954
Merge pull request #3117 from TracksApp/dependabot/bundler/i18n-tasks-1.0.15
Bump i18n-tasks from 1.0.14 to 1.0.15
2025-06-29 15:24:44 +03:00
Jyri-Petteri Paloposki
77d12853c1
Merge pull request #3123 from TracksApp/dependabot/bundler/nokogiri-1.18.8
Bump nokogiri from 1.17.2 to 1.18.8
2025-06-29 15:24:27 +03:00
dependabot[bot]
19c8fcc0d9
Bump tolk from 5.0.2 to 6.0.0
Bumps [tolk](https://github.com/tolk/tolk) from 5.0.2 to 6.0.0.
- [Changelog](https://github.com/tolk/tolk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tolk/tolk/compare/v5.0.2...v6.0.0)

---
updated-dependencies:
- dependency-name: tolk
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:14:45 +00:00
dependabot[bot]
b97aa8fd4e
Bump i18n-tasks from 1.0.14 to 1.0.15
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v1.0.14...v1.0.15)

---
updated-dependencies:
- dependency-name: i18n-tasks
  dependency-version: 1.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:14:07 +00:00
Jyri-Petteri Paloposki
fc2a8bb8f3
Merge pull request #3121 from TracksApp/dependabot/bundler/sqlite3-2.7.0
Bump sqlite3 from 1.7.3 to 2.7.0
2025-06-29 15:12:20 +03:00
Jyri-Petteri Paloposki
70c5ba94df
Merge pull request #3116 from TracksApp/dependabot/bundler/puma-6.6.0
Bump puma from 6.5.0 to 6.6.0
2025-06-29 15:11:44 +03:00
dependabot[bot]
761ec11e07
Bump nokogiri from 1.17.2 to 1.18.8
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.17.2 to 1.18.8.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.17.2...v1.18.8)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:07:52 +00:00
Jyri-Petteri Paloposki
c69811e19c
Merge pull request #3115 from TracksApp/dependabot/bundler/rack-mini-profiler-4.0.0
Bump rack-mini-profiler from 3.3.1 to 4.0.0
2025-06-29 15:05:52 +03:00
Jyri-Petteri Paloposki
3fbe3b2c90
Merge pull request #3114 from TracksApp/dependabot/bundler/aasm-5.5.1
Bump aasm from 5.5.0 to 5.5.1
2025-06-29 15:04:58 +03:00
dependabot[bot]
8868c389af
Bump sqlite3 from 1.7.3 to 2.7.0
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 1.7.3 to 2.7.0.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v1.7.3...v2.7.0)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:59:15 +00:00
dependabot[bot]
23223dea9b
Bump puma from 6.5.0 to 6.6.0
Bumps [puma](https://github.com/puma/puma) from 6.5.0 to 6.6.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.5.0...v6.6.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-version: 6.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:29 +00:00
dependabot[bot]
674e24ea62
Bump rack-mini-profiler from 3.3.1 to 4.0.0
Bumps [rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler) from 3.3.1 to 4.0.0.
- [Release notes](https://github.com/MiniProfiler/rack-mini-profiler/releases)
- [Changelog](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MiniProfiler/rack-mini-profiler/compare/v3.3.1...v4.0.0)

---
updated-dependencies:
- dependency-name: rack-mini-profiler
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:21 +00:00
dependabot[bot]
3e07e27099
Bump aasm from 5.5.0 to 5.5.1
Bumps [aasm](https://github.com/aasm/aasm) from 5.5.0 to 5.5.1.
- [Changelog](https://github.com/aasm/aasm/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aasm/aasm/compare/v5.5.0...v5.5.1)

---
updated-dependencies:
- dependency-name: aasm
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:13 +00:00
Jyri-Petteri Paloposki
c43cd6cb16
Merge pull request #3113 from TracksApp/dependabot_fix
Dependabot Ruby version
2025-06-29 14:57:30 +03:00
Jyri-Petteri Paloposki
7ed9f2ca3d Dependabot Ruby version 2025-06-29 14:51:18 +03:00
Jyri-Petteri Paloposki
b32cb2090e
Merge pull request #3112 from TracksApp/ror_70
Upgrade to RoR 7.0
2025-06-29 13:37:27 +03:00
Jyri-Petteri Paloposki
2094826d2f Change the command used for running tests 2025-06-29 13:26:58 +03:00
Jyri-Petteri Paloposki
4f94e2dfc2 Use the array syntax to avoid asset precompile failing to missing values 2025-06-29 13:25:29 +03:00
Jyri-Petteri Paloposki
13bdef74b3 Update the date formatting syntax 2025-06-29 13:25:14 +03:00
Jyri-Petteri Paloposki
3fc943ce2a No longer test for Ruby 3.0 or 3.1 2025-06-28 16:31:31 +03:00
Jyri-Petteri Paloposki
e77b83683a Upgrade to RoR 7.0 2025-06-28 16:25:52 +03:00
Jyri-Petteri Paloposki
854034c554
Merge pull request #3111 from TracksApp/fix_template_errors
Fix a few template errors caused by RoR 6
2025-06-28 16:24:05 +03:00
Jyri-Petteri Paloposki
7d9c5786be Fix a few template errors caused by RoR 6 2025-04-26 14:02:49 +03:00
Jyri-Petteri Paloposki
fa7d213ca7 Require rexml specifically to make sure it's available. The POST API didn't always work without this. 2025-01-26 18:12:15 +02:00
Jyri-Petteri Paloposki
da726b1700
Merge pull request #3108 from TracksApp/dependabot/bundler/stripe-13.3.1
Bump stripe from 13.3.0 to 13.3.1
2025-01-26 17:45:41 +02:00
Jyri-Petteri Paloposki
ffa79f2820
Merge pull request #3109 from TracksApp/dependabot/bundler/solargraph-0.51.0
Bump solargraph from 0.50.0 to 0.51.0
2025-01-26 17:45:31 +02:00
dependabot[bot]
6d5f269d77
Bump solargraph from 0.50.0 to 0.51.0
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.50.0 to 0.51.0.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 00:34:56 +00:00
dependabot[bot]
2144160ec5
Bump stripe from 13.3.0 to 13.3.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.3.0 to 13.3.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.3.0...v13.3.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-14 00:41:06 +00:00
Jyri-Petteri Paloposki
41f7a86bba
Merge pull request #3107 from TracksApp/dependabot/bundler/rubocop-1.70.0
Bump rubocop from 1.69.2 to 1.70.0
2025-01-13 12:35:40 +02:00
dependabot[bot]
03dc26c06e
Bump rubocop from 1.69.2 to 1.70.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.2 to 1.70.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.2...v1.70.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 00:11:10 +00:00
Jyri-Petteri Paloposki
10bb9e86ac
Merge pull request #3106 from TracksApp/dependabot/bundler/stripe-13.3.0
Bump stripe from 13.2.0 to 13.3.0
2024-12-19 19:46:32 +02:00
Jyri-Petteri Paloposki
4863c82469
Merge pull request #3105 from TracksApp/dependabot/bundler/font-awesome-sass-6.7.2
Bump font-awesome-sass from 6.5.2 to 6.7.2
2024-12-19 19:46:19 +02:00
dependabot[bot]
3a8988ac74
Bump stripe from 13.2.0 to 13.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.2.0 to 13.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.2.0...v13.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-19 00:52:52 +00:00
dependabot[bot]
5484a4c894
Bump font-awesome-sass from 6.5.2 to 6.7.2
Bumps [font-awesome-sass](https://github.com/FortAwesome/font-awesome-sass) from 6.5.2 to 6.7.2.
- [Release notes](https://github.com/FortAwesome/font-awesome-sass/releases)
- [Commits](https://github.com/FortAwesome/font-awesome-sass/commits)

---
updated-dependencies:
- dependency-name: font-awesome-sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-18 00:29:28 +00:00
Jyri-Petteri Paloposki
ecaed7bca7
Merge pull request #3102 from TracksApp/dependabot/bundler/mocha-2.7.1
Bump mocha from 2.6.1 to 2.7.1
2024-12-14 14:27:18 +02:00
Jyri-Petteri Paloposki
69d3ea5f30
Merge pull request #3104 from TracksApp/dependabot/bundler/rubocop-1.69.2
Bump rubocop from 1.69.1 to 1.69.2
2024-12-14 14:27:07 +02:00
dependabot[bot]
fb38741fa2
Bump rubocop from 1.69.1 to 1.69.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.1 to 1.69.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.1...v1.69.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-13 00:43:39 +00:00
dependabot[bot]
cb9fc6900d
Bump mocha from 2.6.1 to 2.7.1
Bumps [mocha](https://github.com/freerange/mocha) from 2.6.1 to 2.7.1.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.6.1...v2.7.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 00:36:42 +00:00
Jyri-Petteri Paloposki
ad356a9a01
Merge pull request #3100 from TracksApp/dependabot/bundler/rails-html-sanitizer-1.6.1
Bump rails-html-sanitizer from 1.6.0 to 1.6.1
2024-12-09 10:47:49 +02:00
Jyri-Petteri Paloposki
b27cf9f533
Merge pull request #3101 from TracksApp/dependabot/bundler/rubocop-1.69.1
Bump rubocop from 1.69.0 to 1.69.1
2024-12-09 10:47:34 +02:00
dependabot[bot]
7d96e9b0cf
Bump rubocop from 1.69.0 to 1.69.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.0 to 1.69.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.0...v1.69.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 00:21:19 +00:00
dependabot[bot]
0487c9f17c
Bump rails-html-sanitizer from 1.6.0 to 1.6.1
Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: rails-html-sanitizer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 22:09:11 +00:00
Jyri-Petteri Paloposki
4e6d8396ad
Merge pull request #3098 from TracksApp/dependabot/bundler/mocha-2.6.1
Bump mocha from 2.6.0 to 2.6.1
2024-11-29 17:51:53 +02:00
Jyri-Petteri Paloposki
c8c48306ea
Merge pull request #3097 from TracksApp/dependabot/bundler/rubocop-1.69.0
Bump rubocop from 1.68.0 to 1.69.0
2024-11-29 17:51:41 +02:00
dependabot[bot]
87a2fca247
Bump mocha from 2.6.0 to 2.6.1
Bumps [mocha](https://github.com/freerange/mocha) from 2.6.0 to 2.6.1.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-29 00:23:38 +00:00
dependabot[bot]
9d737b57f4
Bump rubocop from 1.68.0 to 1.69.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.68.0 to 1.69.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.68.0...v1.69.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 00:29:20 +00:00
Jyri-Petteri Paloposki
2431cdef3b
Merge pull request #3096 from TracksApp/dependabot/bundler/mocha-2.6.0
Bump mocha from 2.5.0 to 2.6.0
2024-11-25 09:54:19 +02:00
Jyri-Petteri Paloposki
f64445cd33
Merge pull request #3095 from TracksApp/dependabot/bundler/puma-6.5.0
Bump puma from 6.4.3 to 6.5.0
2024-11-25 09:54:09 +02:00
dependabot[bot]
0d2223ef52
Bump mocha from 2.5.0 to 2.6.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.5.0 to 2.6.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 00:43:29 +00:00
dependabot[bot]
29ce045f15
Bump puma from 6.4.3 to 6.5.0
Bumps [puma](https://github.com/puma/puma) from 6.4.3 to 6.5.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.3...v6.5.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 00:41:59 +00:00
Jyri-Petteri Paloposki
dd406ad6cc
Merge pull request #3093 from TracksApp/dependabot/bundler/acts_as_list-1.2.4
Bump acts_as_list from 1.2.3 to 1.2.4
2024-11-23 14:23:42 +02:00
Jyri-Petteri Paloposki
c5e27b3c5a
Merge pull request #3094 from TracksApp/dependabot/bundler/stripe-13.2.0
Bump stripe from 13.1.1 to 13.2.0
2024-11-23 13:48:36 +02:00
dependabot[bot]
57cc1185f4
Bump stripe from 13.1.1 to 13.2.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.1.1 to 13.2.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.1.1...v13.2.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 00:12:04 +00:00
dependabot[bot]
1d1bc3b71e
Bump acts_as_list from 1.2.3 to 1.2.4
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.3 to 1.2.4.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.3...v1.2.4)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 00:23:11 +00:00
Jyri-Petteri Paloposki
fbd888c200
Merge pull request #3091 from TracksApp/dependabot/bundler/mocha-2.5.0
Bump mocha from 2.4.5 to 2.5.0
2024-11-14 10:10:04 +02:00
dependabot[bot]
186901cf32
Bump mocha from 2.4.5 to 2.5.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.5 to 2.5.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.5...v2.5.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 00:49:08 +00:00
Jyri-Petteri Paloposki
9a2e947173
Merge pull request #3090 from TracksApp/dependabot/bundler/bullet-8.0.0
Bump bullet from 7.2.0 to 8.0.0
2024-11-12 02:44:35 +02:00
Jyri-Petteri Paloposki
692b6bf653
Merge pull request #3089 from TracksApp/dependabot/bundler/stripe-13.1.1
Bump stripe from 13.1.0 to 13.1.1
2024-11-12 02:44:23 +02:00
dependabot[bot]
976ad893e7
Bump bullet from 7.2.0 to 8.0.0
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.2.0 to 8.0.0.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.2.0...8.0.0)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 00:34:41 +00:00
dependabot[bot]
fe2befc72e
Bump stripe from 13.1.0 to 13.1.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 00:34:11 +00:00
Jyri-Petteri Paloposki
846494843b
Merge pull request #3087 from TracksApp/dependabot/bundler/acts_as_list-1.2.3
Bump acts_as_list from 1.2.2 to 1.2.3
2024-11-11 10:14:19 +02:00
Jyri-Petteri Paloposki
57aa499027
Merge pull request #3088 from TracksApp/dependabot/bundler/factory_bot_rails-6.4.4
Bump factory_bot_rails from 6.4.3 to 6.4.4
2024-11-11 10:14:05 +02:00
dependabot[bot]
3221f1c194
Bump factory_bot_rails from 6.4.3 to 6.4.4
Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.4.3 to 6.4.4.
- [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases)
- [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md)
- [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.3...v6.4.4)

---
updated-dependencies:
- dependency-name: factory_bot_rails
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 00:51:12 +00:00
dependabot[bot]
61b9c93a7d
Bump acts_as_list from 1.2.2 to 1.2.3
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.2 to 1.2.3.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 00:50:38 +00:00
Jyri-Petteri Paloposki
1ca43b8ee5
Merge pull request #3079 from TracksApp/dependabot/bundler/database_cleaner-2.1.0
Bump database_cleaner from 1.99.0 to 2.1.0
2024-11-08 19:31:47 +02:00
Jyri-Petteri Paloposki
9742bfc338
Merge pull request #3086 from TracksApp/dependabot/bundler/rubocop-1.68.0
Bump rubocop from 1.67.0 to 1.68.0
2024-11-08 19:19:33 +02:00
dependabot[bot]
39ab8dddcf
Bump rubocop from 1.67.0 to 1.68.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.67.0 to 1.68.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.67.0...v1.68.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-06 00:18:22 +00:00
dependabot[bot]
450db54865
Bump database_cleaner from 1.99.0 to 2.1.0
Bumps [database_cleaner](https://github.com/DatabaseCleaner/database_cleaner) from 1.99.0 to 2.1.0.
- [Changelog](https://github.com/DatabaseCleaner/database_cleaner/blob/main/History.rdoc)
- [Commits](https://github.com/DatabaseCleaner/database_cleaner/compare/v1.99.0...v2.1.0)

---
updated-dependencies:
- dependency-name: database_cleaner
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-05 18:04:54 +00:00
Jyri-Petteri Paloposki
f960c1939e
Merge pull request #3085 from TracksApp/dependabot/bundler/tolk-5.0.2
Bump tolk from 5.0.1 to 5.0.2
2024-11-05 20:03:41 +02:00
dependabot[bot]
308410ea71
Bump tolk from 5.0.1 to 5.0.2
Bumps [tolk](https://github.com/tolk/tolk) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/tolk/tolk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tolk/tolk/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: tolk
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 00:16:19 +00:00
Jyri-Petteri Paloposki
d946081e0f
Merge pull request #3084 from TracksApp/dependabot/bundler/pg-1.5.9
Bump pg from 1.5.7 to 1.5.9
2024-11-01 10:24:34 +02:00
dependabot[bot]
c56db12281
Bump pg from 1.5.7 to 1.5.9
Bumps [pg](https://github.com/ged/ruby-pg) from 1.5.7 to 1.5.9.
- [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.5.7...v1.5.9)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-01 00:28:02 +00:00
Jyri-Petteri Paloposki
a5e5d0934f
Merge pull request #3082 from TracksApp/dependabot/bundler/stripe-13.1.0
Bump stripe from 13.0.2 to 13.1.0
2024-10-31 18:18:34 +02:00
dependabot[bot]
3077578e6b
Bump stripe from 13.0.2 to 13.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.0.2 to 13.1.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.0.2...v13.1.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 00:02:43 +00:00
Jyri-Petteri Paloposki
2e82791887
Merge pull request #3081 from TracksApp/dependabot/bundler/sanitize-6.1.3
Bump sanitize from 6.1.2 to 6.1.3
2024-10-29 09:28:34 +02:00
dependabot[bot]
5b49f9e704
Bump sanitize from 6.1.2 to 6.1.3
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-29 00:32:27 +00:00
Jyri-Petteri Paloposki
a746dd31d3
Merge pull request #3080 from TracksApp/dependabot/bundler/rexml-3.3.9
Bump rexml from 3.3.8 to 3.3.9
2024-10-28 21:54:50 +02:00
dependabot[bot]
b3754f2ee6
Bump rexml from 3.3.8 to 3.3.9
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.8 to 3.3.9.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.8...v3.3.9)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 19:07:34 +00:00
Jyri-Petteri Paloposki
5243a0a092
Merge pull request #3077 from TracksApp/dependabot/bundler/activemodel-serializers-xml-1.0.3
Bump activemodel-serializers-xml from 1.0.2 to 1.0.3
2024-10-28 12:54:03 +02:00
dependabot[bot]
5682a380f3
Bump activemodel-serializers-xml from 1.0.2 to 1.0.3
Bumps [activemodel-serializers-xml](https://github.com/rails/activemodel-serializers-xml) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/rails/activemodel-serializers-xml/releases)
- [Commits](https://github.com/rails/activemodel-serializers-xml/compare/v1.0.2...v1.0.3)

---
updated-dependencies:
- dependency-name: activemodel-serializers-xml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 00:38:36 +00:00
Jyri-Petteri Paloposki
477dd9737f
Merge pull request #3076 from TracksApp/dependabot/bundler/stripe-13.0.2
Bump stripe from 12.4.0 to 13.0.2
2024-10-25 09:57:53 +03:00
Jyri-Petteri Paloposki
4b043968ad
Merge pull request #3075 from TracksApp/dependabot/bundler/yard-0.9.37
Bump yard from 0.9.36 to 0.9.37
2024-10-25 09:57:40 +03:00
dependabot[bot]
ecccf02cc9
Bump stripe from 12.4.0 to 13.0.2
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 12.4.0 to 13.0.2.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v12.4.0...v13.0.2)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 00:46:12 +00:00
dependabot[bot]
9290e32739
Bump yard from 0.9.36 to 0.9.37
Bumps [yard](https://github.com/lsegal/yard) from 0.9.36 to 0.9.37.
- [Release notes](https://github.com/lsegal/yard/releases)
- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lsegal/yard/compare/v0.9.36...v0.9.37)

---
updated-dependencies:
- dependency-name: yard
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 00:45:38 +00:00
Jyri-Petteri Paloposki
df1e9a064a
Merge pull request #3072 from TracksApp/dependabot/bundler/uglifier-4.2.1
Bump uglifier from 4.2.0 to 4.2.1
2024-10-24 11:54:11 +03:00
Jyri-Petteri Paloposki
e4b366494d
Merge pull request #3073 from TracksApp/dependabot/bundler/rspec-expectations-3.13.3
Bump rspec-expectations from 3.13.1 to 3.13.3
2024-10-24 11:53:53 +03:00
dependabot[bot]
cfaa0a00be
Bump rspec-expectations from 3.13.1 to 3.13.3
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.13.1 to 3.13.3.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/compare/v3.13.1...v3.13.3)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 00:09:14 +00:00
dependabot[bot]
06000a0aab
Bump uglifier from 4.2.0 to 4.2.1
Bumps [uglifier](https://github.com/lautis/uglifier) from 4.2.0 to 4.2.1.
- [Changelog](https://github.com/lautis/uglifier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lautis/uglifier/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: uglifier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 00:08:47 +00:00
Jyri-Petteri Paloposki
894e497e88
Merge pull request #3047 from TracksApp/irc
Remove the IRC channel for now
2024-10-23 13:54:52 +03:00
Jyri-Petteri Paloposki
6eef42d569
Merge pull request #3064 from TracksApp/dependabot/bundler/puma-6.4.3
Bump puma from 6.4.2 to 6.4.3
2024-10-23 10:52:29 +03:00
Jyri-Petteri Paloposki
0616dc41a7
Merge pull request #3070 from TracksApp/dependabot/bundler/actionpack-6.1.7.9
Bump actionpack from 6.1.7.8 to 6.1.7.9
2024-10-23 10:52:16 +03:00
Jyri-Petteri Paloposki
7be0e4286a
Merge pull request #3071 from TracksApp/dependabot/bundler/actionmailer-6.1.7.9
Bump actionmailer from 6.1.7.8 to 6.1.7.9
2024-10-23 10:52:02 +03:00
Jyri-Petteri Paloposki
1438f25b79
Merge pull request #3069 from TracksApp/dependabot/bundler/actiontext-6.1.7.9
Bump actiontext from 6.1.7.8 to 6.1.7.9
2024-10-23 10:51:48 +03:00
dependabot[bot]
89a464d9ea
Bump puma from 6.4.2 to 6.4.3
Bumps [puma](https://github.com/puma/puma) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.2...v6.4.3)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:39:23 +00:00
dependabot[bot]
8e85af75e8
Bump actionpack from 6.1.7.8 to 6.1.7.9
Bumps [actionpack](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actionpack/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actionpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:55 +00:00
dependabot[bot]
322d2b62d8
Bump actionmailer from 6.1.7.8 to 6.1.7.9
Bumps [actionmailer](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actionmailer/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actionmailer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:53 +00:00
dependabot[bot]
6844679547
Bump actiontext from 6.1.7.8 to 6.1.7.9
Bumps [actiontext](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actiontext/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actiontext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:46 +00:00
Jyri-Petteri Paloposki
2204b2c246
Merge pull request #3068 from TracksApp/dependabot/bundler/rubocop-1.67.0
Bump rubocop from 1.65.0 to 1.67.0
2024-10-23 10:37:36 +03:00
dependabot[bot]
87950c6500
Bump rubocop from 1.65.0 to 1.67.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.65.0 to 1.67.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.65.0...v1.67.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:31:23 +00:00
Jyri-Petteri Paloposki
e829daca1e
Merge pull request #3055 from TracksApp/fix_tests
Fix tests
2024-10-23 10:30:10 +03:00
Jyri-Petteri Paloposki
e4f3fd0737 Use docker compose command 2024-10-23 02:01:42 +03:00
Jyri-Petteri Paloposki
24c4634a7b Use correct var for detecting MySQL 2024-10-23 01:56:34 +03:00
Jyri-Petteri Paloposki
e70a569511 Add debug output for the DB poll 2024-08-15 13:16:14 +03:00
Jyri-Petteri Paloposki
e81919888e Remove the version specificators 2024-08-02 10:36:08 +03:00
Jyri-Petteri Paloposki
d9854e1a4e Fix tests 2024-08-02 10:23:34 +03:00
Jyri-Petteri Paloposki
8abfafa0c6
Merge pull request #3051 from TracksApp/dependabot/bundler/sanitize-6.1.2
Bump sanitize from 6.1.1 to 6.1.2
2024-08-02 10:18:29 +03:00
Jyri-Petteri Paloposki
efea77c9cb
Merge pull request #3052 from TracksApp/dependabot/bundler/pg-1.5.7
Bump pg from 1.5.6 to 1.5.7
2024-08-02 10:18:16 +03:00
dependabot[bot]
96712ee99c
Bump pg from 1.5.6 to 1.5.7
Bumps [pg](https://github.com/ged/ruby-pg) from 1.5.6 to 1.5.7.
- [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.5.6...v1.5.7)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:43:02 +00:00
dependabot[bot]
a79660299a
Bump sanitize from 6.1.1 to 6.1.2
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:42:31 +00:00
Jyri-Petteri Paloposki
5f456d5300
Merge pull request #3049 from TracksApp/dependabot/bundler/stripe-12.4.0
Bump stripe from 12.3.0 to 12.4.0
2024-07-26 03:49:06 +03:00
dependabot[bot]
fac04ee0c1
Bump stripe from 12.3.0 to 12.4.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 12.3.0 to 12.4.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v12.3.0...v12.4.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-26 00:39:54 +00:00
Jyri-Petteri Paloposki
d9f254e2c5 Add custom release build option 2024-07-26 00:27:43 +03:00
Jyri-Petteri Paloposki
10a6ebcb41 Remove the IRC channel for now 2024-07-25 23:59:05 +03:00
Jyri-Petteri Paloposki
36529c50b3 Release 2.7.1 2024-07-25 23:54:52 +03:00
Jyri-Petteri Paloposki
75420d9c38
Merge commit from fork
Fix a few reflected XSS vulnerabilities
2024-07-25 23:52:51 +03:00
Jyri-Petteri Paloposki
b0d288d2ef Fix reflected XSS vulnerabilities in some views 2024-07-25 23:32:56 +03:00
Jyri-Petteri Paloposki
6a4a72270e
Merge pull request #3044 from weblate/weblate-tracks-tracks
Translations update from Hosted Weblate
2024-07-25 21:39:10 +03:00
Jyri-Petteri Paloposki
d64e1a0fa4 Fix the plurals as usual 2024-07-25 21:34:12 +03:00
Jyri-Petteri Paloposki
c23ca0574e Fix reflected XSS vulnerability on the stats page 2024-07-25 14:53:04 +03:00
Jyri-Petteri Paloposki
c7d81bb79f
Translated using Weblate (Finnish)
Currently translated at 99.1% (1111 of 1121 strings)

Translation: Tracks/Tracks
Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/fi/
2024-07-25 13:18:31 +02:00
gallegonovato
784f8c3009
Translated using Weblate (Spanish)
Currently translated at 100.0% (1121 of 1121 strings)

Translation: Tracks/Tracks
Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/es/
2024-07-25 13:18:31 +02:00
Jyri-Petteri Paloposki
0fc66953c0
Merge pull request #3046 from TracksApp/dependabot/bundler/mocha-2.4.5
Bump mocha from 2.4.4 to 2.4.5
2024-07-25 14:18:27 +03:00
dependabot[bot]
49fa90c7a6
Bump mocha from 2.4.4 to 2.4.5
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.4 to 2.4.5.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.4...v2.4.5)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 00:28:45 +00:00
Jyri-Petteri Paloposki
31f35f50c7
Merge pull request #3045 from TracksApp/dependabot/bundler/mocha-2.4.4
Bump mocha from 2.4.3 to 2.4.4
2024-07-24 12:11:40 +03:00
dependabot[bot]
a984011ddc
Bump mocha from 2.4.3 to 2.4.4
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.3 to 2.4.4.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.3...v2.4.4)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 00:32:02 +00:00
Jyri-Petteri Paloposki
22f42211b0
Merge pull request #3042 from TracksApp/dependabot/bundler/stripe-12.3.0
Bump stripe from 5.24.0 to 12.3.0
2024-07-23 13:56:24 +03:00
Jyri-Petteri Paloposki
92348f9bc5
Merge pull request #3043 from TracksApp/dependabot/bundler/mocha-2.4.3
Bump mocha from 2.4.2 to 2.4.3
2024-07-23 13:11:43 +03:00
dependabot[bot]
0d2d89780b
Bump mocha from 2.4.2 to 2.4.3
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.2 to 2.4.3.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.2...v2.4.3)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:33:56 +00:00
dependabot[bot]
3fcdb41fa9
Bump stripe from 5.24.0 to 12.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.24.0 to 12.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v5.24.0...v12.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 00:25:45 +00:00
Jyri-Petteri Paloposki
a9a978c1f8 Fix the installation documentation of postgresql. Fixes #2845. 2024-07-19 14:34:54 +03:00
Jyri-Petteri Paloposki
e1c5fbbbc2
Merge pull request #3039 from Pegasus-RPG/patch-1
Update bundle config command, add instructions for PostgreSQL
2024-07-19 14:05:48 +03:00
Jyri-Petteri Paloposki
36f139d879 Update schema.rb for Postgres support 2024-07-19 14:00:19 +03:00
Jyri-Petteri Paloposki
11a1a6a58e
Merge pull request #3040 from TracksApp/dependabot/bundler/mocha-2.4.2
Bump mocha from 2.4.0 to 2.4.2
2024-07-19 13:45:38 +03:00
Jyri-Petteri Paloposki
62ad2f7f0b
Merge pull request #3041 from TracksApp/dependabot/bundler/acts_as_list-1.2.2
Bump acts_as_list from 1.2.1 to 1.2.2
2024-07-19 13:45:25 +03:00
dependabot[bot]
a0999e3e45
Bump acts_as_list from 1.2.1 to 1.2.2
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.1 to 1.2.2.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 00:40:25 +00:00
dependabot[bot]
76d3083e8f
Bump mocha from 2.4.0 to 2.4.2
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.0 to 2.4.2.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.0...v2.4.2)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 00:40:03 +00:00
Jyri-Petteri Paloposki
50f5a946d4 Don't use old databases in test runs 2024-07-19 00:42:44 +03:00
Jyri-Petteri Paloposki
13d7a711a4 Move jquery back to default group 2024-07-19 00:14:41 +03:00
Jyri-Petteri Paloposki
55050af2cb Test the builded code, not the one mounted. 2024-07-19 00:02:15 +03:00
Jyri-Petteri Paloposki
f5f0193b60 Add asset stuff back to being included by default for non-Docker users; move more asset-related packages to the group 2024-07-19 00:02:07 +03:00
Sean M. Pappalardo
ad87729e31 Update bundle config command, add instructions for PostgreSQL 2024-07-19 00:01:56 +03:00
Jyri-Petteri Paloposki
f097a1f5e9
Merge pull request #3038 from TracksApp/user_errors
Fix a few user creation errors to be prettier
2024-07-18 22:40:01 +03:00
Jyri-Petteri Paloposki
2bf2f9476a Fix a few user creation errors to be prettier 2024-07-18 22:34:04 +03:00
Jyri-Petteri Paloposki
7b9a1e322f
Merge pull request #3037 from TracksApp/dockerfile_git_req
Don't require the .git directory to exist for a successful Docker build.
2024-07-18 22:14:30 +03:00
Jyri-Petteri Paloposki
d2fff6a64c Don't require the .git directory to exist for a successful Docker build. 2024-07-18 22:09:35 +03:00
Jyri-Petteri Paloposki
8f7b1ab7b2
Merge pull request #3036 from TracksApp/rexml
Update rexml
2024-07-18 21:57:48 +03:00
Jyri-Petteri Paloposki
0968152c5a Update rexml 2024-07-18 21:53:03 +03:00
Jyri-Petteri Paloposki
7a64917647
Merge pull request #3035 from TracksApp/db_versions
Fix DB adapters with the same constraints as in the ActiveRecord file…
2024-07-18 21:45:38 +03:00
Jyri-Petteri Paloposki
8464d0c60e Remove the version constraint from Stripe 2024-07-18 21:39:08 +03:00
Jyri-Petteri Paloposki
212b2dc20c Fix DB adapters with the same constraints as in the ActiveRecord files (for example https://github.com/rails/rails/blob/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb ) 2024-07-18 21:36:51 +03:00
Jyri-Petteri Paloposki
75a88f2955
Merge pull request #3033 from TracksApp/stripe
Add Stripe as an optional package and move to a single staged Dockerfile
2024-07-18 21:14:56 +03:00
Jyri-Petteri Paloposki
ff5adc5696 Replace the version-specific Dockerfiles with one staged Dockerfile 2024-07-18 21:09:04 +03:00
Jyri-Petteri Paloposki
5940fe10a6 Add Stripe as an optional package 2024-07-18 16:14:42 +03:00
Jyri-Petteri Paloposki
11ef1b6f6b
Merge pull request #3032 from TracksApp/dependabot/bundler/bullet-7.2.0
Bump bullet from 7.1.6 to 7.2.0
2024-07-18 14:52:35 +03:00
dependabot[bot]
a66dca4a6b
Bump bullet from 7.1.6 to 7.2.0
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.6 to 7.2.0.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.6...7.2.0)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 00:39:04 +00:00
Jyri-Petteri Paloposki
2726abb8ea
Merge pull request #3030 from TracksApp/dependabot/bundler/rubocop-1.65.0
Bump rubocop from 1.64.1 to 1.65.0
2024-07-13 12:10:44 +03:00
dependabot[bot]
2108b203a6
Bump rubocop from 1.64.1 to 1.65.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.64.1 to 1.65.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.64.1...v1.65.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 00:27:42 +00:00
Jyri-Petteri Paloposki
78ab8b0ff2
Merge pull request #3026 from TracksApp/dependabot/bundler/rspec-expectations-3.13.1
Bump rspec-expectations from 3.12.3 to 3.13.1
2024-06-25 15:58:46 +03:00
dependabot[bot]
713c89c6e0
Bump rspec-expectations from 3.12.3 to 3.13.1
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.12.3 to 3.13.1.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/compare/v3.12.3...v3.13.1)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 00:01:21 +00:00
Jyri-Petteri Paloposki
38db8f983d
Merge pull request #3025 from TracksApp/dependabot/bundler/mocha-2.4.0
Bump mocha from 2.1.0 to 2.4.0
2024-06-24 14:58:42 +03:00
dependabot[bot]
720cb02697
Bump mocha from 2.1.0 to 2.4.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.1.0 to 2.4.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.1.0...v2.4.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 00:12:49 +00:00
Jyri-Petteri Paloposki
867f1bc5d1
Merge pull request #3024 from TracksApp/dependabot/bundler/bullet-7.1.6
Bump bullet from 7.1.4 to 7.1.6
2024-06-19 10:20:24 +03:00
dependabot[bot]
b280485ef2
Bump bullet from 7.1.4 to 7.1.6
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.4 to 7.1.6.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.4...7.1.6)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 00:20:33 +00:00
Jyri-Petteri Paloposki
54ed7d118b
Merge pull request #3023 from TracksApp/dependabot/bundler/RedCloth-4.3.4
Bump RedCloth from 4.3.3 to 4.3.4
2024-06-18 12:22:01 +03:00
dependabot[bot]
f20aa13b7b
Bump RedCloth from 4.3.3 to 4.3.4
Bumps [RedCloth](https://github.com/jgarber/redcloth) from 4.3.3 to 4.3.4.
- [Changelog](https://github.com/jgarber/redcloth/blob/master/CHANGELOG)
- [Commits](https://github.com/jgarber/redcloth/compare/v4.3.3...v4.3.4)

---
updated-dependencies:
- dependency-name: RedCloth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 00:55:39 +00:00
70 changed files with 1030 additions and 655 deletions

View file

@ -3,9 +3,7 @@ config/database.yml
config/site.yml config/site.yml
coverage coverage
db/*.sqlite3 db/*.sqlite3
doc
features features
log log
public/assets public/assets
test
tmp tmp

View file

@ -9,3 +9,4 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
open-pull-requests-limit: 10

View file

@ -0,0 +1,55 @@
---
name: 'Build custom release'
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag to release'
required: true
type: string
name:
description: 'Name of the release'
required: true
type: string
jobs:
build-and-publish-release:
name: 'Build custom release'
runs-on: ubuntu-latest
steps:
-
name: Checkout the code
uses: actions/checkout@v2
with:
ref: ${{ inputs.tag }}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
target: production
push: true
tags: |
tracksapp/tracks:${{ inputs.name }}
ghcr.io/tracksapp/tracks:${{ inputs.name }}
# platforms: linux/amd64,linux/arm64

View file

@ -35,6 +35,7 @@ jobs:
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: . context: .
target: production
push: true push: true
tags: | tags: |
tracksapp/tracks:latest tracksapp/tracks:latest

View file

@ -35,6 +35,7 @@ jobs:
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: . context: .
target: production
push: true push: true
tags: | tags: |
tracksapp/tracks:${{ github.event.release.name }} tracksapp/tracks:${{ github.event.release.name }}

View file

@ -6,18 +6,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
ruby: ["3.0", "3.1", "3.2", "3.3"] ruby: ["3.2", "3.3"]
db: [sqlite, mysql, postgres] db: [sqlite, mysql, postgres]
exclude:
- ruby: "3.1"
db: sqlite
- ruby: "3.1"
db: postgres
- ruby: "3.2"
db: sqlite
- ruby: "3.2"
db: postgres
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- run: bash -x script/cibuild ${{ matrix.ruby }} ${{ matrix.db }} - run: bash -x script/cibuild ${{ matrix.ruby }} ${{ matrix.db }}

View file

@ -1 +1 @@
3.0 3.3

View file

@ -1,19 +1,12 @@
FROM ruby:3.3 ARG RUBY_VERSION=3.3
FROM ruby:${RUBY_VERSION} AS base
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app WORKDIR /app
RUN touch /etc/app-env RUN touch /etc/app-env
COPY Gemfile* /app/ RUN apt-get update && apt-get install -y npm netcat-openbsd
RUN npm install -g yarn
RUN gem install bundler RUN gem install bundler
RUN bundle install --jobs 4
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
RUN apt-get update && apt-get install -y yarn netcat-openbsd
RUN mkdir /app/log RUN mkdir /app/log
@ -36,12 +29,38 @@ COPY lib /app/lib/
COPY app /app/app/ COPY app /app/app/
COPY db /app/db/ COPY db /app/db/
COPY .git /app/.git # Use glob to omit error if the .git directory doesn't exists (in case the
# code is from a release archive, not a Git clone)
COPY .gi[t] /app/.git
RUN RAILS_ENV=production bundle exec rake assets:precompile COPY Gemfile* /app/
ENTRYPOINT ["/app/docker-entrypoint.sh"] ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000 EXPOSE 3000
CMD ["./bin/rails", "server", "-b", "0.0.0.0"] CMD ["./bin/rails", "server", "-b", "0.0.0.0"]
FROM base AS precompile
RUN bundle config set deployment true
RUN bundle install --jobs 4
RUN RAILS_GROUPS=assets bundle exec rake assets:precompile
# Build the environment-specific stuff
FROM base AS production
RUN bundle config set without assets
RUN bundle config --global frozen 1
RUN bundle install --jobs 4
COPY --from=precompile /app/public/assets /app/public/assets
FROM base AS test
COPY test /app/test/
# For testing the API client
COPY doc /app/doc/
RUN bundle config set without assets
RUN bundle config set with development test
RUN bundle config --global frozen 1
RUN bundle install --jobs 4
COPY --from=precompile /app/public/assets /app/public/assets
FROM base AS development
RUN bundle config set with development test
RUN bundle install --jobs 4

View file

@ -1,30 +0,0 @@
FROM ruby:3.0
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
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
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

View file

@ -1,30 +0,0 @@
FROM ruby:3.1
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
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
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

View file

@ -1,30 +0,0 @@
FROM ruby:3.2
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
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
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

66
Gemfile
View file

@ -1,70 +1,72 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'actionpack-xml_parser', '~> 2.0' gem 'actionpack-xml_parser', '~> 2.0'
gem 'activemodel-serializers-xml', '~> 1.0.1' gem 'activemodel-serializers-xml', '~> 1.0.3'
gem 'coffee-rails', '~> 5.0.0' gem 'rails', '~> 7.1'
gem 'font-awesome-sass', '~> 6.7.2'
gem 'jquery-rails', '~> 4.6' gem 'jquery-rails', '~> 4.6'
gem 'jquery-ui-rails', '~>7.0.0' gem 'jquery-ui-rails', '~>8.0.0'
gem 'aasm', '~> 5.5.1'
gem 'rails', '~> 6.1'
gem 'sassc-rails', '~> 2.1.2'
gem 'bootstrap-sass', '3.4.1'
gem 'font-awesome-sass', '~> 6.5.2'
gem 'uglifier', '>=1.3.0'
gem 'aasm', '~> 5.5.0'
gem 'acts_as_list' gem 'acts_as_list'
gem 'bcrypt', '~> 3.1.20' gem 'bcrypt', '~> 3.1.20'
gem 'htmlentities' gem 'htmlentities'
gem "kt-paperclip", "~> 7.2" gem "kt-paperclip", "~> 7.2"
gem 'puma', '~> 6.4' gem 'puma', '~> 6.6'
gem 'rails_autolink' gem 'rails_autolink'
gem 'RedCloth' gem 'RedCloth'
gem 'sanitize', '~> 6.1' gem 'sanitize', '~> 7.0'
gem 'tracks-chartjs-ror' gem 'tracks-chartjs-ror'
gem 'will_paginate' gem 'will_paginate'
gem 'rexml'
# Use --without <group> argument to skip unnecessary drivers
gem 'sqlite3', '~> 2.7', group: :sqlite
gem 'mysql2', '~> 0.5', group: :mysql
gem 'pg', '~> 1.5', group: :postgresql
# See https://github.com/sstephenson/execjs#readme for more supported runtimes # See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'mini_racer', group: :therubyracer gem 'mini_racer', group: :therubyracer
# Use --without <group> argument to skip unnecessary drivers gem 'sprockets-rails'
gem 'sqlite3', group: :sqlite gem 'coffee-rails', '~> 5.0.0'
gem 'mysql2', '~> 0.5.6', group: :mysql gem 'dartsass-sprockets'
gem 'pg', '~> 1.5.6', group: :postgresql gem 'bootstrap-sass', '3.4.1'
gem 'terser'
gem 'listen'
gem 'tolk', '~> 6.0.0'
group :development do group :development, :optional => true do
gem 'spring', '~> 4' gem 'spring', '~> 4'
gem 'yard' gem 'yard'
gem 'tolk', '~> 5.0.1'
gem 'bullet' gem 'bullet'
gem 'rack-mini-profiler' gem 'rack-mini-profiler'
gem 'solargraph' gem 'solargraph'
gem 'i18n-tasks', '~> 1.0.14' gem 'i18n-tasks', '~> 1.0.15'
end end
group :development, :test do group :development, :test, :optional => true do
gem 'byebug' gem 'byebug'
gem 'listen' gem 'rubocop', '~> 1.78'
gem 'rubocop', '~> 1.64', require: false
end end
group :test do group :test, :optional => true do
# get test coverage info on codeclimate # get test coverage info on codeclimate
gem 'codeclimate-test-reporter', '1.0.9', group: :test, require: nil gem 'codeclimate-test-reporter', '1.0.9'
gem 'database_cleaner', '~> 1' gem 'database_cleaner', '~> 2'
gem 'factory_bot_rails' gem 'factory_bot_rails'
gem 'minitest-stub-const' gem 'minitest-stub-const'
gem 'mocha', :require => false gem 'mocha'
gem 'rails-controller-testing' gem 'rails-controller-testing'
gem 'rails-dom-testing', '~> 2.2.0' gem 'rails-dom-testing', '~> 2.3.0'
gem 'rspec-expectations' gem 'rspec-expectations'
gem 'simplecov' gem 'simplecov'
end end
group :stripe, :optional => true do
gem 'stripe'
end

View file

@ -1,92 +1,112 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
RedCloth (4.3.3) RedCloth (4.3.4)
aasm (5.5.0) aasm (5.5.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
actioncable (6.1.7.8) actioncable (7.1.5.1)
actionpack (= 6.1.7.8) actionpack (= 7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.1.7.8) zeitwerk (~> 2.6)
actionpack (= 6.1.7.8) actionmailbox (7.1.5.1)
activejob (= 6.1.7.8) actionpack (= 7.1.5.1)
activerecord (= 6.1.7.8) activejob (= 7.1.5.1)
activestorage (= 6.1.7.8) activerecord (= 7.1.5.1)
activesupport (= 6.1.7.8) activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.1.7.8) net-imap
actionpack (= 6.1.7.8) net-pop
actionview (= 6.1.7.8) net-smtp
activejob (= 6.1.7.8) actionmailer (7.1.5.1)
activesupport (= 6.1.7.8) actionpack (= 7.1.5.1)
actionview (= 7.1.5.1)
activejob (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) net-imap
actionpack (6.1.7.8) net-pop
actionview (= 6.1.7.8) net-smtp
activesupport (= 6.1.7.8) rails-dom-testing (~> 2.2)
rack (~> 2.0, >= 2.0.9) actionpack (7.1.5.1)
actionview (= 7.1.5.1)
activesupport (= 7.1.5.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.6)
actionpack-xml_parser (2.0.1) actionpack-xml_parser (2.0.1)
actionpack (>= 5.0) actionpack (>= 5.0)
railties (>= 5.0) railties (>= 5.0)
actiontext (6.1.7.8) actiontext (7.1.5.1)
actionpack (= 6.1.7.8) actionpack (= 7.1.5.1)
activerecord (= 6.1.7.8) activerecord (= 7.1.5.1)
activestorage (= 6.1.7.8) activestorage (= 7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.1.7.8) actionview (7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.11)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.6)
activejob (6.1.7.8) activejob (7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.1.7.8) activemodel (7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
activemodel-serializers-xml (1.0.2) activemodel-serializers-xml (1.0.3)
activemodel (> 5.x) activemodel (>= 5.0.0.a)
activesupport (> 5.x) activesupport (>= 5.0.0.a)
builder (~> 3.1) builder (~> 3.1)
activerecord (6.1.7.8) activerecord (7.1.5.1)
activemodel (= 6.1.7.8) activemodel (= 7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
activestorage (6.1.7.8) timeout (>= 0.4.0)
actionpack (= 6.1.7.8) activestorage (7.1.5.1)
activejob (= 6.1.7.8) actionpack (= 7.1.5.1)
activerecord (= 6.1.7.8) activejob (= 7.1.5.1)
activesupport (= 6.1.7.8) activerecord (= 7.1.5.1)
activesupport (= 7.1.5.1)
marcel (~> 1.0) marcel (~> 1.0)
mini_mime (>= 1.1.0) activesupport (7.1.5.1)
activesupport (6.1.7.8) base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1) minitest (>= 5.1)
mutex_m
securerandom (>= 0.3)
tzinfo (~> 2.0) tzinfo (~> 2.0)
zeitwerk (~> 2.3) acts_as_list (1.2.4)
acts_as_list (1.2.1)
activerecord (>= 6.1) activerecord (>= 6.1)
activesupport (>= 6.1) activesupport (>= 6.1)
ast (2.4.2) ast (2.4.3)
autoprefixer-rails (10.4.7.0) autoprefixer-rails (10.4.21.0)
execjs (~> 2) execjs (~> 2)
backport (1.2.0) backport (1.2.0)
base64 (0.3.0)
bcrypt (3.1.20) bcrypt (3.1.20)
benchmark (0.3.0) benchmark (0.4.1)
bigdecimal (3.2.2)
bootstrap-sass (3.4.1) bootstrap-sass (3.4.1)
autoprefixer-rails (>= 5.2.1) autoprefixer-rails (>= 5.2.1)
sassc (>= 2.0.0) sassc (>= 2.0.0)
builder (3.3.0) builder (3.3.0)
bullet (7.1.4) bullet (8.0.8)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
uniform_notifier (~> 1.11) uniform_notifier (~> 1.11)
byebug (11.1.3) byebug (12.0.0)
climate_control (0.2.0) climate_control (0.2.0)
codeclimate-test-reporter (1.0.9) codeclimate-test-reporter (1.0.9)
simplecov (<= 0.13) simplecov (<= 0.13)
@ -97,30 +117,47 @@ GEM
coffee-script-source coffee-script-source
execjs execjs
coffee-script-source (1.12.2) coffee-script-source (1.12.2)
concurrent-ruby (1.3.3) concurrent-ruby (1.3.5)
connection_pool (2.5.3)
crass (1.0.6) crass (1.0.6)
database_cleaner (1.99.0) dartsass-sprockets (3.2.1)
date (3.3.4) railties (>= 4.0.0)
diff-lcs (1.5.0) sassc-embedded (~> 1.80.1)
sprockets (> 3.0)
sprockets-rails
tilt
database_cleaner (2.1.0)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.2.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
date (3.4.1)
diff-lcs (1.6.2)
docile (1.1.5) docile (1.1.5)
e2mmap (0.1.0) drb (2.2.3)
erubi (1.13.0) erb (5.0.1)
execjs (2.8.1) erubi (1.13.1)
factory_bot (6.4.6) execjs (2.10.0)
activesupport (>= 5.0.0) factory_bot (6.5.4)
factory_bot_rails (6.4.3) activesupport (>= 6.1.0)
factory_bot (~> 6.4) factory_bot_rails (6.5.0)
railties (>= 5.0.0) factory_bot (~> 6.5)
railties (>= 6.1.0)
ffi (1.17.0) ffi (1.17.0)
font-awesome-sass (6.5.2) font-awesome-sass (6.7.2)
sassc (~> 2.0) sassc (~> 2.0)
globalid (1.2.1) globalid (1.2.1)
activesupport (>= 6.1) activesupport (>= 6.1)
highline (3.0.1) google-protobuf (4.31.1)
bigdecimal
rake (>= 13)
highline (3.1.2)
reline
htmlentities (4.3.4) htmlentities (4.3.4)
i18n (1.14.5) i18n (1.14.7)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (1.0.14) i18n-tasks (1.0.15)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
ast (>= 2.1.0) ast (>= 2.1.0)
erubi erubi
@ -129,17 +166,23 @@ GEM
parser (>= 3.2.2.1) parser (>= 3.2.2.1)
rails-i18n rails-i18n
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.8, >= 1.8.1)
terminal-table (>= 1.5.1) terminal-table (>= 1.5.1)
jaro_winkler (1.5.6) io-console (0.8.0)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jaro_winkler (1.6.1)
jquery-rails (4.6.0) jquery-rails (4.6.0)
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
jquery-ui-rails (7.0.0) jquery-ui-rails (8.0.0)
railties (>= 3.2.16) railties (>= 3.2.16)
json (2.7.2) json (2.12.2)
kramdown (2.4.0) kramdown (2.5.1)
rexml rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
kt-paperclip (7.2.0) kt-paperclip (7.2.0)
@ -148,12 +191,14 @@ GEM
marcel (~> 1.0.1) marcel (~> 1.0.1)
mime-types mime-types
terrapin (~> 0.6.0) terrapin (~> 0.6.0)
language_server-protocol (3.17.0.3) language_server-protocol (3.17.0.5)
libv8-node (21.7.2.0) libv8-node (24.1.0.0)
lint_roller (1.1.0)
listen (3.9.0) listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.22.0) logger (1.7.0)
loofah (2.24.1)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.12.0)
mail (2.8.1) mail (2.8.1)
@ -161,193 +206,223 @@ GEM
net-imap net-imap
net-pop net-pop
net-smtp net-smtp
marcel (1.0.2) marcel (1.0.4)
method_source (1.1.0)
mime-types (3.4.1) mime-types (3.4.1)
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2023.0218.1) mime-types-data (3.2023.0218.1)
mini_mime (1.1.5) mini_mime (1.1.5)
mini_portile2 (2.8.7) mini_portile2 (2.8.9)
mini_racer (0.12.0) mini_racer (0.19.0)
libv8-node (~> 21.7.2.0) libv8-node (~> 24.1.0.0)
minitest (5.23.1) minitest (5.25.5)
minitest-stub-const (0.6) minitest-stub-const (0.6)
mocha (2.1.0) mocha (2.7.1)
ruby2_keywords (>= 0.0.5) ruby2_keywords (>= 0.0.5)
mutex_m (0.3.0)
mysql2 (0.5.6) mysql2 (0.5.6)
net-imap (0.4.12) net-imap (0.5.9)
date date
net-protocol net-protocol
net-pop (0.1.2) net-pop (0.1.2)
net-protocol net-protocol
net-protocol (0.2.2) net-protocol (0.2.2)
timeout timeout
net-smtp (0.5.0) net-smtp (0.5.1)
net-protocol net-protocol
nio4r (2.7.3) nio4r (2.7.4)
nokogiri (1.16.6) nokogiri (1.18.9)
mini_portile2 (~> 2.8.2) mini_portile2 (~> 2.8.2)
racc (~> 1.4) racc (~> 1.4)
parallel (1.25.1) observer (0.1.2)
parser (3.3.3.0) ostruct (0.6.2)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1) ast (~> 2.4.1)
racc racc
pg (1.5.6) pg (1.5.9)
puma (6.4.2) pp (0.6.2)
prettyprint
prettyprint (0.2.0)
prism (1.4.0)
psych (5.2.6)
date
stringio
puma (6.6.0)
nio4r (~> 2.0) nio4r (~> 2.0)
racc (1.8.0) racc (1.8.1)
rack (2.2.9) rack (3.2.0)
rack-mini-profiler (3.3.1) rack-mini-profiler (4.0.1)
rack (>= 1.2.0) rack (>= 1.2.0)
rack-test (2.1.0) rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rack-test (2.2.0)
rack (>= 1.3) rack (>= 1.3)
rails (6.1.7.8) rackup (2.2.1)
actioncable (= 6.1.7.8) rack (>= 3)
actionmailbox (= 6.1.7.8) rails (7.1.5.1)
actionmailer (= 6.1.7.8) actioncable (= 7.1.5.1)
actionpack (= 6.1.7.8) actionmailbox (= 7.1.5.1)
actiontext (= 6.1.7.8) actionmailer (= 7.1.5.1)
actionview (= 6.1.7.8) actionpack (= 7.1.5.1)
activejob (= 6.1.7.8) actiontext (= 7.1.5.1)
activemodel (= 6.1.7.8) actionview (= 7.1.5.1)
activerecord (= 6.1.7.8) activejob (= 7.1.5.1)
activestorage (= 6.1.7.8) activemodel (= 7.1.5.1)
activesupport (= 6.1.7.8) activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 6.1.7.8) railties (= 7.1.5.1)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1)
activesupport (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1)
rails-dom-testing (2.2.0) rails-dom-testing (2.3.0)
activesupport (>= 5.0.0) activesupport (>= 5.0.0)
minitest minitest
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0) rails-html-sanitizer (1.6.2)
loofah (~> 2.21) loofah (~> 2.21)
nokogiri (~> 1.14) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
rails-i18n (7.0.9) rails-i18n (7.0.10)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8) railties (>= 6.0.0, < 8)
rails_autolink (1.1.8) rails_autolink (1.1.8)
actionview (> 3.1) actionview (> 3.1)
activesupport (> 3.1) activesupport (> 3.1)
railties (> 3.1) railties (> 3.1)
railties (6.1.7.8) railties (7.1.5.1)
actionpack (= 6.1.7.8) actionpack (= 7.1.5.1)
activesupport (= 6.1.7.8) activesupport (= 7.1.5.1)
method_source irb
rackup (>= 1.0.0)
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1) rainbow (3.1.1)
rake (13.2.1) rake (13.3.0)
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.11.1) rb-inotify (0.11.1)
ffi (~> 1.0) ffi (~> 1.0)
rbs (2.8.4) rbs (3.9.4)
regexp_parser (2.9.2) logger
reverse_markdown (2.1.1) rdoc (6.14.1)
erb
psych (>= 4.0.0)
regexp_parser (2.10.0)
reline (0.6.1)
io-console (~> 0.5)
reverse_markdown (3.0.0)
nokogiri nokogiri
rexml (3.3.0) rexml (3.4.1)
strscan rspec-expectations (3.13.5)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0) rspec-support (~> 3.13.0)
rspec-support (3.12.0) rspec-support (3.13.4)
rubocop (1.64.1) rubocop (1.78.0)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0) language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 3.3.0.2) parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0) regexp_parser (>= 2.9.3, < 3.0)
rexml (>= 3.2.5, < 4.0) rubocop-ast (>= 1.45.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0) unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.31.3) rubocop-ast (1.45.1)
parser (>= 3.3.1.0) parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0) ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
safe_yaml (1.0.5) sanitize (7.0.0)
sanitize (6.1.1)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.16.8)
sass-embedded (1.89.2)
google-protobuf (~> 4.31)
rake (>= 13)
sassc (2.4.0) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
sassc-rails (2.1.2) sassc-embedded (1.80.4)
railties (>= 4.0.0) sass-embedded (~> 1.80)
sassc (>= 2.0) securerandom (0.4.1)
sprockets (> 3.0)
sprockets-rails
tilt
simplecov (0.13.0) simplecov (0.13.0)
docile (~> 1.1.0) docile (~> 1.1.0)
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov-html (~> 0.10.0) simplecov-html (~> 0.10.0)
simplecov-html (0.10.2) simplecov-html (0.10.2)
solargraph (0.50.0) solargraph (0.56.0)
backport (~> 1.2) backport (~> 1.2)
benchmark benchmark (~> 0.4)
bundler (~> 2.0) bundler (~> 2.0)
diff-lcs (~> 1.4) diff-lcs (~> 1.4)
e2mmap jaro_winkler (~> 1.6, >= 1.6.1)
jaro_winkler (~> 1.5)
kramdown (~> 2.3) kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1) kramdown-parser-gfm (~> 1.1)
logger (~> 1.6)
observer (~> 0.1)
ostruct (~> 0.6)
parser (~> 3.0) parser (~> 3.0)
rbs (~> 2.0) prism (~> 1.4)
reverse_markdown (~> 2.0) rbs (~> 3.3)
reverse_markdown (~> 3.0)
rubocop (~> 1.38) rubocop (~> 1.38)
thor (~> 1.0) thor (~> 1.0)
tilt (~> 2.0) tilt (~> 2.0)
yard (~> 0.9, >= 0.9.24) yard (~> 0.9, >= 0.9.24)
spring (4.2.1) yard-solargraph (~> 0.1)
sprockets (4.2.0) spring (4.3.0)
sprockets (4.2.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
logger
rack (>= 2.2.4, < 4) rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2) sprockets-rails (3.5.2)
actionpack (>= 5.2) actionpack (>= 6.1)
activesupport (>= 5.2) activesupport (>= 6.1)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
sqlite3 (1.6.9) sqlite3 (2.7.3)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
strscan (3.1.0) stringio (3.1.7)
terminal-table (3.0.2) stripe (15.5.0)
unicode-display_width (>= 1.1.1, < 3) terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
terrapin (0.6.0) terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
thor (1.3.1) terser (1.2.6)
tilt (2.3.0) execjs (>= 0.3.0, < 3)
timeout (0.4.1) thor (1.4.0)
tolk (5.0.1) tilt (2.6.0)
rails (>= 6.0) timeout (0.4.3)
safe_yaml (>= 0.8.6) tolk (6.0.0)
rails (>= 7.0, < 7.3)
sprockets-rails (~> 3.4) sprockets-rails (~> 3.4)
tracks-chartjs-ror (3.6.4) tracks-chartjs-ror (3.6.4)
rails (>= 3.1) rails (>= 3.1)
tzinfo (2.0.6) tzinfo (2.0.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
uglifier (4.2.0) unicode-display_width (3.1.4)
execjs (>= 0.3.0, < 3) unicode-emoji (~> 4.0, >= 4.0.4)
unicode-display_width (2.5.0) unicode-emoji (4.0.4)
uniform_notifier (1.16.0) uniform_notifier (1.17.0)
websocket-driver (0.7.6) websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
will_paginate (4.0.1) will_paginate (4.0.1)
yard (0.9.36) yard (0.9.37)
zeitwerk (2.6.15) yard-solargraph (0.1.0)
yard (~> 0.9)
zeitwerk (2.7.3)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
RedCloth RedCloth
aasm (~> 5.5.0) aasm (~> 5.5.1)
actionpack-xml_parser (~> 2.0) actionpack-xml_parser (~> 2.0)
activemodel-serializers-xml (~> 1.0.1) activemodel-serializers-xml (~> 1.0.3)
acts_as_list acts_as_list
bcrypt (~> 3.1.20) bcrypt (~> 3.1.20)
bootstrap-sass (= 3.4.1) bootstrap-sass (= 3.4.1)
@ -355,37 +430,40 @@ DEPENDENCIES
byebug byebug
codeclimate-test-reporter (= 1.0.9) codeclimate-test-reporter (= 1.0.9)
coffee-rails (~> 5.0.0) coffee-rails (~> 5.0.0)
database_cleaner (~> 1) dartsass-sprockets
database_cleaner (~> 2)
factory_bot_rails factory_bot_rails
font-awesome-sass (~> 6.5.2) font-awesome-sass (~> 6.7.2)
htmlentities htmlentities
i18n-tasks (~> 1.0.14) i18n-tasks (~> 1.0.15)
jquery-rails (~> 4.6) jquery-rails (~> 4.6)
jquery-ui-rails (~> 7.0.0) jquery-ui-rails (~> 8.0.0)
kt-paperclip (~> 7.2) kt-paperclip (~> 7.2)
listen listen
mini_racer mini_racer
minitest-stub-const minitest-stub-const
mocha mocha
mysql2 (~> 0.5.6) mysql2 (~> 0.5)
pg (~> 1.5.6) pg (~> 1.5)
puma (~> 6.4) puma (~> 6.6)
rack-mini-profiler rack-mini-profiler
rails (~> 6.1) rails (~> 7.1)
rails-controller-testing rails-controller-testing
rails-dom-testing (~> 2.2.0) rails-dom-testing (~> 2.3.0)
rails_autolink rails_autolink
rexml
rspec-expectations rspec-expectations
rubocop (~> 1.64) rubocop (~> 1.78)
sanitize (~> 6.1) sanitize (~> 7.0)
sassc-rails (~> 2.1.2)
simplecov simplecov
solargraph solargraph
spring (~> 4) spring (~> 4)
sqlite3 sprockets-rails
tolk (~> 5.0.1) sqlite3 (~> 2.7)
stripe
terser
tolk (~> 6.0.0)
tracks-chartjs-ror tracks-chartjs-ror
uglifier (>= 1.3.0)
will_paginate will_paginate
yard yard

View file

@ -13,7 +13,6 @@
* Hosted services: https://github.com/TracksApp/tracks/wiki/Hosted-Tracks * Hosted services: https://github.com/TracksApp/tracks/wiki/Hosted-Tracks
* Bug reports and feature requests: https://github.com/TracksApp/tracks/issues * Bug reports and feature requests: https://github.com/TracksApp/tracks/issues
* Mailing list: http://groups.google.com/group/TracksApp * Mailing list: http://groups.google.com/group/TracksApp
* IRC channel: #tracks on Libera, available also on [Matrix](https://matrix.to/#/#tracks:matrix.org)
* License: See COPYING * License: See COPYING
Full instructions for both new installations and upgrades from older installations Full instructions for both new installations and upgrades from older installations

View file

@ -0,0 +1,40 @@
/* Traditional Chinese (Taiwan) initialisation for the jQuery UI date picker plugin. */
/* Written by Claude Code for Tracks application. */
( function( factory ) {
"use strict";
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define( [ "../widgets/datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
} )( function( datepicker ) {
"use strict";
datepicker.regional["zh-TW"] = {
closeText: "關閉",
prevText: "上一月",
nextText: "下一月",
currentText: "今天",
monthNames: [ "一月", "二月", "三月", "四月", "五月", "六月",
"七月", "八月", "九月", "十月", "十一月", "十二月" ],
monthNamesShort: [ "1月", "2月", "3月", "4月", "5月", "6月",
"7月", "8月", "9月", "10月", "11月", "12月" ],
dayNames: [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ],
dayNamesShort: [ "日", "一", "二", "三", "四", "五", "六" ],
dayNamesMin: [ "日", "一", "二", "三", "四", "五", "六" ],
weekHeader: "週",
dateFormat: "yy/mm/dd",
firstDay: 0,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: "年" };
datepicker.setDefaults( datepicker.regional["zh-TW"] );
return datepicker.regional["zh-TW"];
} );

View file

@ -10,9 +10,9 @@
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives. // about supported directives.
// //
//= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require bootstrap-sprockets //= require jquery3
//= require bootstrap
//= require jquery-ui/widgets/autocomplete //= require jquery-ui/widgets/autocomplete
//= require jquery-ui/widgets/datepicker //= require jquery-ui/widgets/datepicker

View file

@ -21,7 +21,6 @@
} }
.bootstrap { .bootstrap {
@import "bootstrap-sprockets";
@import "bootstrap"; @import "bootstrap";
@import "tracks-logo"; @import "tracks-logo";
@import "login"; @import "login";

View file

@ -1,5 +1,5 @@
require_dependency "login_system" require_dependency "login_system"
require_dependency "tracks/source_view" require_dependency "tracks/source_view_switching"
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception. # Prevent CSRF attacks by raising an exception.

View file

@ -36,7 +36,7 @@ class FeedlistController < ApplicationController
def get_feeds_for(object) def get_feeds_for(object)
respond_to do |format| respond_to do |format|
format.html { render :file => "feedlist/get_feeds_for_#{object.class.name.downcase}" } format.html { render :template => "feedlist/get_feeds_for_#{object.class.name.downcase}" }
format.js format.js
end end
end end

View file

@ -863,8 +863,10 @@ class TodosController < ApplicationController
end end
@single_tag = @tag_expr.size == 1 && @tag_expr[0].size == 1 @single_tag = @tag_expr.size == 1 && @tag_expr[0].size == 1
@tag_name = @tag_expr[0][0]
@tag_title = @single_tag ? @tag_name : tag_title(@tag_expr) # These are used in the templates, sanitise to prevent XSS.
@tag_name = sanitize(@tag_expr[0][0])
@tag_title = sanitize(@single_tag ? @tag_name : tag_title(@tag_expr))
end end
def filter_format_for_tag_view def filter_format_for_tag_view

View file

@ -81,13 +81,15 @@ class UsersController < ApplicationController
end end
unless params['approve_tos'] == 'on' || SITE_CONFIG['tos_link'].blank? unless params['approve_tos'] == 'on' || SITE_CONFIG['tos_link'].blank?
render_failure "You have to accept the terms of service to sign up!" notify :error, t('users.tos_error')
redirect_to signup_path
return return
end end
user = User.new(user_params) user = User.new(user_params)
unless user.valid? unless user.valid?
notify :error, t('users.create_error')
redirect_to signup_path redirect_to signup_path
return return
end end

View file

@ -11,7 +11,7 @@ xml.rss :version => "2.0" do
xml.item do xml.item do
xml.title h(context.title) xml.title h(context.title)
xml.description context_summary(context, count_undone_todos_phrase(context)) xml.description context_summary(context, count_undone_todos_phrase(context))
xml.pubDate context.created_at.to_s(:rfc822) xml.pubDate context.created_at.to_formatted_s(:rfc822)
xml.link context_url(context) xml.link context_url(context)
xml.guid context_url(context) xml.guid context_url(context)
end end

View file

@ -7,14 +7,14 @@
<%= javascript_include_tag "application" %> <%= javascript_include_tag "application" %>
<%= csrf_meta_tags %> <%= csrf_meta_tags %>
<script type="text/javascript"> <script type="text/javascript">
var SOURCE_VIEW = '<%=@source_view%>'; var SOURCE_VIEW = '<%=j @source_view %>';
var AUTH_TOKEN = '<%= raw(protect_against_forgery? ? form_authenticity_token.inspect : "") %>' var AUTH_TOKEN = '<%=j raw(protect_against_forgery? ? form_authenticity_token.inspect : "") %>'
var TAG_NAME = '<%= @tag_name ? @tag_name : "" %>' var TAG_NAME = '<%=j @tag_name ? @tag_name : "" %>'
var GROUP_VIEW_BY = '<%= @group_view_by ? @group_view_by : "" %>' var GROUP_VIEW_BY = '<%=j @group_view_by ? @group_view_by : "" %>'
var defaultContexts = <%= default_contexts_for_autocomplete.html_safe rescue '{}' %>; var defaultContexts = <%= default_contexts_for_autocomplete.html_safe rescue '{}' %>;
var defaultTags = <%= default_tags_for_autocomplete.html_safe rescue '{}' %>; var defaultTags = <%= default_tags_for_autocomplete.html_safe rescue '{}' %>;
var dateFormat = '<%= date_format_for_date_picker %>'; var dateFormat = '<%=j date_format_for_date_picker %>';
var weekStart = '<%= current_user.prefs.week_starts %>'; var weekStart = '<%=j current_user.prefs.week_starts %>';
function relative_to_root(path) { return '<%= root_url %>'+path; }; function relative_to_root(path) { return '<%= root_url %>'+path; };
<% if current_user.prefs.refresh != 0 -%> <% if current_user.prefs.refresh != 0 -%>
setup_auto_refresh(<%= current_user.prefs["refresh"].to_i*60000 %>); setup_auto_refresh(<%= current_user.prefs["refresh"].to_i*60000 %>);

View file

@ -86,7 +86,7 @@ var <%=object_name%> = {
return "<%= source_view_is_one_of(:project_list, :review) ? js_render('project_listing', {:suppress_drag_handle => source_view_is(:review)}, @project) : "" %>"; return "<%= source_view_is_one_of(:project_list, :review) ? js_render('project_listing', {:suppress_drag_handle => source_view_is(:review)}, @project) : "" %>";
}, },
html_for_sidebar: function() { html_for_sidebar: function() {
return "<%= source_view_is(:project) ? escape_javascript(render(:file => 'sidebar/sidebar')) : "" %>"; return "<%= source_view_is(:project) ? escape_javascript(render(:template => 'sidebar/sidebar.html.erb')) : "" %>";
}, },
html_for_project_settings: function() { html_for_project_settings: function() {
return "<%= source_view_is(:project) ? js_render('project_settings', {}, @project) : "" %>"; return "<%= source_view_is(:project) ? js_render('project_settings', {}, @project) : "" %>";

View file

@ -4,8 +4,8 @@
unless @further unless @further
-%> -%>
<%= raw t('stats.click_to_show_actions_from_week', <%= raw t('stats.click_to_show_actions_from_week',
:link => link_to("here", show_actions_from_chart_path(:id=>"#{params[:id]}_end", :index => params[:index])), :link => link_to("here", show_actions_from_chart_path(:id=>"#{params[:id].to_i}_end", :index => params[:index].to_i)),
:week => params[:index]) :week => params[:index].to_i)
-%> -%>
<% <%
end end

View file

@ -11,7 +11,7 @@ xml.rss :version => "2.0" do
xml.item do xml.item do
xml.title h(todo.description) xml.title h(todo.description)
xml.description feed_content_for_todo(todo) xml.description feed_content_for_todo(todo)
xml.pubDate todo.created_at.to_s(:rfc822) xml.pubDate todo.created_at.to_formatted_s(:rfc822)
xml.link (todo.project && !todo.project.is_a?(NullProject)) ? project_url(todo.project) : context_url(todo.context) xml.link (todo.project && !todo.project.is_a?(NullProject)) ? project_url(todo.project) : context_url(todo.context)
xml.guid todo_url(todo) xml.guid todo_url(todo)
end end

View file

@ -9,5 +9,5 @@ if [ -e $SCRIPTPATH/../.use-docker -a ! -e /etc/app-env ];
then then
$SCRIPTPATH/../script/docker-environment $0 "$@" $SCRIPTPATH/../script/docker-environment $0 "$@"
else else
$SCRIPTPATH/run-rake "$@" bundle exec rake "$@"
fi fi

View file

@ -12,7 +12,7 @@ SITE_CONFIG = YAML.load_file(File.join(File.dirname(__FILE__), 'site.yml'))
module Tracksapp module Tracksapp
class Application < Rails::Application class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version. # Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.1 config.load_defaults 7.0
# Settings in config/environments/* take precedence over those specified here. # Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers # Application configuration can go into files in config/initializers
@ -21,8 +21,7 @@ module Tracksapp
# Custom directories with classes and modules you want to be autoloadable. # Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras) # config.autoload_paths += %W(#{config.root}/extras)
config.autoload_paths += %W(#{config.root}/lib) config.autoload_lib(ignore: %w(assets tasks))
config.eager_load_paths += %W(#{config.root}/lib)
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.

View file

@ -1,26 +1,26 @@
test: test:
adapter: <%= ENV.fetch('DATABASE_TYPE') %> adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %> encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV.fetch('DATABASE_NAME') %> database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV.fetch('DATABASE_HOST') %> host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV.fetch('DATABASE_PORT') %> port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV.fetch('DATABASE_USERNAME') %> username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %> password: <%= ENV['DATABASE_PASSWORD'] %>
development: development:
adapter: <%= ENV.fetch('DATABASE_TYPE') %> adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %> encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV.fetch('DATABASE_NAME') %> database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV.fetch('DATABASE_HOST') %> host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV.fetch('DATABASE_PORT') %> port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV.fetch('DATABASE_USERNAME') %> username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %> password: <%= ENV['DATABASE_PASSWORD'] %>
production: production:
adapter: <%= ENV.fetch('DATABASE_TYPE') %> adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %> encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV.fetch('DATABASE_NAME') %> database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV.fetch('DATABASE_HOST') %> host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV.fetch('DATABASE_PORT') %> port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV.fetch('DATABASE_USERNAME') %> username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %> password: <%= ENV['DATABASE_PASSWORD'] %>

View file

@ -23,7 +23,7 @@ Rails.application.configure do
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS. # Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier config.assets.js_compressor = Terser.new
# config.assets.css_compressor = :sass # config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed. # Do not fallback to assets pipeline if a precompiled asset is missed.

View file

@ -23,7 +23,7 @@ Rails.application.configure do
config.action_controller.perform_caching = false config.action_controller.perform_caching = false
# Raise exceptions instead of rendering exception templates. # Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false config.action_dispatch.show_exceptions = :none
# Disable request forgery protection in test environment. # Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false config.action_controller.allow_forgery_protection = false

View file

@ -7,3 +7,11 @@ Rails.application.config.assets.version = '1.0'
# Rails.application.config.assets.paths << Emoji.images_path # Rails.application.config.assets.paths << Emoji.images_path
# Add Yarn node_modules folder to the asset load path. # Add Yarn node_modules folder to the asset load path.
Rails.application.config.assets.paths << Rails.root.join('node_modules') Rails.application.config.assets.paths << Rails.root.join('node_modules')
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
# Precompile jQuery UI datepicker locale files
Rails.application.config.assets.precompile += Dir[Rails.root.join('app/assets/javascripts-jquery-ui/datepicker-*.js')].map { |f| File.basename(f) }

View file

@ -1,3 +1,3 @@
TRACKS_VERSION='2.7' TRACKS_VERSION='2.7.1'
TRACKS_REVISION_WITH_DATE=`git log --date=format:'%Y-%m-%d' --pretty=format:"%h @ %ad" -1` TRACKS_REVISION_WITH_DATE=`git log --date=format:'%Y-%m-%d' --pretty=format:"%h @ %ad" -1`
TRACKS_REVISION=`git log --pretty=format:"%h" -1` TRACKS_REVISION=`git log --pretty=format:"%h" -1`

View file

@ -472,7 +472,7 @@ de:
)'" )'"
'3': 'Go to %{preferences_link} and enter your incoming Mailgun email address '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address
(e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
'4': 'Select a default context for emails to be put in with "%{sms_context_name"' '4': 'Select a default context for emails to be put in with "%{sms_context_name}"'
'5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'" '5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
'6': "Update the mailmap in 'site.yml' to define which senders can send emails\ '6': "Update the mailmap in 'site.yml' to define which senders can send emails\
\ to which incoming addresses. For example, to send emails from your work\ \ to which incoming addresses. For example, to send emails from your work\

View file

@ -1281,6 +1281,7 @@ en:
change_password_title: TRACKS::Change password change_password_title: TRACKS::Change password
choose_password: Choose password choose_password: Choose password
confirm_password: Confirm password confirm_password: Confirm password
create_error: User creation failed, maybe you already have an account here?
desired_login: Desired login desired_login: Desired login
destroy_confirmation: 'Warning: this will delete user ''%{login}'', all their destroy_confirmation: 'Warning: this will delete user ''%{login}'', all their
actions, contexts, project and notes. Are you sure that you want to continue?' actions, contexts, project and notes. Are you sure that you want to continue?'
@ -1315,6 +1316,7 @@ en:
signup_successful: Signup successful for user %{username}. signup_successful: Signup successful for user %{username}.
successfully_deleted_user: Successfully deleted user %{username} successfully_deleted_user: Successfully deleted user %{username}
tos_link: read the Terms of Service tos_link: read the Terms of Service
tos_error: You have to accept the terms of service to sign up!
total_actions: Total actions total_actions: Total actions
total_contexts: Total contexts total_contexts: Total contexts
total_notes: Total notes total_notes: Total notes

View file

@ -133,7 +133,7 @@ es:
not_available_abbr: n/d not_available_abbr: n/d
note: note:
one: 1 nota one: 1 nota
other: "%{count} notas" other: '%{count} notas'
zero: 0 notas zero: 0 notas
notes: Notas notes: Notas
numbered_step: Paso %{number} numbered_step: Paso %{number}
@ -1347,6 +1347,8 @@ es:
user_created: User created. user_created: User created.
you_have_to_reset_your_password: Usted tiene que restablecer su contraseña you_have_to_reset_your_password: Usted tiene que restablecer su contraseña
manage_users_title: TRACKS::Gestión de usuarios manage_users_title: TRACKS::Gestión de usuarios
create_error: La creación de usuario falló, ¿quizás ya tienes una cuenta aquí?
tos_error: ¡Tienes que aceptar los términos del servicio para registrarte!
will_paginate: will_paginate:
next_label: Siguiente » next_label: Siguiente »
page_entries_info: page_entries_info:

View file

@ -132,7 +132,7 @@ fi:
not_available_abbr: ei not_available_abbr: ei
note: note:
one: 1 muistiinpano one: 1 muistiinpano
other: "%{count} muistiinpanoa" other: '%{count} muistiinpanoa'
zero: ei muistiinpanoja zero: ei muistiinpanoja
notes: Muistiinpanot notes: Muistiinpanot
numbered_step: Askel %{number} numbered_step: Askel %{number}
@ -1268,7 +1268,7 @@ fi:
tickler_items_due: tickler_items_due:
one: Yksi muistilistan merkintä on nyt ajankohtainen päivitä sivu nähdäksesi one: Yksi muistilistan merkintä on nyt ajankohtainen päivitä sivu nähdäksesi
sen. sen.
other: '{%count} muistilistan merkintää on nyt ajankohtaisia päivitä sivu other: '%{count} muistilistan merkintää on nyt ajankohtaisia päivitä sivu
nähdäksesi ne.' nähdäksesi ne.'
to_tickler: muistilistaan to_tickler: muistilistaan
unable_to_add_dependency: Riippuvuuden lisääminen epäonnistui unable_to_add_dependency: Riippuvuuden lisääminen epäonnistui
@ -1331,6 +1331,9 @@ fi:
total_users_count: Sinulla on yhteensä %{count} käyttäjää total_users_count: Sinulla on yhteensä %{count} käyttäjää
user_created: Käyttäjä luotu. user_created: Käyttäjä luotu.
you_have_to_reset_your_password: Palauta salasanasi you_have_to_reset_your_password: Palauta salasanasi
create_error: Tunnuksen luominen epäonnistui, ehkä sinulla on jo käyttäjätunnus
täällä?
tos_error: Sinun täytyy hyväksyä käyttöehdot rekisteröityäksesi!
will_paginate: will_paginate:
next_label: Seuraava &#8594; next_label: Seuraava &#8594;
page_entries_info: page_entries_info:

View file

@ -921,7 +921,7 @@ fr:
delete: Supprimer delete: Supprimer
delete_action: Supprimer action delete_action: Supprimer action
delete_recurring_action_confirm: Êtes-vous sûr·e de vouloir supprimer l'action delete_recurring_action_confirm: Êtes-vous sûr·e de vouloir supprimer l'action
récurrente « % {description} » ? récurrente « %{description} » ?
delete_recurring_action_title: Supprimer l'action récurrente delete_recurring_action_title: Supprimer l'action récurrente
deleted_success: Action supprimée avec succès. deleted_success: Action supprimée avec succès.
depends_on: Dépend de depends_on: Dépend de

View file

@ -424,7 +424,7 @@ nl:
)'" )'"
'3': 'Go to %{preferences_link} and enter your incoming Mailgun email address '3': 'Go to %{preferences_link} and enter your incoming Mailgun email address
(e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.' (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
'4': 'Select a default context for emails to be put in with "%{sms_context_name"' '4': 'Select a default context for emails to be put in with "%{sms_context_name}"'
'5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'" '5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
'6': "Update the mailmap in 'site.yml' to define which senders can send emails '6': "Update the mailmap in 'site.yml' to define which senders can send emails
to which incoming addresses. For example, to send emails from your work to which incoming addresses. For example, to send emails from your work

View file

@ -459,7 +459,7 @@ ru:
интернета. Тогда Mailgun сможет отправлять на него данные. интернета. Тогда Mailgun сможет отправлять на него данные.
description: Если вы хотите отправлять письма в Tracks, но не можете запустить description: Если вы хотите отправлять письма в Tracks, но не можете запустить
почтовый сервер на том же сервере, то можно использовать встроенную в Tracks почтовый сервер на том же сервере, то можно использовать встроенную в Tracks
поддержку {mailgun_link}. поддержку %{mailgun_link}.
example_names: example_names:
tag: tag:
'2': метка2 '2': метка2

View file

@ -35,7 +35,7 @@ tr:
etiketlerinizi ve notlarınızı içerir etiketlerinizi ve notlarınızı içerir
csv_notes_title: CSV dosyası (sadece notlar) csv_notes_title: CSV dosyası (sadece notlar)
xml_link_title: XML dosyası (sadece eylemler) xml_link_title: XML dosyası (sadece eylemler)
yaml_description: ':{yaml}: Dışarı aktarmak için en iyisidir.' yaml_description: '%{yaml}: Dışarı aktarmak için en iyisidir.'
download_link: İndirme bağlantısı download_link: İndirme bağlantısı
yaml_link_title: YAML dosyası yaml_link_title: YAML dosyası
xml_description: '%{xml}: Veri aktarımı ve düzenleme için en iyisidir' xml_description: '%{xml}: Veri aktarımı ve düzenleme için en iyisidir'
@ -148,7 +148,7 @@ tr:
other: Günler other: Günler
note: note:
one: Not yok one: Not yok
other: 1 not var other: '%{count} not var'
actions_midsentence: actions_midsentence:
one: eylem one: eylem
other: eylemler other: eylemler

352
config/locales/zh-TW.yml Normal file
View file

@ -0,0 +1,352 @@
# Traditional Chinese (Taiwan) locale for Tracks
# 繁體中文 (台灣) 語言包
zh-TW:
activerecord:
attributes:
note:
created_at: 建立於
updated_at: 更新於
preference:
date_format: 日期格式
due_style: 到期樣式
first_name: 名字
last_name: 姓氏
email: 電子郵件
locale: 語言
mobile_todos_per_page: 每頁動作數 (行動版)
refresh: 重新整理間隔 (分鐘)
review_period: 專案檢視間隔
show_completed_projects_in_sidebar: 在側邊欄顯示已完成的專案
show_hidden_contexts_in_sidebar: 在側邊欄顯示隱藏的情境
show_hidden_projects_in_sidebar: 在側邊欄顯示隱藏的專案
show_number_completed: 顯示已完成的動作數量
show_project_on_todo_done: 完成待辦事項時進入專案頁面
sms_context: 預設電子郵件情境
sms_email: 寄件者電子郵件
staleness_starts: 過期開始時間
theme: 主題
time_zone: 時區
title_date_format: 標題日期格式
verbose_action_descriptors: 以詳細形式顯示動作的描述 (情境、專案)
week_starts: 每週開始於
project:
default_context_name: 預設情境
default_tags: 預設標籤
description: 描述
name: 名稱
todo:
context: 情境
description: 描述
due: 到期
notes: 備註
predecessors: 依賴於
project: 專案
show_from: 顯示開始時間
tags: 標籤
user:
auth_type: 驗證類型
created_at: 建立於
display_name: 顯示名稱
email: 電子郵件地址
first_name: 名字
last_login_at: 上次登入時間
last_name: 姓氏
login: 登入名稱
open_id_url: OpenID 網址
password: 密碼
errors:
full_messages:
format: "%{attribute} %{message}"
messages:
accepted: 必須被接受
blank: 不能為空
confirmation: 與確認不符
empty: 不能為空
equal_to: '必須等於 %{count}'
even: 必須為偶數
exclusion: 被保留使用
greater_than: '必須大於 %{count}'
greater_than_or_equal_to: '必須大於或等於 %{count}'
inclusion: 不在清單中
invalid: 無效
less_than: '必須小於 %{count}'
less_than_or_equal_to: '必須小於或等於 %{count}'
not_a_number: 不是數字
odd: 必須為奇數
record_invalid: '驗證失敗:%{errors}'
restrict_dependent_destroy:
has_one: '無法刪除記錄,因為存在相依的 %{record}'
has_many: '無法刪除記錄,因為存在相依的 %{record}'
taken: 已被使用
too_long: '太長了 (最多 %{count} 個字元)'
too_short: '太短了 (最少 %{count} 個字元)'
wrong_length: '長度錯誤 (應為 %{count} 個字元)'
models:
project:
attributes:
name:
blank: 專案必須有名稱
taken: 已存在
too_long: 專案名稱必須少於 256 個字元
template:
body: 下列欄位有問題:
header:
one: '1 個錯誤阻止了 %{model} 的儲存'
other: '%{count} 個錯誤阻止了 %{model} 的儲存'
common:
action: 動作
actions: 動作
actions_midsentence:
one: 動作
other: 動作
zero: 動作
add: 新增
ajaxError: 從伺服器取得資料時發生錯誤
back: 返回
bugs: 錯誤回報
cancel: 取消
collapse_expand: 摺疊/展開
context: 情境
contexts: 情境
contribute: 貢獻
create: 建立
days_midsentence:
one:
other:
zero:
deferred: 延期
description: 描述
drag_handle: 拖曳
email: 電子郵件
errors_with_fields: 下列欄位有問題:
first: 第一個
forth: 第四個
fourth: 第四個
go_back: 返回
last: 最後一個
logout: 登出
mailing_list: 郵寄清單
month:
months:
next: 下一個
none:
not_available_abbr:
note:
one: 1 個備註
other: "%{count} 個備註"
zero: 無備註
notes: 備註
numbered_step: '步驟 %{number}'
ok: 確定
optional: 選填
previous: 前一個
project: 專案
projects: 專案
recurring_todos: 重複動作
review: 檢視
search: 搜尋
second: 第二個
server_error: 伺服器發生錯誤。
show_all: 顯示全部
sort:
alphabetically: 依字母排序
alphabetically_confirm: 您確定要依字母順序排列這些專案嗎?這會取代現有的排序順序。
alphabetically_title: 依字母順序排列專案
by_task_count: 依任務數量排序
by_task_count_title: 依任務數量排序
by_task_count_title_confirm: 您確定要依任務數量排列這些專案嗎?這會取代現有的排序順序。
sort: 排序
third: 第三個
todo: 待辦事項
update: 更新
website: 網站
week:
weeks:
wiki: Wiki
login:
account_login: 帳戶登入
please_login: 請登入以使用 Tracks
sign_in: 登入
successful: 登入成功。歡迎回來!
unsuccessful: 登入失敗。
logout: 登出
logged_out: 您已從 Tracks 登出。
layouts:
navigation:
home: 首頁
contexts_title: 情境
projects_title: 專案
calendar: 日曆
calendar_title: 到期動作的日曆
completed_tasks: 已完成
completed_tasks_title: 已完成
starred: 已標星
starred_title: 查看您已標星的動作
preferences: 偏好設定
preferences_title: 顯示我的偏好設定
help: "?"
help_page: 說明
todos:
next_actions_title: Tracks - 下一步動作
action_saved: 動作已儲存
action_marked_complete: '動作 <strong>"%{description}"</strong> 已標記為 <strong>%{completed}</strong>'
confirm_delete: '您確定要刪除動作 "%{description}" 嗎?'
deleted_success: 動作已成功刪除。
edit_action: 編輯動作
delete_action: 刪除動作
mark_complete: 標記完成
due: 到期
context: 情境
project: 專案
tags: 標籤 (用逗號分隔)
notes: 備註
show_from: 顯示開始時間
completed: 已完成
no_actions:
not_done: 目前沒有未完成動作
completed: 目前沒有已完成動作
title: 找不到動作
contexts:
add_context: 新增情境
context_name: 情境名稱
save_status_message: 情境已儲存
delete_context: 刪除情境
delete_context_confirmation: '您確定要刪除情境 "%{name}" 嗎?請注意,這也會刪除此情境中的所有(重複)動作!'
context_deleted: '已刪除情境 "%{name}"'
edit_context: 編輯情境
show_form: 建立新情境
hide_form: 隱藏表單
projects:
add_project: 新增專案
project_saved_status: 專案已儲存
delete_project: 刪除專案
delete_project_confirmation: '您確定要刪除專案 "%{name}" 嗎?'
project_destroyed_status: '已刪除專案 "%{name}"'
edit_project_title: 編輯專案
show_form: 新增專案
hide_form: 隱藏表單
notes: 備註
add_note: 新增備註
add_note_submit: 新增備註
settings: 設定
preferences:
title: 您的偏好設定
edit_preferences: 編輯偏好設定
updated: 偏好設定已更新
tabs:
profile: 個人檔案
authentication: 驗證
date_and_time: 日期和時間
tracks_behavior: Tracks 行為
remove_account: 移除帳戶
help:
title: 說明
usage: '您可以在專案 GitHub wiki 的 %{manual_link} 中找到使用資訊。'
manual_link_text: 使用手冊
bugs: '如果您遇到錯誤或有功能請求,請在 %{issue_link} 中回報。'
issue_link_text: 問題佇列
date:
abbr_day_names:
-
-
-
-
-
-
-
day_names:
- 星期日
- 星期一
- 星期二
- 星期三
- 星期四
- 星期五
- 星期六
abbr_month_names:
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
month_names:
-
- 一月
- 二月
- 三月
- 四月
- 五月
- 六月
- 七月
- 八月
- 九月
- 十月
- 十一月
- 十二月
formats:
default: "%Y-%m-%d"
long: "%Y年%m月%d日"
short: "%m月%d日"
order:
- :year
- :month
- :day
time:
am: 上午
pm: 下午
formats:
default: "%a, %d %b %Y %H:%M:%S %z"
long: "%Y年%m月%d日 %H:%M"
short: "%m月%d日 %H:%M"
number:
format:
delimiter: ","
separator: "."
currency:
format:
unit: "$"
delimiter: ","
separator: "."
format: "%u%n"
errors:
format: "%{attribute} %{message}"
messages:
accepted: 必須被接受
blank: 不能為空
confirmation: '與 %{attribute} 不符'
empty: 不能為空
equal_to: '必須等於 %{count}'
even: 必須為偶數
exclusion: 被保留使用
greater_than: '必須大於 %{count}'
greater_than_or_equal_to: '必須大於或等於 %{count}'
inclusion: 不在清單中
invalid: 無效
less_than: '必須小於 %{count}'
less_than_or_equal_to: '必須小於或等於 %{count}'
not_a_number: 不是數字
not_an_integer: 必須是整數
odd: 必須為奇數
other_than: '必須不同於 %{count}'
present: 必須為空白
taken: 已被使用
too_long: '太長了 (最多 %{count} 個字元)'
too_short: '太短了 (最少 %{count} 個字元)'
wrong_length: '長度錯誤 (應為 %{count} 個字元)'
users:
signup: 註冊
signup_successful: '用戶 %{username} 註冊成功。'
create_error: 用戶建立失敗,也許您在這裡已經有帳戶?
user_created: 用戶已建立。
choose_password: 選擇密碼
confirm_password: 確認密碼
email_address: 電子郵件地址
change_password: 變更您的密碼
password_updated: 密碼已更新。

View file

@ -2,30 +2,33 @@
# of editing this file, please use the migrations feature of Active Record to # of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition. # incrementally modify your database, and then regenerate this schema definition.
# #
# Note that this schema.rb definition is the authoritative source for your # This file is the source Rails uses to define your schema when running `bin/rails
# database schema. If you need to create the application database on another # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# system, you should be using db:schema:load, not running all the migrations # be faster and is potentially less error prone than running all of your
# from scratch. The latter is a flawed and unsustainable approach (the more migrations # migrations from scratch. Old migrations may fail to apply correctly if those
# you'll amass, the slower it'll run and the greater likelihood for issues). # migrations use external dependencies or application code.
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_08_20_000743) do ActiveRecord::Schema.define(version: 2020_08_20_000743) do
create_table "attachments", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| # These are extensions that must be enabled in order to support this database
t.integer "todo_id" enable_extension "plpgsql"
create_table "attachments", force: :cascade do |t|
t.bigint "todo_id"
t.string "file_file_name" t.string "file_file_name"
t.string "file_content_type" t.string "file_content_type"
t.integer "file_file_size" t.bigint "file_file_size"
t.datetime "file_updated_at" t.datetime "file_updated_at"
t.datetime "created_at" t.datetime "created_at", null: false
t.datetime "updated_at" t.datetime "updated_at", null: false
t.index ["todo_id"], name: "index_attachments_on_todo_id" t.index ["todo_id"], name: "index_attachments_on_todo_id"
end end
create_table "contexts", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "contexts", force: :cascade do |t|
t.string "name", null: false t.string "name", null: false
t.integer "position", default: 0 t.integer "position"
t.integer "user_id", default: 1 t.integer "user_id", default: 1
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
@ -34,7 +37,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_contexts_on_user_id" t.index ["user_id"], name: "index_contexts_on_user_id"
end end
create_table "dependencies", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "dependencies", force: :cascade do |t|
t.integer "successor_id", null: false t.integer "successor_id", null: false
t.integer "predecessor_id", null: false t.integer "predecessor_id", null: false
t.string "relationship_type" t.string "relationship_type"
@ -42,7 +45,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["successor_id"], name: "index_dependencies_on_successor_id" t.index ["successor_id"], name: "index_dependencies_on_successor_id"
end end
create_table "notes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "notes", force: :cascade do |t|
t.integer "user_id", null: false t.integer "user_id", null: false
t.integer "project_id", null: false t.integer "project_id", null: false
t.text "body" t.text "body"
@ -52,7 +55,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_notes_on_user_id" t.index ["user_id"], name: "index_notes_on_user_id"
end end
create_table "open_id_authentication_associations", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "open_id_authentication_associations", force: :cascade do |t|
t.integer "issued" t.integer "issued"
t.integer "lifetime" t.integer "lifetime"
t.string "handle" t.string "handle"
@ -61,13 +64,13 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.binary "secret" t.binary "secret"
end end
create_table "open_id_authentication_nonces", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "open_id_authentication_nonces", force: :cascade do |t|
t.integer "timestamp", null: false t.integer "timestamp", null: false
t.string "server_url" t.string "server_url"
t.string "salt", null: false t.string "salt", null: false
end end
create_table "preferences", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "preferences", force: :cascade do |t|
t.integer "user_id", null: false t.integer "user_id", null: false
t.string "date_format", limit: 40, default: "%d/%m/%Y", null: false t.string "date_format", limit: 40, default: "%d/%m/%Y", null: false
t.integer "week_starts", default: 0, null: false t.integer "week_starts", default: 0, null: false
@ -79,9 +82,9 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.integer "refresh", default: 0, null: false t.integer "refresh", default: 0, null: false
t.boolean "verbose_action_descriptors", default: false, null: false t.boolean "verbose_action_descriptors", default: false, null: false
t.boolean "show_hidden_projects_in_sidebar", default: true, null: false t.boolean "show_hidden_projects_in_sidebar", default: true, null: false
t.string "time_zone", default: "London", null: false t.string "time_zone", limit: 255, default: "London", null: false
t.boolean "show_project_on_todo_done", default: false, null: false t.boolean "show_project_on_todo_done", default: false, null: false
t.string "title_date_format", default: "%A, %d %B %Y", null: false t.string "title_date_format", limit: 255, default: "%A, %d %B %Y", null: false
t.integer "mobile_todos_per_page", default: 6, null: false t.integer "mobile_todos_per_page", default: 6, null: false
t.string "sms_email" t.string "sms_email"
t.integer "sms_context_id" t.integer "sms_context_id"
@ -91,11 +94,11 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_preferences_on_user_id" t.index ["user_id"], name: "index_preferences_on_user_id"
end end
create_table "projects", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "projects", force: :cascade do |t|
t.string "name", null: false t.string "name", null: false
t.integer "position", default: 0 t.integer "position"
t.integer "user_id", default: 1 t.integer "user_id", default: 1
t.text "description", limit: 16777215 t.text "description"
t.string "state", limit: 20, null: false t.string "state", limit: 20, null: false
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
@ -109,12 +112,12 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_projects_on_user_id" t.index ["user_id"], name: "index_projects_on_user_id"
end end
create_table "recurring_todos", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "recurring_todos", force: :cascade do |t|
t.integer "user_id", default: 1 t.integer "user_id", default: 1
t.integer "context_id", null: false t.integer "context_id", null: false
t.integer "project_id" t.integer "project_id"
t.string "description", null: false t.string "description", null: false
t.text "notes", limit: 16777215 t.text "notes"
t.string "state", limit: 20, null: false t.string "state", limit: 20, null: false
t.datetime "start_from" t.datetime "start_from"
t.string "ends_on" t.string "ends_on"
@ -133,21 +136,21 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.integer "every_count" t.integer "every_count"
t.integer "weekday" t.integer "weekday"
t.datetime "completed_at" t.datetime "completed_at"
t.datetime "created_at" t.datetime "created_at", null: false
t.datetime "updated_at" t.datetime "updated_at", null: false
t.boolean "show_always" t.boolean "show_always"
t.index ["state"], name: "index_recurring_todos_on_state" t.index ["state"], name: "index_recurring_todos_on_state"
t.index ["user_id"], name: "index_recurring_todos_on_user_id" t.index ["user_id"], name: "index_recurring_todos_on_user_id"
end end
create_table "sessions", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "sessions", force: :cascade do |t|
t.string "session_id" t.string "session_id"
t.text "data" t.text "data"
t.datetime "updated_at" t.datetime "updated_at"
t.index ["session_id"], name: "sessions_session_id_index" t.index ["session_id"], name: "index_sessions_on_session_id"
end end
create_table "taggings", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "taggings", force: :cascade do |t|
t.integer "taggable_id" t.integer "taggable_id"
t.integer "tag_id" t.integer "tag_id"
t.string "taggable_type" t.string "taggable_type"
@ -156,7 +159,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["taggable_id", "taggable_type"], name: "index_taggings_on_taggable_id_and_taggable_type" t.index ["taggable_id", "taggable_type"], name: "index_taggings_on_taggable_id_and_taggable_type"
end end
create_table "tags", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "tags", force: :cascade do |t|
t.string "name" t.string "name"
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
@ -164,11 +167,11 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["name"], name: "index_tags_on_name" t.index ["name"], name: "index_tags_on_name"
end end
create_table "todos", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "todos", force: :cascade do |t|
t.integer "context_id", null: false t.integer "context_id", null: false
t.integer "project_id" t.integer "project_id"
t.text "description", null: false t.text "description", null: false
t.text "notes", limit: 16777215 t.text "notes"
t.datetime "created_at" t.datetime "created_at"
t.datetime "due" t.datetime "due"
t.datetime "completed_at" t.datetime "completed_at"
@ -177,7 +180,6 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.string "state", limit: 20, null: false t.string "state", limit: 20, null: false
t.integer "recurring_todo_id" t.integer "recurring_todo_id"
t.datetime "updated_at" t.datetime "updated_at"
t.text "rendered_notes", limit: 16777215
t.index ["context_id"], name: "index_todos_on_context_id" t.index ["context_id"], name: "index_todos_on_context_id"
t.index ["project_id"], name: "index_todos_on_project_id" t.index ["project_id"], name: "index_todos_on_project_id"
t.index ["state"], name: "index_todos_on_state" t.index ["state"], name: "index_todos_on_state"
@ -186,20 +188,20 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id", "state"], name: "index_todos_on_user_id_and_state" t.index ["user_id", "state"], name: "index_todos_on_user_id_and_state"
end end
create_table "tolk_locales", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "tolk_locales", force: :cascade do |t|
t.string "name" t.string "name"
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
t.index ["name"], name: "index_tolk_locales_on_name", unique: true t.index ["name"], name: "index_tolk_locales_on_name", unique: true
end end
create_table "tolk_phrases", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "tolk_phrases", force: :cascade do |t|
t.text "key" t.text "key"
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
end end
create_table "tolk_translations", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "tolk_translations", force: :cascade do |t|
t.integer "phrase_id" t.integer "phrase_id"
t.integer "locale_id" t.integer "locale_id"
t.text "text" t.text "text"
@ -210,9 +212,9 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["phrase_id", "locale_id"], name: "index_tolk_translations_on_phrase_id_and_locale_id", unique: true t.index ["phrase_id", "locale_id"], name: "index_tolk_translations_on_phrase_id_and_locale_id", unique: true
end end
create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| create_table "users", force: :cascade do |t|
t.string "login", limit: 80, null: false t.string "login", limit: 80, null: false
t.string "crypted_password", limit: 60 t.string "crypted_password", limit: 60, null: false
t.string "token" t.string "token"
t.boolean "is_admin", default: false, null: false t.boolean "is_admin", default: false, null: false
t.string "first_name" t.string "first_name"

View file

@ -1,5 +1,40 @@
See doc/upgrading.md for the upgrade documentation! See doc/upgrading.md for the upgrade documentation!
## Version 2.7.1
### Security advisory CVE-2024-41805 (severity 6.1 / moderate)
This release fixes a few reflected XSS vulnerabilities which enabled execution
of malicious JavaScript in the context of a users browser if that user clicks
on a malicious link, possibly allowing retrieval or modification of the current
user's data. The issue is of moderate severity (score 6.1/10) with the CVSS
rating CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.
I want to thank Alec Romano for reporting the issues.
### New features
* The test suite now uses always the same Dockerfile as the main build.
* The Dockerfile now supports environment-specific builds via stages.
Note: This requires slight changes to docker build commands, see documentation!
### Deprecations
* This will be the last release to support Ruby 3.0, which is already end-of-life.
### Bug fixes
* Lots of dependencies have been updated (including security updates).
* Fixed Docker build not working on an archive version (ie. one not cloned with Git)
* An error is shown if the user being created already exists.
* The TOS error in user creation is now in template.
* Schema.rb has been updated for Postgres support.
### Updated translations
* Spanish (thanks Gallegonovato!)
* Finnish (by maintainer Jyri-Petteri ”ZeiP” Paloposki)
## Version 2.7 ## Version 2.7
### Removed features ### Removed features

View file

@ -44,7 +44,7 @@ Tracks container. In future there should be an official image in Docker Hub. You
1. Get the Tracks code base by either downloading the archive file for the latest releast or cloning it from GitHub. 1. Get the Tracks code base by either downloading the archive file for the latest releast or cloning it from GitHub.
2. Run the following command in the Tracks directory to build the image: 2. Run the following command in the Tracks directory to build the image:
``` ```
$ docker build -t="tracks" . $ docker build -t="tracks" --target=production .
``` ```
1. Make sure you have Docker properly installed. 1. Make sure you have Docker properly installed.
@ -142,7 +142,7 @@ You need to create a database and database-user to use with Tracks. For this, yo
#### PostgreSQL #### PostgreSQL
$ sudo -u postgres psql $ sudo -u postgres psql
postgres=# CREATE USER tracks WITH ENCRYPTED PASSWORD 'password-goes-here'; postgres=# CREATE ROLE tracks WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD 'password-goes-here';
postgres=# CREATE DATABASE tracks OWNER=tracks; postgres=# CREATE DATABASE tracks OWNER=tracks;
### Install dependencies ### Install dependencies
@ -153,13 +153,22 @@ Tracks is built upon a number of Ruby libraries (known as gems). The Bundl
* If you are using SQLite: * If you are using SQLite:
``` ```
bundle install --without "development test mysql" bundle config set without mysql postgresql
bundle install
``` ```
* If you are using MySQL: * If you are using MySQL:
``` ```
bundle install --without "development test sqlite" bundle config set without sqlite postgresql
bundle install
```
* If you are using PostgreSQL:
```
bundle config set without sqlite mysql
bundle install
``` ```
* If you are installing Tracks on Windows or Mac OS X, or if you have another JavaScript runtime such as Node.js installed, you may also append `therubyracer` as an additional "without" parameter. * If you are installing Tracks on Windows or Mac OS X, or if you have another JavaScript runtime such as Node.js installed, you may also append `therubyracer` as an additional "without" parameter.

View file

@ -1,14 +1,16 @@
version: '3' version: '3'
services: services:
db: db:
image: mysql:5.7 image: mariadb:lts
environment: environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1 MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks} MARIADB_DATABASE: ${TRACKS_DB:-tracks}
volumes: volumes:
- db-data:/var/lib/mysql - db-data:/var/lib/mysql
web: web:
build: . build:
context: .
target: production # can also be development or test
environment: environment:
# These are set in script/ci-build, so we need to pass-thru them. # These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV RAILS_ENV: $RAILS_ENV

View file

@ -2,7 +2,9 @@
set -e set -e
docker_compose="docker-compose --file test-envs/docker-compose-$1-$2.yml" export RUBY_VERSION=$1
docker_compose="docker compose --file test-envs/docker-compose-$2.yml"
function cleanup() { function cleanup() {
$docker_compose down $docker_compose down
@ -20,7 +22,7 @@ export DATABASE_NAME=tracks_test
$docker_compose build $docker_compose build
$docker_compose up -d $docker_compose up -d
script/poll-for-db script/poll-for-db $2
# Leaving this in since it will be needed for Rails 5 # Leaving this in since it will be needed for Rails 5
$docker_compose run web bin/rails db:environment:set RAILS_ENV=test || true $docker_compose run web bin/rails db:environment:set RAILS_ENV=test || true
@ -32,5 +34,5 @@ else
$docker_compose run web bin/rake db:migrate $docker_compose run web bin/rake db:migrate
$docker_compose run web bin/rake db:seed $docker_compose run web bin/rake db:seed
fi fi
$docker_compose run web bin/rake test echo "==> Running the tests…"
$docker_compose run web bin/rails test

View file

@ -2,7 +2,7 @@
set -e set -e
docker_compose="docker-compose --file docker-compose.yml" docker_compose="docker compose --file docker-compose.yml"
# Find our app dir # Find our app dir
appdir=$(cd $(dirname "$0")/.. && pwd) appdir=$(cd $(dirname "$0")/.. && pwd)

View file

@ -2,13 +2,16 @@
echo "==> Polling DB…" echo "==> Polling DB…"
appdir=$(cd $(dirname "$0")/.. && pwd) if [ -z "$1" ] || [ "$1" == "mysql" ]; then
[ -f /etc/app-env ] || exec "$appdir/script/docker-environment" $0 $@ appdir=$(cd $(dirname "$0")/.. && pwd)
[ -f /etc/app-env ] || exec "$appdir/script/docker-environment" $0 $@
for i in {1..60}; do for i in {1..60}; do
nc -z -w5 db 3306 && exit echo "... Checking for connection"
sleep 1 nc -z -w5 db 3306 && exit
done sleep 1
done
echo "Unable to reach database!" echo "Unable to reach database!"
exit 1 exit 1
fi

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.0
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,32 +0,0 @@
version: '3'
services:
db:
image: postgres:13
environment:
POSTGRES_DB: ${DATABASE_NAME:-tracks}
POSTGRES_PASSWORD: password
volumes:
- db-data:/var/lib/postgresql/data
web:
build:
context: ..
dockerfile: Dockerfile-3.0
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_TYPE: postgresql
DATABASE_ENCODING: unicode
DATABASE_PORT: 5432
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.1
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.2
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,17 +0,0 @@
version: '3'
services:
web:
build:
context: ..
dockerfile: Dockerfile
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: "/app/db.sqlite"
DATABASE_TYPE: sqlite3
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000

View file

@ -1,29 +1,25 @@
version: '3'
services: services:
db: db:
image: mysql:5.7 image: mariadb:lts
environment: environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1 MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks} MARIADB_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web: web:
build: build:
context: .. context: ..
dockerfile: Dockerfile target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment: environment:
# These are set in script/ci-build, so we need to pass-thru them. # These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1 DATABASE_PASSWORD_EMPTY: 1
volumes: volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z - ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z - ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports: ports:
- 3000:3000 - 3000:3000
depends_on: depends_on:
- db - db
volumes:
db-data:

View file

@ -1,18 +1,17 @@
version: '3'
services: services:
db: db:
image: postgres:13 image: postgres:13
environment: environment:
POSTGRES_DB: ${DATABASE_NAME:-tracks} POSTGRES_DB: ${DATABASE_NAME:-tracks}
POSTGRES_PASSWORD: password POSTGRES_PASSWORD: password
volumes:
- db-data:/var/lib/postgresql/data
web: web:
build: build:
context: .. context: ..
dockerfile: Dockerfile target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment: environment:
# These are set in script/ci-build, so we need to pass-thru them. # These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: postgres DATABASE_USERNAME: postgres
@ -21,12 +20,9 @@ services:
DATABASE_ENCODING: unicode DATABASE_ENCODING: unicode
DATABASE_PORT: 5432 DATABASE_PORT: 5432
volumes: volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z - ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z - ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports: ports:
- 3000:3000 - 3000:3000
depends_on: depends_on:
- db - db
volumes:
db-data:

View file

@ -1,17 +1,20 @@
version: '3'
services: services:
web: web:
build: build:
context: .. context: ..
dockerfile: Dockerfile-3.0 target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment: environment:
# These are set in script/ci-build, so we need to pass-thru them. # These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV RAILS_ENV: $RAILS_ENV
DATABASE_NAME: "/app/db.sqlite" DATABASE_NAME: "/app/db/db.sqlite"
DATABASE_TYPE: sqlite3 DATABASE_TYPE: sqlite3
volumes: volumes:
- ${VOLUME:-..}:/app:Z - sqlite:/app/db:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z - ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z - ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports: ports:
- 3000:3000 - 3000:3000
volumes:
sqlite: {}

View file

@ -124,7 +124,7 @@ class ContextsControllerTest < ActionController::TestCase
%w(guid link).each do |node| %w(guid link).each do |node|
assert_select node, /http:\/\/test.host\/contexts\/.+/ assert_select node, /http:\/\/test.host\/contexts\/.+/
end end
assert_select 'pubDate', contexts(:agenda).created_at.to_s(:rfc822) assert_select 'pubDate', contexts(:agenda).created_at.to_formatted_s(:rfc822)
end end
end end
end end

View file

@ -102,7 +102,7 @@ class ProjectsControllerTest < ActionController::TestCase
%w(guid link).each do |node| %w(guid link).each do |node|
assert_select node, /http:\/\/test.host\/projects\/.+/ assert_select node, /http:\/\/test.host\/projects\/.+/
end end
assert_select 'pubDate', projects(:timemachine).updated_at.to_s(:rfc822) assert_select 'pubDate', projects(:timemachine).updated_at.to_formatted_s(:rfc822)
end end
end end
end end

View file

@ -403,7 +403,7 @@ class TodosControllerTest < ActionController::TestCase
assert_equal "bar, foo", t.tag_list assert_equal "bar, foo", t.tag_list
expected = Date.new(2006,11,30) expected = Date.new(2006,11,30)
actual = t.due.to_date actual = t.due.to_date
assert_equal expected, actual, "Expected #{expected.to_s(:db)}, was #{actual.to_s(:db)}" assert_equal expected, actual, "Expected #{expected.to_formatted_s(:db)}, was #{actual.to_formatted_s(:db)}"
end end
def test_update_todos_with_blank_project_name def test_update_todos_with_blank_project_name
@ -551,7 +551,7 @@ class TodosControllerTest < ActionController::TestCase
assert_select 'description', /.*/ assert_select 'description', /.*/
assert_select 'link', %r{http://test.host/contexts/.+} assert_select 'link', %r{http://test.host/contexts/.+}
assert_select 'guid', %r{http://test.host/todos/.+} assert_select 'guid', %r{http://test.host/todos/.+}
assert_select 'pubDate', todos(:call_bill_gates_every_day).created_at.to_s(:rfc822) assert_select 'pubDate', todos(:call_bill_gates_every_day).created_at.to_formatted_s(:rfc822)
end end
end end
end end

View file

@ -5,7 +5,7 @@
<% <%
def today def today
Time.zone.now.utc.to_s(:db) Time.zone.now.utc.to_formatted_s(:db)
end end
%> %>

View file

@ -4,15 +4,15 @@
# rails does automatically in models or controllers! Convert to utc manually! # rails does automatically in models or controllers! Convert to utc manually!
<% <%
def today def today
Time.zone.now.utc.to_s(:db) Time.zone.now.utc.to_formatted_s(:db)
end end
def next_week def next_week
1.week.from_now.utc.to_s(:db) 1.week.from_now.utc.to_formatted_s(:db)
end end
def last_week def last_week
1.week.ago.utc.to_s(:db) 1.week.ago.utc.to_formatted_s(:db)
end end
%> %>

View file

@ -4,13 +4,13 @@
# rails does automatically in models or controllers! Convert to utc manually! # rails does automatically in models or controllers! Convert to utc manually!
<% <%
def today def today
Time.zone.now.utc.beginning_of_day.to_s(:db) Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end end
def yesterday def yesterday
1.day.ago.utc.beginning_of_day.to_s(:db) 1.day.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
def last_week def last_week
1.week.ago.utc.beginning_of_day.to_s(:db) 1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
%> %>

View file

@ -3,27 +3,27 @@
<% <%
def today def today
Time.zone.now.utc.beginning_of_day.to_s(:db) Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end end
def next_week def next_week
1.week.from_now.utc.beginning_of_day.to_s(:db) 1.week.from_now.utc.beginning_of_day.to_formatted_s(:db)
end end
def last_week def last_week
1.week.ago.utc.beginning_of_day.to_s(:db) 1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
def two_weeks_ago def two_weeks_ago
2.weeks.ago.utc.beginning_of_day.to_s(:db) 2.weeks.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
def two_weeks_hence def two_weeks_hence
2.weeks.from_now.utc.beginning_of_day.to_s(:db) 2.weeks.from_now.utc.beginning_of_day.to_formatted_s(:db)
end end
def way_back def way_back
Time.zone.local(2008,1,1).utc.to_s(:db) Time.zone.local(2008,1,1).utc.to_formatted_s(:db)
end end
%> %>

View file

@ -3,7 +3,7 @@
<% <%
def today def today
Time.zone.now.utc.beginning_of_day.to_s(:db) Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end end
%> %>

View file

@ -8,27 +8,27 @@ def yesterday
Time.zone.now.utc.beginning_of_day - 1.day Time.zone.now.utc.beginning_of_day - 1.day
end end
def today def today
Time.zone.now.utc.beginning_of_day.to_s(:db) Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end end
def tomorrow def tomorrow
(Time.zone.now.utc.beginning_of_day + 1.day).to_s(:db) (Time.zone.now.utc.beginning_of_day + 1.day).to_formatted_s(:db)
end end
def next_week def next_week
1.week.from_now.utc.beginning_of_day.to_s(:db) 1.week.from_now.utc.beginning_of_day.to_formatted_s(:db)
end end
def last_week def last_week
1.week.ago.utc.beginning_of_day.to_s(:db) 1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
def two_weeks_ago def two_weeks_ago
2.weeks.ago.utc.beginning_of_day.to_s(:db) 2.weeks.ago.utc.beginning_of_day.to_formatted_s(:db)
end end
def two_weeks_hence def two_weeks_hence
2.weeks.from_now.utc.beginning_of_day.to_s(:db) 2.weeks.from_now.utc.beginning_of_day.to_formatted_s(:db)
end end
%> %>

View file

@ -110,7 +110,7 @@ class RecurringTodoTest < ActiveSupport::TestCase
# every_day should return start_day if it is in the future # every_day should return start_day if it is in the future
@every_day.start_from = @in_three_days @every_day.start_from = @in_three_days
due_date = @every_day.get_due_date(nil) due_date = @every_day.get_due_date(nil)
assert_equal @in_three_days.at_midnight.to_s(:db), due_date.to_s(:db) assert_equal @in_three_days.at_midnight.to_formatted_s(:db), due_date.to_formatted_s(:db)
due_date = @every_day.get_due_date(@tomorrow) due_date = @every_day.get_due_date(@tomorrow)
assert_equal @in_three_days.at_midnight, due_date assert_equal @in_three_days.at_midnight, due_date

View file

@ -122,8 +122,8 @@ module RecurringTodos
travel_to Time.zone.local(2013,1,1) do travel_to Time.zone.local(2013,1,1) do
rt = create_recurring_todo rt = create_recurring_todo
assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil), "no previous date, use today" assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil), "no previous date, use today"
assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil, 1.day).to_s(:db), "no previous date, use today without offset" assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil, 1.day).to_formatted_s(:db), "no previous date, use today without offset"
assert_equal Time.zone.parse("2013-01-02 00:00:00"), rt.send(:determine_start, Time.zone.now, 1.day).to_s(:db), "use previous date and offset" assert_equal Time.zone.parse("2013-01-02 00:00:00"), rt.send(:determine_start, Time.zone.now, 1.day).to_formatted_s(:db), "use previous date and offset"
end end
end end
@ -131,14 +131,14 @@ module RecurringTodos
rt = create_recurring_todo rt = create_recurring_todo
# march 2014 has 5 saturdays, the last will return the 5th # march 2014 has 5 saturdays, the last will return the 5th
assert_equal Time.zone.parse("2014-03-01 00:00:00"), rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-01 00:00:00"), rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-22 00:00:00"), rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-22 00:00:00"), rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-29 00:00:00"), rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-29 00:00:00"), rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_formatted_s(:db)
# march 2014 has 4 fridays, the last will return the 4th # march 2014 has 4 fridays, the last will return the 4th
assert_equal Time.zone.parse("2014-03-07 00:00:00"), rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-07 00:00:00"), rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_s(:db) assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_formatted_s(:db)
assert_raise(RuntimeError, "should check on valid weekdays"){ rt.send(:get_xth_day_of_month, 5, 9, 3, 2014) } assert_raise(RuntimeError, "should check on valid weekdays"){ rt.send(:get_xth_day_of_month, 5, 9, 3, 2014) }
assert_raise(RuntimeError, "should check on valid count x"){ rt.send(:get_xth_day_of_month, 6, 5, 3, 2014) } assert_raise(RuntimeError, "should check on valid count x"){ rt.send(:get_xth_day_of_month, 6, 5, 3, 2014) }

View file

@ -10,7 +10,7 @@ class TodoTest < ActiveSupport::TestCase
end end
def next_week def next_week
1.week.from_now.beginning_of_day.to_s(:db) 1.week.from_now.beginning_of_day.to_formatted_s(:db)
end end
# Test loading a todo item # Test loading a todo item