IQ# kernel fails to start when "Application Data" folder is inaccessible

Originally opened by @n33r4j:
I recently updated my iqsharp(from 0.10 to 0.11) for jupyter notebooks (via Anaconda) and ever since, the Q# kernel stopped connecting when I open a new or existing Q# notebook(Python works fine). I have tried uninstalling and reinstalling jupyter notebook as well as iqsharp but nothing seems to have changed.
I think it may have something to do with "Access to the path 'C:\Users\neera\Application Data' is denied".

Hi @n33r4j, thanks for reporting! It looks like you've also reported this issue on StackOverflow at https://stackoverflow.com/questions/62009102/jupyter-notebook-q-kernal-not-connecting/62027491.
In general, it looks like something went wrong during installation/upgrade that is preventing IQ# from starting up as a Jupyter kernel. What you could try is to completely uninstall and reinstall the iqsharp tool by doing the following:
dotnet tool uninstall -g Microsoft.Quantum.IQSharp
dotnet tool install -g Microsoft.Quantum.IQSharp
dotnet iqsharp install

If that doesn't work, to diagnose further, it would be very helpful if you could provide a little more information:

When specifically are you seeing that "access denied" error message? Is this in the Jupyter console output, or is it the output of some command that you are running?
If you could also include more of the context around the error message, it would be helpful. For example, provide the full terminal output rather than just the single line with the error message.

I have tried uninstalling once before but I'll try it again.
I'll try to describe what happens.
When I open an existing or new Q# notebook,

Notebook - The kernel status is "Kernel starting, please wait..."

Jupyter terminal window message - "Access to the path 'C:\Users\neera\Application Data' is denied.

Notebook - The kernel status turns to "Connecting to kernel" (in orange).

Notebook - A pop up dialogue box with the message, "A connection to the notebook server could not be established. The notebook will continue trying to reconnect. Check your network connection or notebook server configuration".

Jupyter terminal window message -"Replacing stale connection: ....".

Notebook - After a few seconds, no status message. The indicator circle on the top right (which is usually white ) turns grey and shows 'Kernel Connected' when you hover the mouse over it. Yet the kernel remains unresponsive.

Below is the entire terminal output after opening an existing Q# notebook.
`
[I 19:03:26.794 NotebookApp] JupyterLab extension loaded from C:\Users\neera\Anaconda3\lib\site-packages\jupyterlab
[I 19:03:26.794 NotebookApp] JupyterLab application directory is C:\Users\neera\Anaconda3\share\jupyter\lab
[I 19:03:26.822 NotebookApp] Serving notebooks from local directory: C:\Users\neera
[I 19:03:26.822 NotebookApp] The Jupyter Notebook is running at:
[I 19:03:26.823 NotebookApp] http://localhost:8888/?token=d828aeca084b9876a9bf502beb65bdd92cd88e3e342397a5
[I 19:03:26.823 NotebookApp]  or http://<IP_ADDRESS>:8888/?token=d828aeca084b9876a9bf502beb65bdd92cd88e3e342397a5
[I 19:03:26.823 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 19:03:26.932 NotebookApp]
To access the notebook, open this file in a browser:
    file:///C:/Users/neera/AppData/Roaming/jupyter/runtime/nbserver-3340-open.html
Or copy and paste one of these URLs:
    http://localhost:8888/?token=d828aeca084b9876a9bf502beb65bdd92cd88e3e342397a5
 or http://<IP_ADDRESS>:8888/?token=d828aeca084b9876a9bf502beb65bdd92cd88e3e342397a5

[I 19:03:40.844 NotebookApp] Kernel started: aec54c2b-905b-4f50-b746-4a2c9b5ab6d5
Access to the path 'C:\Users\neera\Application Data' is denied.
[W 19:04:01.875 NotebookApp] Replacing stale connection: aec54c2b-905b-4f50-b746-4a2c9b5ab6d5:85606d3279fc431d8ec6fbd854aceff4
[W 19:04:23.890 NotebookApp] Replacing stale connection: aec54c2b-905b-4f50-b746-4a2c9b5ab6d5:85606d3279fc431d8ec6fbd854aceff4
[W 19:04:40.914 NotebookApp] Timeout waiting for kernel_info reply from aec54c2b-905b-4f50-b746-4a2c9b5ab6d5
[I 19:04:40.925 NotebookApp] Starting buffering for aec54c2b-905b-4f50-b746-4a2c9b5ab6d5:85606d3279fc431d8ec6fbd854aceff4
[I 19:04:40.927 NotebookApp] Restoring connection for aec54c2b-905b-4f50-b746-4a2c9b5ab6d5:85606d3279fc431d8ec6fbd854aceff4
`

Thank you for the additional information! Which path are you starting jupyter notebook from? Can you try starting jupyter notebook from a different path? For example:
cd C:\Users\neera\Documents
jupyter notebook

It works! Is there a way I can change the directory?

You could start jupyter notebook from C:\ and then you can access your whole file tree from within the browser.
I think what is happening is that IQ# tries to browse the contents of the current folder for *.qs files on startup. In your case there's a folder Application Data that's inaccessible for some reason (we have seen a couple other reports of this), and IQ# doesn't handle that exception and fails to startup. So this certainly looks like a bug that should be fixed in IQ# (thank you for filing this issue!). But, the workaround is to simply start jupyter notebook from a different folder.

Great, thank you for confirming!
Leaving this issue open to track the underlying bug here, and updating the title accordingly.

Also linking the two StackOverflow questions where this issue has been raised recently:

https://stackoverflow.com/questions/60949333/how-to-fix-this-problem-with-q-installation-preparing-q-environment-acces/62047266
https://stackoverflow.com/questions/62009102/jupyter-notebook-q-kernal-not-connecting/62027491


cleanup: remove unused mini client code

