'Enable relative path volumes' clones the full repository for every stack with mounted files/directories

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
See title. It would be nice if a repository is only cloned once, and shared across stacks in case multiple stacks use the same repository. Even better would be if only the mounted files are cloned.
Cloning the full repository every time is really annoying as it quickly takes up disk space when using stacks from large repositories.
Describe alternatives you've considered
Using environment variables instead of mounted config files where possible. But in some cases this makes the docker compose files very complex to write/read, so it is not an ideal alternative.
Additional context

In the above image it can be seen that the repository devantler/homelab is cloned twice, for two separate stacks.

@devantler
Can you provide more information. I wanted to investigate the additional cloning.
[1] Environment:  Docker Standalone, Docker Swarm, Agent, K8s?
[2] What type of repository?  Private, Public, Github?
[3] Stack Code
[4] Screenshot of the volume configuration
Thanks!

Hi @tamarahenson. Here is some more information.

[1] Environment: Docker Standalone, Docker Swarm, Agent, K8s?

Docker Standalone with Docker Compose.

[2] What type of repository? Private, Public, Github?

Public. Check it out here: homelab

[3] Stack Code

These are the stacks I use file-mounted config files in:

opentelemetry-collector

prometheus

[4] Screenshot of the volume configuration

I don't know what you mean here. The volume configuration is visible in the linked stacks above, and the path I used when enabling the relative path volumes was as demonstrated in the following image:

I hope it helps; otherwise, feel free to reach out again 🙂

I believe this is still an issue, so I do not think it should be auto-closed.


[WIP] add bfloat16 training support

bfloat16 is the go-to datatype for mixed precision training of large neural networks. This PR aims to add bf-16 support in axonn

Closing because we have decided to remove our custom mixed precision support


Driver/keithley2600 fast sweep

Relates to #720.
Changes proposed in this pull request:

Add a channelised driver for the Keithley2600
Make the channelised driver able to do fast sweeps using Lua scripts
Add a notebook benchmarking the performance

@jenshnielsen @Dominik-Vogel

@jenshnielsen, I think this is ready to 💃


Adds helpful information with some incompatible parameter values

The code seems to segfault here when attempting to run with Particle_search_type=2 (i.e. only search DM) and Baryon_searchflag!=0. Perhaps this bug can be solved a better way but here I just quit in the i/o and provide helpful info.

Oops, this contains my other MR too... Sorry!

As far as I'm aware once if the other PR is merged this should then be inline with that master (as the commits are done in that order). I can remove that commit for this specific PR if you like, though.


DOC: Address rstcheck complaints

The test failures are unrelated to this PR. This fixes the rstcheck failures currently in the build.

Apologies in not seeing this earlier, as I seem to have merged a near duplicate commit 786844f8e29d18062ad8652ccfc80067b9e48363 with #1032
Indeed there are unrelated test failures, which should be addressed elsewhere.


(FACT-3110) Support for ecdsa 384 and 521 bit keys

Adds support for ecdsa 384 and 521 bit keys
Remove overstubbing in the ssh resolvers
Convert Ssh and FingerPrint to value objects using Struct

Supersedes #2652

@joshcooper do you know if we'd get any coverage or would see any benefit of build puppet-agent with this and putting that through adhoc? Would that at least validate previous keys or whatever we default still work?

Talked with Josh about testing this offline, he did this before hand based upon Jeff's work. He was able to validate that Facter functioned with the new RSA and ECDSA keys.


install & setup markdown toolbar

Fixes #1496 .

Changes proposed in this PR:

added markdown toolbar elements (lib)

Light:

Dark:

Asset details:

Just for styling: those buttons are barely readable this stark contrast between between background and buttons is not something we use in the app. They should use the default highlight color for respective theme, so --background-highlight. Then the icons on the buttons could use the actual stark contrast and use —-font-color-text

let's keep working on #1594 , then move over this PR

we will stop working on this. Too much effort. Wil not delete the branch, maybe we will continue at a later time.


Maybe a bug in assembler/trainval.py

The models in train/val engine are different, and it's maybe a bug in the validation phase.
https://github.com/Media-Smart/vedadet/blob/main/vedadet/assembler/trainval.py#L27
https://github.com/Media-Smart/vedadet/blob/main/vedadet/assembler/trainval.py#L51
@mileistone

We notice it and solved this problem by singleton_arg in https://github.com/Media-Smart/vedadet/blob/aaf3b3bc3c7944aba1cc28138165d403023a9152/vedadet/models/builder.py#L44


How to add filtering clauses to the create/update drop downs in forms?

$this->crud->addClause works perfectly for listing but not when adding content to the system. What's the correct way to add that functionality to the field types?
Example scenario;
Imagine that there are many users, each user has multiple projects and each project has multiple tickets.
When a user creating a ticket for a project, he/she shouldn't be able to see the projects belong to other users. So how to filter the drop downs by the relationship data?

Closing as answered.

Yup, select2_from_ajax should do the trick. It's customizable as f*#k. Here's the link to its documentation.


Some data_path should be fixed?

Thanks for your excellent work! Just found some small mistakes about data_path, seems you directly use ''/home/rqi/Data/KITTI/object'' in some files, like:
https://github.com/charlesq34/frustum-pointnets/blob/4b3a073f2377babef51c1fd661f44a9bcfbcf6e8/kitti/prepare_data.py#L338
and rgb_detection_train/val.txt in kitti/rgb_detections/ folder

Hi @ysfalo thank you for pointing out that!
I had pushed a fix.


[Modules] Update the API version for Virtual Hubs to latest version

change the API version from 2021-08-01 to 2022-05-01 because when we want add the virtualRouterAsn we are getting the following error:
"CustomAsnNotSupportedByVirtualHub\\\",\\r\\n    \\\"message\\\": \\\"To modify router ASN in virtual hub, please use API version 2022-01-01 and beyond

Description

Thank you for your contribution !

Please include a summary of the change and which issue is fixed.
Please also include the context.
List any dependencies that are required for this change.

Pipeline references

For module/pipeline changes, please create and attach the status badge of your successful run.

Pipeline

Type of Change
Please delete options that are not relevant.

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update to documentation

Checklist

