Skip to content

Commit 78bed0f

Browse files
authored
🔀 Merge pull request #663 from Lissy93/FIX/user-suggestions-fixes-2.0.9
[FIX] User Suggestions & Bug Fixes Fixes #564 Fixes #590 Fixes #626 Fixes #629 Fixes #632 Fixes #640 Fixes #644 Fixes #645 Fixes #646 Fixes #651 Fixes #654 Fixes #655 Fixes #657 Fixes #659 Fixes #660
2 parents 545f645 + 6d2e37d commit 78bed0f

32 files changed

+251
-118
lines changed

.github/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## ✨ 2.0.9 Adds Multi-Page Support [PR #663](https://github.com/Lissy93/dashy/pull/663)
4+
- Fix KeyCloak API URL (#564)
5+
- Fix guest has config access (#590)
6+
- Fix collapsible content in multi-page support (#626)
7+
- Fix layout and item size buttons ( #629)
8+
- Refactor make request in RSS widget (#632)
9+
- Fix material-design-icons header in schema (#640)
10+
- Add option to hide seconds in clock widget (#644)
11+
- Fix pageInfo not being read in router (#645)
12+
- Fix startingView not honored (#646)
13+
- Fix Status Check default (#651)
14+
- Add option to hide image in SportsScores Widget (#654)
15+
- Add Adventure-basic theme (#655)
16+
- Write docs for sub-items (#657)
17+
- Add Font-Awesome displaying as square to troubleshooting guide (#659)
18+
- Show expand / collapse in context menu (#660)
19+
- Only deploy new release when relevant files have changed
20+
321
## ✨ 2.0.8 Adds Multi-Page Support [PR #617](https://github.com/Lissy93/dashy/pull/617)
422
- Adds support for multiple pages per-dashboard
523
- Adds new attribute at root of main config file: `pages`

.github/LATEST_CHANGELOG.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
1-
## ✨ 2.0.8 Adds Multi-Page Support [PR #617](https://github.com/Lissy93/dashy/pull/617)
2-
- Adds support for multiple pages per-dashboard
3-
- Adds new attribute at root of main config file: `pages`
4-
- Updates router and nav-bar to automatically create paths for both local and remote configs
1+
## ✨ 2.0.9 Adds Multi-Page Support [PR #663](https://github.com/Lissy93/dashy/pull/663)
2+
- Fix KeyCloak API URL (#564)
3+
- Fix guest has config access (#590)
4+
- Fix collapsible content in multi-page support (#626)
5+
- Fix layout and item size buttons ( #629)
6+
- Refactor make request in RSS widget (#632)
7+
- Fix material-design-icons header in schema (#640)
8+
- Add option to hide seconds in clock widget (#644)
9+
- Fix pageInfo not being read in router (#645)
10+
- Fix startingView not honored (#646)
11+
- Fix Status Check default (#651)
12+
- Add option to hide image in SportsScores Widget (#654)
13+
- Add Adventure-basic theme (#655)
14+
- Write docs for sub-items (#657)
15+
- Add Font-Awesome displaying as square to troubleshooting guide (#659)
16+
- Show expand / collapse in context menu (#660)
17+
- Only deploy new release when relevant files have changed

.github/workflows/docker-build-publish.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
push:
77
branches: ['master']
88
tags: [v*]
9+
paths:
10+
- '**.js'
11+
- 'src/**'
12+
- 'public/**'
13+
- 'services/**'
914

1015
env:
1116
DH_IMAGE: ${{ secrets.DOCKER_REPO }}

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -408,14 +408,15 @@ Dashy supports multiple languages and locales. When available, your language sho
408408
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
409409
- 🇲🇫 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
410410
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
411+
- 🇮🇹 **Italian**: `it` - Contributed by **[@alexdelprete](https://github.com/alexdelprete)**
411412
- 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)**
412413
- 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)**
414+
- 🇵🇹 **Portuguese**: `pt` - Contributed by **[@LeoColman](https://github.com/LeoColman)**
413415
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
414416
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
415417
- 🇸🇪 **Swedish**: `sv` - Contributed by **[@BOZG](https://github.com/BOZG)**
416-
- 🇮🇹 **Italian**: `it` - Contributed by **[@alexdelprete](https://github.com/alexdelprete)**
417-
- 🇵🇹 **Portuguese**: `pt` - Contributed by **[@LeoColman](https://github.com/LeoColman)**
418-
- 🇷🇺 **Russian**: `ru` - Contributed by Anon
418+
- 🇹🇼 **Traditional Chinese**: `zh-TW` - Contributed by **[@stanly0726](https://github.com/stanly0726)**
419+
- 🇷🇺 **Russian**: `ru`
419420
- 🇦🇪 **Arabic**: `ar`
420421
- 🇮🇳 **Hindi**: `hi`
421422
- 🇯🇵 **Japanese**: `ja`

docs/authentication.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ appConfig:
146146
clientId: 'dashy'
147147
```
148148

149+
Note that if you are using Keycloak V 17 or older, you will also need to set `legacySupport: true` (also under `appConfig.auth.keycloak`). This is because the API endpoint was updated in later versions.
150+
149151
### 4. Add groups and roles (Optional)
150152
Keycloak allows you to assign users roles and groups. You can use these values to configure who can access various sections in Dashy.
151153
Keycloak server administration and configuration is a deep topic; please refer to the [server admin guide](https://www.keycloak.org/docs/latest/server_admin/index.html#assigning-permissions-and-access-using-roles-and-groups) to see details about creating and assigning roles and groups.

docs/configuring.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
163163
**`serverUrl`** | `string` | Required | The URL (or URL/ IP + Port) where your keycloak server is running
164164
**`realm`** | `string` | Required | The name of the realm (must already be created) that you want to use
165165
**`clientId`** | `string` | Required | The Client ID of the client you created for use with Dashy
166+
**`legacySupport`** | `boolean` | _Optional_ | If using Keycloak 17 or older, then set this to `true`
166167

167168
**[⬆️ Back to Top](#configuring)**
168169

docs/pages-and-sections.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,43 @@ The following example shows creating a config, publishing it as a [Gist](https:/
5656
Only top-level fields supported by sub-pages are `pageInfo` and `sections`. The `appConfig` and `pages` will always be inherited from your main `conf.yml` file. Other than that, sub-pages behave exactly the same as your default view, and can contain sections, items, widgets and page info like nav links, title and logo.
5757

5858
Note that since page paths are required by the router, they are set at build-time, not run-time, and so a rebuild (happens automatically) is required for changes to page paths to take effect (this only applies to changes to the `pages` array, rebuild isn't required for editing page content).
59+
60+
61+
## Sub-Items
62+
63+
A normal section will contain zero or more items, for example:
64+
65+
```yaml
66+
- name: Coding
67+
icon: far fa-code
68+
items:
69+
- title: GitHub
70+
url: https://github.com/
71+
- title: StackOverflow
72+
url: http://stackoverflow.com/
73+
```
74+
75+
But items can also be grouped together, referred to as sub-items. This is useful for a group of less frequently used items, which you don't want to take up too much space, or for action buttons (_coming soon_).
76+
77+
Item groups may also have an optional title.
78+
79+
```yaml
80+
- name: Coding
81+
icon: far fa-code
82+
items:
83+
- title: Normal Item 1
84+
- title: Normal Item 2
85+
- subItems:
86+
- title: JavaScript
87+
url: https://developer.mozilla.org
88+
icon: si-javascript
89+
- title: TypeScript
90+
url: https://www.typescriptlang.org/docs
91+
icon: si-typescript
92+
- title: Svelt
93+
url: https://svelte.dev/docs
94+
icon: si-svelte
95+
- title: Go
96+
url: https://go.dev/doc
97+
icon: si-go
98+
```

docs/troubleshooting.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,13 @@
3030
- [Diagnosing Widget Errors](#widget-errors)
3131
- [Fixing Widget CORS Errors](#widget-cors-errors)
3232
- [Weather Forecast Widget 401](#weather-forecast-widget-401)
33-
- [Keycloak Redirect Error](#keycloak-redirect-error)
33+
- [Font Awesome Icons not Displaying](#font-awesome-icons-not-displaying)
3434
- [How-To Open Browser Console](#how-to-open-browser-console)
3535
- [Git Contributions not Displaying](#git-contributions-not-displaying)
3636

3737

3838
---
39+
3940
## `Refused to Connect` in Modal or Workspace View
4041

4142
This is not an issue with Dashy, but instead caused by the target app preventing direct access through embedded elements.
@@ -214,6 +215,13 @@ You should also ensure that Keycloak is correctly configured, with a user, realm
214215

215216
For more details on how to set headers, see the [Example Headers](/docs/management.md#setting-headers) in the management docs, or reference the documentation for your proxy.
216217

218+
If you're running in Kubernetes, you will need to enable CORS ingress rules, see [docs](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#enable-cors), e.g:
219+
220+
```
221+
nginx.ingress.kubernetes.io/cors-allow-origin: "https://dashy.example.com"
222+
nginx.ingress.kubernetes.io/enable-cors: "true"
223+
```
224+
217225
See also: #479, #409, #507, #491, #341, #520
218226
219227
---
@@ -412,22 +420,19 @@ A future update will be pushed out, to use a free weather forecasting API.
412420
413421
---
414422
415-
## Keycloak Redirect Error
423+
## Font Awesome Icons not Displaying
416424
417-
Firstly, ensure that in your Keycloak instance you have populated the Valid Redirect URIs field ([screenshot](https://user-images.githubusercontent.com/1862727/148599768-db4ee4f8-72c5-402d-8f00-051d999e6267.png)) with the URL to your Dashy instance.
425+
Usually, Font Awesome will be automatically enabled if one or more of your icons are using Font-Awesome. If this is not happening, then you can always manually enable (or disable) Font Awesome by setting: [`appConfig`](/docs/configuring.md#appconfig-optional).`enableFontAwesome` to `true`.
418426
419-
You may need to specify CORS headers on your Keycloak instance, to allow requests coming from Dashy, e.g:
427+
If you are trying to use a premium icon, then you must have a [Pro License](https://fontawesome.com/plans). You'll then need to specify your Pro plan API key under `appConfig.fontAwesomeKey`. You can find this key, by logging into your FA account, navigate to Account → [Kits](https://fontawesome.com/kits) → New Kit → Copy Kit Code. The code is a 10-digit alpha-numeric code, and is also visible within the new kit's URL, for example: `81e48ce079`.
420428
421-
```
422-
Access-Control-Allow-Origin: https://dashy.example.com
423-
```
429+
Be sure that you're specifying the icon category and name correctly. You're icon should look be `[category] fa-[icon-name]`. The following categories are supported: `far` _(regular)_, `fas` _(solid)_, `fal`_(light)_, `fad` _(duo-tone)_ and `fab`_(brands)_. With the exception of brands, you'll usually want all your icons to be in from same category, so they look uniform.
424430
425-
If you're running in Kubernetes, you will need to enable CORS ingress rules, see [docs](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#enable-cors), e.g:
431+
Ensure the icon you are trying to use, is available within [FontAwesome Version 5](https://fontawesome.com/v5/search).
426432
427-
```
428-
nginx.ingress.kubernetes.io/cors-allow-origin: "https://dashy.example.com"
429-
nginx.ingress.kubernetes.io/enable-cors: "true"
430-
```
433+
Examples: `fab fa-raspberry-pi`, `fas fa-database`, `fas fa-server`, `fas fa-ethernet`
434+
435+
Finally, check the [browser console](#how-to-open-browser-console) for any error messages, and raise a ticket if the issue persists.
431436
432437
---
433438

docs/widgets.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ A simple, live-updating time and date widget with time-zone support. All fields
9797
**`format`** | `string` | _Optional_ | A country code for displaying the date and time in local format.<br>Specified as `[ISO-3166]-[ISO-639]`, for example: `en-AU`. See [here](https://www.fincher.org/Utilities/CountryLanguageList.shtml) for a full list of locales. Defaults to the browser / device's region
9898
**`customCityName`** | `string` | _Optional_ | By default the city from the time-zone is shown, but setting this value will override that text
9999
**`hideDate`** | `boolean` | _Optional_ | If set to `true`, the date and city will not be shown. Defaults to `false`
100+
**`hideSeconds`** | `boolean` | _Optional_ | If set to `true`, seconds will not be shown. Defaults to `false`
100101

101102
##### Example
102103

@@ -713,6 +714,7 @@ Show recent scores and upcoming matches from your favourite sports team. Data is
713714
**`pastOrFuture`** | `string` | __Optional__ | Set to `past` to show scores for recent games, or `future` to show upcoming games. Defaults to `past`. You can change this within the UI
714715
**`apiKey`** | `string` | __Optional__ | Optionally specify your API key, which you can sign up for at [TheSportsDB.com](https://www.thesportsdb.com/)
715716
**`limit`** | `number` | __Optional__ | To limit output to a certain number of matches, defaults to `15`
717+
**`hideImage`** | `boolean` | __Optional__ | Set to `true` to not render the team / match banner image, defaults to `false`
716718

717719
##### Example
718720

package.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Dashy",
3-
"version": "2.0.8",
3+
"version": "2.0.9",
44
"license": "MIT",
55
"main": "server",
66
"author": "Alicia Sykes <alicia@omg.lol> (https://aliciasykes.com)",
@@ -47,6 +47,7 @@
4747
},
4848
"devDependencies": {
4949
"@architect/sandbox": "^4.5.2",
50+
"@babel/preset-env": "^7.17.10",
5051
"@vue/cli-plugin-babel": "^4.5.15",
5152
"@vue/cli-plugin-eslint": "^4.5.15",
5253
"@vue/cli-plugin-pwa": "^4.5.15",
@@ -87,6 +88,12 @@
8788
"parser": "babel-eslint"
8889
}
8990
},
91+
"babel": {
92+
"presets": [
93+
"@vue/app",
94+
"@babel/preset-env"
95+
]
96+
},
9097
"postcss": {
9198
"plugins": {
9299
"autoprefixer": {}

0 commit comments

Comments
 (0)