I orinally used this mini client (with no video decode support) for debugging the ALVR library integration before I got this running on the Simulator.
This code no longer builds, and since we can now test inside the visionOS Simulator, there's no point keeping the mini client around.
(I'm keeping the ios/maccatalyst support in the xcframework repack script, though: might come in handy)

LGTM


feat(CategoryTheory): condition for an induced functor between comma categories to be final

Two questions:

Is the performance of StructuredArrow.commaMapEquivalence okay? Not sure how to make it much faster.
map₂CompMap₂Iso references the pasting of two square-shaped two cells, which @emilyriehl defined for adjoints, but I think it should be an operation independent of adjoints, maybe in CategoryTheory.whiskering? Might be worth doing that in a future refactor though.

* Is the performance of `StructuredArrow.commaMapEquivalence` okay? Not sure how to make it much faster.

It seems ok to me.

* `map₂CompMap₂Iso` references the pasting of two square-shaped two cells, which @emilyriehl defined for adjoints, but I think it should be an operation independent of adjoints, maybe in `CategoryTheory.whiskering`? Might be worth doing that in a future refactor though.

We have CatCommSq in the file CategoryTheory.CatCommSq.

@joelriou Thanks! Didn't find that. We don't require the two cells to be iso, though.

@joelriou Thanks! Didn't find that. We don't require the two cells to be iso, though.

Then, we have TwoSquare which appears in CategoryTheory.GuitartExact.Basic/VerticalComposition. It could be worth moving out the (very little) content that is specific to 2-squares from this file and develop a little more the API.

Will do so in a separate PR (will also make sure naming etc is consistent with the general bicategorical case...)


Universidade federal fluminense

@lussil I did not find any evidence that the domain uff.com belongs to this organization. Moreover, WHOIS data suggests the opposite. I have to close this request without merging.


request: Make $Keys & $Values types more clear

My request is simply for ease of readability.  Some of the objects we're running $Keys on are fairly complex so when we look at the type of an object and see $Keys<{...large object}> it's pretty hard to consume.
Suggestion:
const map = {
  KEY: 'KEY',
  KEY2: 'KEY2',
};

type types = $Keys<typeof map>;

This currently lists the type as
$Keys<{|KEY: string, KEY2: string|}>`.

Suggest something like this instead:
'KEY' | 'KEY2' /* from $Keys<typeof map> */

Fixed by 469972e08232a509762aacc27d38e3c802141320


Fetch only review requested API reviews for logged in user

Added new cosmos query to fetch only review requested API reviews from cosmos DB to avoid fetching all and filtering in app side.
I have also commented loading GitHub users to avoid issue in loading some reviews due to GitHub exception. I will submit another PR to load these user details as background task and cache it,

Fixes #4448


Download NSI data

Does anybody know when NSI data will be publicly available? I am doing my Ph.D. on the Susquehanna River's flood adaptation and need to access NSI data.

Hi, we're in the final steps of deployment. I'm expecting the publicly accessible url to become available within the next few days, I can follow up with you here once it is up.

duplicate of #44

Hi, I apologize for the delay. The data is available to download now. You can replace {statefips} in the link below with the fips number of the state you are trying to download.
https://nsi.sec.usace.army.mil/downloads/nsi_2022/nsi_2022_{statefips}.gpkg.zip
For reference, here is a list of states and their corresponding fips number. The data to the major 50 states and the District of Columbia should be available now.
https://www.mercercountypa.gov/dps/state_fips_code_listing.htm
As an example, the download link to Maryland should be:
https://nsi.sec.usace.army.mil/downloads/nsi_2022/nsi_2022_24.gpkg.zip
A web-map tool is also available to make downloading more intuitive, but it is not yet available on at a public url. I'm expecting the issue to be resolved relatively soon.
Please feel free to let us know if you run into any difficulty downloading the data.

Update: the web-map tool is now available.
https://nsi.sec.usace.army.mil/downloads/

update - site down due to reverse proxy issue, eta for survice up 9/27

service restored on downloads

closing


[csolution] Classic generator bootstrap component files are not listed

Take for example the attached solution Blinky.zip where the following component is present in the PDSC (a.k.a. bootstrap):
Keil::Device:STM32Cube<EMAIL_ADDRESS>And the generated component is described in the GPDSC with a lower version:
Keil::Device:STM32Cube<EMAIL_ADDRESS>In this scenario it would be expected that the bootstrap component does not get replaced because it has a greater version, however both components are added to *.cbuild.yml and the bootstrap component files are not listed:
    - component: Keil::Device:STM32Cube<EMAIL_ADDRESS>      condition: STCubeMX
      from-pack<EMAIL_ADDRESS>      selected-by: Keil::Device:STM32Cube Framework:STM32CubeMX
      generator:
        id: STM32CubeMX
        from-pack<EMAIL_ADDRESS>    - component: Keil::Device:STM32Cube<EMAIL_ADDRESS>      condition: STM32F7 Framework CubeMX
      from-pack<EMAIL_ADDRESS>      selected-by: Keil::Device:STM32Cube Framework:STM32CubeMX
      generator:
        id: STM32CubeMX
        from-pack<EMAIL_ADDRESS>
Environment:

csolution
Version 2.4.0
OS: windows

Rescheduling: Low impact. The boot-strap component's files are not expected to be part of the build therefore cbuild2cmake creates expected results.


Add comments and tests for recommender/forecasting classes

Pull Request
Title
Add comments and tests for recommender/forecasting classes

Description
Issue link: #61

Type of Change
Mark an x in the boxes that apply:

[ ] Bug fix
[ ] New feature
[ ] Breaking change
[ ] Refactor
[X] Documentation update
[X] Tests

Testing
Existing and new tests.

Codecov Report
Attention: Patch coverage is 81.81818% with 8 lines in your changes missing coverage. Please review.

Project coverage is 74.87%. Comparing base (911ddfd) to head (8d76d94).

Files with missing lines
Patch %
Lines

recommender/forecasting/utils/helpers.py
79.48%
7 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #64      +/-   ##
==========================================
+ Coverage   72.34%   74.87%   +2.53%
==========================================
  Files          21       22       +1
  Lines        1034     1035       +1
  Branches      127      127
==========================================
+ Hits          748      775      +27
+ Misses        236      208      -28
- Partials       50       52       +2

Flag
Coverage Δ

unittests
74.87% <81.81%> (+2.53%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


DataDog agent pod - container crashing in latest-jmx image

I think this issue is related to the #6002 but mine is relate to the datadog/agent:latest-jmx docker image.
Output of the info page (if this is a bug)
2021-06-10 10:21:42 UTC | CORE | INFO | (pkg/forwarder/transaction/transaction.go:365 in internalProcess) | Successfully posted payload to "https://7-28-1-app.agent.datadoghq.com/intake/?api_key=***************************483d1", the agent will only log transaction success every 500 transactions
2021-06-10 10:21:42 UTC | PROCESS | INFO | (pkg/api/security/security.go:190 in getClusterAgentAuthToken) | Using configured cluster_agent.auth_token
2021-06-10 10:21:43 UTC | PROCESS | INFO | (pkg/util/clusteragent/clusteragent.go:126 in init) | Successfully connected to the Datadog Cluster Agent 1.12.0+commit.9f83c89
2021-06-10 10:21:43 UTC | PROCESS | INFO | (collector.go:158 in runCheck) | Finished container check #2 in 3.697576442s
2021-06-10 10:21:44 UTC | PROCESS | INFO | (pkg/forwarder/transaction/transaction.go:365 in internalProcess) | Successfully posted payload to "https://process.datadoghq.com/api/v1/container", the agent will only log transaction success every 500 transactions
2021-06-10 10:21:51 UTC | PROCESS | INFO | (collector.go:158 in runCheck) | Finished container check #3 in 2.098020435s
2021-06-10 10:22:01 UTC | PROCESS | INFO | (collector.go:158 in runCheck) | Finished container check #4 in 1.700287259s
2021-06-10 10:22:10 UTC | PROCESS | INFO | (collector.go:160 in runCheck) | Finished container check #5 in 1.400074805s. First 5 check runs finished, next runs will be logged every 20 runs.
2021-06-10 10:22:12 UTC | CORE | INFO | (pkg/collector/python/datadog_agent.go:124 in LogMessage) | - | (ddyaml.py:123) | monkey patching yaml.load...
2021-06-10 10:22:12 UTC | CORE | INFO | (pkg/collector/python/datadog_agent.go:124 in LogMessage) | - | (ddyaml.py:127) | monkey patching yaml.load_all...
2021-06-10 10:22:12 UTC | CORE | INFO | (pkg/collector/python/datadog_agent.go:124 in LogMessage) | - | (ddyaml.py:131) | monkey patching yaml.dump_all... (affects all yaml dump operations)
2021-06-10 10:22:29 UTC | CORE | INFO | (pkg/collector/collector.go:59 in NewCollector) | Embedding Python 3.8.8 (default, May 28 2021, 03:24:25) [GCC 4.7.2]
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/config/autodiscovery/autodiscovery.go:54 in DiscoverComponentsFromEnv) | Adding Docker provider from environment
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/config/autodiscovery/autodiscovery.go:60 in DiscoverComponentsFromEnv) | Adding Kubelet autodiscovery provider and listener from environment
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/api/security/security.go:190 in getClusterAgentAuthToken) | Using configured cluster_agent.auth_token
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/util/clusteragent/clusteragent.go:126 in init) | Successfully connected to the Datadog Cluster Agent 1.12.0+commit.9f83c89
2021-06-10 10:22:32 UTC | CORE | INFO | (cmd/agent/common/autodiscovery.go:88 in setupAutoDiscovery) | Registering clusterchecks config provider polled every 10s
2021-06-10 10:22:32 UTC | CORE | INFO | (cmd/agent/common/autodiscovery.go:88 in setupAutoDiscovery) | Registering docker config provider polled every 1s
2021-06-10 10:22:32 UTC | CORE | INFO | (cmd/agent/common/autodiscovery.go:88 in setupAutoDiscovery) | Registering kubelet config provider polled every 10s
2021-06-10 10:22:32 UTC | CORE | INFO | (cmd/agent/common/autodiscovery.go:88 in setupAutoDiscovery) | Registering endpointschecks config provider polled every 10s
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/autodiscovery/autoconfig.go:359 in initListenerCandidates) | environment listener successfully started
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/autodiscovery/autoconfig.go:359 in initListenerCandidates) | kubelet listener successfully started
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:75 in Collect) | file: searching for configuration files at: /etc/datadog-agent/conf.d
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/autodiscovery/listeners/environment.go:63 in createServices) | Listener created docker service from environment
2021-06-10 10:22:32 UTC | CORE | INFO | (pkg/autodiscovery/listeners/environment.go:63 in createServices) | Listener created kubelet service from environment
2021-06-10 10:22:33 UTC | TRACE | INFO | (pkg/trace/info/stats.go:101 in LogStats) | No data received
2021-06-10 10:22:36 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:75 in Collect) | file: searching for configuration files at: /opt/datadog-agent/bin/agent/dist/conf.d
2021-06-10 10:22:36 UTC | CORE | WARN | (pkg/autodiscovery/providers/file.go:79 in Collect) | Skipping, open /opt/datadog-agent/bin/agent/dist/conf.d: no such file or directory
2021-06-10 10:22:36 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:75 in Collect) | file: searching for configuration files at:
2021-06-10 10:22:36 UTC | CORE | WARN | (pkg/autodiscovery/providers/file.go:79 in Collect) | Skipping, open : no such file or directory
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/util/cloudprovider.go:70 in GetCloudProviderNTPHosts) | Using NTP servers from GCP cloud provider: ["metadata.google.internal"]
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check cpu with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check disk with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check docker with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check file_handle with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check io with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check kubelet with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check load with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check memory with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check network with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check ntp with an interval of 15m0s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check uptime with an interval of 15s
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:252 in enqueueOnce) | Scheduling check jmx for one-time execution
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/collector.go:117 in RunCheck) | Adding an extra runner for the 'jmx' long running check
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:252 in enqueueOnce) | Scheduling check jmx for one-time execution
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/collector.go:117 in RunCheck) | Adding an extra runner for the 'jmx' long running check
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:jmx | Running check
2021-06-10 10:22:43 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:jmx | Running check
2021-06-10 10:22:44 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:cpu | Running check
2021-06-10 10:22:44 UTC | CORE | INFO | (pkg/collector/runner/runner.go:336 in work) | check:cpu | Done running check
2021-06-10 10:22:44 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:ntp | Running check
2021-06-10 10:22:45 UTC | CORE | INFO | (pkg/collector/runner/runner.go:336 in work) | check:ntp | Done running check
2021-06-10 10:22:45 UTC | CORE | INFO | (pkg/util/kubernetes/clustername/clustername.go:97 in getClusterName) | Using cluster name prod-vpc auto discovered from the gce API
2021-06-10 10:22:45 UTC | CORE | INFO | (pkg/metadata/host/host_tags.go:84 in GetHostTags) | Adding both tags cluster_name and kube_cluster_name. You can use 'disable_cluster_name_tag_key' in the Agent config to keep the kube_cluster_name tag only
2021-06-10 10:22:47 UTC | TRACE | INFO | (main.go:23 in handleSignal) | received signal 15 (terminated)
2021-06-10 10:22:47 UTC | TRACE | INFO | (pkg/trace/agent/agent.go:151 in loop) | Exiting...
2021-06-10 10:22:47 UTC | SECURITY | INFO | (app/app.go:305 in handleSignals) | Received signal 'terminated', shutting down...
2021-06-10 10:22:47 UTC | SECURITY | INFO | (app/app.go:335 in StopAgent) | See ya!
2021-06-10 10:22:47 UTC | CORE | INFO | (cmd/agent/app/run.go:128 in func2) | Received signal 'terminated', shutting down...
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/process/util/signal_nowindows.go:21 in HandleSignals) | Caught signal 'terminated'; terminating.
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/forwarder/forwarder.go:330 in Stop) | stopping the Forwarder
2021-06-10 10:22:47 UTC | SYS-PROBE | INFO | (cmd/system-probe/app/run.go:75 in func2) | Received signal 'terminated', shutting down...
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/forwarder/domain_forwarder.go:230 in Stop) | domainForwarder stopped
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/forwarder/forwarder.go:330 in Stop) | stopping the Forwarder
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/forwarder/domain_forwarder.go:230 in Stop) | domainForwarder stopped
2021-06-10 10:22:47 UTC | PROCESS | INFO | (pkg/forwarder/forwarder.go:330 in Stop) | stopping the Forwarder
2021-06-10 10:22:47 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:uptime | Running check
2021-06-10 10:22:47 UTC | CORE | INFO | (pkg/collector/runner/runner.go:336 in work) | check:uptime | Done running check
2021-06-10 10:22:47 UTC | TRACE | INFO | (pkg/trace/stats/concentrator.go:102 in Run) | Exiting concentrator, computing remaining stats
security-agent exited with code 0, disabling
system-probe exited with code 0, disabling
2021-06-10 10:22:48 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:memory | Running check
2021-06-10 10:22:48 UTC | CORE | INFO | (pkg/collector/runner/runner.go:336 in work) | check:memory | Done running check
trace-agent exited with code 0, disabling
process-agent exited with code 0, disabling
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
2021-06-10 10:22:49 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:kubelet | Running check
2021-06-10 10:22:50 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:file_handle | Running check
2021-06-10 10:22:50 UTC | CORE | INFO | (pkg/collector/runner/runner.go:336 in work) | check:file_handle | Done running check
2021-06-10 10:22:52 UTC | CORE | INFO | (pkg/collector/runner/runner.go:268 in work) | check:disk | Running check
s6-svwait: fatal: timed out
[s6-finish] sending all processes the TERM signal.
AGENT EXITED WITH CODE 256, SIGNAL 1, KILLING CONTAINER
[s6-finish] sending all processes the KILL signal and exiting.

Describe what happened:
It started on 2021-06-05T16:57:02Z when the DaemonSet updated the image for all the agents pods.
Steps to reproduce the issue:
Additional environment details (Operating System, Cloud provider, etc):
My cluster is K8s on google cloud and has 3 nodes with the version v1.18.17-gke.1200 that also updated a few days back.
This issue could be caused because some incompatibility between the k8s and the daemon agent o just the image of the agent.

the image sha256 is 5d90a428b4a5e2ac7058e153b53c54bb2affd0057f1d81176f93b8efc8d69aec

have you fixed this issue?


Roll engine 15f2b92cce91..4889c743c5f0 (19 commits)

https://github.com/flutter/engine/compare/15f2b92cce91...4889c743c5f0
git log 15f2b92cce916982b7dd8ce658bbf2a465c06ba4..4889c743c5f063f3767ca64bf7964841205c9409 --no-merges --oneline
4889c743c Roll src/third_party/skia 95b014790f93..ae64f52786b3 (3 commits) (flutter/engine#7662)
fac24d938 Roll src/third_party/skia 88bfed46ab6e..95b014790f93 (3 commits) (flutter/engine#7661)
5dcf3cfd2 Roll src/third_party/skia 5b257abb87d2..88bfed46ab6e (8 commits) (flutter/engine#7657)
93452747f Initial import of FDE macOS framework (flutter/engine#7642)
54f546715 Roll src/third_party/skia 1bd245b91801..5b257abb87d2 (5 commits) (flutter/engine#7656)
e71daf6cf Roll src/third_party/skia ea2dc6a6bc11..1bd245b91801 (1 commits) (flutter/engine#7655)
4f5e1709b Roll src/third_party/skia e9742a5a0db1..ea2dc6a6bc11 (1 commits) (flutter/engine#7654)
ef1a7f8ce Roll src/third_party/skia 8a484d0203d9..e9742a5a0db1 (2 commits) (flutter/engine#7653)
28339c864 Roll src/third_party/skia b7af275ebbf5..8a484d0203d9 (3 commits) (flutter/engine#7652)
7fa77ef03 Fix two typos in embedder docs (flutter/engine#7649)
e9419bf6d Roll src/third_party/skia 9c8ad0316147..b7af275ebbf5 (3 commits) (flutter/engine#7650)
b94e759b2 Expose the Flutter engine, Dart and Skia versions to Dart. (flutter/engine#7634)
64e17076c Document make_resource_current on FlutterOpenGLRendererConfig and warn if the callback is not set. (flutter/engine#7648)
e7eb1c8bf Update the verify_exported script to include the symbols for ICU data (flutter/engine#7647)
b032bbd0c Roll src/third_party/skia 70ebd9ca0616..9c8ad0316147 (9 commits) (flutter/engine#7646)
2c610bfec Fix dynamic array -> vector (flutter/engine#7645)
09a3735ea Respect default goma path on Windows (flutter/engine#7643)
050dcaad6 Embed ICU data inside libflutter.so on Android (flutter/engine#7588)
c92df428e Strut implementation (flutter/engine#7414)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (dnfield@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5473981671931904 , https://cirrus-ci.com/task/4911031718510592

Commit queue failed; closing this roll.


Add min/max limits for enumerator question answers

Description
Add a setting to enumerator questions that allows the admin to specify a minimum and maximum limit for the number of answers.
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[x] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[x] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)
[x] Created unit and/or browser tests which fail without the change (if possible)
[x] Performed manual testing (Chrome and Firefox if it includes front-end changes)
[ ] Extended the README / documentation, if necessary - https://github.com/civiform/docs/pull/471

User visible changes

[x] Followed steps to internationalize new strings

[x] Added context strings to new messages
[x] Didn't use a message in applicant facing code that isn't translated yet (unless behind a flag)

[x] Wrote browser tests using the validateAccessibility method
[x] Tested on mobile view. See mobile device mode
[x] Manually tested at 200% size
[x] Manually evaluated tab order

Issue(s) this completes
Fixes #7136

Maybe I missed it. What happens if I set the min to be larger than than max on the admin question page?

Good point! There's currently no handling for this.  Looking at all the other question types that have min/max, only the checkbox question has validation, here: https://github.com/civiform/civiform/blob/91bdeac8aa7e4ed226b3615ac0fbc7e7a0a9455e/server/app/services/question/types/QuestionDefinition.java#L279-L378
I didn't see it because it's in the base class rather than the concrete question class (and I would still have had to be imitating MultiOptionQuestionDefinition rather than one of the others).
Seems like the proper way to do this would be to add a validate() method for concrete question definitions to override if they want to, and then to add validation for all questions that have min/max. Really we should be using composition instead of inheritance, but I don't think I want to go down that rabbit hole.
Do you want to block this PR on adding validation? In that case I'll do a separate PR first to create the overridable validate method, move the question-specific validation logic from QuestionDefinition to the subclasses (EnumeratorQuestion has a bit too), and add validation for the other existing question types that should have it. Otherwise I can file a new issue to handle it for all questions as tech debt.

If someone has already answered an enum question with 5 answers and then the question gets updated to say max is 4, what happens? Do they get a validation error when they next open the question?

Yes, they get a validation error when they open the question and then try to save.

If nothing else on the admin side is currently checking min/max we can file a bug and do them in a separate PR

If nothing else on the admin side is currently checking min/max we can file a bug and do them in a separate PR

Filed #7919 to follow up on this.

Thank you!! But yeah agreed - I think this would be good to do, but can be done later as a follow up


added support for opts.sorting to order attribute dropdowns

if opts.sorting is a function, treats it as a custom comparator
if opts.sorting exists and evaluates to true in a conditional, sorts attributes
no change when opts.sorting is false
all tests passing
commit just covers changes to pivot.coffee; files updated by running gulp have not been included

A couple of points of feedback:

The name sorting is confusing with the existing sorters
There is already an option autoSortUnusedAttrs that can sort unused attributes

Understood, will remove it.
I'm going to then update to order the dropdowns with that same option (autoSortUnusedAttrs)

Ah, sorry, I misunderstood your intent here. You are concerned about the sort order of attributes in the aggregator dropdowns, right?
I think it makes sense to actually just always use naturalSort for these, rather than make it optional. In fact, now that I think about it, it probably makes sense that the initial display order of the unused attributes is also natural-sorted. autoSortUnusedAttrs resorts them on drop, which is a different thing entirely.

I'll do some reading and get right back with a new PR. Closing in the meanwhile. Thank you! :)


Experiment: Using walker for nested schema checks

For consistency

coverage: 100.0%. remained the same
when pulling 3708017fb5ef3a0ba0c8088c25eea2ec2ee01c12 on cons-walker-detects-io-transformation
into a5f6a51560005007569a9b3d9065c55cb9200b91 on master.

I actually like it

Taking the discussion https://github.com/RobinTail/express-zod-api/discussions/1500 into account, I'm thinking on making one step further, and instead of multiple checkers, make a single walk in order to collect all features and possible issues of the schema.

The experiment is successful

What can be a significant improvement — making next to accept the schema only argument instead of object.

Currently it's not good for runtime performance
 ✓ tests/bench/experiment.bench.ts (2) 30633ms
   ✓ Experiment (2) 30622ms
     name             hz     min      max    mean     p75     p99    p995    p999     rme  samples
   · original  24,209.00  0.0281  11.5949  0.0413  0.0392  0.0867  0.1486  1.4010  ±0.67%   363135   fastest
   · featured  12,047.65  0.0572  16.2602  0.0830  0.0783  0.2092  1.1998  1.6156  ±0.70%   180715

 BENCH  Summary

  original - tests/bench/experiment.bench.ts > Experiment
    2.01x faster than featured

I found that getMeta() —> hasMeta() is the slowest thing in walker now.

 ✓ tests/bench/experiment.bench.ts (2) 42474ms
   ✓ Experiment (2) 42465ms
     name              hz     min     max    mean     p75     p99    p995    p999     rme   samples
   · original  800,492.75  0.0011  6.3673  0.0012  0.0012  0.0016  0.0018  0.0175  ±0.12%  12007392   fastest
   · featured  551,555.89  0.0016  3.8413  0.0018  0.0017  0.0024  0.0031  0.0226  ±0.11%   8273339

 BENCH  Summary

  original - tests/bench/experiment.bench.ts > Experiment
    1.45x faster than featured

It seems that the goal requires making a dedicated variation of the walker specifically for early boolean checks

 ✓ tests/bench/experiment.bench.ts (2) 42412ms
   ✓ Experiment (2) 42409ms
     name              hz     min      max    mean     p75     p99    p995    p999     rme   samples
   · original  879,318.39  0.0010   4.0401  0.0011  0.0011  0.0016  0.0019  0.0161  ±0.10%  13189776   fastest
   · featured  641,131.12  0.0013  20.4696  0.0016  0.0015  0.0023  0.0031  0.0196  ±0.29%   9616970

 BENCH  Summary

  original - tests/bench/experiment.bench.ts > Experiment
    1.37x faster than featured

 RUN  v1.2.2 /Users/Robin/Documents/content/zod

 ✓ tests/bench/experiment.bench.ts (2) 42596ms
   ✓ Experiment (2) 42593ms
     name              hz     min      max    mean     p75     p99    p995    p999     rme   samples
   · original  848,148.34  0.0011   4.4510  0.0012  0.0011  0.0016  0.0019  0.0167  ±0.11%  12722226   fastest
   · featured  694,224.93  0.0012  15.7941  0.0014  0.0014  0.0020  0.0028  0.0181  ±0.23%  10413374

 BENCH  Summary

  original - tests/bench/experiment.bench.ts > Experiment
    1.22x faster than featured

Oh yes! Now we're talking! 🐎
 RUN  v1.2.2 /Users/Robin/Documents/content/zod

 ✓ tests/bench/experiment.bench.ts (2) 48672ms
   ✓ Experiment (2) 48669ms
     name                hz     min      max    mean     p75     p99    p995    p999     rme   samples
   · original    925,875.95  0.0010   4.2340  0.0011  0.0010  0.0014  0.0017  0.0151  ±0.11%  13888140
   · featured  1,320,231.58  0.0006  17.7476  0.0008  0.0007  0.0010  0.0013  0.0036  ±0.26%  19803474   fastest

 BENCH  Summary

  featured - tests/bench/experiment.bench.ts > Experiment
    1.43x faster than original

 RUN  v1.2.2 /Users/Robin/Documents/content/zod

 ✓ tests/bench/experiment.bench.ts (2) 48634ms
   ✓ Experiment (2) 48630ms
     name                hz     min     max    mean     p75     p99    p995    p999     rme   samples
   · original    705,994.55  0.0011  4.5139  0.0014  0.0014  0.0027  0.0032  0.0052  ±0.16%  10589919
   · featured  1,149,167.45  0.0006  1.1418  0.0009  0.0009  0.0019  0.0023  0.0037  ±0.19%  17237512   fastest

 BENCH  Summary

  featured - tests/bench/experiment.bench.ts > Experiment
    1.63x faster than original

🍾
 RUN  v1.2.2 /Users/Robin/Documents/content/zod

 ✓ tests/bench/experiment.bench.ts (2) 48233ms
   ✓ Experiment (2) 48230ms
     name                hz     min     max    mean     p75     p99    p995    p999     rme   samples
   · original    812,928.04  0.0011  7.0525  0.0012  0.0012  0.0016  0.0017  0.0172  ±0.16%  12193921
   · featured  1,418,071.56  0.0006  3.6539  0.0007  0.0007  0.0009  0.0010  0.0026  ±0.12%  21271074   fastest

 BENCH  Summary

  featured - tests/bench/experiment.bench.ts > Experiment
    1.74x faster than original

Now the experiment is successful


Overloading methods in multiple implementations

Bug Report
🕗 Version & Regression Information
5.0.3
💻 Code
interface A<P1, P2> {
pick(p: P1): P2;
}
interface A1 extends A<11, 12> {
}
interface A2 extends A<21, 22> {
}
class CA implements A1, A2 {
pick(p: 11): 12;
pick(p: 21): 22;
pick(p: any): any {
if (p === 11) return 12;
if (p === 21) return 22;
};
}
type AType = A1 | A2;
const a: AType = new CA();
const e: 11 = 11;
const yyy = a.pick(e);
🙁 Actual behavior
Parameter looks like never
🙂 Expected behavior
Parameter looks like 11 | 21

This is working as intended; AType’s path is a union of functions and takes an intersection of its parameters, as described in https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-3.html#improved-behavior-for-calling-union-types
If you want AType’s path to be an overload of two call signatures then you should use an intersection A1 & A2 instead.

This is working as intended.
You have the type AType that is either A1 or A2. The compiler doesn't know which of those two it is, so in order to safely call the method you must provide an argument that is compatible with both types: 11 & 21. Such a type is invalid, resulting in never.

Martin, tnx for explanation, but any idea how to implement same logic proper way? I need from CA class to support both A1 and A2 interface.

Your class CA supports both interfaces, your type AType doesn't. Instead of A1 | A2 (either of) you should use A1 & A2 (both of) as suggested by jcalz.

@MartinJohns but A1 & A2 don't give an option to call it with
pick(p: 11): 12;
OR
pick(p: 21): 22;
I cant write
class CA implements A1 | A2
so i have no idea how to implement class then support A1 AND A2, and call instance methods like A1 OR A2 :)

so i have no idea how to implement class then support A1 AND A2, and call instance methods like A1 OR A2 :)

You do it exactly as you do it in your code example. That's how you do it. The issue here is your type AType, as mentioned several times.
Your class CA can be assigned to these types:

A1, allowing you to call it only with 11.
A2, allowing you to call it only with 21.
A1 & A2, allowing you to call it with either 11 or 21.
CA , allowing you to call it with either 11 or 21.

You can not assign it to a variable typed A1 | A2 and call it with either 11 or 21, because this type says the implementation is either A1 or A2. So if it's implemented as A1 calling it with 21 would be invalid, and vice versa.
This might be better suited to some kind of support forum. The TypeScript issue tracker is not meant as a support forum to understand the fundamentals of TypeScript.

Looks like no idea how to receive result with type resolution to 12 when call with 11 and type 22 when call with 21.

I'm not sure why there seems to be a communication breakdown here.  All concrete evidence points to you wanting A1 & A2 instead of A1 | A2. If it needs to be explicitly written out, here it is:
type AType = A1 & A2; // <-- intersection is what you want, not union
const a: AType = new CA();
const e: 11 = 11;
const yyy = a.pick(e);
//    ^? const yyy: 12 // <-- right? this is what you want?
const zzz = a.pick(21);
//    ^? const zzz: 22 // <-- this too?

Playground link
There's no TypeScript bug here.  @fuson, if you want to be helpful you should close the issue so that the TS team doesn't have to spend time reviewing and closing it themselves.  And after that if you still want to discuss this because something doesn't make sense to you, the TypeScript Discord server might be a more appropriate place.  Good luck!


fix mangled url

Crash help text has mangled URL #61

Some tests are broken and should be fixed before we can merge this.

Shooting from the hip, but I'd imagine all of these tests have become flakey since the Gradle bump. We should kick this off again after that's reverted.

Much appreciated, thanks


Deprecated warning in django 1.8

/usr/local/lib/python2.7/dist-packages/django/contrib/sites/models.py:78: RemovedInDjango19Warning: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Site(models.Model):

That has nothing to do with TFA. Seems like you don't have django.contrib.sites in your installed apps. Which is a Django default, and TFA do uses it, even if you have only 1 site.

Thanks.


Add Appointment dao

Description

The DAO shall be able to store and retrieve AppointmentModel entries from the local database
The DAO shall be annotated with DriftAccessor and AppointmentModel shall be used as argument
The DAO shall extends DatabaseAccessor<DriftDb>
The DAO shall implements Dao abstract class with its generics: <AppontmentModels, AppontmentModel>

Depends on

[x] #26
[x] #74

Part of

#25

closed by #80


Fix a few false positives for "x != nil && len(x) ... " check

Fixes #18

👍

@dominikh, I think I've got it right this time ;) PTAL.

Is this good to go?


Move SSH tunnel processing to a background thread

I expected that there is not much more to do than service_deploy_manager->moveToThread(ssh_background_thread);, but some cleanup needed to be done as well.
Furthermore some synchronization needed to happen to make the public interface of ServiceDeployManager thread-safe.

It works now under Linux. (The last commit describes in detail what went wrong). Adding Pierric for review since he might wanna test this before merging anyway.

@beckerhe , I tried your change and it feels really robust now on Linux, I couldn't reproduce the hang. It seems like data is streaming more fluidly too. Thanks for the fix! I'll look at the code shortly.


Text file editor tracker might open dirty untitled before extension can open it

Issue Type: Bug
An extension I am developing uses showTextDocument which behaves differently when running on a remote VM through the Remote - SSH extension (v 0.65.4).
The behavior of the code below when run locally is as I expect. For example when the user has a single editor open and clicks a link I observe the results (Untitled-1) being opened in ViewColumn 2 as expected.

However, when run on a remote VM the behavior observed was:

That is, the results (Untitled-1) showed both in ViewColumn 1 as a tab AND in ViewColumn 2. The tab in ViewColumn 1 is unexpected!
Reproduce:
Run an extension which uses this code both locally and on a remote through the SSH - remote extension.
const doc: TextDocument = await workspace.openTextDocument({
			'content':formatted_contents,
			'language':'python'});

		const current_view_column = window.activeTextEditor?.viewColumn;

		let results_view_column;

		if (current_view_column == ViewColumn.One) {
			results_view_column = ViewColumn.Two;
		} else {
			results_view_column = current_view_column;
		}

		const editor = await window.showTextDocument(doc, results_view_column);

VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T17:13:13.157Z)
OS version: Windows_NT x64 10.0.19043
Remote OS version: Linux x64 4.15.0-1108-azure

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz (8 x 1498)

Memory (System)
31.59GB (16.22GB free)

Process Argv
--crash-reporter-id c98fa9d2-a0e5-4d4f-803e-ad72970695ec

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: abc

OS
Linux x64 4.15.0-1108-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz (24 x 2596)

Memory (System)
220.39GB (202.32GB free)

VM
0%

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

I was able to reproduce the problem with Insiders (with Remote-SSH 0.65.6):

Version: 1.57.0-insider (user setup)
Commit: 286b643ecd231f66f3f2e67e1456f3c601838b46
Date: 2021-05-25T05:24:28.413Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19043

This is partially working as designed, here is what happens:

an extension creates a untitled document with data
VSCode tracks all documents with changes that occur and ensures every document has an associated editor the data shows with
the extension takes a bit of time to open the editor
VSCode gives a bit of time before starting to open the editor to ensure the data is visible

Normally this is not a problem because the editor group that the editor opens in is the same and not to the side, but in this case, the editor opens to the side so it appears twice.
I think we have been behaving like this for the longest time.

Would it be accurate for me to say that once openTextDocument is triggered, showTextDocument needs to execute within a small delay, and if it does not then we see this phenomenon? It also appears that having this extension run on a remote is causing the delay to exceed some threshold.
Unfortunately in my use case the user may need to open multiple temporary documents which means they will have 2x the number of editors to close, which will be annoying.
Any suggestions for how I could get showTextDocument to happen with less delay after openTextDocument? Thanks

I haven't been able to reproduce the issue myself, but based @bpasero
comment https://github.com/microsoft/vscode/issues/124539#issuecomment-850288633 it seems that the below could work, i.e. only dirty the document once it's shown. Pls try:
const doc: vscode.TextDocument = await vscode.workspace.openTextDocument({ 'content': '', 'language':'python'});

const current_view_column = vscode.window.activeTextEditor?.viewColumn;
const results_view_column = current_view_column === vscode.ViewColumn.One ? vscode.ViewColumn.Two : current_view_column;

const editor = await vscode.window.showTextDocument(doc, results_view_column);
await editor.edit(edit => edit.insert(new vscode.Position(0,0), formatted_contents));
editor.selection= new vscode.Selection(0,0,0,0);

I like that approach 👍

Thanks @kieferrm! Your workaround worked for me.

Then I will go ahead and close as designed.


Release new version

Description
Main features:

UI changes with a lot of fixes. No overlapping BlueprintJS Versions anymore.
Customizable links (enable/disable predefined links)
Customize TTL of dev tokens
First working version of Code-Guard (detecting basic jwt patterns, and a lot more atm, still beta)

Checklist

[x] I have tested my changes locally and they work as expected.
[x] I have added any necessary documentation (if applicable).
[x] I have updated the README (if applicable).

Screenshots (if applicable)
Please include any screenshots or images that may be helpful for understanding your changes.

First draft of #24 in Code Guard


How to use "frameworks" for mac builds?

Hi, new to the buck on Mac. I am adding "-framework SomeFramework" to the link flag on Mac (can be implemented by exported_link_flags). So I added the framework to the hello world, like
cxx_library(
    name = "print",
    srcs = glob(["**/*.cpp"]),
    exported_headers = glob(["**/*.hpp"]),
    visibility = ["PUBLIC"],
    frameworks = [
        '$SDKROOT/System/Library/CoreAudio.framework',
    ],
)

I am seeing missing apple toolchain error
4: Traceback (most recent call last):
         File <builtin>, in <module>
         * prelude/cxx/cxx.bzl:169, in cxx_library_impl
             output = cxx_library_parameterized(ctx, params)
         * prelude/cxx/cxx_library.bzl:427, in cxx_library_parameterized
             shared_links, link_group_map, link_execution_preference = _get_shared_library...
         * prelude/cxx/cxx_library.bzl:1067, in _get_shared_library_links
             return apple_build_link_args_with_deduped_flags(
         * prelude/apple/apple_frameworks.bzl:135, in apple_build_link_args_with_deduped_flags
             link_info = _link_info_from_linkables(ctx, [merged.frameworks[link_style], fr...
         * prelude/apple/apple_frameworks.bzl:194, in _link_info_from_linkables
             framework_link_args = _get_apple_frameworks_linker_flags(ctx, merge_framework...
         * prelude/apple/apple_frameworks.bzl:50, in _get_apple_frameworks_linker_flags
             expanded_frameworks_paths = _expand_sdk_framework_paths(ctx, linkable.unresol...
         * prelude/apple/apple_frameworks.bzl:92, in _expand_sdk_framework_paths
             return [_expand_sdk_framework_path(ctx, unresolved_framework_path) for unreso...
       error: Object of type `struct` has no attribute `_apple_toolchain`
         --> prelude/apple/apple_frameworks.bzl:95:28
          |
       95 |     apple_toolchain_info = ctx.attrs._apple_toolchain[AppleToolchainInfo]
          |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
          |

How should I make this work and passing apple_toolchain ?

I think you need to return one of these from your toolchain.
https://github.com/facebook/buck2/blob/56c1bcf08bb793a5314d7739b090b6d173314cde/prelude/apple/apple_toolchain_types.bzl#L8C1-L39
If you're using system_cxx_toolchain(), it doesn't do that so you would need to define a custom apple toolchain that does (or alternatively, patch system_cxx_toolchain()).  The semantics of each of the fields isn't really documented, so it might take some work to figure out exactly what each field is supposed to do by looking for how each one is used.  At least they are annotated with the intended type of the field.
This is the kind of thing that if you can figure out exactly how to use each field, upstreaming a patch to add comments to each fields describing how to use them would be super valuable.

@zjturner so I have something roughly working for this can you provide some help: https://github.com/facebook/buck2/pull/740


Translated Tutorials/Learn Kubenetes Basics/Deploy an App in Japanese.

Translated Tutorials/Learn Kubenetes Basics/Deploy an App in Japanese.
Please review and approve it if it is OK.
ref #10821

/check-cla

/lgtm
/approve


Do not flag line length in multi-line string literals

When using a multi-line string literal, line length should not be enforced.
Given a line length of 15, the following should not produce an error:
val long = """
This is a line that's longer than 15
"""

Wow that was fast. Thanks!

Fixed in 0.26.0 (Maven Central sync might take up to 20m) :balloon:


Dependency upgrade failed with freezed

In one of my app I was trying to bump the version of freezed_annotation to the current version 2.1.0 and freezed version 2.1.0+1 but when I run flutter pub get  the terminal shows me:
Running "flutter pub get" in pubhub...
Because pub_api_client 2.2.1 depends on freezed_annotation ^1.1.0 and no versions of pub_api_client match >2.2.1 <3.0.0, pub_api_client ^2.2.1 requires freezed_annotation ^1.1.0.
So, because pubhub depends on both freezed_annotation ^2.1.0 and pub_api_client ^2.2.1, version solving failed.
pub get failed (1; So, because pubhub depends on both freezed_annotation ^2.1.0 and pub_api_client ^2.2.1, version solving failed.)
exit code 1

So I have to leave freezed* versions like that:
dependencies:
  flutter:
    sdk: flutter
  ...
  freezed_annotation: ^1.1.0

dev_dependencies:
  ...
  freezed: ^1.1.1

Is it possible to upgrade freezed* versions to the latest 2.x.y?
Thanks,
Alberto

I cloned the pub_api_client, load it in the pubspec.yaml with:
dependencies:
  flutter:
    sdk: flutter
  ...
  #pub_api_client: ^2.2.1
  pub_api_client:
    path: ./packages/pub_api_client

and I modified the pub_api_client pubspec.yaml to upgrade packages in this way and everything seems to work fine:
dependencies:
  freezed_annotation: ^2.1.0 #upgrade
  http: ^0.13.5 #upgrade
  json_annotation: ^4.6.0 #upgrade
  oauth2: ^2.0.0
  path: ^1.8.1 #upgrade
  pubspec: ^2.3.0 #upgrade

dev_dependencies:
  build_runner: ^2.2.0 #upgrade
  build_version: ^2.1.1 #upgrade
  freezed: ^2.1.0+1 #upgrade
  json_serializable: ^6.3.1 #upgrade
  pedantic: ^1.11.0
  test: ^1.17.2
  test_cov: ^1.0.1

maybe @leoafarias can you consider upgrading the packages?
Thanks,
Alberto

@polilluminato I have removed freezed as a dependency as per #30


Mi motion Sensor stay on

Xiaomi mi motion sensor stay on state: detected (on).

+1

I know. Will fix it.

https://github.com/wernerhp/appdaemon_aqara_motion_sensors

Fixed in latest release


Code block

Hello there, This is a wonderful theme
Please I am trying to write an article  and I am trying to use a particular feature in this theme||

Please how do I activate this section on this theme for code?

Hi, thanks!
You can activate it by following these steps:

Modify the _config.yml of your site (not minima _config.yml) by set the prismjs to true. So your file will look like this:

highlight:
  enable: false #set it to false
  line_number: false
  auto_detect: false
  tab_replace: ''
  wrap: false #false
  hljs: false
prismjs:
  enable: true #set it to true
  preprocess: true
  line_number: true #optional
  tab_replace: ''

Clear your Hexo cache and run your server, run these comands in your terminal:

hexo clean
hexo server

Use the Hexo codeblock syntax when you need to use the code-block in your md file. Example:

{% codeblock lang:js %}
const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})
{% endcodeblock %}

Hello, I did what you said, but still does not work.
i tried to inspect the element and  I can see the prism CSS loaded on the page. I don't know what's happening

I was looking at the generated html code on your blog and it seems to be the problem with the cache.
Can you modify the code section in one of your blog posts and try to generate/deploy it again (to make sure that Hexo will re-generated the code section with prims.js)

Oh my bad, you already did it right? Anyway, have you try to clear your Hexo cache?

hey, I dont know how you were able to see my blog. My blog is in a private repository. I just made it public though
https://github.com/nerdeveloper/blog. You can run cloning it and running it on your PC and see if it works for you please

I am closing this because i was able to figure it out. thank you once again


Submit button functionality on contact us page.

Describe the bug
On clicking submit button in contact us page , text fields are not getting cleared.
Expected behavior
on clicking submit button the text fields should get cleared and an alert must pop out stating that your details has been submitted successfully.

@ANSHIKA-26  please look after the issue , i think its not a duplicate one . please assign this issue to me under gssoc-ext and hactober fest accepted and with appropriate levels . will be happy to contribute

@ANSHIKA-26  please assign me this


Cannot run SQLAlchemy

Hello,
I am trying to run a script to add users to a database. and every time I run the script the error runs into not being able to identify the module.
my init.py file is below:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app=Flask(name)
db = SQLAlchemy(app)
db.init_app(app)
from App import views, models
I have tried the following to install
$ flask/bin/pip install Flask-SQLAlchemy
also
$ flask/bin/pip install flask-sqlalchemy
and I even tried it using pip install using the virtual environment.
the error is :
App/init.py", line 3, in
from flask_sqlalchemy import SQLAlchemy
ImportError: No module named flask_sqlalchemy
I also changed the flask_sqlalchemy to the old style of flask.ext.sqlalchemy which pops the same error.
Ironically when I run the shell and try adding user or password and do a
db.session.add(something)
db.session.commit()
the code gets executed, without an error.
Where am I going wrong at this? Please help.
I found this link: https://github.com/pallets/flask-sqlalchemy/issues/325, that has same problem, yet unclear answer that doesn't work.
Thanks

something is clearly wrong with your environment; we can't really help you with that and it's off-topic in the issue tracker. consider using stack overflow, irc or discord for such questions.


[Enhancement] Accordion Component

Hi! Thanks for trying out NativeBase!
Sorry by my English....
I have troubles with  Accordion Component because it only allowme put text inside them (inner of dataArray specificly )there is a way to put component inside of content part of this dataArray for example View Components or Objects
const dataArray = [
{ title: 'title1',
content: Other Components Here! },
{ title: 'Creditos', content: Other Components Here! },
{ title: 'Inversiones', content: Other Components Here! },
{ title: 'Enviar Dinero a...', content: Other Components Here! },
{ title: 'Pago de Servicios', content: Other Components Here! }
];
On this way, i can put an Accordion with elements, components, objects inside it
Thank you by the reply

This is not issue
its enhancement

Hello @andresbuitront . Were you able to do that? I need to do something like that. Could you tell me how you solved this problem? Thanks

#38


Alter Form Elements HTML

If you are using a css framework for example bulma or bootstrap you have to use their html structure in forms. A nice feature would be to provide a way to change the default html given by vapid of all form elements.
My first idea: Create an folder _form with files _form/_text.html or _form/_password.html and so on.

@JohannesHoffmann Thanks for the suggestion.
In cases like these, I think it might be better to bypass Vapid's form tag, and use Formspree directly (i.e., {{#form}} is just a convenience wrapper around Formpree).
https://formspree.io/

Well that's right ;) - thank's for the work!


Allow components/directives to use both element and attribute as selectors

Right now directive-selector and component-selector chooses between using attribute or element as the type, but you can't actually use both. I'd like to make a case for supporting having the two if it's not possible yet.
After listening to Angular Material team's talk in ng-conf about component API designs there is a case for using attribute selectors as components to allow components to be able to use the DOM API without needing to reflect 20+ bindings from the custom element style components to the inner DOM API it wraps. angular/material2 itself uses directives — which I'm not sure why directives instead of components — my case for using components would be for the scoped styling it provides compared to directives, which angular/material2 doesn't need to yet with their approach to having a global stylesheet with all the styles of the components.
I don't have a use case example for directives yet though, but considering the configuration of both rules are the same, maybe it's worth giving people the option to anyway.

It's already possible to pass an array with elements ["element", "attribute"] for both. Another alternative is to disable the rules.

Ah my bad, thanks for the clarification.


Error while communicating with SysAp

hello. i was very happy about the possibility to control our free@home system with Siri. As a newbee i chose the Hoobs, Homebridge Out Of the Box.
Unfortunately i always get the following errors:
8.5.2020, 18:58:29 [BuschJaegerSysAp] Trying to connect to SysAP
8.5.2020, 18:58:29 [BuschJaegerSysAp] Error while communicating with SysAp
Think it is related to the configuration of sysIP. Where can I find the right one? The IP address under the network settings does not seem to be.
{
"platform": "BuschJaegerSysAp",
"sysIP": "<IP_ADDRESS>",
"updateInterval": 60,
"mappings": {}
}
It's a bit embarrassing. Can someone please give me a hand?
Thank you very much.

Hi,
tbh the documentation is a little bit misleading. It's not actually the IP of the SysAp. The SysIP needs to be set to the IP where the freeathome-api is running. The plugin won't work without it.
It's not really Out of the Box. You first need to install the freeathome-api (preferably on Hoobs and set the SysIP to "localhost". The plugin won't work without it.
So basically you need SSH access to your Hoobs system and then follow the instructions for freeathome-api first and set SysIP to "localhost".

I'm lost. just trying to get really deep into this subject. And actually, these things are a little bit my cup of tea. Apparently not enough. In the end I seem to fail with the correct installation of the free@home API. Which is a real pity as we decided on this basis, for Bush und Jäger plus Hoobs.
Your documentation is certainly sufficiently explanatory. Especially since you also gave the reference to localhost.
My sincere thanks for the friendly support. Also my thanks for the great work and all the best for the future.

Documentation might be good enough for users experienced with homebridge but not so good for newbies. Where exactly are you stuck?

Feel like a kid holding a rubic cube for the first time. It's just embarrassing. In the end I only get warnings when I install the plugins, don't know which directories to put them in and just don't know what comes next and when.
I will have to get used to Homebridge and move this project for now. As bitter as that is.
Thank you for your kind help. Think that if it works, the plugin will be unspeakably helpful.

hi. I've been running it for about three weeks now without any problems.
Thanks a lot for this fantastic plugin, Henry.
In the end it helped to create a new user with the role "Installer" in the Sys AP, who had the same user name as the hoob. Of course it could be that I had to hang up a dream catcher at full moon but somehow it helped. Additionally, it was apparently important to upgrade to the last stable version of npm (npm install -g npm respectively sudo n stable).
Anyway, I can now finally control 16 Free@Home roller shutters with HomeKit using the Hoobs... awesome :D

👍 Happy to hear that.


iOS callback called succes & error block

Hello,
I am using iOS classes. Now after login successful callback to application with screen name so for that method -(void)setOAuthToken:(NSString *)token oauthVerifier:(NSString *)verifier called but in that first success block called then after error block also call. Because of that you can check login status label text.
Thanks,

any update on this issue?

Yes, it was because of an error in the underlying STHTTPRequest class.
Now this error is fixed, so could you please test again with the latest STTwitter from trunk?
If the error still exists, please send a piece of code and a procedure to reproduce the issue.

It is still there. I am download latest code. Also i am seen there is nothing changes shown in STHTTPRequest class(12 days ago).

My mistake. Could you check again now?

Solved.. Thanks


Issue 109

Converted ListTeamExampleWidget.jsx and ListTeamsWidget.jsx to bootstrap
Implemented useTracker to prevent collection data retrieval in render
Converted classes to functions
Removed lodash/underscore functions
close #109
close #110

Sidebar test just fails sometimes


Check in self-hosted font files

As discussed in #61, less over-engineered :P

For posterity's sake, these files were pulled together using the tool at https://google-webfonts-helper.herokuapp.com/fonts


removed timeout

We must have a way to limit the amount of time which a job runs.  Setting timeout on the docker image is one of the ways that the build process assures we are not in an endless loop.  I don't know what description would persuade me to accept this pull request.

@MarkEWaite I agree, not sure where the motivation is coming from. I mainly wanted to understand what they were trying to achieve to see if there is another way that can be recommended.


Clean up tx manager

Removes some redundant memory allocations.

Shrinks collections initialised with_capacity as early as possible
Removes extra cache for seen transactions in Peer type, since collisions are unlikely with [SipHash 1-3](https://nnethercote.github.io/perf-book/hashing.html#:~:text=The%20default%20hashing%20algorithm%20is,short%20keys%20such%20as%20integers.). Eventually network crate should aim at using ahash, like in the database.

Eventually network crate should aim at using ahash, like in the database.

re: ahash, I'm much less confident in the safety of ahash usage than siphash despite the perf increases and dos-resistance claim in the readme


gitinterface: Add representation of a repository and hashes

This PR adds a lightweight wrapper around a Git repository as well as hashes used in the Git object store. It includes support for both SHA-1 and SHA-256 hashes.

Blocked by #376

Linter is unhappy because of the execute with stdin helper, which I will be using in a subsequent PR. I can introduce those helpers then or we can override the linter for now as this is just a part of the bigger PR. cc @wlynch

I've taken out three unused execute functions that I'll introduce with the next one.

BTW, I think we should proceed with this series of PRs with an issue to address the windows tmpdir clean up.


Dataannotations not included in generated

Hi,
Thanks for the awesome proxy generator and the client. I have noticed that in the WebApiProxySource.cs that the Model class that is generated from the proxy does not include any of the data annotations from the web api model. Is there a way to get these included?

Wow this is a great idea. I think we could possibly include a .config file parameter to decide if we want the annotations or not.
Does anyone know an easy way to reflect the annotations off the methods server side?

@wolfen351 this might help https://msdn.microsoft.com/en-us/library/71s1zwct(v=vs.110).aspx


[BUG]

Setup

OS: [e.g. windows 10]
Browser: [Foundry app]
Module version: [e.g. 1.1.2]
Foundry version: [e.g. 12.325]
Gaming system & version: [e.g. dnd5e 3.20.0]
Any other modules enabled: [yes]

Describe the bug
Host gets stuck on token and only sees the vision of that token. If it sees another token you can click on that token it will add the vision off that token. It will never remove the old tokens vision.
Console Log
I am in a time need console logs and screenshots will be added later. Went back to foundry v11.315 where it still works.
Additional context
Add any other context about the problem here.

I believe it is the same bug, it seems to be related with Global shared vision activated...  it do not allow to "deselect" the token by clicking anywhere, and any token with shared vision configured adds to the vision...
disabling   global shared vision stops the bug
https://github.com/CDeenen/SharedVision/assets/7229143/0471b023-2705-46b6-afb6-328f2aa2c192

Also, just notice.. it also causes the ambient sounds to add...
sounds affecting different tokens still plays even if the token is deselected or global share is disable

It is a workaround indeed. There is a loop if you do  it the wrong way around though so it would be even more entangeling. I hope there will be a definitive fix soon

Another note not so great you need to turn on global shared vision every time in a specific matter to keep using global shared vision

This should be fixed in the latest version


Use := instead of ?= to set MAKEFILES_DIR to fix Android build flakiness

This change should fix Android build flakiness we see with error:
fatal error: google/protobuf/stubs/common.h: No such file or directory

Jenkins, test this please.

Jenkins, test this please.


Error when installing packages for replicad-app-example project.

Hello,
I am running Ubuntu 22.04.4 LTS with Node v20.17.0 and npm 10.8.2
git clone git@github.com:sgenoud/replicad.git
cp -r replicad/packages/replicad-app-example .
cd replicad-app-example
npm install
npm start

Running the instructions from the replicad-app-example readme results in a dependency error related to the threejs packages.
git clone git@github.com:sgenoud/replicad.git
cp -r replicad/packages/replicad-app-example .
cd replicad-app-example
npm install
npm start

Error:
replicad-app-example$ npm install
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving<EMAIL_ADDRESS>npm error Found<EMAIL_ADDRESS>npm error node_modules/three
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Could not resolve dependency:
npm error peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm error node_modules/replicad-threejs-helper
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /home/user/.npm/_logs/2024-09-04T22_34_07_323Z-eresolve-report.txt
npm error A complete log of this run can be found in: /home/user/.npm/_logs/2024-09-04T22_34_07_323Z-debug-0.log

I have updated the dependencies, it should work now!

I can confirm that building the project works now.


3.1.3 Version - java.lang.RuntimeException

Alarm plugin version
3.1.3
Describe the bug
Exception java.lang.RuntimeException:
  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:5286)
  at android.app.ActivityThread.-$$Nest$mhandleServiceArgs
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2531)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8893)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:608)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Caused by java.lang.NullPointerException:
  at com.gdelataillade.alarm.alarm.AlarmService.onStartCommand (AlarmService.kt:68)
  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:5268)

Device info
Provide device info (Manufacturer, OS version, ...)
[samsung t2s (Galaxy S21+ 5G)]
Additional context
The error was found in the Google Play Console.

@gdelataillade
This seems to happen quite often.
Thanks!

This also happens to me in version 3.1.4 when the set alarm is supposed to trigger, the above exception occurs.
Strange, because I had it working fine a week ago.
Samsung Galaxy S23 Ultra / Android 14
Thanks

Hey, I just managed to fix the issue in my case, so I figured out that in AlarmService.kt here https://github.com/gdelataillade/alarm/blob/main/android/src/main/kotlin/com/gdelataillade/alarm/alarm/AlarmService.kt#L63 that appIntent was null. Reviewing my AndroidManifest.xml I found that I've combined two different intent filters into one by mistake, which can cause unexpected behavior when resolving intents. After splitting into two intent filters it started working again.

I'm closing this issue because in the meantime version 4.0.0 was released including a significant refactoring of the code and many bug fixes. Feel free to reopen if needed !


Emit pod argument size to descriptor map

Enable users to:

know how much memory to allocate for their pod buffer when
using -cluster-pod-kernel-args

check the size of the data bound to pod bindings is correct

Fixes #185
Signed-off-by: Kévin Petit<EMAIL_ADDRESS>

Is it feasible to only emit argSize annotations for pod arguments? They don't have a meaning for arguments that are not pod arguments.

I'm thinking that you are observing that pod and pod_ubo arguments are different from other argument kinds. This is directly analogous to the way that local arguments are different from other argument kinds. Thus, the argument kind field already provides a key to the consuming software for which fields may be included with the argument and which fields will not.
As a client, I would prefer that the fields included in an argument entry in the descriptor map be relevant to that argument. If a field is not relevant, it should not be present. This makes a stronger contract between the compiler and the consuming software.

@dneto0 @alan-baker Any opinion on this change? Which way do you want to go? I really don't mind either way personally.

Sorry I'm late to this.  I agree with @ericberdahl that the argSize key/value pair should only be included for pod and pod_ubo fields.  I also agree with @kpet that in that case they key/value pair should appear after the argKind key/value pair.    That might help some consumers.

From my perspective, the location of the argSize key/value pair relative to the argKind key/value pair is of less consequence. From a larger perspective having the argSize pair follow the argKind pair seems very reasonable (e.g. existing consumers may have existing, albeit unwise imo, implementations that presume the order of data for kernel argument lines).

@dneto0 Thanks. I'll update the PR.

existing consumers may have existing, albeit unwise imo, implementations that presume the order of data for kernel argument lines

@ericberdahl This is what I'm doing in clvk. There is nothing documented that states that order doesn't matter. As my previous comment said:

This would be a bit simpler if we decided and documented that the format is just a serialisation of a set of key-value pairs, which seems to be true for all cases.

If we can all agree on that and document it, then I agree there would no longer be any good reason to expect tokens in a precise order.

I've updated the PR to address review comments and added a test to cover the combination of -pod-ubo and -cluster-pod-kernel-args (there was none).
Since the preference is to only emit meaningful fields, I guess we may want to change the way offset is handled. I'll raise an issue to discuss that and more generally what constraints the format should obey to.


FIX: PyDDA Wind retrieval notebook and baltrad2wradlib notebook

@kmuehlbauer - can you add the following to the environment file as well? This will help the pydda notebook:
  - jaxopt
  - tensorflow>=2.6
  - tensorflow-probability

This will likely speed up the execution of the pydda notebooks as well.

Is this available in conda-forge?

yep! 👍

I've had to revert the tensorflow addition. The environment did not resolve. Maybe we need to create two (or more) different environments?


Variable expansion when displaying 'shell' descriptions

Given the following install.conf.yaml snippet:
- shell:
  -
    command:      mkdir -p<EMAIL_ADDRESS>    stdin:        true
    stdout:       true
    description:  Creating<EMAIL_ADDRESS>    quiet:        true

Displaying the command that will be run is done without parameter expansion (with quiet: false), which is fine.  However the description text is also displayed without parameter expansion, and resembles the following:
All targets have been cleaned
Creating<EMAIL_ADDRESS>All commands have been executed

==> All tasks executed successfully

I have also tried wrapping the description in an echo, like
$(echo "Creating<EMAIL_ADDRESS>... but that output also seems to be unexpanded.  Presumably descriptions are printed verbatim without being passed to a sub-process or anything similar.
Could an option be added to dotbot that would allow for descriptions to be first parameter-expanded?  Alternatively, can you suggest a workaround for this that isn't too clunky?  In this specific example, adding the --verbose option to mkdir would cause some useful output in the case where the directory was previously nonexistent, however no output is emitted for previously-existing directories.  Also, that doesn't cover commands other than mkdir.
Thank you very much

WireRydr

Hmm, I think it would be reasonable to switch description to expand shell variables by default, so that the expansion strategy matches how command is processed. What do you think?
Implementing this might be a bit tricky, because processing the command doesn't expand the shell variables, it just shells out to the user's $SHELL. See #56

I read https://github.com/anishathalye/dotbot/issues/56 with great interest - it seems like @5paceToast was well down the road to something useful.  However I don't believe it was ever finished.
In my (admittedly layman's) view, why not explore the use of 'eval', which most (all?) shells implement as a built-in?  Take the entire description setting, and run it through the shell's eval built-in, capturing and displaying the result.  I think this is actually the sort of use eval is intended to handle.
One would have to accept that the content of description is trusted, as you said in https://github.com/anishathalye/dotbot/issues/56#issuecomment-157874118 - which to me (at least) is acceptable.

I think eval isn't quite what we want? We want something more like "expand variables", not "evaluate this as a shell command". E.g. a description: "ls $HOME" will actually return a file listing, not give the string "ls /Users/anish".

Very good point, and one that actually simplifies things, since for something like a description you really just want variable-expansion, not command execution.  This is based on the assumption that description would contain only two types of data:

Literal text
Names of shell variables (formally expressed in ${somevar} form with enclosing braces).

Given that, could we back off from using eval and look again at os.path.expandvars?
The following self-contained python script illustrates one approach (please forgive its horrifying shortcomings - I'm a C/C++ programmer, never dabbled in python before today):
#! /usr/bin/env python
#################################################################################
#     File Name           :     dotbot_parse_descriptions.py
#     Created By          :     wirerydr
#     Creation Date       :     [2019-12-17 10:28]
#     Last Modified       :     [2019-12-17 21:39]
#     Description         :     Demonstrates one method of displaying dotbot
#                         :     "descriptions" optionally containing shell vars.
#################################################################################

import os.path
import re

### Given a string containing a dotbot "description", split the string up into
### an ordered list of substrings containing either (but never both): 1) literal
### text, or 2) a shell variable, i.e. ${} enclosing a variable name.  Returns
### the list.
###
def split_description( desc_string ):
    regexPattern="[${|}]"
    rexp=re.compile( regexPattern )
    return rexp.split( desc_string )

### Given a list of description substrings, perform shell expansion on the
### ones that contain a shell variable.  The other substrings, containing
### only literal text, are left as-is.  Returns a string containing the
### concatenated substrings, post-expansion.
###
def expand_and_concat_substrings( list_substrings ):
    expanded_description = ''
    num_substrings=len( list_substrings )
    i=0
    while i < num_substrings:
        if list_substrings[i] == '':
            i += 1
            original_substr = '${{{}}}'.format(list_substrings[i])
            print( "original_substr: [{}]".format( original_substr ) )
            expanded_substr = os.path.expandvars( original_substr )
            print( "expanded_substr: [{}]".format( expanded_substr ) )
        else:
            expanded_substr = list_substrings[i]
            print( "literal        : [{}]".format( list_substrings[i] ) )
        expanded_description += expanded_substr
        i += 1

    return expanded_description

description="Creating<EMAIL_ADDRESS>print( "description    : {}".format( description ) )

desc_substrings=split_description( description )
print( "desc_substrings: {}".format( desc_substrings ) )

expanded_desc=expand_and_concat_substrings( desc_substrings)
print( "expanded_desc  : {}".format( expanded_desc ) )

The output of the script on my test VM looks like the following:
[devusr@ansible-f31:~] $ python dotbot_parse_descriptions.py
description    : Creating user_bin/${USER}@${HOSTNAME}/somedir
desc_substrings: ['Creating user_bin/', '', 'USER', '@', '', 'HOSTNAME', '/somedir']
literal        : [Creating user_bin/]
original_substr: [${USER}]
expanded_substr: [devusr]
literal        : [@]
original_substr: [${HOSTNAME}]
expanded_substr: [ansible-f31.example.com]
literal        : [/somedir]
expanded_desc  : Creating<EMAIL_ADDRESS>[devusr@ansible-f31:~] $

Yes, I think we can consider using os.path.expandvars. I think it will be even nicer to implement a fully POSIX-compliant expansion in Python, and then use it here (as well as in the link implementation). I might work on this over the holidays.

Did anything come of this?

I haven't had time to work on this yet. There was some progress in #56 a while ago, but that isn't complete yet.

I think it'll be confusing if we implement this feature with just os.path.expandvars, and it seems like a lot of work to implement POSIX-compliant expansion in Python and get all the edge cases right.


How we can reset the hours or minutes if i had selected once and want to change?

@tikamsingh  you can change the type of selection with setType() method and set / reset hours and minutes with .hours and .minutes property of the picker


chore(dependencies): Update dependency eslint-plugin-jsdoc to v46.4.5

This PR contains the following updates:

Package
Type
Update
Change

eslint-plugin-jsdoc
devDependencies
patch
46.4.4 -> 46.4.5

Release Notes

gajus/eslint-plugin-jsdoc
v46.4.5
Compare Source
Bug Fixes

require-jsdoc: accessibility check for latest typescript-eslint/parser (#1136) (e41df35)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Some FetchDefinitions should not be removed from cache if there was a…

…n error in a context they were a part of. (For example a site navigation if some random page threw a 404)

Coverage increased (+0.03%) to 93.946% when pulling 58ef08abf07ca45511811c4af97e04014e06d2ca on feature/central-cache-entries-should-survive-an-error-purge into b0d2519f6f1c854af04454a4dcd94e3655455271 on master.

Please review :) @stweiz or somebody else

I am closing this because the problem i had is not related to this. If somebody needs this functionality anyway feel free to reopen it or something.