Compare commits

...

87 Commits

Author SHA1 Message Date
Amir Raminfar
da6287d060 Release 1.22.6 2020-04-28 10:50:28 -07:00
Amir Raminfar
b84b5a2d8d Uses specific imports 2020-04-28 08:21:06 -07:00
dependabot-preview[bot]
b219c984c4 Merge pull request #407 from amir20/dependabot/npm_and_yarn/lint-staged-10.2.0 2020-04-28 15:06:01 +00:00
dependabot-preview[bot]
b11dc46d7b Bump lint-staged from 10.1.7 to 10.2.0
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.7 to 10.2.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.1.7...v10.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 15:00:52 +00:00
dependabot-preview[bot]
bff0f0a5bb Merge pull request #406 from amir20/dependabot/npm_and_yarn/release-it-13.5.7 2020-04-28 12:17:42 +00:00
dependabot-preview[bot]
61637599d8 Bump release-it from 13.5.6 to 13.5.7
Bumps [release-it](https://github.com/release-it/release-it) from 13.5.6 to 13.5.7.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.5.6...13.5.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 12:12:48 +00:00
Amir Raminfar
d9642eec3f Release 1.22.5 2020-04-27 15:07:21 -07:00
Amir Raminfar
d277b4e878 Fixes bad date 2020-04-27 15:07:04 -07:00
Amir Raminfar
e84c9c874b Adds relative date debug console 2020-04-27 14:50:50 -07:00
Amir Raminfar
682822eef7 Adds debug mode 2020-04-27 14:35:56 -07:00
Amir Raminfar
9fcbcadba7 Release 1.22.4 2020-04-27 12:44:05 -07:00
Amir Raminfar
198ba36dbd Fixes user/pass 2020-04-27 12:36:50 -07:00
Amir Raminfar
3a48f9f194 Adds latest docker 2020-04-27 12:35:20 -07:00
Amir Raminfar
df0b584c8e Fixes key 2020-04-27 12:14:12 -07:00
Raphael Piccolo
d794ca1c7f support more timestamp formats (#405) 2020-04-27 12:03:51 -07:00
dependabot-preview[bot]
00c143a8c8 Merge pull request #404 from amir20/dependabot/npm_and_yarn/release-it-13.5.6 2020-04-27 18:20:39 +00:00
dependabot-preview[bot]
c2d8f330af Bump release-it from 13.5.5 to 13.5.6
Bumps [release-it](https://github.com/release-it/release-it) from 13.5.5 to 13.5.6.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.5.5...13.5.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 18:15:28 +00:00
dependabot-preview[bot]
c5d89dc981 Merge pull request #402 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001048 2020-04-25 17:42:52 +00:00
dependabot-preview[bot]
784bc40e76 Bump caniuse-lite from 1.0.30001047 to 1.0.30001048
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001047 to 1.0.30001048.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001047...v1.0.30001048)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 17:37:09 +00:00
dependabot-preview[bot]
74e13abded Merge pull request #401 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001047 2020-04-25 16:45:12 +00:00
dependabot-preview[bot]
2519bf2815 Bump caniuse-lite from 1.0.30001046 to 1.0.30001047
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001046 to 1.0.30001047.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001046...v1.0.30001047)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 16:39:51 +00:00
dependabot-preview[bot]
7b0477755d Merge pull request #400 from amir20/dependabot/npm_and_yarn/buefy-0.8.17 2020-04-25 16:02:45 +00:00
dependabot-preview[bot]
a6cec39b16 Bump buefy from 0.8.16 to 0.8.17
Bumps [buefy](https://github.com/buefy/buefy) from 0.8.16 to 0.8.17.
- [Release notes](https://github.com/buefy/buefy/releases)
- [Changelog](https://github.com/buefy/buefy/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/buefy/buefy/compare/v0.8.16...v0.8.17)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 15:56:41 +00:00
dependabot-preview[bot]
277648b4ff Merge pull request #399 from amir20/dependabot/npm_and_yarn/vuex-3.3.0 2020-04-25 06:18:44 +00:00
dependabot-preview[bot]
b76f0aa3f8 Bump vuex from 3.2.0 to 3.3.0
Bumps [vuex](https://github.com/vuejs/vuex) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/vuejs/vuex/releases)
- [Changelog](https://github.com/vuejs/vuex/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuex/compare/v3.2.0...v3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 06:13:16 +00:00
dependabot-preview[bot]
5a35458586 Merge pull request #398 from amir20/dependabot/npm_and_yarn/concurrently-5.2.0 2020-04-25 04:19:45 +00:00
dependabot-preview[bot]
fb0bec2950 Bump concurrently from 5.1.0 to 5.2.0
Bumps [concurrently](https://github.com/kimmobrunfeldt/concurrently) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/kimmobrunfeldt/concurrently/releases)
- [Commits](https://github.com/kimmobrunfeldt/concurrently/compare/v5.1.0...v5.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 04:14:13 +00:00
dependabot-preview[bot]
7af36da76e Merge pull request #397 from amir20/dependabot/npm_and_yarn/sass-1.26.5 2020-04-24 03:08:43 +00:00
dependabot-preview[bot]
4017da77fb Bump sass from 1.26.3 to 1.26.5
Bumps [sass](https://github.com/sass/dart-sass) from 1.26.3 to 1.26.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.26.3...1.26.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 03:02:27 +00:00
Amir Raminfar
6f336bbcae Verifies go mod 2020-04-23 13:55:40 -07:00
dependabot-preview[bot]
6db4c9ba65 Merge pull request #395 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001046 2020-04-23 10:40:07 +00:00
dependabot-preview[bot]
8fb35f9ff6 Bump caniuse-lite from 1.0.30001045 to 1.0.30001046
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001045 to 1.0.30001046.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001045...v1.0.30001046)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-23 10:34:44 +00:00
dependabot-preview[bot]
e41e34d45c Merge pull request #394 from amir20/dependabot/npm_and_yarn/buefy-0.8.16 2020-04-22 21:57:34 +00:00
dependabot-preview[bot]
cb82e5d221 Bump buefy from 0.8.15 to 0.8.16
Bumps [buefy](https://github.com/buefy/buefy) from 0.8.15 to 0.8.16.
- [Release notes](https://github.com/buefy/buefy/releases)
- [Changelog](https://github.com/buefy/buefy/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/buefy/buefy/compare/v0.8.15...v0.8.16)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 21:52:26 +00:00
dependabot-preview[bot]
23aba02e41 Merge pull request #393 from amir20/dependabot/npm_and_yarn/prettier-2.0.5 2020-04-21 17:28:01 +00:00
dependabot-preview[bot]
c281818579 Bump prettier from 2.0.4 to 2.0.5
Bumps [prettier](https://github.com/prettier/prettier) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.0.4...2.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 17:22:16 +00:00
Amir Raminfar
42a8a9af80 Moves demo 2020-04-21 10:14:53 -07:00
Amir Raminfar
33e86ac18e Moves demo 2020-04-21 10:14:30 -07:00
dependabot-preview[bot]
b4dae48a5e Merge pull request #392 from amir20/dependabot/npm_and_yarn/release-it-13.5.5 2020-04-21 16:44:55 +00:00
dependabot-preview[bot]
8b9704bc69 Bump release-it from 13.5.4 to 13.5.5
Bumps [release-it](https://github.com/release-it/release-it) from 13.5.4 to 13.5.5.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.5.4...13.5.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 16:23:50 +00:00
dependabot-preview[bot]
def504ca04 Merge pull request #391 from amir20/dependabot/npm_and_yarn/lint-staged-10.1.7 2020-04-21 15:12:33 +00:00
dependabot-preview[bot]
451dbefc93 Bump lint-staged from 10.1.6 to 10.1.7
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.6 to 10.1.7.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.1.6...v10.1.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 15:07:48 +00:00
dependabot-preview[bot]
1e35ffb1fe Merge pull request #390 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001045 2020-04-21 10:46:33 +00:00
dependabot-preview[bot]
570b0246b7 Bump caniuse-lite from 1.0.30001043 to 1.0.30001045
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001043 to 1.0.30001045.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001043...v1.0.30001045)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 10:41:55 +00:00
dependabot-preview[bot]
b91360220c Merge pull request #389 from amir20/dependabot/npm_and_yarn/integration/jest-25.4.0 2020-04-20 13:50:18 +00:00
dependabot-preview[bot]
1c82ba87ba Bump jest from 25.3.0 to 25.4.0 in /integration
Bumps [jest](https://github.com/facebook/jest) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v25.3.0...v25.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 13:44:57 +00:00
dependabot-preview[bot]
14e64b8460 Merge pull request #388 from amir20/dependabot/npm_and_yarn/integration/jest-image-snapshot-3.1.0 2020-04-20 13:43:19 +00:00
dependabot-preview[bot]
314549c038 Bump jest-image-snapshot from 3.0.1 to 3.1.0 in /integration
Bumps [jest-image-snapshot](https://github.com/americanexpress/jest-image-snapshot) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/americanexpress/jest-image-snapshot/releases)
- [Changelog](https://github.com/americanexpress/jest-image-snapshot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/americanexpress/jest-image-snapshot/compare/v3.0.1...v3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 13:38:00 +00:00
Amir Raminfar
df059f7e63 Adds missing routes 2020-04-19 17:11:43 -07:00
Amir Raminfar
2a620d8c6e Moves routes to own file 2020-04-19 17:05:21 -07:00
dependabot-preview[bot]
ba0de92f84 Merge pull request #386 from amir20/dependabot/npm_and_yarn/jest-25.4.0 2020-04-19 22:49:40 +00:00
dependabot-preview[bot]
38fd3dd372 Bump jest from 25.3.0 to 25.4.0
Bumps [jest](https://github.com/facebook/jest) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v25.3.0...v25.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 22:44:21 +00:00
dependabot-preview[bot]
14b5eac802 Merge pull request #385 from amir20/dependabot/npm_and_yarn/babel-jest-25.4.0 2020-04-19 22:31:12 +00:00
dependabot-preview[bot]
25fc2710fc Bump babel-jest from 25.3.0 to 25.4.0
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.4.0/packages/babel-jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 22:20:31 +00:00
dependabot-preview[bot]
54fff1e191 Merge pull request #384 from amir20/dependabot/npm_and_yarn/vuex-3.2.0 2020-04-19 11:21:41 +00:00
dependabot-preview[bot]
0f7a940e11 Bump vuex from 3.1.3 to 3.2.0
Bumps [vuex](https://github.com/vuejs/vuex) from 3.1.3 to 3.2.0.
- [Release notes](https://github.com/vuejs/vuex/releases)
- [Changelog](https://github.com/vuejs/vuex/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuex/compare/v3.1.3...v3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 11:16:01 +00:00
dependabot-preview[bot]
b53895dead Merge pull request #383 from amir20/dependabot/npm_and_yarn/lint-staged-10.1.6 2020-04-19 09:58:01 +00:00
dependabot-preview[bot]
d0cb1cad44 Bump lint-staged from 10.1.5 to 10.1.6
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.5 to 10.1.6.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.1.5...v10.1.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 09:52:41 +00:00
dependabot-preview[bot]
ebdd78d6b0 Merge pull request #382 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001043 2020-04-19 04:48:14 +00:00
dependabot-preview[bot]
3f5be54938 Bump caniuse-lite from 1.0.30001042 to 1.0.30001043
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001042 to 1.0.30001043.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001042...v1.0.30001043)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 04:42:24 +00:00
dependabot-preview[bot]
fca8ef26c5 Merge pull request #381 from amir20/dependabot/npm_and_yarn/lint-staged-10.1.5 2020-04-18 08:28:05 +00:00
dependabot-preview[bot]
aa12682a42 Bump lint-staged from 10.1.4 to 10.1.5
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.4 to 10.1.5.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.1.4...v10.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-18 08:22:40 +00:00
dependabot-preview[bot]
bfa3714634 Merge pull request #380 from amir20/dependabot/npm_and_yarn/release-it-13.5.4 2020-04-17 15:37:53 +00:00
dependabot-preview[bot]
a7c3ee024b Bump release-it from 13.5.3 to 13.5.4
Bumps [release-it](https://github.com/release-it/release-it) from 13.5.3 to 13.5.4.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.5.3...13.5.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-17 15:32:42 +00:00
dependabot-preview[bot]
63eb64cbde Merge pull request #379 from amir20/dependabot/npm_and_yarn/lint-staged-10.1.4 2020-04-17 14:17:01 +00:00
dependabot-preview[bot]
fd58b5c248 Bump lint-staged from 10.1.3 to 10.1.4
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.1.3...v10.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-17 14:11:01 +00:00
dependabot-preview[bot]
126d121e34 Merge pull request #378 from amir20/dependabot/npm_and_yarn/release-it-13.5.3 2020-04-17 14:08:36 +00:00
dependabot-preview[bot]
30331275f6 Bump release-it from 13.5.2 to 13.5.3
Bumps [release-it](https://github.com/release-it/release-it) from 13.5.2 to 13.5.3.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/release-it/release-it/compare/13.5.2...13.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-17 14:02:06 +00:00
Amir Raminfar
8571dddd98 Release 1.22.3 2020-04-16 15:53:06 -07:00
Amir Raminfar
cf6f3945b5 Updates push.yml 2020-04-16 14:35:03 -07:00
Amir Raminfar
f644f7b9b3 Separates build in push.yml 2020-04-16 14:31:49 -07:00
Amir Raminfar
2e656e8882 Removes DOCKER_API_VERSION 2020-04-16 14:29:19 -07:00
Amir Raminfar
a277b7c00e Release 1.22.2 2020-04-16 14:24:43 -07:00
Amir Raminfar
26d7d1620e Sticky scroll (#377)
* Uses scroll-snap-type: y proximity to behave sticky when resizing windows

* Puts js back
2020-04-16 14:23:48 -07:00
Amir Raminfar
e7b65efc7a Uses client.WithAPIVersionNegotiation 2020-04-16 14:12:08 -07:00
dependabot-preview[bot]
3884eb9648 Merge pull request #376 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001042 2020-04-15 05:59:25 +00:00
dependabot-preview[bot]
c1a02644b6 Bump caniuse-lite from 1.0.30001041 to 1.0.30001042
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001041 to 1.0.30001042.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001041...v1.0.30001042)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 05:54:10 +00:00
dependabot-preview[bot]
63135ded8a Merge pull request #375 from amir20/dependabot/npm_and_yarn/semver-7.3.2 2020-04-14 17:53:36 +00:00
dependabot-preview[bot]
ded48ab821 Bump semver from 7.3.1 to 7.3.2
Bumps [semver](https://github.com/npm/node-semver) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.1...v7.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 17:47:41 +00:00
dependabot-preview[bot]
c014837e41 Merge pull request #374 from amir20/dependabot/npm_and_yarn/semver-7.3.1 2020-04-14 17:06:11 +00:00
dependabot-preview[bot]
c0768d7843 Bump semver from 7.3.0 to 7.3.1
Bumps [semver](https://github.com/npm/node-semver) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.0...v7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 17:00:10 +00:00
dependabot-preview[bot]
32a6fe1d91 Merge pull request #373 from amir20/dependabot/npm_and_yarn/semver-7.3.0 2020-04-14 01:19:05 +00:00
dependabot-preview[bot]
6187483bc2 Bump semver from 7.2.3 to 7.3.0
Bumps [semver](https://github.com/npm/node-semver) from 7.2.3 to 7.3.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.2.3...v7.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 01:13:45 +00:00
dependabot-preview[bot]
59143841c9 Merge pull request #372 from amir20/dependabot/npm_and_yarn/semver-7.2.3 2020-04-13 18:41:27 +00:00
dependabot-preview[bot]
f9f22dbdf2 Bump semver from 7.2.2 to 7.2.3
Bumps [semver](https://github.com/npm/node-semver) from 7.2.2 to 7.2.3.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.2.2...v7.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 18:35:32 +00:00
dependabot-preview[bot]
3da3a319af Merge pull request #371 from amir20/dependabot/npm_and_yarn/caniuse-lite-1.0.30001041 2020-04-13 03:43:36 +00:00
dependabot-preview[bot]
2d5a9a2b42 Bump caniuse-lite from 1.0.30001040 to 1.0.30001041
Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001040 to 1.0.30001041.
- [Release notes](https://github.com/ben-eb/caniuse-lite/releases)
- [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001040...v1.0.30001041)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 03:38:11 +00:00
20 changed files with 1266 additions and 1114 deletions

View File

Before

Width:  |  Height:  |  Size: 24 MiB

After

Width:  |  Height:  |  Size: 24 MiB

View File

@@ -5,17 +5,19 @@ on:
name: Test and Release
jobs:
npm-test:
name: npm test
name: JavaScript Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: npm test
- name: Install Node
uses: actions/setup-node@v1
- name: npm it
run: npm it
- name: Install depdencies
run: yarn
- name: Run Tests
run: yarn test
go-test:
name: go test
name: Go Tests
runs-on: ubuntu-latest
steps:
- name: Install Go
@@ -24,10 +26,21 @@ jobs:
go-version: 1.14.x
- name: Checkout code
uses: actions/checkout@v2
- name: Test
- name: Run Go Tests with Coverage
run: go test -cover ./...
buildx:
int-test:
needs: [go-test, npm-test]
name: Integration Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build images
run: docker-compose -f integration/docker-compose.test.yml build
- name: Run tests
run: docker-compose -f integration/docker-compose.test.yml run integration
buildx:
needs: [int-test]
name: Release
runs-on: ubuntu-latest
steps:

View File

@@ -0,0 +1,19 @@
name: Docker image (latest-dev)
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jerray/publish-docker-action@master
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
file: Dockerfile
repository: amir20/dozzle
tags: latest-dev

View File

@@ -25,11 +25,13 @@ jobs:
uses: actions/checkout@v2
- name: Run Go Tests with Coverage
run: go test -cover ./...
docker-build:
int-test:
name: Integration Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build images
run: docker-compose -f integration/docker-compose.test.yml build
- name: Run tests
run: docker-compose -f integration/docker-compose.test.yml run integration

View File

@@ -1 +1 @@
-r '\.go$' -R '^node_modules/' -R '^static/' -R '^.cache/' -G '*_test.go' -s -- go run main.go --level debug
-r '\.go$' -R '^node_modules/' -R '^static/' -R '^.cache/' -G '*_test.go' -s -- go run main.go routes.go --level debug

View File

@@ -52,7 +52,6 @@ RUN CGO_ENABLED=0 go build -ldflags "-s -w -X main.version=$TAG" -o dozzle
FROM scratch
ENV PATH=/bin
ENV DOCKER_API_VERSION 1.38
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=builder /dozzle/dozzle /dozzle

View File

@@ -12,7 +12,7 @@ While dozzle should work for most, it is not meant to be a full logging solution
But if you don't want to pay for these services, then Dozzle can help! Dozzle will be able to capture all logs from your containers and send them in real-time to your browser. Installation is also very easy. Dozzle is not a database. It does not store or save any logs. You can only see live logs while using Dozzle.
![Image](demo.gif)
![Image](.github/demo.gif)
## Getting dozzle
@@ -82,7 +82,7 @@ Dozzle follows the [12-factor](https://12factor.net/) model. Configurations can
| `--base` | `DOZZLE_BASE` | `/` |
| `--level` | `DOZZLE_LEVEL` | `info` |
| `--showAll` | `DOZZLE_SHOWALL` | `false` |
| n/a | `DOCKER_API_VERSION` | `1.38` |
| n/a | `DOCKER_API_VERSION` | not set |
| `--tailSize` | `DOZZLE_TAILSIZE` | `300` |
| `--filter` | `DOZZLE_FILTER` | `""` |

View File

@@ -105,6 +105,23 @@ describe("<LogEventSource />", () => {
`);
});
test("should parse messages with loki's timestamp format", async () => {
const wrapper = createLogEventSource();
sources["/api/logs/stream?id=abc"].emitOpen();
sources["/api/logs/stream?id=abc"].emitMessage({ data: `2020-04-27T12:35:43.272974324+02:00 xxxxx` });
const [message, _] = wrapper.vm.messages;
const { key, ...messageWithoutKey } = message;
expect(key).toBe("2020-04-27T12:35:43.272974324+02:00");
expect(messageWithoutKey).toMatchInlineSnapshot(`
Object {
"date": 2020-04-27T10:35:43.272Z,
"message": "xxxxx",
}
`);
});
test("should pass messages to slot", async () => {
const wrapper = createLogEventSource();
sources["/api/logs/stream?id=abc"].emitOpen();

View File

@@ -9,17 +9,6 @@
import debounce from "lodash.debounce";
import InfiniteLoader from "./InfiniteLoader";
function parseMessage(data) {
const date = new Date(data.substring(0, 30));
const key = data.substring(0, 30);
const message = data.substring(30).trim();
return {
key,
date,
message,
};
}
export default {
props: ["id"],
name: "LogEventSource",
@@ -53,7 +42,7 @@ export default {
{ maxWait: 1000 }
);
this.es.onmessage = (e) => {
this.buffer.push(parseMessage(e.data));
this.buffer.push(this.parseMessage(e.data));
flushBuffer();
};
this.es.onerror = (e) => console.log("EventSource failed." + e);
@@ -73,10 +62,20 @@ export default {
const newMessages = logs
.trim()
.split("\n")
.map((line) => parseMessage(line));
.map((line) => this.parseMessage(line));
this.messages.unshift(...newMessages);
}
},
parseMessage(data) {
let i = data.indexOf(" ");
if (i == -1) {
i = data.length;
}
const key = data.substring(0, i);
const date = new Date(key);
const message = data.substring(i).trim();
return { key, date, message };
},
},
watch: {
id(newValue, oldValue) {

View File

@@ -68,6 +68,10 @@ export default {
& > li {
word-wrap: break-word;
line-height: 130%;
&:last-child {
scroll-snap-align: end;
scroll-margin-block-end: 5rem;
}
}
&.small {

View File

@@ -80,6 +80,7 @@ section {
main {
flex: 1;
overflow: auto;
scroll-snap-type: y proximity;
}
.scroll-bar-notification {

View File

@@ -1,7 +1,8 @@
import Vue from "vue";
import VueRouter from "vue-router";
import Meta from "vue-meta";
import { Dropdown, Switch } from "buefy";
import Dropdown from "buefy/dist/esm/dropdown";
import Switch from "buefy/dist/esm/switch";
import store from "./store";
import App from "./App.vue";
import Container from "./pages/Container.vue";

View File

@@ -22,6 +22,7 @@ h1.title {
html {
overflow-x: unset;
overflow-y: unset;
scroll-snap-type: y proximity;
}
html.has-custom-scrollbars {
@@ -55,7 +56,7 @@ html.has-custom-scrollbars {
}
.is-settings-control {
background: rgba(0, 0, 0, 0.4);
color: #fff;
border-color: transparent;

View File

@@ -54,7 +54,7 @@ func NewClientWithFilters(f map[string]string) Client {
log.Debugf("filterArgs = %v", filterArgs)
cli, err := client.NewClientWithOpts(client.FromEnv)
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
log.Fatal(err)

3
go.sum
View File

@@ -231,8 +231,6 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/spf13/viper v1.6.2 h1:7aKfF+e8/k68gda3LOjo5RxiUqddoFxVq4BKBPrxk5E=
github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k=
github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs=
github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -249,7 +247,6 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=

File diff suppressed because it is too large Load Diff

158
main.go
View File

@@ -2,14 +2,10 @@ package main
import (
"context"
"encoding/json"
"fmt"
"html/template"
"net/http"
"net/url"
"os"
"os/signal"
"runtime"
"strings"
"time"
@@ -130,157 +126,3 @@ func main() {
srv.Shutdown(ctx)
os.Exit(0)
}
func (h *handler) index(w http.ResponseWriter, req *http.Request) {
fileServer := http.FileServer(h.box)
if h.box.Has(req.URL.Path) && req.URL.Path != "" && req.URL.Path != "/" {
fileServer.ServeHTTP(w, req)
} else {
text, err := h.box.FindString("index.html")
if err != nil {
panic(err)
}
text = strings.Replace(text, "__BASE__", "{{ .Base }}", -1)
tmpl, err := template.New("index.html").Parse(text)
if err != nil {
panic(err)
}
path := ""
if base != "/" {
path = base
}
data := struct {
Base string
Version string
}{path, version}
err = tmpl.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
}
func (h *handler) listContainers(w http.ResponseWriter, r *http.Request) {
containers, err := h.client.ListContainers(h.showAll)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = json.NewEncoder(w).Encode(containers)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
func (h *handler) fetchLogsBetweenDates(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain; charset=UTF-8")
from, _ := time.Parse(time.RFC3339, r.URL.Query().Get("from"))
to, _ := time.Parse(time.RFC3339, r.URL.Query().Get("to"))
id := r.URL.Query().Get("id")
messages, _ := h.client.ContainerLogsBetweenDates(r.Context(), id, from, to)
for _, m := range messages {
fmt.Fprintln(w, m)
}
}
func (h *handler) streamLogs(w http.ResponseWriter, r *http.Request) {
id := r.URL.Query().Get("id")
if id == "" {
http.Error(w, "id is required", http.StatusBadRequest)
return
}
f, ok := w.(http.Flusher)
if !ok {
http.Error(w, "Streaming unsupported!", http.StatusInternalServerError)
return
}
container, e := h.client.FindContainer(id)
if e != nil {
http.Error(w, e.Error(), http.StatusInternalServerError)
return
}
messages, err := h.client.ContainerLogs(r.Context(), container.ID, tailSize)
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
w.Header().Set("Transfer-Encoding", "chunked")
log.Debugf("Starting to stream logs for %s", id)
Loop:
for {
select {
case message, ok := <-messages:
if !ok {
break Loop
}
_, e := fmt.Fprintf(w, "data: %s\n\n", message)
if e != nil {
log.Debugf("Error while writing to log stream: %v", e)
break Loop
}
f.Flush()
case e := <-err:
log.Debugf("Error while reading from log stream: %v", e)
break Loop
}
}
log.WithField("NumGoroutine", runtime.NumGoroutine()).Debug("runtime stats")
}
func (h *handler) streamEvents(w http.ResponseWriter, r *http.Request) {
f, ok := w.(http.Flusher)
if !ok {
http.Error(w, "Streaming unsupported!", http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
w.Header().Set("Transfer-Encoding", "chunked")
ctx := r.Context()
messages, err := h.client.Events(ctx)
Loop:
for {
select {
case message, ok := <-messages:
if !ok {
break Loop
}
switch message.Action {
case "connect", "disconnect", "create", "destroy", "start", "stop":
log.Debugf("Triggering docker event: %v", message.Action)
_, err := fmt.Fprintf(w, "event: containers-changed\ndata: %s\n\n", message.Action)
if err != nil {
log.Debugf("Error while writing to event stream: %v", err)
break
}
f.Flush()
default:
log.Debugf("Ignoring docker event: %v", message.Action)
}
case <-ctx.Done():
break Loop
case <-err:
break Loop
}
}
}
func (h *handler) version(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, version)
}

View File

@@ -1,10 +1,10 @@
{
"name": "dozzle",
"version": "1.22.1",
"version": "1.22.6",
"description": "Realtime log viewer for docker containers. ",
"scripts": {
"prestart": "npm run clean",
"start": "DOCKER_API_VERSION=1.38 concurrently 'npm run watch-server' 'npm run watch-assets'",
"start": "concurrently 'npm run watch-server' 'npm run watch-assets'",
"watch-assets": "npx parcel watch --no-source-maps --public-url '__BASE__' assets/index.html -d static",
"watch-server": "reflex -c .reflex",
"prebuild": "npm run clean",
@@ -26,19 +26,19 @@
"homepage": "https://github.com/amir20/dozzle#readme",
"dependencies": {
"ansi-to-html": "^0.6.14",
"buefy": "^0.8.15",
"buefy": "^0.8.17",
"bulma": "^0.8.2",
"caniuse-lite": "^1.0.30001040",
"caniuse-lite": "^1.0.30001048",
"date-fns": "^2.12.0",
"hotkeys-js": "^3.7.6",
"lodash.debounce": "^4.0.8",
"semver": "^7.2.2",
"semver": "^7.3.2",
"splitpanes": "^2.2.1",
"store": "^2.0.12",
"vue": "^2.6.11",
"vue-meta": "^2.3.3",
"vue-router": "^3.1.6",
"vuex": "^3.1.3"
"vuex": "^3.3.0"
},
"devDependencies": {
"@babel/core": "^7.9.0",
@@ -46,19 +46,19 @@
"@vue/component-compiler-utils": "^3.1.2",
"@vue/test-utils": "^1.0.0-beta.33",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^25.3.0",
"concurrently": "^5.1.0",
"babel-jest": "^25.4.0",
"concurrently": "^5.2.0",
"eventsourcemock": "^2.0.0",
"husky": "^4.2.5",
"jest": "^25.3.0",
"jest": "^25.4.0",
"jest-serializer-vue": "^2.0.2",
"lint-staged": "^10.1.3",
"lint-staged": "^10.2.0",
"mockdate": "^2.0.5",
"node-fetch": "^2.6.0",
"parcel-bundler": "^1.12.4",
"prettier": "^2.0.4",
"release-it": "^13.5.2",
"sass": "^1.26.3",
"prettier": "^2.0.5",
"release-it": "^13.5.7",
"sass": "^1.26.5",
"vue-hot-reload-api": "^2.3.4",
"vue-jest": "^3.0.5",
"vue-template-compiler": "^2.6.11"

167
routes.go Normal file
View File

@@ -0,0 +1,167 @@
package main
import (
"encoding/json"
"fmt"
"html/template"
"net/http"
"runtime"
"strings"
"time"
log "github.com/sirupsen/logrus"
)
func (h *handler) index(w http.ResponseWriter, req *http.Request) {
fileServer := http.FileServer(h.box)
if h.box.Has(req.URL.Path) && req.URL.Path != "" && req.URL.Path != "/" {
fileServer.ServeHTTP(w, req)
} else {
text, err := h.box.FindString("index.html")
if err != nil {
panic(err)
}
text = strings.Replace(text, "__BASE__", "{{ .Base }}", -1)
tmpl, err := template.New("index.html").Parse(text)
if err != nil {
panic(err)
}
path := ""
if base != "/" {
path = base
}
data := struct {
Base string
Version string
}{path, version}
err = tmpl.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
}
func (h *handler) listContainers(w http.ResponseWriter, r *http.Request) {
containers, err := h.client.ListContainers(h.showAll)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = json.NewEncoder(w).Encode(containers)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
func (h *handler) fetchLogsBetweenDates(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain; charset=UTF-8")
from, _ := time.Parse(time.RFC3339, r.URL.Query().Get("from"))
to, _ := time.Parse(time.RFC3339, r.URL.Query().Get("to"))
id := r.URL.Query().Get("id")
messages, _ := h.client.ContainerLogsBetweenDates(r.Context(), id, from, to)
for _, m := range messages {
fmt.Fprintln(w, m)
}
}
func (h *handler) streamLogs(w http.ResponseWriter, r *http.Request) {
id := r.URL.Query().Get("id")
if id == "" {
http.Error(w, "id is required", http.StatusBadRequest)
return
}
f, ok := w.(http.Flusher)
if !ok {
http.Error(w, "Streaming unsupported!", http.StatusInternalServerError)
return
}
container, e := h.client.FindContainer(id)
if e != nil {
http.Error(w, e.Error(), http.StatusInternalServerError)
return
}
messages, err := h.client.ContainerLogs(r.Context(), container.ID, tailSize)
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
w.Header().Set("Transfer-Encoding", "chunked")
log.Debugf("Starting to stream logs for %s", id)
Loop:
for {
select {
case message, ok := <-messages:
if !ok {
break Loop
}
_, e := fmt.Fprintf(w, "data: %s\n\n", message)
if e != nil {
log.Debugf("Error while writing to log stream: %v", e)
break Loop
}
f.Flush()
case e := <-err:
log.Debugf("Error while reading from log stream: %v", e)
break Loop
}
}
log.WithField("NumGoroutine", runtime.NumGoroutine()).Debug("runtime stats")
}
func (h *handler) streamEvents(w http.ResponseWriter, r *http.Request) {
f, ok := w.(http.Flusher)
if !ok {
http.Error(w, "Streaming unsupported!", http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
w.Header().Set("Transfer-Encoding", "chunked")
ctx := r.Context()
messages, err := h.client.Events(ctx)
Loop:
for {
select {
case message, ok := <-messages:
if !ok {
break Loop
}
switch message.Action {
case "connect", "disconnect", "create", "destroy", "start", "stop":
log.Debugf("Triggering docker event: %v", message.Action)
_, err := fmt.Fprintf(w, "event: containers-changed\ndata: %s\n\n", message.Action)
if err != nil {
log.Debugf("Error while writing to event stream: %v", err)
break
}
f.Flush()
default:
log.Debugf("Ignoring docker event: %v", message.Action)
}
case <-ctx.Done():
break Loop
case <-err:
break Loop
}
}
}
func (h *handler) version(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, version)
}

1193
yarn.lock

File diff suppressed because it is too large Load Diff