[ ] I'm sure there are no other open Pull Requests for the same update/change
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings
[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (readme)
[ ] I did format my code

@ahmadabdalla it not clear where i have to do that badge.

@ahmadabdalla it not clear where i have to do that badge.

@aavdberg In the description of your PR:

Example from our repo :

@aavdberg do you have your CI environment set up? I cannot see any workflow runs, and hence assume not. For the time being I could offer to merge the change into a branch I. CARML, we test it in our CI environment and then merge that branch to main. If that's OK with you, I can create one later today and you'd just need to update the target branch of your PR

@aavdberg do you have your CI environment set up? I cannot see any workflow runs, and hence assume not. For the time being I could offer to merge the change into a branch I. CARML, we test it in our CI environment and then merge that branch to main. If that's OK with you, I can create one later today and you'd just need to update the target branch of your PR

Hi @AlexanderSehr that would be great when you could merge it.

Alright @aavdberg, I just switched to target branch and will go ahead & merge to then re-open the PR on our side

Would it be possible to add the Hacktoberfest label to the issue? @AlexanderSehr @ahmadabdalla


Start_program fuctions

Since you start_program() either way, this would be better written as
if response in start_choices:
    start_choices[response]()
start_program()

diddit


Incorporate agg lookml for a dashboard (looker will generate it from this API endpoint)

API Endpoint for aggregate table LookML for a dashboard [Link]

Done

Done


Merges to master branch should result in new builds to quay.io

Update .travis.yml to automatically build the latest CSV and container image, then push them to the appropriate repositories on quay.io when changes are merged to master branch.

Resolved

Oops doesn't detect changes for pushing CSV changes to quay.io/applications

Likely will need to handle the trigger and push of the application CSV part either manually for the time being, or when implemented, do it from the CI system (Travis-CI). Will need to implement the operator-courier application and then provide a secret to allow logging into the remote. Robot account should be used. Then provide some logic to check which files were change on merge (and only push on merge to master), and if in deploy/crds or deploy/*.yml then build a new CSV and push it.


LocalForage generates a rejected promise when imported in node.js

All I need to do is import localforage from 'localforage' in a node.js package to generate an error (no available storage found) - I don't have to config localforage or anything. The error itself is in a rejected, and uncaught, promise. The problem is that in future Node.js versions, a rejected promise may end up in the process terminating with a nonzero exit code.
My situation in particular is that I'm not actually using localforage, I'm just importing a package that can be configured to use it. With ES6 style import/export code, it's unclear how one would conditionally import stuff (vs require-style imports, which can happen inside an if-else block).
Ideally, the config stuff that throws this error would be moved into an initialize method or something, instead of returning a new LocalForage() from the export command.

I have already asked this in other issues disgusting the same issue, but let me repeat it one more time hoping that I will get an answer this time.
Does adding a localforage.ready().catch(function(){}) make the error disappear?
Since localforage officially supports and primarily targets browsers, it's doing some async initialization stuff when loaded, in order to collect which drivers are available up front and prepare the default instance.

A more extreme example would be importing jQuery in node and expecting the $(document).ready() method not to throw (which also does some things automatically under the hood).
If adding a .catch() solves it for you, we should probably add a note in README.
Of course things might chance in the future, despite the benefits that automatic initialization offers to localforage, but obviously that would be a breaking change.

I have an idea...
On second, third, fourth, 99nth thought, this might be easier.
Expect a PR tomorrow or during the weekend.
I will need your feedback on that of course.

Putting a catch on localforage.ready() doesn't help. I don't even need to call .ready() to generate the rejection error. That's because the init code that gets called in new LocalForage() is what generates the error, and there's a constructor call in the export at the end of the LF definition file.
This might be lousy for programmer ergonomics, but basically putting all the init inside a .initialize() kind of call would be good - but then frontend people have to remember to .initialize() before using localforage.
Of course, one could do a curry thing where any access method checks to see if the init has been run, and runs it. The problem, of course, is that the init code is async, so you'd have race conditions and stuff to avoid (don't run it twice!).

Got it! Running require('localforage') on node v6.9 no longer gives the warning.
I will open a PR later today.

Tada! Can you give a try to the code found in PR #633 ???
If it works for you, we can merge it and schedule it for the next release.

Works for me.

Great!

Fixed by #633 planned to be released as v1.5


UX adjusment

l created a first example to try Saltcorn from my mobile with 2 tables...
Entered today from my computer to pursue the work, there is no visible link to let me enter again into my account.
If l type the same database name  like xxexampledb.saltcorn.com the message is "there is already a database with this name"

@hounaine you just go to https://{application name}.saltcorn.com and log in with the user you created.

Thank you. Ok. Do you want me delete this as it is not a "real" issue ?

I will think about whether the wording can be improved, and then I will close it

Ok. Near the black button “Create” you can add a simple link underlined in
blue with this text “or log in”. When clicked it displays the right field
with this placeholder “yourappname.saltcorn.com”
Le mer. 23 jui. 2021 à 10:55, Tom Nielsen @.***> a
écrit :

I will think about whether the wording can be improved, and then I will
close it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/saltcorn/saltcorn/issues/771#issuecomment-866699324,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDUQRUYK6BHWX3WV2HGZUDTUGVRVANCNFSM47FIDNDA
.

--
Sent from Gmail Mobile

fixed in #782


Update UG

Add section on command formats, so information is less dense within the features section

Codecov Report
Base: 74.51% // Head: 74.51% // No change to project coverage :thumbsup:

Coverage data is based on head (a15589f) compared to base (8217e51).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #199   +/-   ##
=========================================
  Coverage     74.51%   74.51%
  Complexity      820      820
=========================================
  Files           109      109
  Lines          2554     2554
  Branches        316      316
=========================================
  Hits           1903     1903
  Misses          561      561
  Partials         90       90

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Request: API access to 50 move rule counter

Accessing the 50 move rule counter for a Board instance is currently not possible as far as i know. This could be very helpful in calculating the evaluation during endgames using (eval * (100 - fiftyMoveCounter) / 100, to ensure the engine is making progress instead of shuffling around until suddenly every move is 0. Would like to see this added if you have time to do so.

Added in latest version, thanks for the suggestion


Broken parsing within lists

After using toml very happily for most of our new applications and services, we seem to have hit a parsing bug for certain strings within lists.
>>> toml.loads("""
ignored = [
    '\w{6}$'
]

broken = ['\w{6}$']

ok = [
    '\w\w\w\w\w\w$'
]
""")
{u'broken': [u'\\w{6'], u'ignored': [], u'ok': [u'\\w\\w\\w\\w\\w\\w$']}

As the example shows there are two errors. They seem to be escaping and white space related.

The ignored list containing the \w{6} value is empty. Even with more elements in it, none gets in the list.
The broken list conflictive string \w{6} is missing last two characters.

This fails consistently in Python 2.7.12 and Python 3.5.2.
Used version is toml (0.9.2) which is the last one AFAIK.

This appears to be fixed in the latest development version.
Can you confirm?

I can confirm this works for toml (7ec24e35db91f1e39ea07bf285fc6a06f77c7a79) installed locally using python 2.7:
>>> toml.loads("""
ignored = [
    '\w{6}$'
]

broken = ['\w{6}$']

ok = [
    '\w\w\w\w\w\w$'
]
""")
{u'broken': [u'\\w{6}$'],
 u'ignored': [u'\\w{6}$'],
 u'ok': [u'\\w\\w\\w\\w\\w\\w$']}

:)

Alright, closing as fixed.
I'm well aware that this project is overdue for a bug fix release :)


Add support for eslint-plugin-visualforce

This is a brand new plugin to support inline JS in Salesforce's VisualForce pages

Published in v1.0.11.


Cherrypick MM-44566

Summary
Cherry pick of https://github.com/mattermost/mattermost-webapp/pull/10381 to release-7.0
Release Note
NONE

@AGMETEOR @neallred @marianunez Are the changes here safe to include in v7.0? v7.0-rc1 has already been cut and looks like this cherry-pick PR has a lot more changes than the original PR https://github.com/mattermost/mattermost-webapp/pull/10381.

Good callout. I was thinking this was for the feature of the button, but it looks like we're just trying to avoid the errors caused by introducing the button, and that the button wasn't in release-7.0. @AGMETEOR do we need this? I'm guessing the button didn't make it to release 7.0 so we shouldn't need to cherry pick the fix (and the button) to release 7.0.

Good callout. I was thinking this was for the feature of the button, but it looks like we're just trying to avoid the errors caused by introducing the button, and that the button wasn't in release-7.0. @AGMETEOR do we need this? I'm guessing the button didn't make it to release 7.0 so we shouldn't need to cherry pick the fix (and the button) to release 7.0.

Yes, indeed the button code does not exist on the release-7.0 branch. Maybe we shouldn't cherry pick.


Removed tutorials for community-supported drivers

Follow-up on https://github.com/cockroachdb/docs/pull/12913.
Fixes https://cockroachlabs.atlassian.net/browse/DOC-371.
This PR removes the tutorials for our community-supported drivers from the docs.
Merging this PR will remove some clutter from our docs site and docs repo and will establish a more sustainable precedent for how we document tools that we don't officially support (i.e., that we don't document them).
All sample code for community-supported drivers will now be available in separate directories of the new community-tooling-samples repo. The README files in each driver's directory contain an adapted version of each sample's original tutorial. Before this PR can be merged, we will need to make that repo public (it is currently private).
As a follow-up to this PR, we can move any extant issues in the docs repo that relate to any community-supported drivers to that repo.

This change is

Oh, also, what do we plan to do with previous doc version?

Just realized that we link to some of these community supported tutorials from the Marketing team's developers page: https://www.cockroachlabs.com/developers/. See "Other languages".
We're fine for now because you've put in place redirects, but we should consider chatting with them and thinking through another approach. cc @kernfeld-cockroach

Can you list the affected languages in the commit message? That just makes it a little easier to see the effect of this change.
Out of these languages, I think we actually do care about Rust because it's popular with experienced innovators so I'd like to leave it.

@jseldess

Question: community-tooling-samples repo is currently in the cockroachlabs org. Why is that? Why not the cockroachdb org? If it stays in cockroachlabs, in any case, it needs to be made public.

Moved that repo into cockroachdb. I also opened a Jira issue to move all other samples into cockroachdb: https://cockroachlabs.atlassian.net/browse/DOC-2777

Oh, also, what do we plan to do with previous doc version?

Since these changes have been approved, I've propagated the changes to 21.1. I'm not sure we need to go back any further than that. Do you disagree?

Just realized that we link to some of these community supported tutorials from the Marketing team's developers page: https://www.cockroachlabs.com/developers/. See "Other languages".

We should get that page updated. We ought to remove explicit mentions of C++, Clojure, and PHP. Also, Node.js shouldn't be listed in "Other languages". It really should have its own tile. Probably even the first tile. Not sure who controls that page.
@kernfeld-cockroach

Can you list the affected languages in the commit message? That just makes it a little easier to see the effect of this change.

Done.

Out of these languages, I think we actually do care about Rust because it's popular with experienced innovators so I'd like to leave it.

Done.

@nickvigilante TFTR!

For usability, I suggest converting the a href link to a markdown link, since it should 1) open that link in a new tab and 2) add target=noopener automatically.

Done.


Cannot connect to ssh agent under zsh

Describe the bug
When running under zsh, ssh-add -l reports Error connecting to agent: No such file or directory. In bash, it correctly reports the available keys.
To Reproduce
orb
zsh
ssh-add -l

Expected behavior
List of available keys.

Can't reproduce in a fresh Ubuntu machine. Which distro, version, and architecture?

arch, aarch64

Actually, you are right. It's something about my setup. It works under clean Arch. My bad. Closing.

No worries. Make sure SSH_AUTH_SOCK is set to /opt/orbstack-guest/run/host-ssh-agent.sock — it's likely that your zshrc is overriding it.

Thanks for the pointer. It's something intermittent. It's now working in the original machine, where I encountered a problem. Is it possible that the socket got deleted, but then somehow recreated when I created a new machine via the gui?

The socket doesn't get recreated when you do that. There might be some clues in the logs, so it'd helpful if you could share full log files from the Help menu.


Ci 299 synchronize with original master branch

this PR is for synchronizing multi-tenancy changes with master of oauth2-proxy
Description
The origin of this branch is feature/multi-tenancy. All new master commits are merged and conflicts resolved.
Test cases analyzed.
alpha-config.md is updated to allow new structure.
Motivation and Context
This pr is created so that multi-tenancy feature could be merged in develop
How Has This Been Tested?
Unittests are added for almost all new files in multi-tenancy
Checklist:

[X] My change requires a change to the documentation or CHANGELOG.
[X] I have updated the documentation/CHANGELOG accordingly.
[X] I have created a feature (non-master) branch for my PR.

Please make sure alpha_config.md is up to dated and contains info about the newly added constructs.


reordering contribution section to focus on community interactions first

shifting around the ordering of the contributions page to focus on how to get involved with the community first and foremost - pushing email and the mailing list to the top of the proverbial heap
This change also explicitly asks folks to use https://github.com/RackHD/RackHD/issues for registering bugs - we may need to fix them across each of the repos, but asserting a single place to go seemed like a better idea.

@yyscamper @benbp @jlongever @brianparry @anhou <-- I'm asserting things about contacting you guys with this PR, wanted you to be aware, trying to encourage email to the main list first, and a specific github issues location for bugs.

updated "Understand" to "Understanding", but didn't see a blank section in there - maybe the diff view was confusing? This was all a copy/paste move within the same file, nothing removed


Models

Can you add some comments on future pull requests broadly over-viewing what you did? Otherwise looks good


Updating winget issues

Brief description of your issue
Issue updating winget from the 1.2.1 version that is coming on most new out of box PCs which does not find, download, or install any software.
Steps to reproduce
New out of box machine comes with winget version 1.2.1, attempt to update with the msix package
Expected behavior
running the msix bundle to update winget should update to the new version
Actual behavior
attempting to install installing the MSIX bundle nets the following error
"This app package is not supported for installation by App Installer because it uses certain restricted capabilities"

Attempting to update via MS Store as a workaround is sometimes not an option when the update button is missing

Environment
new out of box PC on windows 10 or 11

@Rotmaster, The Microsoft Store should automatically update the App Installer shortly (~15 minutes) after the first login. If you are logged into the Microsoft store, you could try running winget install "App Installer" -s msstore --force to force the install.

@Rotmaster, The Microsoft Store should automatically update the App Installer shortly (~15 minutes) after the first login. If you are logged into the Microsoft store, you could try running winget install "App Installer" -s msstore --force to force the install.

We are doing setup for customer PCs so we often do not have the option to sign into the microsoft store

Can you run:
Add-AppxProvisionedPackage -Online -PackagePath <desktop AppInstaller msixbundle package path> -SkipLicense

Can you run:
Add-AppxProvisionedPackage -Online -PackagePath <desktop AppInstaller msixbundle package path> -SkipLicense

I will attempt that as soon as i have a new machine to test on

@rotmaster

@Rotmaster, The Microsoft Store should automatically update the App Installer shortly (~15 minutes) after the first login. If you are logged into the Microsoft store, you could try running winget install "App Installer" -s msstore --force to force the install.

We are doing setup for customer PCs so we often do not have the option to sign into the microsoft store, i will attempt that command as soon as i am able

Running that command on the 1.2.1 version of winget does not work as that version doesn't seem functional at all anymore
Work around i found that works is running the following command
powershell -command "Add-AppxPackage https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
Installing the latest version via a downloaded msix bundle when version 1.2.1 is currently installed still needs to be possible

Doing that finally made winget work on my machine, thank you!


Collection of DEVEX improvements

collection of things that come to my mind while talking to people at the hackathon

conditional set of on-chain state
improved and easier to use branching and switch logic (it gets messy very easily)

nice feedback! setIf() is straight-forward to add at least.
maybe some dynamic array methods for the branching?

We dont type check state fields, or at least we dont throw a helpful error message
eg
 @state(Field) playerA = State<PublicKey>();

should be
 @state(PublicKey) playerA = State<PublicKey>();

but results in a weird error
TypeError: x.toBigInt is not a function
    at Function.toValue (file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/lib/provable/field.js:882:18)
    at file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/bindings/lib/from-layout.js:365:48
    at Object.map (file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/bindings/lib/from-layout.js:423:20)
    at genericLayoutFold (file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/bindings/lib/from-layout.js:418:17)
    at genericLayoutFold (file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/bindings/lib/from-layout.js:395:28)
    at file:///Users/trivo/Downloads/zk-dice-roll/contracts/node_modules/o1js/dist/node/bindings/lib/from-layout.js:384:35
    at Array.map (<anonymous>)
    ```

We could fix that with types on the decorator!


Spfx 1.7 Linting

Category

[x ] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Hi,
I have a simple SPFx project that shows some tslint warnings when building. I would like to deal with these warnings, but I don’t understand some things:

The tslint.json file located in the root of my project. But, when I make any changes in this file (for example, disable some rules that cause warnings) it doesn’t affect anything. I see these warnings as before. As if another tslint.json file is used. For example, I added the following rule: "no-any": false, but I still have the warnings like
error no-any: Type declaration of 'any' loses type-safety. Consider replacing it with a more precise type,

I've installed the TSLint extension to my VS Code, but it doesn't highlight any warnings on my code. I can see these warnings only after building my solution in the Output window.

Thanks.

Please provide additional context, specifically SPFx version & Node.js version.
Also would help if you provided more detail on your warnings. Creating a default project with SPFx v1.7.1, adding a single private something: any; member to the default web part project and building yields no warnings from tslint... thus I can't repro...

Hi @andrewconnell,
Sorry for the delay. So, here are the main details:
SPFx version: 1.7
Node.js version: 8.14.0
? What is your solution name? linting-test
? Which baseline packages do you want to target for your component(s)? SharePoint 2019 onwards, including SharePoint Online
? Where do you want to place the files? Use the current folder
Found npm version 6.4.1
? Do you want to allow the tenant admin the choice of being able to deploy the solution to all sites immediately without
running any feature deployment or adding apps in sites? Yes
? Which type of client-side component to create? WebPart
Add new Web part to solution linting-test.
? What is your Web part name? HelloWorld
? What is your Web part description? HelloWorld description
? Which framework would you like to use? React
So, I created a new project in accordance with the configuration below, added a new property to the web part class (private something: any;) and a rule ("no-any": false) to the tslint.json. And that's what I get when I run  gulp build:
Warning - tslint - src/webparts/helloWorld/HelloWorldWebPart.ts(19,22): error no-any: Type declaration of 'any' loses type-safety. Consider replacing it with a more precise type, the empty type ('{}'), or suppress this occurrence.
Here is a link  to the test repo.
Thanks!

If you want to just disable the no any check on a single line you can add the follow tslint comment:
// tslint:disable-next-line:no-any

Closing as answered by engineering for now, unless we need to further discussion of this.

Quick follow up... @dkorolev1 try using the latest version of SPFx generator. I see you're using 1.7, but the later versions such as 1.8 are not showing the same results.

@mcmynn83 , Yes, I know, but it is not an option to add these comments everywhere. @andrewconnell, ok, I will try. Thanks to all!

@andrewconnell , unfortunately, there are other troubles in SPFx 1.8 generator. Details: 3730

@dkorolev1 Correct, but if you look in that issue, you'll see it was closed as a dupe to another issue. The work-around is documented until 1.8.1 is released. The fix is quite easy until 1.8.1 is released (I'd expect it in the next few weeks).

@andrewconnell, yeah, I saw, thanks.

@andrewconnell
Hello, I'm experiencing the same issue as @dkorolev1 where any changes tot the rules listed in the tslint.json file don't seem to have any affect, except I don't have the option of upgrading to a newer spfx version. My client is running sp2016 on prem which locks you into 1.1.0. Is there a known work around/fix/explanation for why changes to the tslint.json file in the root are not reflected when serving up the solution?
Thanks!


sync installer to 229017cf98e3fac0be42f0ebec277abd3b04e774

I updated installer.sha and ran make gen. The generated files include more changes than what I added in my PR.  git diff 229017cf98e3fac0be42f0ebec277abd3b04e774..64da3c5cc9fb1d0b1cae057c6fc3f25898df717e only shows my changes. @stewartbutler , it looks like you were the last one to update installer.sha. Did you selectively re-generate assets.gen.go or am I just doing it wrong?

The diff includes a lot of changes to CRD and other unrelated files see below.
// ../../data/charts/crds/files/crd-10.yaml
// ../../data/charts/crds/files/crd-11.yaml
// ../../data/charts/crds/files/crd-14.yaml
// ../../data/charts/crds/files/crd-all.gen.yaml
// ../../data/charts/crds/files/crd-certmanager-10.yaml
// ../../data/charts/crds/files/crd-certmanager-11.yaml
// ../../data/charts/crds/files/crd-mixer.yaml
// ../../data/charts/crds/kustomization.yaml
// ../../data/charts/crds/templates/crds.yaml
// ../../data/charts/crds/templates/namespaces.yaml
// ../../data/charts/crds/values.yaml

@ayj: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

mandiff_operator_release-1.4
fe510ada9bc944973138a070efd908f18a8dca31
link
/test mandiff_operator_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ayj: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test_operator_release-1.4
dc698c3bb2f158d9d3ebdabe2769eedf3b21f4c1
link
/test test_operator_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Suggestions for further tracking domains not covered yet.

Hi,
this is my first issue that I post to this project.
Here are some domains I found on german popular sites that aren't blocked yet. If you think they should be included elsewhere please direct me where you think this is better suited. I saw the lists here, but couldn't figure out, which one I should contact.
tagesschau.de:

logs1413.xiti.com

spiegel.de:

b174.s240.meetrics.net
b95.s79.research.de.com
s79.mxcdn.net
s240.mxcdn.net
s385.mxcdn.net
zipservice.adalliance.io

zeit.de:

responder.wt-safetag.com
bid.sxp.smartclip.net

lidl.de:

eu-tlp01.kameleoon.eu
eu-tlp02.kameleoon.eu
eu-tlp05.kameleoon.eu
z9q9kj37oy.kameleoon.eu
customers-lidl.kameleoon.com
storage.kameleoon.eu
www.lacmp.net

welt.de:

p.vtracy.de
www.asadcdn.com
adstax-cdn.adrtx.net
lmyd3iz3qn.kameleoon.eu

Some more I found in pi-hole logs, which I can't map to a specific site:

logs1211.xiti.com
b106.s240.meetrics.net
b195.s240.meetrics.net

Thanks @KommX.
Zero overlaps.
$ ./ghosts --clip --intersection
----------------------------------------
Base hosts file summary:
----------------------------------------
Location: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
Domains: 65,234
Bytes: 2.0 MB
----------------------------------------
----------------------------------------
Compared hosts from clipboard summary:
----------------------------------------
Location: clipboard
Domains: 16
Bytes: 334 B
----------------------------------------
intersection: []
Intersection: 0 domains

Thanks @KommX these are added to the list.
Closing.

@StevenBlack
I realized that you only add the first 16 domains to the list. Is something wrong with the last 7?

Hi @KommX I think I added all the domains that were in the list, at that time.
This was 29 days ago...

Hm, maybe I edited the list too late or something. I'll remove the entries that you didn't add in https://github.com/StevenBlack/hosts/commit/1485491816754f189f12d4a7ac0805a02659b31d and create a new issue with these and some more.


pad

This is an operation that turns an array at some level (i.e. has an axis parameter) into an OptionType by putting extra None elements in until it reaches a given length.
Old Awkward had an implementation of this, though it will probably be simpler now. Also, ignore the old clip parameter: that's easy enough to do with a slice after the fact. This was another proven-to-be useful operation.
Don't double-up OptionTypes: if something is already an OptionType, extend it.
The implementation might be identical for all non-OptionTypes (those are exceptional because you have to explicitly avoid doubling-up the OptionType): you just put the existing array in an IndexedOptionArray that points to the original array with gaps left for the new None values.

@jpivarski - I'm done with axis==0, I think. The auto generated Content gets padded  without assertions. Here are some thoughts on implementation, please, comment.

The length in pad(length, axis) can be interpreted as a desired length of the array, e.g. tolength, or as a padding with length so that array.length() + length == array.pad(length).length(). I've implemented the latter.

The NumpyArray padding can be implemented extending its shape or not. The first is similar to numpy padding and can be extended to padding with any value. The latter adds correct number of None's at axis. I'd think, this is desired behaviour, but I've implemented both.

 That function seems to be for giving image processing applications a little more room for edge effects. It doesn't even have an axis parameter.
Our pad was introduced because some physics analyses needed it and it was designed for that use-case (here is the old code). Perhaps it should be called rpad to avoid confusion with numpy.pad. (I just changed the poster to say rpad!)
The way I defined it before, my axis=0 was your axis=1. However, I think your definition makes more sense and we should go with that. It's the pad_no_shape version of the above that we should be using. I see that your pad (without _no_shape) does what numpy.pad does, and I'm sorry for the confusion.
So I think your pad_no_shape is the definition we should use, with your definition of axis. The next step would be to replace your implementation that generates UnionArrays with one that generates IndexedOffsetArrays. When all NumpyArrays are one-dimensional, this allows you to add the padding without ever modifying the array that's getting padded. For instance:
>>> import awkward1 as ak, numpy as np
>>> from awkward1.layout import *
>>> array = ak.Array([[1.1, 2.2, 3.3], [], [4.4, 5.5]]).layout
>>> array
<ListOffsetArray64>
    <offsets><Index64 i="[0 3 3 5]" offset="0" at="0x5643ef230880"/></offsets>
    <content><NumpyArray format="d" shape="5" data="1.1 2.2 3.3 4.4 5.5" at="0x5643ef232890"/></content>
</ListOffsetArray64>

>>> padindex = Index64(np.array([0, 1, 2, -1, -1, -1, 3, 4, -1]))
>>> padoffsets = Index64(np.array([0, 3, 6, 9]))
>>> padarray = ListOffsetArray64(padoffsets, IndexedOptionArray64(padindex, array.content))
>>> padarray
<ListOffsetArray64>
    <offsets><Index64 i="[0 3 6 9]" offset="0" at="0x5643ef14e860"/></offsets>
    <content><IndexedOptionArray64>
        <index><Index64 i="[0 1 2 -1 -1 -1 3 4 -1]" offset="0" at="0x5643ef236bc0"/></index>
        <content><NumpyArray format="d" shape="5" data="1.1 2.2 3.3 4.4 5.5" at="0x5643ef232890"/></content>
    </IndexedOptionArray64></content>
</ListOffsetArray64>

>>> ak.tolist(padarray)
[[1.1, 2.2, 3.3], [None, None, None], [4.4, 5.5, None]]

Since we were padding elements of this NumpyArray (and not between dimensions of a multidimensional shape), we can just take them as they are. The padindex is counting consecutively everywhere there isn't a None; we only needed to introduce the IndexedOptionArray and replace the ListOffsetArray.
In addition, users see the distinction between a variable-dimension array that happens to have identical lengths an a truly regular-dimension array. Therefore, this function should have a different behavior (either as a parameter or as two versions of the function) for "pad and clip," which always returns a RegularArray, and "pad at least..." which always returns a ListOffsetArray.
With the same example as above, consider padding and clipping to length 2:
>>> padindex2 = Index64(np.array([0, 1, -1, -1, 3, 4]))
>>> padarray2 = RegularArray(IndexedOptionArray64(padindex2, array.content), 2)
>>> padarray2
<RegularArray size="2">
    <content><IndexedOptionArray64>
        <index><Index64 i="[0 1 -1 -1 3 4]" offset="0" at="0x5643ef220ff0"/></index>
        <content><NumpyArray format="d" shape="5" data="1.1 2.2 3.3 4.4 5.5" at="0x5643ef232890"/></content>
    </IndexedOptionArray64></content>
</RegularArray>

>>> ak.tolist(padarray2)
[[1.1, 2.2], [None, None], [4.4, 5.5]]

Although at the level of Python lists this looks the same, high-level users will see the difference in type (these are the strings you get from Type::tostring):
>>> ak.typeof(padarray)
var * ?float64
>>> ak.typeof(padarray2)
2 * ?float64


Missing Configuration Block definitions for ServiceDeploymentController and ServiceDeploymentCircuitBreaker

File: themes/default/content/registry/packages/awsx/api-docs/ecs/fargateservice/_index.md
Both of the following do not seem to have the Configuration Block definitions included in the docs.
deploymentCircuitBreaker
pulumiAws.types.input.ServiceDeploymentCircuitBreaker
Configuration block for deployment circuit breaker. See below.
deploymentController
pulumiAws.types.input.ServiceDeploymentController
Configuration block for deployment controller configuration. See below.

Thanks for bringing this to our attention. We are investigating the issue you've encountered.


i'm sorry i can't find the keystone v3 patch in the source code,can you give me one?and how to use it in joss?

@RayOsLei Is it related Joss or Stocator? If joss - you should post those questions on the Joss forums.  This is what i am using in Stocator
https://github.com/SparkTC/stocator/blob/master/src/main/java/com/ibm/stocator/fs/swift/auth/PasswordScopeAccess.java

It is related Joss,but joss forums don't tell me how to solve it ?

@RayOsLei sorry, i don't have any patch for Joss. Seems you misunderstand it.


Identify services using both the ID and the Node

This aligns Fabio with the Consul docs[0] which state that
a serviceID has to be unique per agent but not cluster wide.
Fixes #383
[0] https://www.consul.io/api/agent/service.html#id

That looks simple enough. Can you update registry/consul/passing_test.go? It is time  for me to also write a test for service.go

Updated passing_test.go.
Thanks btw for your awesome work and really fast reaction on issues/PRs!

I think in general c.Node == svc.Node should be the first thing to evaluate, right? The Node will always be the most specific condition in that loop, while for example serfHealth will be hit for every consul agent.

@dropje86 Does that actually result in Go not evaluating the other conditionals?
@magiconair Is there still something missing from your POV?

@alvaroaleman Although not clearly documented, Go does use "Short circuit evaluation". See here: https://kuree.gitbooks.io/the-go-programming-language-report/content/22/text.html

Interesting, thanks for the link @dropje86!
I've added a second commit that simplifies the conditional logic in passing.go and avoids unnecessary evaluations, depending on what @magiconair thinks I can either squash it or put it in a separate PR.

Sorry, got a bit sick. I'll do this probably tomorrow and then try to run a release right away. Time to use goreleaser.

@alvaroaleman Thanks for the patch. Merged it and made some small changes in subsequent commits.


add react-streaming

💯

Released as 0.3.3.
(I ain't forgetting about your Vike PR and your DMs, I'll get back to you about these next week. But let me know if you're blocked and I'll have a look at it this weekend.)


Review and Update API Gateway-related Content in Kyma Learning Journey

Description
Delivering Side-by-Side Extensibility based on SAP BTP, Kyma runtime Kyma Learning Journey got outdated. Markus Haug would like to cooperate with us in updating it.
For the API Gateway module, we need to take care of the following items:

[ ] [Using the API Gateway to Expose Services](https://learning.sap.com/learning-journeys/deliver-side-by-side-extensibility-based-on-sap-btp-kyma-runtime/using-the-api-gateway-to-expose-services_b05bfe98-e216-439d-9fa4-f0ff18f8163b
[ ] Exposing a Service in Kyma with API Rules

Reasons
Content update requiring cross-team collaboration.
Attachments
See #5292 in internal /backlog

The API Gateway section has been updated.


Add configmap and secret count metrics

What does this PR do?

This pull request adds two additional metrics to the Kubernetes State check:

kubernetes_state.secret.count
kubernetes_state.configmap.count

These metrics count the number of secrets and configmaps respectively, and can be aggregated by the namespace tag. These metrics can be toggled with two new settings for the check:

enable_configmap_count
enable_secret_count

These default to false; the metrics won't be gathered unless they're set to true. The metrics are gathered in the same way as other aggregation metrics.
Motivation

Jira card here. We have counts for other Kubernetes resources, but not these.
Additional Notes

Possible Drawbacks / Trade-offs

The code currently checks for the presence of the enable values after potential aggregate metrics are found. There may be a better way to do this.
Describe how to test/QA your changes

Spin up a version of the agent with this check using Helm.
Manually edit the Cluster Agent's ClusterRole that is generated in order to ensure that the agent has permission to list ConfigMap and Secret resources.
Confirm that the metric count matches the actual count of the given resource.

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Identical change to this: https://github.com/DataDog/datadog-agent/pull/16699 (before branch got destroyed)


Updates for added RuboCop checks.

Description
Small tweaks for new RuboCop tests and try lazy load io/console.
Did you run the Tests?

[X] Rubocop
[X] Rspec
[X] Filemode
[X] Yard

I'm going to merge anyway. there seems to be a glitch with Travis for now and its building correctly but the PR isn't showing the correct status.
https://travis-ci.org/github/servian/awskeyring/builds/730783240


Text to speech bugs

Prerequisites

[x] I've searched for existing issues

Describe the bug

If I play the page, pause, and highlight something before the point where I paused, it resumes reading the page instead of reading the part I highlighted
If I play the page, pause, and highlight something AFTER the point where I paused, behaviour is inconsistent for each of my attempts but one of the following happens:

I try to play the highlighted passage, It doesn’t play
I try to play the highlighted passage, it resumes playing the page instead

Light theme:

Play page component

In the inactive state, the arrow is flipped in direction
In the focus state, the arrow has an outline

Play highlight component

Active state has diamond shape

Dark theme:

Play highlight component

Hover + active + focused has a diamond shape

Monochromatic theme:

Play highlight component

Hover + active has diamond shape

One note is that Firefox's active state also applies focus styles (if I remember correctly) so that may be causing some of the active display issues.

The issue with the arrows on the dark background seem to be related to the fact that css custom properties used in other properties don't pick up the re-declaration of the nested property unless that redefinition is scoped to the same place it was originally defined. To work around this, I'm using less css custom props so they aren't so nested. But they won't be as reusable anymore either.
See: https://css-tricks.com/the-big-gotcha-with-custom-properties/

@jobara there's an approach I've used for this with "buttons on dark backgrounds" where I have separate custom props for those. Not sure if that would work here.


remove gpx export support for POST request?

We should support GPX only for historic reasons and remove it for the POST /route endpoint (and also for POST /custom)

We should support GPX only for historic reasons

Why is that? Is there no interest in GPX anymore?

It should be done on the client side (like any other format like KML, ...). It makes maintenance on our side rather expensive. And the idea could be (if others agree) that it won't be removed for GET (at least not soon). And because the POST /route endpoint was introduced only after 0.13 nobody should complain about its removal.

Ah ok I see. Thanks for the explanation.
Maybe it would make sense to transfer it into a different module like graphhopper-gpx and give it a separate endpoint, like /gpx. Then the maintenance could be easier, GET and POST would be equal.

The goal would be to "fade out" this feature somehow. A separate endpoint would be one way, but no new features would be added (like POST-support).

Thanks @michaz.


feat: add URL resolver to generate public URLs

Issue or need

Proposed changes

Quick reminders

🤝 I will follow Code of Conduct
✅ No existing pull request already does almost same changes
👁 Contributing docs are something I've taken a look at
📝 Commit messages convention has been followed
💬 TSDoc comments have been added or updated indicating API visibility if API surface has changed.
🧪 Tests have been added if needed. For instance, if adding new features or fixing a bug. Or removed if removing features.
⚙ API Report has been updated if API surface is altered.

#798  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Feature/initializers as literals

closes #146

Codecov Report

Merging #148 (be6c69c) into main (d238c3f) will increase coverage by 0.04%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #148      +/-   ##
==========================================
+ Coverage   89.87%   89.91%   +0.04%
==========================================
  Files          51       51
  Lines        4946     4956      +10
  Branches      502      505       +3
==========================================
+ Hits         4445     4456      +11
+ Misses        380      379       -1
  Partials      121      121

Impacted Files
Coverage Δ

ott/core/sinkhorn.py
98.08% <100.00%> (+0.09%)
:arrow_up:

ott/tools/gaussian_mixture/fit_gmm_pair.py
79.26% <0.00%> (-0.25%)
:arrow_down:

ott/core/potentials.py
87.05% <0.00%> (+1.01%)
:arrow_up:

Codecov upload failed for fast test (same in #145 and #147). In #147 the CI will pass if the tests pass, but upload can now fail (it's not crucial).


[Feature request] Watermarking videos using an image

A big improvement, you could add the option to insert a watermark in the videos, from an image. It would be a great help this functionality.

I've looked into this more recently and I have a feeling it's going to open a whole can of worms...
For instance, the arguments used to images differ from the arguments used during adding text, then you have to be able to configure the location of the content, the size of the content, if using text the font and weight and etc... the transparency, timings of displaying, etc etc just leaves too much to cover. I might add a basic implementation later one day but if anyone else wants to have a stab at it, I'll be happy to merge them in


[#89] Verify that secrets exist before installing the Helm Release

Refactor the secret lookup so that it applies to all secrets expected by the Helm Chart
This fixes #89.
Signed-off-by: Jeff Mesnil<EMAIL_ADDRESS>

@yersan could you please review?


⚠ Bofrost.ch has degraded performance

In 6269d46, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 4842 ms

Resolved: Bofrost.ch performance has improved in 77c1961.


osx build cancelled?

@conda-forge/core
On the code page of this repo, it indicates the osx build is cancelled

Do I need to do something to enable that build, or have I done something in the recipe to accidentally cancel that build?
(I am new to conda-forge.  Everything seems to be set up automatically, which is great, so maybe I just need to be more patient.  If this is not the right way to ask for help, please offer pointers to the place in the documentation I should have read.)

It's still in a queue, see https://travis-ci.org/conda-forge/fann2-feedstock/builds
It'll take about half a day for the queue to be cleared up

You should have permissions to the Travis CI project for this repo. May require syncing your account on the Travis CI side if the repo is new. The cancellation is a product of Travis CI's more aggressive defaults for autocancellation (namely for branch builds), but can be fixed by simply restarting the build. We need to fix this on the conda-smithy side as noted in this comment.

@isuruf @jakirkham
I think this had more to do with my lack of experience with Travis, as I saw the cancelled badge, and didn't look into the branches tab of the Travis interface.  I suspect the cancelled badge showed up because the 1st build got cancelled when the "re-render after CI registration"  commit got pushed.


[Bug]:   When try to run via the srouce code, using linux debian 11 and node version 16.17.1 it crashes and the error message is "Ann error ocured When trying to run Sretchly and it will now close." "

Version

[X] I'm using version 1.13.1

Known issues

[X] I've checked Known issues

Existing issues

[X] I've checked Existing issues

What operating system are you using?
Linux
Operating System Version
Debian 11
Reproduction steps

...
Reproduces how often: [What percentage of the time does it reproduce?]
Expected Behavior
When the choosing language dialogue appears, it is expected from the application to run without showing any error messages.
Thanks !
Ahmadreza
Actual Behavior
It shows an error message once the language dialogue appears from the beginning.
Relevant log output
No response
Preferences
No response
Additional information
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

could you please show me how do you start the app? what output do you see?

Since I'm dual booting windows and Linux I tried the same procedure to run the code and got the same error on visual studio as well.  Here is the procedure that I fallow:
0- I have cloned the project into visual studio.
1- I use git bash on windows, which is added properly into visual studio 2022.
2- I change the node version to 16.17.`
$ nvm use 16
Now using node v16.17.1 (npm v8.15.0)
3- npm install and the result is:
$ npm install

<EMAIL_ADDRESS>postinstall
electron-builder install-app-deps

• electron-builder  version=23.6.0
• loaded configuration  file=package.json ("build" field)
• installing production dependencies  platform=win32 arch=x64 appDir=C:\Users\achit\Source\Repos\stretchly\app

<EMAIL_ADDRESS>prepare
husky install

husky - Git hooks installed
up to date, audited 642 packages in 15s
136 packages are looking for funding
run npm fund for details
14 vulnerabilities (4 moderate, 10 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run npm audit for details.
4- npm start, and the same error messages appear one after another recursively. Below are the details;
$ npm start

<EMAIL_ADDRESS>start
electron ./app

23:05:45.175 > Stretchly: initializing...
23:05:45.231 > Stretchly: loading preferences
23:05:45.281 > Stretchly: starting Idle time monitoring
23:05:45.286 > Stretchly: starting Do Not Disturb monitoring
i18next: hasLoadedNamespace: i18next was not initialized undefined
i18next::translator: key "miniBreakIdeas" for languages "en" won't get resolved as namespace "translation" was not yet loaded This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!
i18next::translator: missingKey en translation miniBreakIdeas miniBreakIdeas
i18next::translator: missingKey undefined translation miniBreakIdeas.0.text miniBreakIdeas.0.text
i18next::translator: missingKey undefined translation miniBreakIdeas.1.text miniBreakIdeas.1.text
i18next::translator: missingKey undefined translation miniBreakIdeas.2.text miniBreakIdeas.2.text
i18next::translator: missingKey undefined translation miniBreakIdeas.3.text miniBreakIdeas.3.text
i18next::translator: missingKey undefined translation miniBreakIdeas.4.text miniBreakIdeas.4.text
i18next::translator: missingKey undefined translation miniBreakIdeas.5.text miniBreakIdeas.5.text
i18next::translator: missingKey undefined translation miniBreakIdeas.6.text miniBreakIdeas.6.text
i18next::translator: missingKey undefined translation miniBreakIdeas.7.text miniBreakIdeas.7.text
i18next::translator: missingKey undefined translation miniBreakIdeas.8.text miniBreakIdeas.8.text
i18next::translator: missingKey undefined translation miniBreakIdeas.9.text miniBreakIdeas.9.text
i18next::translator: missingKey undefined translation miniBreakIdeas.10.text miniBreakIdeas.10.text
i18next::translator: missingKey undefined translation miniBreakIdeas.11.text miniBreakIdeas.11.text
i18next::translator: missingKey undefined translation miniBreakIdeas.12.text miniBreakIdeas.12.text
i18next::translator: missingKey undefined translation miniBreakIdeas.13.text miniBreakIdeas.13.text
i18next::translator: missingKey en translation longBreakIdeas longBreakIdeas
i18next::translator: missingKey undefined translation longBreakIdeas.0.title longBreakIdeas.0.title
i18next::translator: missingKey undefined translation longBreakIdeas.0.text longBreakIdeas.0.text
i18next::translator: missingKey undefined translation longBreakIdeas.1.title longBreakIdeas.1.title
i18next::translator: missingKey undefined translation longBreakIdeas.1.text longBreakIdeas.1.text
i18next::translator: missingKey undefined translation longBreakIdeas.2.title longBreakIdeas.2.title
i18next::translator: missingKey undefined translation longBreakIdeas.2.text longBreakIdeas.2.text
i18next::translator: missingKey undefined translation longBreakIdeas.3.title longBreakIdeas.3.title
i18next::translator: missingKey undefined translation longBreakIdeas.3.text longBreakIdeas.3.text
i18next::translator: missingKey undefined translation longBreakIdeas.4.title longBreakIdeas.4.title
i18next::translator: missingKey undefined translation longBreakIdeas.4.text longBreakIdeas.4.text
i18next::translator: missingKey undefined translation longBreakIdeas.5.title longBreakIdeas.5.title
i18next::translator: missingKey undefined translation longBreakIdeas.5.text longBreakIdeas.5.text
i18next::translator: missingKey undefined translation longBreakIdeas.6.title longBreakIdeas.6.title
i18next::translator: missingKey undefined translation longBreakIdeas.6.text longBreakIdeas.6.text
i18next::translator: missingKey undefined translation longBreakIdeas.7.title longBreakIdeas.7.title
i18next::translator: missingKey undefined translation longBreakIdeas.7.text longBreakIdeas.7.text
i18next::translator: missingKey undefined translation longBreakIdeas.8.title longBreakIdeas.8.title
i18next::translator: missingKey undefined translation longBreakIdeas.8.text longBreakIdeas.8.text
i18next::translator: missingKey undefined translation longBreakIdeas.9.title longBreakIdeas.9.title
i18next::translator: missingKey undefined translation longBreakIdeas.9.text longBreakIdeas.9.text
i18next::translator: missingKey undefined translation longBreakIdeas.10.title longBreakIdeas.10.title
i18next::translator: missingKey undefined translation longBreakIdeas.10.text longBreakIdeas.10.text
i18next::translator: missingKey undefined translation longBreakIdeas.11.title longBreakIdeas.11.title
i18next::translator: missingKey undefined translation longBreakIdeas.11.text longBreakIdeas.11.text
i18next::translator: missingKey undefined translation longBreakIdeas.12.title longBreakIdeas.12.title
i18next::translator: missingKey undefined translation longBreakIdeas.12.text longBreakIdeas.12.text
i18next::translator: missingKey undefined translation longBreakIdeas.13.title longBreakIdeas.13.title
i18next::translator: missingKey undefined translation longBreakIdeas.13.text longBreakIdeas.13.text
23:05:45.623 > Stretchly: loading default break ideas
i18next::backendConnector: loaded namespace translation for language en {
main: {
toolTipHeader: 'Stretchly - The break time reminder app',
microbreakIn: "Mini Break in $t(utils.seconds, {'count': {{seconds}} })",
breakIn: "Long Break in $t(utils.seconds, {'count': {{seconds}} })",
resumingBreaks: 'Resuming breaks',
downloadLatestVersion: 'Download latest version',
toBreak: 'Long Break',
toMicrobreak: 'Mini Break',
skipToTheNext: 'Skip to the next',
resume: 'Resume Breaks',
pause: 'Pause Breaks',
forHour: '1 hour',
for2Hours: '2 hours',
for5Hours: '5 hours',
untilMorning: 'Until morning',
indefinitely: 'Indefinitely',
resetBreaks: 'Reset Breaks',
quitStretchly: 'Quit Stretchly',
restoreDefaults: 'Restore defaults',
warning: 'This will restore app defaults and all your settings will be lost.',
continue: 'Continue',
cancel: 'Cancel',
preferences: 'Preferences',
contributorPreferences: 'Contributor Preferences',
syncPreferences: 'Sync Preferences'
},
break: {
postpone: 'Postpone this break',
skip: 'Skip this break',
title: 'Time to take a break!'
},
preferences: {
title: 'Stretchly Preferences',
nav: {
settings: 'Settings',
schedule: 'Schedule',
theme: 'Theme',
about: 'About',
heart: 'Love Stretchly'
},
settings: {
openAtLogin: 'Start Stretchly automatically when logging in',
showBreaksIn: 'Shows breaks in:',
window: 'Window',
fullscreen: 'Full screen',
showIdeas: 'Show exercise tips during breaks',
allScreens: 'Shows breaks on all monitors',
monitorIdleTime: 'Monitor system idle time (breaks are paused if system is idle).',
monitorDnd: 'Show breaks even in Do Not Disturb mode',
language: 'Select language:',
restoreDefaults: 'Restore defaults'
},
schedule: {
miniBreaks: 'Mini Breaks:',
miniBreaksInfo: 'Mini Breaks are short breaks taken regularly to give you a chance to stretch and relax.',
enableMiniBreaks: 'Enable Mini Breaks',
breakFor: 'Break for:',
every: 'Every:',
showNotificationBeforeMiniBreak: 'Show notification before Mini Break starts',
enablePostponeMini: 'Enable Postponement for Mini Break',
longBreaks: 'Long Breaks:',
longBreaksInfo: 'Long Breaks are taken less regularly, but are of greater duration, allowing you to take an extended break from your work.',
enableLongBreaks: 'Enable Long Breaks',
showNotificationBeforeLongBreak: 'Show notification before Long Break starts',
enablePostponeLong: 'Enable Postponement for Long Break',
strictMode: 'Strict Mode:',
strictModeInfo: 'Strict Mode prevents you from skipping either Mini Breaks or Long Breaks and is designed to help discipline.',
enableStrictMini: 'Enable Strict Mode for Mini Breaks',
enableStrictLong: 'Enable Strict Mode for Long Breaks',
cantDisableBoth: 'It is not possible to disable both types of breaks'
},
theme: {
appearance: 'Appearance:',
greenClouds: 'Green clouds',
autumnBeBlessed: 'Autumn be blessed',
graphiteCrystal: 'Graphite crystal',
coffeeKisses: 'Coffee kisses',
morningSwim: 'Morning swim',
transparentMode: 'Enable transparency',
sounds: 'Sounds:',
enableSounds: 'Enable sounds',
crystalGlass: 'Crystal glass',
windChime: 'Wind chime',
ticToc: 'Tic toc',
menubarIcon: 'Menubar icon:',
colour: 'Colour',
monochrome: 'Monochrome',
invertedMonochrome: 'Inverted Monochrome',
snowWhite: 'Snow white'
},
about: {
tagline: 'The break time reminder app',
version: 'Version ',
latestVersion: 'Latest version ',
checkNewVersion: 'Automatically check for app updates',
learnMore: 'To learn more about Stretchly features, view a tutorial, download the latest version or contact us for support, ',
ourWebsite: 'visit our website',
dot: '.',
developedBy: 'Developed by',
janH: 'Jan Hovancik',
designedBy: 'Icon and UI design by Colin Shanley'
},
heart: {
loveStretchly: 'Love your Stretchly?',
desc1: 'Taking regular breaks when using a computer is scientifically proven to be important for your physical and mental well-being.',
desc2: 'Stretchly is free. But you can lend your support by donating and help us continue to improve Stretchly and release other free software.',
becomePatron: 'Become a Patron',
alreadyContributor: "I'm already a contributor",
authenticateUsing: 'Authenticate using:',
contributorPreferences: 'Contributor Preferences',
syncPreferences: 'Sync Preferences'
}
},
contributorPreferences: {
'0': 'First monitor',
'1': 'Second monitor',
'2': 'Third monitor',
'3': 'Fourth monitor',
'4': 'Fifth monitor',
title: 'Contributor Preferences',
notifications: 'Break notifications:',
notificationsInfo: 'System notification shown before breaks to let you prepare for it.',
beforeLongBreak: 'Long Break:',
beforeMiniBreak: 'Mini Break:',
newVersion: 'New version:',
newVersionNotification: 'Notify when new version is available',
customIdeas: 'Custom ideas:',
customIdeasInfo: 'Allows you to use custom break ideas by editing configuration file. (For advanced users.)',
useIdeasFromSettings: 'Use break ideas from configuration file',
breakPostpone: 'Postponement of breaks:',
breakPostponeInfo: 'If enabled in main Preferences, you can postpone breaks. Following settings allow you to specify when, for how long and how many times you can postpone a break.',
miniBreaks: 'Mini Breaks:',
postponableFor: 'Postponable for:',
postponeFor: 'Postpone for:',
maxPostpones: 'Max of postpones:',
longBreaks: 'Long Breaks:',
pauseUntilMoring: 'Pause until morning:',
pauseUntil: 'Pause until:',
pauseUntilMorningInfo: "Specify till what hour 'Pause until morning' should pause.",
welcomeWindow: 'Welcome window:',
showWelcomeWindow: 'Show Welcome window on next start',
opacityTheme: 'Theme transparency:',
opacityInfo: 'How solid should the break window be?',
opacity: 'Opacity:',
breakWindowSize: 'Break window size',
breakWindowSizeInfo: 'What percentage of the screen should the break window hide?',
breakWindowWidth: 'Width:',
breakWindowHeight: 'Height:',
sounds: 'Sounds:',
volume: 'Volume:',
miniBreakStartSound: 'Play end-of-break sound also at the start of Mini break',
longBreakStartSound: 'Play end-of-break sound also at the start of Long break',
naturalBreaks: 'Natural breaks:',
naturalBreaksInfo: 'If monitoring of idle time is enabled in main Preferences, you can specify after what time the breaks should be paused.',
pauseAfter: 'Pause after:',
appearance: 'Appearance:',
light: 'Light',
dark: 'Dark',
system: 'System',
showBreaksAsRegularWindowsTitle: 'Act as regular window:',
showBreaksAsRegularWindowsInfo: "When enabled, Break windows will become focusable, they won't be 'Always on top' anymore and they will also appear in the taskbar.",
showBreaksAsRegularWindows: 'Show breaks as regular windows',
screen: 'Monitor for Breaks:',
screenInfo: 'When showing breaks on all monitors is disabled, you can choose which one you would like to show your Breaks on.',
showOnMonitor: 'Show Breaks on',
primary: 'Primary monitor',
cursor: 'Follow cursor',
timeToBreakInTray: 'Time to break',
showTimeToBreakInTray: 'Show time to the next break in menubar icon',
currentTimeInBreaks: 'Current time',
showCurrentTimeInBreaks: 'Show current local time in break window'
},
utils: {
remaining: '{{count}} remaining',
inAbout: 'in about {{count}}',
none_one: '{{count}}',
none_other: '{{count}}',
percent_one: '{{count}} percent',
percent_other: '{{count}} percent',
oclock_one: "{{count}} o'clock",
oclock_other: "{{count}} o'clock",
seconds_one: '{{count}} second',
seconds_other: '{{count}} seconds',
minutes_one: '{{count}} minute',
minutes_other: '{{count}} minutes',
hours_one: '{{count}} hour',
hours_other: '{{count}} hours'
},
process: { newVersionAvailable: 'New version is available!' },
welcome: {
title: 'Welcome to Stretchly',
breakTimeReminderApp: 'The break time reminder app',
viewTutorial: 'View Tutorial',
openPreferences: 'Open Preferences',
getStarted: 'Get Started'
},
statusMessages: {
paused: 'Paused',
indefinitely: 'Indefinitely',
dndMode: 'Do Not Disturb is on',
appExclusion: 'App exclusion rule',
nextLongBreak: 'Next Long Break',
nextMiniBreak: 'Next Mini Break',
afterMiniBreak_one: 'after {{count}} Mini Break',
afterMiniBreak_other: 'after {{count}} Mini Breaks',
resuming: 'Resuming'
},
miniBreakIdeas: {
aaa: { text: 'Go grab a glass of water.' },
aab: { text: 'Slowly look all the way left, then right.' },
aac: { text: 'Slowly look all the way up, then down.' },
aad: { text: 'Close your eyes and take few deep breaths.' },
aae: { text: 'Close your eyes and relax.' },
aaf: { text: 'Stretch your legs.' },
aag: { text: 'Stretch your arms.' },
aah: { text: 'Is your sitting posture correct?' },
aai: { text: 'Slowly turn head to side and hold for 10 seconds.' },
aaj: { text: 'Slowly tilt head to side and hold for 5-10 seconds.' },
aak: { text: 'Stand from your chair and stretch.' },
aal: { text: 'Refocus your eyes on an object at least 20 meters away.' },
aam: { text: 'Take a moment to think about something you appreciate.' },
aan: { text: 'Take a moment to smile at being alive.' },
aao: {
text: 'A truly ergonomic workstation is one that you regularly push away from.'
},
aap: { text: 'Close your eyes and count your breaths.' },
aaq: { text: 'Close your eyes and name the things you hear.' },
aar: {
text: 'Place your fingertips on your shoulders. Roll your shoulders forward for 10 seconds, then backward.'
},
aas: {
text: 'Raise your right arm, stretch it over your head to the left, and hold for 10 seconds. Repeat on the other side.'
},
aat: {
text: 'With your right hand, grab each finger of your left hand in turn and squeeze. Repeat on the other side.'
},
aau: {
text: 'Stand up and do a lunge. Hold for 10 seconds, then do the other leg.'
},
aav: {
text: 'Close your eyes and simply notice whatever arises in current moment, without judgement.'
},
aaw: {
text: 'Focus every 20 minutes for 20 seconds on an object at 20 feet distance.'
},
aax: { text: 'If you need help, ask for it.' },
aay: { text: 'Do one thing at a time.' },
aaz: { text: 'Is your attention spent wisely?' },
aba: { text: 'Change your sitting posture.' },
abb: { text: 'Expose your eyes to natural light.' },
abc: {
text: 'With your eyes closed, slowly and gently raise your eyes to the ceiling and back down to the floor.'
},
abd: {
text: 'With your eyes closed, slowly and gently move your eyes to the left, then slowly to the right.'
},
abe: { text: 'Shake your hands out to get some relief.' },
abf: {
text: 'One at a time, touch the tip of each finger to the tip of your thumb so they make an O-shape.'
},
abg: {
text: "Make a fist and then slide your fingers up until they point toward the ceiling, like you're telling someone to stop."
 Squeeze your shoulder blades together and hold.'
},
abl: {
text: 'Stand tall with your arms raised along your shoulders. Move hands slightly behind your back, hold for a second and return.'
},
abm: {
text: 'Sit on the edge of your chair, twist your torso to one side and hold for 10-15 seconds. Repeat on the other side.'
},
abn: {
text: 'Stand up and put one foot on a nearby object, like a chair or step stool. Keep your knee bent and hold for 10-15 seconds.   Repeat with the other leg.'
},
abs: {
text: 'Stand facing a wall, put one foot back and the other foot forward, then lean into the wall.  Hold for 10-15 seconds. Repeat with the other arm.'
},
abu: {
text: 'Tilt your head to one side, then to the other side, and then gently tilt it forward and backward.'
},
abv: {
text: 'Reach one arm across your chest, hold onto the elbow with the other hand, and gently pull it in towards your chest. Repeat with the other arm.'
},
abw: {
text: 'Stand up, put one foot on a nearby object, like a chair or step stool, and reach down to touch your toes. Repeat with the other leg.'
},
abx: {
text: 'Stand in a doorway and place one arm on each side of the doorway, then gently lean forward until you feel a stretch in your chest.'
},
aby: {
text: 'Sit on the edge of a chair or on the floor, and place the soles of your feet together, gently pressing down with your elbows to stretch your inner thighs.'
}
},
longBreakIdeas: {
aaa: {
title: 'Not alone',
text: 'Do you find it hard to take a break alone? Try to do it with a co-worker. Aside from making it easier to stick to breaks, you will have a chance to get to know them better. Taking breaks together increases productivity.'
},
aab: {
title: 'Step away',
text: 'Do you ever notice how your brain can figure things out by itself? All it takes is to step away from the computer and take a break to think about something totally unrelated.'
},
aac: {
title: 'Microbreaks',
text: 'Rest is a key component in ensuring the performance of the musculoskeletal system. Frequent breaks can decrease the duration of a task and help lower the exposure to ergonomic injury risk.'
},
aad: {
title: 'Meditation',
text: 'Research studies suggest that mindfulness-based exercises help decrease anxiety, depression, stress, and pain, and help improve general health, mental health, and quality of life. Not sure how to start? There are numerous apps to help you out.'
},
aae: {
title: 'Blink',
text: 'Looking at screens for a long time causes you to blink less, thus exposing your eyes to the air. Blink rapidly for a few seconds to refresh the tear film and clear dust from the eye surface.'
},
aaf: {
title: 'Ergonomics',
text: 'Improper height and angle of the keyboard, mouse, monitor or working surface can cause health problems. Take some time to read about desk ergonomics.'
},
aag: {
title: 'Move',
text: 'There are a lot of ways you can exercise within your office. Try marching in place or doing desk push-ups.'
},
aah: {
title: 'Change',
text: 'Do you have a stability ball or standing work desk?  It is a sign that you need to take a break.'
},
aaj: { title: 'Tech', text: 'How about taking a no-tech walk?' },
aak: {
title: 'Metabolism',
text: 'Emerging research shows that sitting for long periods of time contributes to risk of metabolic syndrome, heart attack and stroke risk and overall death risk, among others. Taking regular walking breaks can help your circulation, working to counteract some of those problems.'
},
aal: {
title: 'Active Meetings',
text: 'How about moving meetings from the conference room to the concourse? Walking not only burns calories but it may even foster a sense of collaboration.'
},
aam: {
title: 'Fruit',
text: 'Take your time and eat some fruit. Slowly. Notice the flavor, the texture, the freshness.'
},
aan: {
title: 'Bathrooms',
text: 'Walk to the farthest bathroom in the worksite facility when going to the restroom.'
},
aao: {
title: 'Coffee break',
text: 'Going on coffee break? Consider doing a 5-minute walk every time you go for one.'
},
aap: {
title: 'Colleagues',
text: 'Do not email or message office colleagues, walk to their desks to communicate with them.'
},
aaq: {
title: 'Learning',
text: 'In a study of healthy volunteers, NIH researchers found that taking short breaks, early and often, may help our brains learn new skills.'
},
aar: {
title: 'Exercise',
text: 'Evidence suggests small amounts of regular exercise can bring dramatic health benefits, including measurably reducing stress.'
},
aas: {
title: 'Repeat',
text: 'Have you found your stretch-ly-routine? Do not forget to repeat it for more than once to better fight effects of prolonged sitting.'
},
aat: {
title: 'Wrist and forearm',
text: 'Extend your arms with the palms facing towards you, then slowly rotate the hands four times clockwise, then four times counter-clockwise.'
},
aau: {
title: 'Back stretching',
text: 'Join your hands behind your head, then lift them together up above your head ending with your palms facing upward.'
},
aav: {
title: 'Mobilize',
text: 'For every thirty minutes of stagnation, you should have at least one minute of stimulation.'
},
aaw: {
title: '7 Minute Workout',
text: 'This workout packs in a full-body exercise routine in a fraction of the time. But as with any exercise, be careful. There are numerous apps to get you started.'
},
aax: {
title: 'Pulse',
text: 'Raise your pulse rate to 120 beats per minute for 20 straight minutes four or five times a week doing anything you enjoy. Regularly raising your heart rate results in improved cardiovascular health.'
},
aay: {
title: 'Take the stairs',
text: 'Studies have shown that stair climbing, which is considered vigorous-intensity physical activity, burns more calories per minute than jogging.'
},
aaz: {
title: 'Make art',
text: 'Art therapy is known to have great mental health benefits, especially when it comes to stress management. How about writing a quick poem, taking a picture or painting something small?'
},
aba: {
title: 'Declutter',
text: 'A clean space helps your focus at work and is often linked to positive emotions like happiness.'
},
abb: {
title: 'Lunch outside',
text: 'Nature is linked to positive emotions and decreased stress and anxiety. Whenever possible, try to take your daily lunch break outside, surrounded by some greenery.'
},
abc: {
title: 'Public transport',
text: 'If you use public transport regularly, you can stand instead of sitting. If it is possible, try to replace as many of your daily trips as possible with walking or cycling.'
},
abd: {
title: 'Yawning',
text: 'Yawning can be really helpful, as it produces tears to help moisten and lubricate the eyes.'
},
abe: {
title: 'Focus change',
text: 'Hold one finger close to the eye and focus on it. Slowly move the finger away, focus far into the distance and then back to the finger. Bring the finger back and focus on something far away.'
},
abf: {
title: 'Palming',
text: 'While seated, brace elbows on the desk and close to the desk edge. Let your weight fall forward and cup hands over eyes. Close your eyes and inhale slowly through nose and hold for few seconds. Continue deep breathing.'
},
abg: {
title: 'Hand squeezes',
text: 'Squeeze a pair of balled-up socks or a soft rubber ball, hold for 5 seconds. Repeat whole process a few times.'
},
abh: {
title: 'Slow Breathing',
text: 'Emerging research suggests potential for use of controlled slow breathing techniques as a means of optimising physiological parameters that appear to be associated with health and longevity.'
},
abi: {
title: 'Imaginative visualization',
text: 'Close your eyes and imagine yourself in a peaceful and calming place, such as a beach or a forest, focusing on the sights, sounds, and sensations of that environment.'
}
}
}
23:05:45.834 > Stretchly: loading default break ideas
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'en' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '',
contextSeparator: '',
partialBundledLanguages: false,
saveMissing: false,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: true,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
backend: {
loadPath: 'C:\Users\achit\Source\Repos\stretchly\app\locales\{{lng}}.json',
jsonIndent: 2,
addPath: '/locales/{{lng}}/{{ns}}.missing.json',
ident: 2,
parse: [Function: parse],
stringify: [Function: stringify]
},
ignoreJSONStructure: true
}
23:05:46.334 > Error: Could not locate the bindings file. Tried:
ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>at bindings (C:\Users\achit\Source\Repos\stretchly\app\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\node_modules\windows-notification-state\lib\index.js:1:65)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\lib\index.js:3:36)
23:05:47.309 > Error: Could not locate the bindings file. Tried:
ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>at bindings (C:\Users\achit\Source\Repos\stretchly\app\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\node_modules\windows-notification-state\lib\index.js:1:65)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\lib\index.js:3:36)
23:05:48.326 > Error: Could not locate the bindings file. Tried:
ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>at bindings (C:\Users\achit\Source\Repos\stretchly\app\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\node_modules\windows-notification-state\lib\index.js:1:65)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\lib\index.js:3:36)
23:05:48.609 > Stretchly: checking for new version (local: v1.13.1, remote: 1.13.1)
23:05:49.333 > Error: Could not locate the bindings file. Tried:
ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>ΓåÆ<EMAIL_ADDRESS>at bindings (C:\Users\achit\Source\Repos\stretchly\app\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\node_modules\windows-notification-state\lib\index.js:1:65)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\achit\Source\Repos\stretchly\app\node_modules@meetfranz\electron-notification-state\lib\index.js:3:36)

And this error is on Windows of Linux? On Windows, you need to install node with tools. I don't remember exactly but there is some checkbox during node install.
I would recommend using Linux, for me it was always easier to setup.

This error above was shown on Windows, on Visual studio 2022(Git Bash attached instead of console as a terminal), But on either OS I saw the same warning message. Could you tell me about the checkbox for node installation please? I'd really appreciate, if you wrote a more precise instruction for that at your convenience. Anyway, undoubtedly you did a great job by creating this helpful app, and you made the world a better place Hovancik.

Hi, on Windows there should be something like this:

You need to check that box.
Regarding Linux:
stack Error: not found: make

You need to install make

Hello Hovancik, I have had make installed before. this did not solve my problem.
make -v
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

<EMAIL_ADDRESS>postinstall
electron-builder install-app-deps

• electron-builder  version=23.6.0
• loaded configuration  file=package.json ("build" field)
• installing production dependencies  platform=linux arch=x64 appDir=/home/achz/Apps/stretchly/app
⨯ /home/achz/.nvm/versions/node/v16.17.1/bin/node process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
Error output:
npm WARN config production Use --omit=dev instead.
npm ERR! code 1
npm ERR! path /home/achz/Apps/stretchly/app/node_modules/windows-focus-assist
npm ERR! command failed
npm ERR! command sh /tmp/install-64af08a0.sh
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | x64
npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
npm ERR! gyp http GET https://electronjs.org/headers/v22.2.0/node-v22.2.0-headers.tar.gz
npm ERR! gyp WARN install got an error, rolling back install
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack FetchError: request to https://www.electronjs.org/headers/v22.2.0/node-v22.2.0-headers.tar.gz failed, reason: read ECONNRESET
npm ERR! gyp ERR! stack     at ClientRequest. (/home/achz/.nvm/versions/node/v16.17.1/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
npm ERR! gyp ERR! stack     at ClientRequest.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at TLSSocket.socketErrorListener (node:_http_client:481:9)
npm ERR! gyp ERR! stack     at TLSSocket.emit (node:events:525:35)
npm ERR! gyp ERR! stack     at emitErrorNT (node:internal/streams/destroy:157:8)
npm ERR! gyp ERR! stack     at emitErrorCloseNT (node:internal/streams/destroy:122:3)
npm ERR! gyp ERR! stack     at processTicksAndRejections (node:internal/process/task_queues:83:21)
npm ERR! gyp ERR! System Linux 5.10.0-21-amd64
npm ERR! gyp ERR! command "/home/achz/.nvm/versions/node/v16.17.1/bin/node" "/home/achz/.nvm/versions/node/v16.17.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/achz/Apps/stretchly/app/node_modules/windows-focus-assist
npm ERR! gyp ERR! node -v v16.17.1
npm ERR! gyp ERR! node-gyp -v v9.0.0
npm ERR! gyp ERR! not ok
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/achz/.npm/_logs/2023-02-25T06_29_18_802Z-debug-0.log
failedTask=installAppDeps stackTrace=Error: /home/achz/.nvm/versions/node/v16.17.1/bin/node process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
Error output:
npm WARN config production Use --omit=dev instead.
npm ERR! code 1
npm ERR! path /home/achz/Apps/stretchly/app/node_modules/windows-focus-assist
npm ERR! command failed
npm ERR! command sh /tmp/install-64af08a0.sh
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | x64
npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
npm ERR! gyp http GET https://electronjs.org/headers/v22.2.0/node-v22.2.0-headers.tar.gz
npm ERR! gyp WARN install got an error, rolling back install
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack FetchError: request to https://www.electronjs.org/headers/v22.2.0/node-v22.2.0-headers.tar.gz failed, reason: read ECONNRESET
npm ERR! gyp ERR! stack     at ClientRequest. (/home/achz/.nvm/versions/node/v16.17.1/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
npm ERR! gyp ERR! stack     at ClientRequest.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at TLSSocket.socketErrorListener (node:_http_client:481:9)
npm ERR! gyp ERR! stack     at TLSSocket.emit (node:events:525:35)
npm ERR! gyp ERR! stack     at emitErrorNT (node:internal/streams/destroy:157:8)
npm ERR! gyp ERR! stack     at emitErrorCloseNT (node:internal/streams/destroy:122:3)
npm ERR! gyp ERR! stack     at processTicksAndRejections (node:internal/process/task_queues:83:21)
npm ERR! gyp ERR! System Linux 5.10.0-21-amd64
npm ERR! gyp ERR! command "/home/achz/.nvm/versions/node/v16.17.1/bin/node" "/home/achz/.nvm/versions/node/v16.17.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/achz/Apps/stretchly/app/node_modules/windows-focus-assist
npm ERR! gyp ERR! node -v v16.17.1
npm ERR! gyp ERR! node-gyp -v v9.0.0
npm ERR! gyp ERR! not ok

looks like dependencies could not be downloaded.
try rm -rf node_modules && rm -rf app/node_modules to remove node modules folders
then npm i -g npm to update npm
and npm i again

Thanks man.  It works. Also I did

yarn add electron-builder --dev