diff --git a/.github/workflows/close-stale-issues.yml b/.github/workflows/close-stale-issues.yml index 1ef583ec..9c448e11 100644 --- a/.github/workflows/close-stale-issues.yml +++ b/.github/workflows/close-stale-issues.yml @@ -8,7 +8,9 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v4 + # Comment on, then close issues that haven't been updated for ages + - name: Close Stale Issues + uses: actions/stale@v4 with: repo-token: ${{ secrets.BOT_GITHUB_TOKEN }} days-before-stale: 42 @@ -16,10 +18,16 @@ jobs: operations-per-run: 30 remove-stale-when-updated: true enable-statistics: true - stale-issue-message: 'This issue has gone 6 weeks without an update. To keep the ticket open, please indicate that it is still relevant in a comment below. Otherwise it will be closed in 5 working days.' - stale-pr-message: 'This PR is stale because it has been open 6 weeks with no activity. Either remove the stale label or comment below with a short update, otherwise this PR will be closed in 5 days.' - close-issue-message: 'This issue was automatically closed because it has been stalled for over 6 weeks with no activity.' - close-pr-message: 'This pull request was automatically closed because it has been stalled for over 6 weeks with no activity.' + stale-issue-message: > + This issue has gone 6 weeks without an update. To keep the ticket open, please indicate that it is still relevant in a comment below. + Otherwise it will be closed in 5 working days. + stale-pr-message: > + This PR is stale because it has been open 6 weeks with no activity. Either remove the stale label or comment below with a short update, + otherwise this PR will be closed in 5 days. + close-issue-message: > + This issue was automatically closed because it has been stalled for over 6 weeks with no activity. + close-pr-message: > + This pull request was automatically closed because it has been stalled for over 6 weeks with no activity. stale-issue-label: '⚰️ Stale' close-issue-label: 'πŸ•ΈοΈ Inactive' stale-pr-label: '⚰️ Stale' @@ -27,3 +35,23 @@ jobs: exempt-issue-labels: 'πŸ“Œ Keep Open' exempt-pr-labels: 'πŸ“Œ Keep Open' labels-to-add-when-unstale: 'πŸ“Œ Keep Open' + + # Comment on, then close issues that required a response from the user, but didn't get one + - name: Close Issues without Response + uses: actions/stale@v4 + with: + repo-token: ${{ secrets.BOT_GITHUB_TOKEN }} + days-before-stale: 7 + days-before-close: 3 + operations-per-run: 10 + remove-stale-when-updated: true + stale-issue-message: > + Hello! Looks like additional info is required for this issue to be addressed. + Don't forget to provide this within the next few days to keep your ticket open. + close-issue-message: 'Issue closed due to no response from user.' + only-labels: '🚏 Awaiting User Response' + labels-to-remove-when-unstale: '🚏 Awaiting User Response, πŸ›‘ No Response' + stale-issue-label: 'πŸ›‘ No Response' + close-issue-label: 'πŸ•ΈοΈ Inactive' + exempt-issue-labels: 'πŸ“Œ Keep Open' + exempt-pr-labels: 'πŸ“Œ Keep Open' diff --git a/.github/workflows/remove-stale-label.yml b/.github/workflows/remove-stale-label.yml new file mode 100644 index 00000000..917a091a --- /dev/null +++ b/.github/workflows/remove-stale-label.yml @@ -0,0 +1,18 @@ +# When a new comment is added to an issue, if it had the Stale or Awaiting User Response labels, +# then those labels will be removed, providing it was not user lissy93 who added the commend. +name: 🎯 Remove Stale Label on Update +on: + issue_comment: + types: [created] +jobs: + remove-stale: + runs-on: ubuntu-latest + if: ${{ !['liss-bot','lissy93'].includes(github.event.inputs.name.toLowerCase()) }} + steps: + - name: Remove Stale labels when Updated + uses: actions-cool/issues-helper@v2 + with: + actions: remove-labels + token: ${{ secrets.BOT_GITHUB_TOKEN }} + issue-number: ${{ github.event.issue.number }} + labels: '🚏 Awaiting User Response,⚰️ Stale' diff --git a/docs/assets/repo-visualization.svg b/docs/assets/repo-visualization.svg index 35834737..84224aa1 100644 --- a/docs/assets/repo-visualization.svg +++ b/docs/assets/repo-visualization.svg @@ -1 +1 @@ -viewsviewsutilsutilsstylesstylescomponentscomponentsassetsassetsWorkspaceWorkspaceSettingsSettingsPageStrcturePageStrctureMinimalViewMinimalViewLinkItemsLinkItemsFormElementsFormElementsConfigurationConfigurationlocaleslocalesinterface-iconsinterface-iconsLogin.vueLogin.vueLogin.vueHome.vueHome.vueHome.vueMinimal.vueMinimal.vueMinimal.vueemojis.jsonemojis.jsonemojis.jsonConfigSche...ConfigSche...ConfigSche...Auth.jsAuth.jsAuth.jsdefaults.jsdefaults.jsdefaults.jscolor-them...color-them...color-them...CustomThe...CustomThe...CustomThe...Item.vueItem.vueItem.vueItemIcon.vueItemIcon.vueItemIcon.vueSection.vueSection.vueSection.vueConfigCon...ConfigCon...ConfigCon...JsonEdito...JsonEdito...JsonEdito...CloudBac...CloudBac...CloudBac...hi.jsonhi.jsonhi.jsonru.jsonru.jsonru.jsonar.jsonar.jsonar.jsonja.jsonja.jsonja.jsonfr.jsonfr.jsonfr.jsones.jsones.jsones.jsonpt.jsonpt.jsonpt.jsonit.jsonit.jsonit.jsonsl.jsonsl.jsonsl.jsonen.jsonen.jsonen.jsonde.jsonde.jsonde.json.js.json.scss.svg.vueeach dot sized by file size \ No newline at end of file +viewsviewsutilsutilsstylesstylescomponentscomponentsassetsassetsWorkspaceWorkspaceSettingsSettingsPageStrcturePageStrctureMinimalViewMinimalViewLinkItemsLinkItemsFormElementsFormElementsConfigurationConfigurationlocaleslocalesinterface-iconsinterface-iconsLogin.vueLogin.vueLogin.vueHome.vueHome.vueHome.vueMinimal.vueMinimal.vueMinimal.vueemojis.jsonemojis.jsonemojis.jsonConfigSche...ConfigSche...ConfigSche...Auth.jsAuth.jsAuth.jsdefaults.jsdefaults.jsdefaults.jscolor-them...color-them...color-them...CustomThe...CustomThe...CustomThe...Item.vueItem.vueItem.vueItemIcon.vueItemIcon.vueItemIcon.vueSection.vueSection.vueSection.vueConfigCon...ConfigCon...ConfigCon...JsonEdito...JsonEdito...JsonEdito...CloudBac...CloudBac...CloudBac...hi.jsonhi.jsonhi.jsonru.jsonru.jsonru.jsonar.jsonar.jsonar.jsonja.jsonja.jsonja.jsonfr.jsonfr.jsonfr.jsones.jsones.jsones.jsonpt.jsonpt.jsonpt.jsonit.jsonit.jsonit.jsonsl.jsonsl.jsonsl.jsonen.jsonen.jsonen.jsonde.jsonde.jsonde.json.js.json.scss.svg.vueeach dot sized by file size \ No newline at end of file diff --git a/docs/credits.md b/docs/credits.md index 691c4af6..c2ab469f 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -108,7 +108,7 @@ ### Helpful Users - +
@@ -126,10 +126,10 @@ - - turnrye + + jhelmink
- Ryan Turner + Josh
@@ -147,14 +147,14 @@ - - niklashere + + lu4t
- Niklas + Lu4t
- + ### Bots @@ -207,6 +207,12 @@ > The above section is auto-generated, using [contribute-list](https://github.com/marketplace/actions/contribute-list) by @akhilmhdh. +### Newest Stargazers + +[![Recent Star Gazers](https://reporoster.com/stars/dark/Lissy93/dashy)](https://github.com/Lissy93/dashy/stargazers) + +[![Recent Forkers](https://reporoster.com/forks/dark/lissy93/dashy)](https://github.com/lissy93/dashy/network/members) + --- ## Dependencies diff --git a/docs/status-indicators.md b/docs/status-indicators.md index 9d3ad488..7bc866ae 100644 --- a/docs/status-indicators.md +++ b/docs/status-indicators.md @@ -74,13 +74,13 @@ If you get an error, like `Service Unavailable: Server resulted in a fatal error Currently, the status check needs a page to be rendered, so if this URL in your browser does not return anything, then status checks will not work. This may be modified in the future, but in the meantime, a fix would be to make your own status service, which just checks if your app responds with whatever code you'd like, and then return a 200 plus renders an arbitrary message. Then just point `statusCheckUrl` to your custom page. -For further troubleshooting, use an application like [Postman](https://postman.com) to diagnose the issue. Set the parameter to `GET`, and then make a call to: `https://[url-of-dashy]/ping/?&url=[service-url]`. Where the service URL must have first been encoded (e.g. with `encodeURIComponent()` or [urlencoder.io](https://www.urlencoder.io/)) +For further troubleshooting, use an application like [Postman](https://postman.com) to diagnose the issue. Set the parameter to `GET`, and then make a call to: `https://[url-of-dashy]/status-check/?&url=[service-url]`. Where the service URL must have first been encoded (e.g. with `encodeURIComponent()` or [urlencoder.io](https://www.urlencoder.io/)) If you're serving Dashy though a CDN, instead of using the Node server or Docker image, then the Node endpoint that makes requests will not be available to you, and all requests will fail. A workaround for this may be implemented in the future, but in the meantime, your only option is to use the Docker or Node deployment method. ## How it Works -When the app is loaded, if `appConfig.statusCheck: true` is set, or if any items have the `statusCheck: true` enabled, then Dashy will make a request, to `https://[your-host-name]/ping?url=[address-or-servce]` (may al include GET params for headers and the secure flag), which in turn will ping that running service, and respond with a status code. Response time is calculated from the difference between start and end time of the request. +When the app is loaded, if `appConfig.statusCheck: true` is set, or if any items have the `statusCheck: true` enabled, then Dashy will make a request, to `https://[your-host-name]/status-check?url=[address-or-servce]` (may al include GET params for headers and the secure flag), which in turn will ping that running service, and respond with a status code. Response time is calculated from the difference between start and end time of the request. When the response completes, an indicator will display next to each item. The color denotes the status: Yellow while waiting for the response to return, green if request was successful, red if it failed, and grey if it was unable to make the request all together. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 1e210967..c75a1941 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -154,6 +154,6 @@ If you get an error, like `Service Unavailable: Server resulted in a fatal error Currently, the status check needs a page to be rendered, so if this URL in your browser does not return anything, then status checks will not work. This may be modified in the future, but in the meantime, a fix would be to make your own status service, which just checks if your app responds with whatever code you'd like, and then return a 200 plus renders an arbitrary message. Then just point `statusCheckUrl` to your custom page. -For further troubleshooting, use an application like [Postman](https://postman.com) to diagnose the issue. Set the parameter to `GET`, and then make a call to: `https://[url-of-dashy]/ping/?&url=[service-url]`. Where the service URL must have first been encoded (e.g. with `encodeURIComponent()` or [urlencoder.io](https://www.urlencoder.io/)) +For further troubleshooting, use an application like [Postman](https://postman.com) to diagnose the issue. Set the parameter to `GET`, and then make a call to: `https://[url-of-dashy]/status-check/?&url=[service-url]`. Where the service URL must have first been encoded (e.g. with `encodeURIComponent()` or [urlencoder.io](https://www.urlencoder.io/)) If you're serving Dashy though a CDN, instead of using the Node server or Docker image, then the Node endpoint that makes requests will not be available to you, and all requests will fail. A workaround for this may be implemented in the future, but in the meantime, your only option is to use the Docker or Node deployment method. \ No newline at end of file