Added keimlink/cookiecutter-reveal.js

Current coverage is 99.65%

Merging #660 into master will not affect coverage as of 8314724

@@            master    #660   diff @@
======================================
  Files           13      13
  Stmts          577     577
  Branches         0       0
  Methods          0       0
======================================
  Hit            575     575
  Partial          0       0
  Missed           2       2

Review entire Coverage Diff as of 8314724

Uncovered Suggestions

+0.35% via ...ookiecutter/utils.py#27...28

Powered by Codecov. Updated on successful CI builds.

Thank you @keimlink :bow:

Thanks for merging @hackebrot

np :smiley:


Fix Cloud9 workspace in Dockerfile-janitor

Currently, the internal Cloud9 IDE makes you land in /home/user instead of /home/user/kresus/app. This changes fixes it.

Thanks!


Add simple devcontainer config

This is just a small configuration to get started using codespaces. Made this while working on another PR :slightly_smiling_face:

@spenserblack Can I ask what this helps with? I've never used devcontainers and don't know what they are

Sure! This sets up a simple dev environment for when contributors want to develop in the cloud environment GitHub Codespaces (I don't think this is limited to Codespaces, but that's how I use it).
Right now the config in this PR is pretty minimal -- it installs node16 and Typescript globally. Then, after the codespace is created, it will automatically run npm install. This allows a one-click setup for a dev environment -- just create a codespace for this repo and one is ready to start developing.
Since this config is minimal, I'll admit that it's not necessary. The default codespace image has Node installed, and will automatically run npm install or yarn install. AFAIK the default image doesn't support pnpm (https://github.com/Nutlope/aicommits/pull/19), so that could be a reason to use a config.
Additionally, if you have any preferred VS Code extensions that you think developers should use (I add EditorConfig.EditorConfig to all of my devcontainer.jsons, for example), this file can be used for that. There could also possibly be a postAttachCommand to run a "watch build" every time the user accesses the codespace.
To summarize, this can be used to:

Define a container to be used as a dev environment
Configure the editor (extensions, setttings, etc.)
Run some setup commands on lifecycle hooks

Hope this helps explain!

Oh, I see now in #19 that the preferred Node version is 18. Since there's a lot of overlap between what goes in CONTRIBUTING.md and what goes in devcontainer.json, perhaps we should wait until #19 is merged before reviewing this PR further.

With the recent updates and the switch to using nvm and pnpm, I'll pick this back up. Closing this PR so that I don't spam you with temp commits.


1.0.8 deadlock?

Built 1.0.8 on Ubuntu 14.04.  ethminer hangs after the seedhash line.  0% cpu use, so I suspect a deadlock in the new lock/mutex code added.  1.0.7 works fine.
Using  -E old -G --cl-global-work 16384 -S
[OPENCL]:Creating one big buffer for the DAG
[OPENCL]:Loading single big chunk kernels
[OPENCL]:Mapping one big chunk.
[OPENCL]:Creating buffer for header.
[OPENCL]:Creating mining buffer 0
[OPENCL]:Creating mining buffer 1
[OPENCL]:Creating buffer for header.
[OPENCL]:Creating mining buffer 0
[OPENCL]:Creating mining buffer 1
ℹ  04:18:17|gpuminer0  seedhash #95d53b63d0b53159

And if you disable the work-time-out code? Could be that there's a difference between Windows and Linux. You only built on Linux I assume.

If you had a -DNO_TIMEOUT it would be easier to test without the timeout code (or even have --work-timeout 0 to disable it).  For the time being I've made my changes against my 1.0.7 fork and am still doing testing.
And yes, I only built on Linux.

Thanks, I'll see if I can replicate the behaviour.

Running 1.0.8 on an Ubuntu 14.04 Server Amazon AWS G2 instance (NVidia GRID K520) now in stratum mode on ethermine. No deadlock here. Both OpenCL and CUDA work fine.

I really don't like mutexes since they are very tricky to debug.  Wherever possible I prefer serialization.
I cloned a clean 108 branch, and built on 14.04.  Tried running it on a 4-card rig, and got the deadlock after the first "gpuminer0  seedhash #95d53b63d0b53159".  I used --opencl-devices to run on just 2 cards and added -v 9.  It worked fine.    Removed -v 9 and tried again, and it works.
So I still suspect a deadlock, but I'll have to dig through the code before I can provide a theory.

This seems to be fixed with the streamlined mutex code committed yesterday.


server is permanently running on port :3000 - not able to kill the process

After a successful setup - the boilerplate server is permanently running on localhost:3000 and still after a fresh reboot. How can this happen? How I cancel this?

Are you on OSX?
You can try netstat:
netstat -anp tcp | grep 3000
For OSX "El Capitan" or if your netstat doesn't support -p, use lsof
lsof -i tcp:3000
The kill the process. Are you sure sure is still running? or maybe is the ServiceWorker.

Negative... still running on localhost:3000.
Any Ideas if it is the ServiceWorker? How can I find it out?

The server is still running after you killed the process with kill -9 PID? (where PID is the ID you get from netstat -anp tcp | grep 3000)
You can see the serviceworker here:
chrome://inspect/#service-workers

Go to chrome://serviceworker-internals and chrome://appcache-internals, search for localhost:3000 and kill both of them.
That should fix the issue, see see #71, #94, #190 and #293! Fixed in version three!

Thank you very much! Buzzword: ServiceWorker

Finally@ Thanks @mxstbr .
Thanks for fixing it in the new version, btw.

I just ran into this problem today and it took me a couple of hours of debugging to work out what was going on...  I was creating an app from scratch on port 3000 and i kept getting a html page returned that was not my own
So i think the bug has cropped up again...

That should definitely not be happening. Have you visited the app in production mode at that URL previously?
Aside, we should change the port when running the app in production so you don't get a cache problem when switching back to development. (if we're not doing that already)

I wasn't creating an app using RBP, it was just a simple new app of my own (for which i also happen to use port 3000).  For some reason I was struggling to get the server going when i realised what all the sw.js files popping up in the console must have been.
I can't remember which run commands I've used for RBP in the past - I assume prod and dev at some point with the other PR's

Cannot find localhost:3000 in serviceworker-internals and apache-internals. Any help?

@pooja-malvi259 Perhaps #645?

I have the same problem i can't find localhost in both chrome://serviceworker-internals and chrome://appcache-internals.   I'm running windows 10, can anyone help me please

@reaganscofield I had this issue with create-react-app on Windows 10. Try killing the NodeJS processes from Task Manager.

what worked for me was ending the Node.js processes in Task Manager

When using Chrome: Clear your browsing data.
Chrome is rather aggressive in caching non existing servers.

Yep, this problem persists using Git Bash on Windows, but normal command prompt allows you to terminate a session and restart one at will.

For windows user go to task maneger (ctrl+alt+del) then click on more details then on process tab you see many things are running, scroll down for a while until you can find "node.js server side javascript..." select and click on end task.

Since this issue is high in google results page, I'd post it here.
If you happen to have this issue on macos High Sierra, the solution is adding below to your /etc/hosts. Something changed in the networking setup of macos and some apps (including ping) cannot resolve localhost.
Same happens to the 'detect-port-alt'. Editing /etc/hosts seems like a fix:
/etc/hosts/
<IP_ADDRESS> localhost


Unit test IntOR

test.cc - line 421
The test checks if the op "or" is recognized as an ' OP_INT ' . We expect true, but it's actually false.
I think it's because "or" is already used, and recognized as an ' OP_B_OR ' .

Corrected.


generate presigned_urls at publish time

Fixes #205
Overview
Fixes #205 by generating presigned URLs at garden publish time.
Testing
I implemented this change locally, and observed success in an end-to-end test.

:books: Documentation preview :books:: https://garden-ai--214.org.readthedocs.build/en/214/

Codecov Report

Merging #214 (8858c51) into main (80a87fa) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #214      +/-   ##
==========================================
- Coverage   79.52%   79.50%   -0.03%
==========================================
  Files          46       46
  Lines        2882     2883       +1
==========================================
  Hits         2292     2292
- Misses        590      591       +1

Impacted Files
Coverage Δ

garden_ai/client.py
66.85% <0.00%> (-0.38%)
:arrow_down:


UI Refresh

Changes
Header

Logo size
Placement of LibreOne button
Moved menu from navbar below header into Header
Added 'Collapse' button for navbar on smaller screens
Changed "Contact Us" menu item label to "Support"

Welcome page

Added main welcome message with custom image
Added register section with links main sign up links

To Do Next:

[ ]  Style the footer
[ ] Finalize wording on welcome page (with Eric, Delmar, and Jennifer)
[ ] Create final imagery

Notes

There is currently just one commit on this PR
This is a draft PR and I'll add other commits to it as I go

Testing

Pull this banch down on local, or specifically the first commit: "style: header navbar"
You should notice that the Header of the site is different in the ways described above

Screenshot:

@kreut : this is the PR to test on. You can pull the branch homepage-ui-refresh to see these latest changes. I still have a the footer to style, plus finalizing the wording/images.
Feel free to make suggestions.


add support for load file with variable/parameter replacement

We have lots of kql functions that we would like to deploy via bicep.  loadTextContent() allows us to keep the functions in a file with crlfs as opposed to long lines in ARM.  The only problem is often we have functions that reference other clusters/databases/tables that are variable.  In those cases, we need to manually put them into a single string with concat or format of the variables/parameters.
Ask is to add a new loadTextContent (or add support for loadTextContent) that allows parameterization of tokens in the file.
Example kql:
.create-or-alter function foo() {
cluster(${targetCluster}).database(${targetDB}).Bar
| take 10
}
Example bicep:
param targetCluster string
param targetDB string
var kql = loadTextContent('test.kql')
Current behavior:
  "variables": {
    "kql": ".create-or-alter function foo() {\r\n    cluster(${targetCluster}).database(${targetDb}).Bar\r\n    | take 10\r\n}"
  },
Desired behavior (flag or new method to indicate tokens):
  "variables": {
    "kql": "[format('.create-or-alter function foo() {\r\n    cluster({0}).database({1}).Bar\r\n    | take 10\r\n}', parameters('targetCluster'), parameters('targetDb')]"
  },

Thanks Anthony - was ending up with your suggestion for now.
That said, they key part of this request is that if I have a folder with large number of files, I want to iterate over the folder structure (cluster/db) and run against cluster/db (bulk import).  Currently this requires parsing each file and adding the replace on each, or having a super long multi replace for each param/variable.  Goal would be to pull in the file as string, and then do interpolation on the string AFTER the file is read thus eliminating need for specifying each replacement.
Looking at 3389, this is very close to my scenario though for single kql.  Looking for solution for batch.

Closing as dup of #3816

Misread the issue. Re-opening.


After the first installation, run the sample command, which cannot be run. The screenshot is the error message.

Have you solved this problem?


Using getMediaInfo inside a script

Hello,
Thanks for the library, it's very helpful.
I'm running into one problem, and I'm not really sure where to look at to solve.
When I run the functions as a command it works fine, and most of the functions work fine in a script as well.
However, when I run getMediaInfo inside a script it always returns an empty string.
Thank you again

Hi.
Can you post the script? I think is because .getMediaInfo() returns a string, not print, return works in the python REPL but not when running py script.py.

Hello, sorry it took a while to get back.
If I run something simple like this, I don't need to print the file name, I'm just trying to store it.
If I run this then it fails to store it and gpfile is saved as an empty string.  I'm trying to get the file name saved so I can better track the videos, but also to use it to get the information of the hilight tags.
gpCam = GoProCamera.GoPro()
gpCam.syncTime()
gpCam.shutter(constants.start)
time.sleep(5)
gpCam.shutter(constants.stop)
gpfile = gpCam.getMediaInfo('file')

@joaolopes220 using print(gpCam.getMediaInfo('file')) in a script works? Might be because the camera is not connected/turned off/supported


[W02] Add last year's tests

The original repository is licensed under the MIT license.
The exercise remains unchanged and these tests still pass.

Checklist
General

[x] I locally pass all tests or calculated manually the correct solutions on paper.
[x] I chose a title conforming to the naming conventions for pull requests.
[x] The newly added tests do not reveal the solutions dynamically calculating the solutions as expected in the exercise.

Description

The exercise remains unchanged from last year and my solution still passes the Artemis tests.
Therefore I'd like to share last year's tests with you!
Review Progress

Review

[x] Review 1
[ ] Optional Review 2

@JohannesStoehr This pull request is ready to be merged.


Update BookmarksGrid horizontal spacing to fix #732

Bookmarks screen is the only one to use a 32.dp horizontal spacing:
https://github.com/android/nowinandroid/blob/d20910595522867067e7a7d1c542e95fc5f5155d/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt#L181-L185
Other screens are using a 16.dp
https://github.com/android/nowinandroid/blob/d20910595522867067e7a7d1c542e95fc5f5155d/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt#L149-L153
https://github.com/android/nowinandroid/blob/d20910595522867067e7a7d1c542e95fc5f5155d/feature/search/src/main/java/com/google/samples/apps/nowinandroid/feature/search/SearchScreen.kt#L293-L297

We should really standardise this and avoid the duplication of spacing constants, but thanks very much for fixing this!


VCDA-3813: Allow control plane IP to be chosen from non-Tier0

Fixes #149
New section named loadBalancer is added to the vcdcluster object:
loadBalancer:
  vipSubnetCIDR: "a.b.c.d/e"
  useOneArmRangeForControlPlane: false # default is false

vipSubnetCIDR will be sent to the CPI as well as used for getting the control plane IP.
useOneArmRangeForControlPlane  will decide if Tier0 IPs are used or not. The oneArm IP range will be used if this is set to true.
This also includes some makefile changes in order to get the conversion-gen built with 1.17 and placed into a tools dir

This change is

Closing this PR since it has been covered by other changes which allow a user-specified IP to be used as the control-plane IP.


Easier way to test/format code to pass static code analysis

Issue Description
Currently, the way to check the code/format is to manually run black, usort, flake8, and mypy. It would be better if we could combine these into a single command like, e.g., make check and make format. Ideally, this would work on Windows/Mac OS/Linux.
@feynmanliang would you be able to look into possible solutions/best practices?

This is low priority right now so I'm going to close


[Bug]: dlib cnn_face_detection_model_v1 seems to use huge amount of memory

What Operating System(s) are you seeing this problem on?
Windows
dlib version
19.24.2
Python version
3.10
Compiler
MSVC 19.36.32537.0
Expected Behavior
I have installed the CPU version of dlib, and am trying to run the simple sample program "cnn_face_detector.py" from dlib.net, on a single image file with a single person's face. I have also installed the GPU version of dlib from source and attempted the same program.
Current Behavior
As soon as the code reaches the line:
dets = cnn_face_detector(img, 1)
in the CPU version of dlib:
the memory working set explodes by 40GB, and the process starts generating a huge number of memory faults, causing it to run extremely slowly, and may take many minutes to process one file, despite the 32GB of memory in my PC, and:
in the GPU version of dlib:
the process fails "cnn_face_detector Error while calling "cudaStreamSynchronize" (stream) ...  GPU_DATA.CPP Line 104 ... code: 2, reason: "out of memory"".
If I change the source code to use 0 up-sampling, then the memory usage is a bit smaller, but still significant, and the time taken is still significant.  Should this CNN model be so memory hungry and slow? It seems unusable at the moment.
Steps to Reproduce
Created a minimal conda environment with just python 3.10, numpy, dlib, then ran the dlib.net/cnn_face_detector.py
Anything else?
No response

How big is the image?

It's a standard photo image - 4476 x 6612 pixels. Total of 1.89 Mb. It takes many minutes.
But I've tried it out on other photos also, of about the same size (1.9 Mb) but with a large number of small faces and the runtime is only a few seconds. I haven't run enough different photos to be able to be sure about the correlation between runtime & memory usage, and whether they correlate to the photo composition, number of faces, etc.

That is a pretty huge image.
The network will use an image pyramid, making the image 3.7 times larger.
You can read more about how this detector works here. The network will also be converted to 32-bit floating-point numbers. This means the image will need about 1.3 GiB to be stored in memory.
After that, the image will go through the network, which has a bunch of convolutional and normalization layers of varying sizes. Each of those layers stores the result of their computation, making the memory usage explode.
TL;DR: it's not a bug, use a smaller image.

@arrufat,
Many thanks. Understood.
However, would it be useful to resize the images, prior to running the detector? Using dlib.resize_image?

Yes, that's what I'd do.

Thanks, I'll close this


add tradeable modifier

Example query: ^ids tradeable 9* to see what you can trade for the new latents


Using upstash kafka for knative broker bootstrap.server is not work

Steps to Reproduce the Problem

Install the knative eventing and the kafka controller

kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.4.0/eventing-core.yaml
kubectl apply --filename https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/knative-v1.4.0/eventing-kafka-controller.yaml
kubectl apply --filename https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/knative-v1.4.0/eventing-kafka-broker.yaml

Add a secret file for the upstash kafka certification
If using the SASL_SSL protocol, what is the pem key file

kubectl create secret --namespace knative-eventing  generic kafka-secret \
  --from-literal=protocol=SASL_SSL \
  --from-literal=sasl.mechanism=SCRAM-SHA-256 \
  --from-file=ca.crt=caroot.pem \                                     <-------- ????????????????
  --from-literal=user=<my_user> \
  --from-literal=password=<my_password>

If I skip the line of the ca.crt=xxx.pem, the error message is
failed to create topic: knative-broker-default-default: kafka: error decoding packet: correlation ID didn't match, wanted 3, got 4

Update the "bootstrap.servers" and "auth.secret.ref.name" in the kafka-broker-config.yaml as below

apiVersion: v1
kind: ConfigMap
metadata:
  name: kafka-broker-config
  namespace: knative-eventing
data:
  # Number of topic partitions
  default.topic.partitions: "10"
  # Replication factor of topic messages.
  default.topic.replication.factor: "1"
  # A comma separated list of bootstrap servers. (It can be in or out the k8s cluster)
  bootstrap.servers: "evident-xxxxx-kafka.upstash.io:9092"
  auth.secret.ref.name: kafka-secret

After doing those step, I describe the broker and it return the message below.
Events:
  Type     Reason           Age                 From               Message
  ----     ------           ----                ----               -------
  Normal   FinalizerUpdate  23s                 broker-controller  Updated "default" finalizers
  Warning  InternalError    13s (x12 over 23s)  broker-controller  Data plane not available: Did you install the data plane for this component?
  Warning  InternalError    0s                  broker-controller  failed to create topic: knative-broker-default-default: kafka: error decoding packet: correlation ID didn't match, wanted 3, got 4

Additional Info

Hi @Kcwan18, I'm not familiar with the Upstash Kafka service. but the Upstash service doesn't support the APIs we need [1], we need to create topics via the Admin API.
[1] https://docs.upstash.com/kafka/kafkaapi


Bug 2274100:[release-4.15] bundle: add readOnlyRootFilesystem for ocs-operator

This is an manual cherry-pick of #2545

/bugzilla refresh

/retest

/cherry-pick release-4.14


Fix for HHh-17172 to retrieve matching session factory either by uuid or name during serialization/deserialization

https://hibernate.atlassian.net/browse/HHH-17172

Any suggestion how to fix the contribution rules for the conflicting commit messages?

Hi, great work!

Any suggestion how to fix the contribution rules for the conflicting commit messages?

You should rebase on the latest changes rather than merge; if you rebase now that should make the "merge" commit disappear.
Then squash the two different commits you have to introduce the test (bc81d3d and 690ff23) should be one commit)
If you're not familiar with git we can help, but I'd suggest to try first.

Will redo the changes (cherry-pick -n) and create a new PR with the feedback above resolved as well.
I will close this PR and #7338 (the initial PR with only the test case)

New PR: https://github.com/hibernate/hibernate-orm/pull/7342


Add new tests for the viminfo feature

Codecov Report

Merging #5009 into master will increase coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5009      +/-   ##
==========================================
+ Coverage   81.83%   81.92%   +0.09%
==========================================
  Files         133      133
  Lines      146551   146551
==========================================
+ Hits       119933   120066     +133
+ Misses      26618    26485     -133

Impacted Files
Coverage Δ

src/ui.c
69.06% <0%> (-1.26%)
:arrow_down:

src/gui_beval.c
62.5% <0%> (-0.87%)
:arrow_down:

src/os_unix.c
63.45% <0%> (-0.05%)
:arrow_down:

src/terminal.c
81.77% <0%> (-0.04%)
:arrow_down:

src/window.c
88.18% <0%> (-0.04%)
:arrow_down:

src/if_xcmdsrv.c
86.17% <0%> (ø)
:arrow_up:

src/gui.c
63.7% <0%> (+0.05%)
:arrow_up:

src/optionstr.c
92% <0%> (+0.09%)
:arrow_up:

src/viminfo.c
84.97% <0%> (+9.84%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1824f45...a6738af. Read the comment docs.


Pull request notification got permanently stuck

Testing #3761
Mac

Opened an existing cloned repo.
There were already a few changes in it that weren't committed to master.
Created a new branch
Opened the Create Pull Request view. All dropdowns were filled correctly.
Pressed the Create button to create the pull request.

I was prompted along the way to publish the new branch created at step 3, then commit my changes (a couple prompts for this). Finally it gave me the Creating Pull Request notification at the bottom right, but it never completes. It's been 5 minutes.

Note that I don't believe that I was logged into github prior to trying to create the pull request.
I've sent the log directly to you as it's rather large.

I also faced the same problem. The bug occurs when you don't fill the commit Message description.

Fix isn't out in latest pre-release yet (v0.47.2022072809), so I still repro:


[drift_postgres] Let values go through as is, so that Postgres uses native conversions

Fixes #2986

Just to give you more context, we detected this in electric.
The server sends values that should be inserted as is in the Postgres driver. That means that for bigints for example, it will send a String, and since we are doing the insert through drift_postgres, the explicit type mapping fails.

I guess an alternative would be to pass TypedValue with unspecified from inside Electric.
Let me know if we should close or you want this behavior.
While working on the PR I noticed that BigInts where not working correctly in the develop branch. This PR fixes it. In case of discarding this PR, we might want to fix the BigInt values binding, as the postgres package doesn't understand them.

Let me know if we should close or you want this behavior.

Given that a workaround exists by passing a TypedValue, I'm leaning towards keeping the existing behavior. For null values the text type was just broken and definitely wrong, but I think passing a Variable<String> from drift should result in something interpreted as a string by the driver. So postgres with drift essentially behaves like sqlite3 would behave if all tables were STRICT. I don't think there's any part in drift that relies on weak types, and that sounds like a correct assumption to make for a sound SQL wrapper in Dart.
I've merged your bigint-related changes as 6ba049e5df7f2a3aff50c02ffdd326f596f53452.


Order history tab

WIP
Description

Related issue
https://github.com/Kwenta/kwenta/issues/751
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Another thing I noticed, the table component refreshes really often. When it refreshes it clears the sorting on that table, so sorting only ever sticks for a few seconds.
Maybe we should disable sorting so this is where you see recent trades, and can add something more dynamic on the dashboard or leaderboard drill-downs


Startup refactor

This changes the startup methods to allow for the system to read the dongle configuration before the network starts. This allows the system to detect if the dongle configuration is different to that asked for, and then do a reset of the dongle - this is not possible in the current methods as the reset flag is included in the constructor...
You can still use the current startup method which works the same as normal. However, it also adds initializeHardware and initializeNetwork methods which effectively splits startup method in two.
After calling initializeHardware you can then call the getCurrentChannel and getCurrentPanId methods, and then the initializeNetwork method. The initializeHardware method takes parameter to specify if the network should be reset or not.
This also fixes a bug during the startup. If the startup sequence fails in the .open() method due to the reset timing out, then .close() doesn't get called.
I might merge my other dongle reset PR into this but it would be good if @tlaukkan and @chris-hatton can comment on this before it's merged. It shouldn't break anything as the existing methods are retained, but is a bit of a change all the same.

Merged the startup timer changes into this branch...

Feel free to merge this yourself. Please ensure that the end result is in working order. I am fully tied with my day job so even I would like to review and test this I am not able to currently. :+1:

No probs - thanks Tommi. I’m using this daily, and so are a few others so I think it’s good :)


using lodash-es as a dependency

Hi there,
While analyzing our JS filesize I saw this app is importing the whole lodash-es library. Is it perhaps possible to load only the lodash function which you need? I think only cloneDeep is used.
Please let me know if you want me to make a pull request. Thanks!

ok，I will try to remove lodash-es.If you want to solve this problem quickly, you can provide a merge pull request

The latest package has been released, removing the reference to lodash

The latest package has been released, removing the reference to lodash


bug: The text is hidden for non selected tab

Describe the Issue
ISSUE : On the Contribution Guide Page, there is a UI issue. Tab text for unselected tabs is not displayed. Here is the screenshot:
Affected Page
https://contribute.freecodecamp.org
Steps to Reproduce
Visit these pages -
https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-locally?id=configuring-dependencies
https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-locally?id=step-3-start-mongodb-and-seed-the-database
Other pages using this Common Component may also experience this issue. Consider checking those pages as well.
Expected behavior
The text must appear for Tab either it is selected or not
Screenshots

System

Device: Laptop
OS: Windows 10 Version 22H2
Browser: Chrome 118

Additional context
No response

Hi can i work for it for hacktoberfest?

Hey @developer-gagandeep-singh , I would like to work on this issue. You can assign this to me.

These tabs are also not implemented properly and thus accessibility is poor.

i guess "https://contribute.freecodecamp.org/" this page is not open source.

i guess "https://contribute.freecodecamp.org/" this page is not open source.

@M0hitReddy I guess you have not read the contributing guidelines then... it's open source, created with docsify from the ./docs folder.
I wonder if it is a docsify issue or a markdown issue

The section in the code is
<!-- tabs:start -->

#### **macOS/Linux**

\```console
cp sample.env .env
\```

#### **Windows**

\```console
copy sample.env .env
\```

<!-- tabs:end -->

and the documentation from the docsify-tabs plugin we are using https://jhildenbiddle.github.io/docsify-tabs/
there may be something to adjust somewhere

Well, good to know that the tabs implementation in their documentation is not implemented correctly either. At least we know that it's not something we are doing :slightly_smiling_face:

Oh, so it is to report a bug to them! On the documentation I see it correctly tho.
Oh, at this point then we should remove all the customization from the html file and the link to the script and rework the sections to not be tabs but just show the options one after the other

i guess "https://contribute.freecodecamp.org/" this page is not open source.

@M0hitReddy I guess you have not read the contributing guidelines then... it's open source, created with docsify from the ./docs folder.
I wonder if it is a docsify issue or a markdown issue

My bad !  I did not know about docsify

The section in the code is
<!-- tabs:start -->

#### **macOS/Linux**

\```console
cp sample.env .env
\```

#### **Windows**

\```console
copy sample.env .env
\```

<!-- tabs:end -->

and the documentation from the docsify-tabs plugin we are using https://jhildenbiddle.github.io/docsify-tabs/
there may be something to adjust somewhere

Well My bad ! I did not know about docsify.

These are working fine in Dark Mode.I think the problem is only in light mode.

Switching to dark mode :-
Click the top-left Bulb icon to switch between dark/light modes.

@developer-gagandeep-singh I just found the fix let me update by pull request .

For the minimal amount of information that tabs are being used for, I would suggest that we stop using them.

@bbsmooth Would a table be decent for this info? I am not sure how accessible Markdown tables are, but I would assume for something simple they just work.

@ShaunSHamilton We could probably make a table work but I'm not sure it is needed and might just add more overhead than is needed for screen reader users. I think just making each tab a sub-heading with the content below is the best approach.

Something I forgot: We no longer support native Windows development of this repo. So, having a few specific commands for it in the docs is unnecessary, if not misleading.
In that case, let us fix this by splitting the current tabs into just the applicable command/info.
All the files needing changed are in this repository under the docs/ folder. Search for any uses of Docsify Tabs, and replace them with just the information related to Linux.

An issue with the https://github.com/freeCodeCamp/freeCodeCamp/labels/first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
If you would like to contribute, and have not read the contributors docs, please do so here: https://contribute.freecodecamp.org/#/
If you have any issues with contributing, be sure to join us on the contributors channel, or on the contributors sub-forum

Can I work on it?

Hi @ShaunSHamilton , Is this issue still up for grabs? I would like to contribute to it. Thank you. Awaiting your reply.

Hi, is this issue still up for grabs?

An issue with the first timers only Open for anyone doing contributions for first time. You do not need permission to work on these.label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
Please read the issue well, including all the comments in the thread, so you are sure what needs to be done: @januslinhc @Chirag77302 @M0hitReddy @mughalmuneeb786 @nandirb @Amit-Morade @trana5197 @lakshmi930

@ShaunSHamilton What about the mobile app? There is no mention of it not supporting Windows in the initial "Attention" section or in the README. It does mention WSL2 in the Troubleshooting section.
Anyway, all there is in the tabs are copy commands. So maybe they do not need to be tabs.
https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-mobile-app-locally
https://github.com/freeCodeCamp/mobile/blob/main/README.md

@lasjorg

What about the mobile app?

I forgot those docs were here as well. @Sembauke @Nirajn2311 Does the mobile repo support Windows development?

Yes the mobile app support development in Windows

@ieahleen @ShaunSHamilton  I have read the contribution guidelines and code of conduct. Still, I am not able to understand how to start the server locally or on gitpod. Can you please help me out as this is my first contribution. Thank you!

@trana5197 I suggest reaching out on the forum or discord server for better flow of comunication, so that here can stay focused on discussing the issue

Just Use

--docsifytabs-tab-color             : #404040;
as the color of The Text not selected is set to white it's not visible changing it to like dark grey will fix the issue, but will have to add fix to every tab , sorry if any issues come up it's my first time contributing

This is not just about the styles anymore.
The tabs fail on the accessibility front and because they are (mainly) used to document commands for non-supported OSs we are removing them.
As for the few copy commands left on the mobile app docs I assume we can just replace the tabs with something else.

I would like to contribute to this issue. This is my first open source contribution ! Excited  Haha


Debugging

New Feature!
NNsight support now more user-friendly error handling which shows the exact line in the context that caused the exception to be raised.
Simply set debug=True on your .trace(...) call to activate this setting.
from nnsight import LanguageModel

lm = LanguageModel("openai-community/gpt2")

with lm.trace("Hello World", debug=True) as tracer:
    lm.transformer.h[5].mlp.output[0][-1][100000].save()

Traceback (most recent call last):
  File "traceback_test.py", line 7, in <module>
    lm.transformer.h[5].mlp.output[0][-1][100000].save()

NNsightError: index 100000 is out of bounds for dimension 0 with size 768.

If you are using a Session, you just need to pass debug=True to the .session(...) call and it will propagate to all the graphs defined within.

You can make this debug mode your default setting by calling:

import nnsight
from nnsight import CONFIG

CONFIG.set_default_app_debug(True)

Or if you want to only make it persistent for the current run, use:

import nnsight
from nnsight import CONFIG

CONFIG.APP.DEBUG = True

improvement: Passing scan=True to Tracer propagates to all the Invokers defined within.
with lm.trace(scan=True) as tracer:
    with tracer.invoke("The Eiffel Tower is in the city of"):
        print(lm.transformer.h[2].mlp.output.shape)

    with tracer.invoke("Buckingham Palace is in the city of"):
        print(lm.transformer.h[2].mlp.output.shape)

>>> torch.Size([1, 10, 768])
>>> torch.Size([1, 9, 768])

@AdamBelfki3 Can you merge 0.4 into this branch and make the PR into 0.4?


Tests and bitrot

The Bucklescript and the buckletypes libraries are still changing. What should we do to manage code that is likely to break in the future ?

Should we mention the version of BS we are using?
There is no tags (for say, a specific version of bs-json) we can reference in the examples. Should we have some tests for this repo, so users can quickly see what examples work with their setup ?

I've been working on a tool to help with this: https://github.com/glennsl/md-codecheck
package.json should then be the authoritative source for which versions to use, and should preferably just be the latest published version of each.

This look exactly like the ticket!


Fix a typo introduced by 7cfbbcb

Description
@jamesnw it looks like we introduced a typo in one of our previous commits - not sure how. I think this is the fix?

My guess is that it comes from a merge mistake. 🤷🏻♀


Default userPosition for logged in user to default address if not specified

Set the default userPosition to the customer's default address when they are logged in if they haven't otherwise specified a location through the search bar.

I think I'm close on this one, but for some reason once I've added in this additional code I am getting an error:
(1/1) BadMethodCallExceptionCall to undefined method Admin\Models\Locations_model::reviews_score()
--
in ForwardsCalls.php line 50
at Model::throwBadMethodCallException('reviews_score')in ForwardsCalls.php line 36
at Model->forwardCallTo(object(Builder), 'reviews_score', array())in Model.php line 1622
at Model->__call('reviews_score', array())in ExtendableTrait.php line 442

I think I'm close on this one, but for some reason once I've added in this additional code I am getting an error:
(1/1) BadMethodCallExceptionCall to undefined method Admin\Models\Locations_model::reviews_score()
--
in ForwardsCalls.php line 50
at Model::throwBadMethodCallException('reviews_score')in ForwardsCalls.php line 36
at Model->forwardCallTo(object(Builder), 'reviews_score', array())in Model.php line 1622
at Model->__call('reviews_score', array())in ExtendableTrait.php line 442

Actually just updated to latest beta and it now appears to work as expected.

Actually just updated to latest beta and it now appears to work as expected.

Yea I added the feature after I saw your slack message. The feature was already requested on the forum some time ago but never got to it.

Yea I added the feature after I saw your slack message. The feature was already requested on the forum some time ago but never got to it.

Perfect - if it is there already disregard this.

Perfect - if it is there already disregard this.


upcoming: [M3-7414] - Add mocks and update queries for new Parent/Child endpoints

Description 📝
This PR adds Mock Service Worker (MSW) endpoints for all new "Parent/Child" API calls. (Updates to all existing endpoints were previously done in #9942.) These changes will enable us to mock the Parent/Child API interactions, ensuring our development remains unimpeded and independent of ongoing API changes.
Changes  🔄

Added endpoints to the MSW for new Parent/Child endpoints.
Updated the queries for useChildAccounts and useChildAccount to allow an unrestricted parent account to be able to reach these endpoints. (They will have child_account_access by default, but we can't check grants on an unrestricted user, which was relied upon in the initial implementation of the queries.)

Preview 📷

How to test 🧪
Prerequisites
(How to setup test environment)

Check out this PR and add a new REACT_APP_PROXY_PAT to your .env with any token to test. We'll need to store a mock "proxy" token to log into a child account somewhere until the API returns it.
Start the dev server: yarn dev.
In dev tools:

Turn on the MSW.
Make sure the Parent/Child feature flag is on.

Verification steps
(How to verify changes)

Take a look at the removed lines of code in UserMenu.tsx in the commit e129bf0.
You will need:

  const { data: childAccounts } = useChildAccounts({});
  const { data: childAccount } = useChildAccount({ euuid: '1' });
  const {
    mutateAsync: fetchProxyToken,
  } = useCreateChildAccountPersonalAccessTokenMutation({ euuid: '1' });

  fetchProxyToken({ euuid: '1' })
      .then((data) => {
        console.log({ data });
      })

To test the mocked queries, add the code to a component (UserMenu makes sense for our purposes) and verify in the dev console log and/or through the network request and response payload that the mocked requests to GET /account/child-accounts, GET /account/child-accounts/<euuid>, and POST /account/child-accounts/<euuid>/token are all executing and returning the expected data.

As an Author I have considered 🤔
Check all that apply

[x] 👀 Doing a self review
[x] ❔ Our contribution guidelines
[ ] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[x] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[x] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

Verified the following returns the mocked data

[ ] GET /account/child-accounts
[ ] GET /account/child-accounts/<euuid>
[ ] POST /account/child-accounts/<euuid>/token

LGTM, great work


match? is suggested when TargetRubyVersion: 2.3

Regexp.match method is in Ruby 2.3+
Regexp.match? method is in Ruby 2.4+

Expected behavior
I have TargetRubyVersion set to 2.3, so it should not be auto-correcting a change to match?, which causes a NoMethodError on Ruby 2.3.
Actual behavior
It auto-corrects to match?:
$ bundle exec rubocop -a
Inspecting 131 files
...C....................................................C....................................................................C.....

Offenses:

README.md:1255:10: C: [Corrected] Performance/RegexpMatch: Use match? instead of =~ when MatchData is not used.
      if table =~ /^#{Dynamoid::Config.namespace}/
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/dynamoid/finders.rb:297:12: C: [Corrected] Performance/RegexpMatch: Use match? instead of =~ when MatchData is not used.
        if method =~ /find/
           ^^^^^^^^^^^^^^^^
lib/dynamoid/finders.rb:306:14: C: [Corrected] Performance/RegexpMatch: Use match? instead of =~ when MatchData is not used.
          if finder =~ /all/
             ^^^^^^^^^^^^^^^
spec/support/delete_all_tables_in_namespace.rb:7:49: C: [Corrected] Performance/RegexpMatch: Use match? instead of =~ when MatchData is not used.
        Dynamoid.adapter.delete_table(table) if table =~ /^#{Dynamoid::Config.namespace}/
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Steps to reproduce the problem
Failed build example on Ruby 2.3:
https://github.com/Dynamoid/dynamoid/actions/runs/3717851355/jobs/6305609648#logs
Note that builds with later versions of Rails (5.1+) pass because Rails has backfilled match?.
RuboCop version
$ bundle exec rubocop -V
0.81.0 (using Parser <IP_ADDRESS>, running on ruby 2.4.10 x86_64-darwin19)

The old version of RuboCop, is not relevant to the problem, as it does support TargetRubyVersion.

The issue does not reproduce with the latest RuboCop. Can you upgrade RuboCop and RuboCop Perfomance to the latest version?
% bundle exec rubocop -V
1.40.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.24.0, running on ruby 3.1.1) [x86_64-darwin19]
  - rubocop-minitest 0.25.0
  - rubocop-performance 1.15.1
  - rubocop-rails 2.17.3

% cat .rubocop.yml
AllCops:
  TargetRubyVersion: 2.3

% cat example.rb
if finder =~ /all/
  foo
end

% bundle exec rubocop
(snip)

Inspecting 1 file
C

Offenses:

example.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
if finder =~ /all/
^
example.rb:1:1: C: [Correctable] Style/IfUnlessModifier: Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
if finder =~ /all/
^^

1 file inspected, 2 offenses detected, 2 offenses autocorrectable

Thank you.

I've been avoiding the RuboCop upgrade, but as this is something solved by improvements to the AST, or RuboCop proper, I'll have to rethink my approach to locking rubocop to very old versions when I'm supporting very old Ruby.
Thanks!  I had not, until this moment, had a solid reason for upgrading.

Yeah, the latest RuboCop 1.40 requires Ruby 2.6+ at runtime, but supports analysis TargetRubyVersion from 2.0 to 3.1!
https://docs.rubocop.org/rubocop/1.40/compatibility.html


cannot open remote kernel

File "/Users/wenjian/anaconda3/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 1060, in create_client_for_kernel
    password)
  File "/Users/wenjian/anaconda3/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 1782, in _create_client_for_kernel
    client.shellwidget.kernel_client = kernel_client
  File "/Users/wenjian/anaconda3/lib/python3.6/site-packages/qtconsole/base_frontend_mixin.py", line 57, in kernel_client
    kernel_client.iopub_channel.message_received.connect(self._dispatch)
AttributeError: 'QtKernelClient' object has no attribute 'iopub_channel'

This is a duplicate of #7082 and it'll be fixed in our next version. The process to connecting to external kernels has also changed:
https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder#2-the-modular-approach


Manual channel selection screen with scanner

If it isn't too much effort, could someone add a manual HDZero channel selection screen with the band scanner display from the scan screen?
This would make it easier to see which channels are in use and find other HDZero signals.

Isn't this already the default behavior?
However, I would like the ability to see general RF usage across the band (spectrum analyzer view), show the HDZero channels at their approximate placements within the band,  show if HDZero signal is detected in those channels, and still allow selecting from HDZero channels that do not already show an HDZero signal was detected.

Isn't this already the default behavior?
However, I would like the ability to see general RF usage across the band (spectrum analyzer view), show the HDZero channels at their approximate placements within the band, show if HDZero signal is detected in those channels, and still allow selecting from HDZero channels that do not already show an HDZero signal was detected.

The current behavior is that it will scan and select the first HDZero signal it detects.

Oh, my mistake, I only have one HDZero VTX to test with. But the scan now page hint implies it scans for all signals and would allow you to select from all active HDZero channels (if more than one is detected).

This is a repeat of #1


implement is.na and is.nan as vectorized operations mimicing  R behavior

WIP - still needs to look at testing for the newly vectorized behavior.
This implements is.na{,n} as vectorized operations that actually mimic their R counterparts instead of amounting to any(is.na(x)). This also does various cleanups of related code, including the any_na{,n} DSL keywords and the C++ code standing behind them.
This fixes longstanding issue #987. Not sure how we ended up with is.na{,n} acting as reduction operators but git blame suggests it was probably my fault.
A couple minor open questions:

I think we want is.na{,n}  to return bool. R_IsNA and R_isnancpp return int, so I created nim_IsNA and nim_isnancpp as wrappers to cast the output.
The various C++ functions standing behind the DSL keywords are in nimDists.cpp for historical reasons. Would like input from @perrydv on a better location for them.

In general a look-over from @perrydv will be useful.

Ok, I've incorporated a bunch of changes to my initial PR. The main ones are that is.na uses ISNAN to detect either NA or NaN, while is.nan uses R_IsNaN to detect only NaN, in keeping with R's is.na{,n}.
I also cleaned up NA/NaN detection in dists.cpp.
I enhanced testing for is.na{,n} and any_na{,n}.
I think this is fine to merge once check testing and determine whether to move function definitions from nimDists.{cpp,h}.

So the changes to how NA/NaN are handled in distributions in dists.cpp caused the categorical sampler to break a bit. The issue is that in current nimble if there are NA/NaN values in the prob vector for rcat, we generate a 1. I've changed it so that in general our r functions now return NaN (in some cases NA for technical reasons not worth going into) when a parameter contains NA or NaN.
So I needed to add an is.na check to the categorical sampler. Things should be fine now but, @danielturek, just bringing this to your attention.

@paciorek
I think if(!is.na(newValue) & newValue != currentValue) should use && instead of &.
I vaguely remember there finicky issues of all behavior cases so I hope there aren't surprises lurking. But what you've done does make sense so LGTM.

I don't follow the comment about &&. I thought that in DSL code we always use the single version & (and |).

Oh, also can you weigh in on:
The various C++ functions standing behind the DSL keywords are in nimDists.cpp for historical reasons. Would like input from @perrydv on a better location for them.

@paciorek I will look at the & issue and nimDists organization question. Another idea for testing would be to make sure the vectorized versions work in vectorized arithmetic, like Avec + is.nan(Bvec).


Add Estonian Translation

Awesome, thanks for your help @sandymerleburg! 👍

Hey, thanks again for your help @sandymerleburg. 🙏
I ordered some Pimple Popper stickers. Please send me your address via email if you would like to receive a few. ☺


[Bug]: Lock file does not include transitive dependencies

Current Behavior (bug)
A nix package could install transitive dependencies, for example the pre-commit package installs all of these dependencies: https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/tools/misc/pre-commit/default.nix#L1-L15
These transitive dependencies do not appear in the lock file.
Expected Behavior (fix)
The transitive dependencies with their versions should appear in the lock file.
Additional context
Please include the output of devbox version -v and
a copy of your devbox.json file.
$ devbox version -v
Version:     0.5.4
Platform:    darwin_arm64
Commit:      92bb293af46fe6869648c20e4a6476dc83df0092
Commit Time: 2023-06-01T21:35:06Z
Go Version:  go1.20.4
Launcher:    0.2.0

{
  "packages": [
<EMAIL_ADDRESS>  ]
}

{
  "lockfile_version": "1",
  "packages": {
<EMAIL_ADDRESS>{
      "last_modified": "2023-05-01T16:53:22Z",
      "resolved": "github:NixOS/nixpkgs/8670e496ffd093b60e74e7fa53526aa5920d09eb#pre-commit",
      "version": "3.2.2"
    }
}

Hey @dudicoco, thanks for reporting this issue.
Since pinning a nixpkg commit also pins all of the package's build dependencies, it is not necessary to list the transitive dependencies for reproducibility. As long as the same commit is used, all the package versions used in the derivation should be the same.
Is there a reason or usecase why you want to list the transitive dependencies in the lockfile?

Thanks for the info @Lagoja.
So how does one specify different dependencies than the ones in the same commit?
For example, if I specify a python version in devbox.json, the pre-commit package would still use the python version from its commit. How can we enforce it to use a different python version, or not install that dependency at all?

Hi @Lagoja, any updates on this issue?


Add in helper descriptions for types of Resource within masthead when creating resources

When creating k8s resource, it would be nice to add some text to describe what the resource is that you are creating.
Could we use the description section in mastHead to populate it on create?

With the update to the wizard format and descriptions in there, this is no longer necessary.


Update pulumi-terraform to 65eb36cfeb

This PR updates pulumi-terraform to 65eb36cfeb, and re-runs code generation

Closed via #11


Adding PHP client disque-php to README

This simply adds the disque-php client to the README

Thanks.

@antirez done

Thank you.


[design] create new TreemapBarchart component

@perpetualgrimace I was revising, and only we can group these together by 1st round / 2nd round. We cannot to use a treemap/barchart toggle, because the goal of Treemap and Barchart are differents. In treemaps, our goal was to show proportion of electors that didn't vote in Chile (because we have voluntary vote system and the participation is low) and in Barcharts we compared results in county/region with respect to Chile.


Adaptive Dialogs: Using a ChoiceInput inside a Foreach creates an infinite loop

Version
4.14.1
Describe the bug
When creating an AdaptiveDialog which has a Foreach action containing a ChoiceInput, we have found that the Foreach never gets beyond the second item in the array and loops infinitely
To Reproduce
Example dialog:
var searchStart = new AdaptiveDialog("searchStart") { Generator = new TemplateEngineLanguageGenerator() };
	var choices = new ChoiceSet();
	choices.Add(new Choice("Red"));
	choices.Add(new Choice("Green"));
	choices.Add(new Choice("Blue"));

	searchStart.Triggers.Add(new OnBeginDialog
            {
                Actions =
                {
                    new CodeAction(async (dc,obj) =>
                    {
                        dc.State.SetValue("dialog.myArray", new string[]{"one", "two", "three"});
                        return await dc.EndDialogAsync();
                    }),
                    new Foreach()
                    {
                        ItemsProperty="dialog.myArray",
                        Actions = new List<Dialog>
                        {
                            new CodeAction(async (dc, obj) =>
                            {
                                var loopIndex = dc.State.GetValue<int>("$foreach.index");
                                await dc.Context.SendActivityAsync($"current index: {loopIndex}");
                                return await dc.EndDialogAsync();
                            }),
                            new ChoiceInput
                            {
                                Id = "mychoice",
                                DefaultValue = "${turn.Activity.Text}",
                                Property = "dialog.myColour",
                                Prompt = new ActivityTemplate("What is your favourite colour?"),
                                Choices = choices,
                                AlwaysPrompt = true,

                            },
                            new CodeAction(async (dc, obj) =>
                            {
                                var yourColour = dc.State.GetValue<object>("dialog.myColour");
                                await dc.Context.SendActivityAsync("You said:" + yourColour.ToString());

                                return await dc.EndDialogAsync();
                            })

                        }

                    },
                    new SendActivity("All done")
                }
            });

Result:

Additional context
We have been looking at the code and this appears to be becuase the Foreach class uses a local private 'index' int field to store the position in the array. This confused us as it was already being stored in state in 'dialog.foreach.index'. What appears to be happening is that the Foreach is being re-instantiated for some reason and so index is being reset to 0 every time.
One option could be that you remove the local private index property and reuse 'dialog.foreach.index'. We'd suggest changing NextItemAsync to be
protected virtual async Task<DialogTurnResult> NextItemAsync(DialogContext dc, CancellationToken cancellationToken = default)
        {
            // Get list information
            var result = dc.State.GetValue<object>(this.ItemsProperty.GetValue(dc.State));
            var list = ConvertToList(result);

            var index = dc.State.GetValue<int>( Index.GetValue(dc.State), () => -1);

            // Next item
            if (list != null && ++index < list.Count)
            {
                // Persist index and value
                dc.State.SetValue(Value.GetValue(dc.State), list[index][IterationValue]);
                dc.State.SetValue(Index.GetValue(dc.State), list[index][IterationKey]);

                // Start loop
                return await this.BeginActionAsync(dc, 0, cancellationToken).ConfigureAwait(false);
            }
            else
            {
                // End of list has been reached, or the list is null
                return await dc.EndDialogAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
            }
        }

and put this in BeginDialogAsync
dc.State.RemoveValue(Index.GetValue(dc.State));
Unless someone can provide another solution to us?
Thanks in advanced

@Danieladu could you take a look at this one? Might have something to do with the changes in https://github.com/microsoft/botbuilder-dotnet/pull/5689.

hi @j-melville
Sorry that I could not reproduce the issue, but this problem does exist, while the action is broken and would be restored from some other "store" or "cache", the value of the private value would lose its previous value.
 I just get a pr to fix this.
Additional thing, your adaptive card could be simplified to this:
var searchStart = new AdaptiveDialog("searchStart") { Generator = new TemplateEngineLanguageGenerator() };
var choices = new ChoiceSet();
choices.Add(new Choice("Red"));
choices.Add(new Choice("Green"));
choices.Add(new Choice("Blue"));

searchStart .Triggers.Add(new OnBeginDialog
{
    Actions =
    {
        new SetProperty()
        {
            Property = "dialog.myArray",
            Value = "=['one', 'two', 'three']"
        },
        new Foreach()
        {
            ItemsProperty = "dialog.myArray",
            Actions = new List<Dialog>
            {
                new SendActivity("current index: ${$foreach.index}"),
                new ChoiceInput
                {
                    Id = "mychoice",
                    DefaultValue = "${turn.Activity.Text}",
                    Property = "dialog.myColour",
                    Prompt = new ActivityTemplate("What is your favourite colour?"),
                    Choices = choices,
                    AlwaysPrompt = true
                },
                new SendActivity("You said:${string(dialog.myColour)}"),
            },
        },
        new SendActivity("All done")
    }
});

The result:

Hope it helpful. Thanks!

Hi,
Thanks for your response. One thing though, you might not want to implement the fix I suggested as is. I found that re-using the dialog.foreach.index state value caused nested Foreachs to stop working. Instead we created a second state variable, which contained the dialog id in order to make it unique. So....
private string InternaIndex => $"dialog.foreach.internalIndex.{Id}"  ;

@j-melville you should assign another string to the "Index" and "value" property if there is a nested Foreach.
reference test:
https://github.com/microsoft/botbuilder-dotnet/blob/c9bbad874e1800f07598bf4db573974d592e7a55/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ActionTests/Action_Foreach_Nested.test.dialog#L63-L64

Ahh that sounds like a good idea, thanks.


Classify timeout exception as TransientException so that the caller can retry.

Today the org.apache.kafka.common.errors.TimeoutException thrown is not a subclass of TransientConsumerException.
This means the caller PartitionGroupMetadataFetcher will not retry on the timeout. In our Production env, we found out the non-retry behaviors causing realtime ingestion to stop.
Description

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #8043 (26fbfaf) into master (d317c59) will decrease coverage by 1.17%.
The diff coverage is 53.33%.

@@             Coverage Diff              @@
##             master    #8043      +/-   ##
============================================
- Coverage     71.35%   70.18%   -1.18%
+ Complexity     4264     4261       -3
============================================
  Files          1599     1599
  Lines         83075    83080       +5
  Branches      12402    12402
============================================
- Hits          59282    58311     -971
- Misses        19788    20765     +977
+ Partials       4005     4004       -1

Flag
Coverage Δ

integration1
?

integration2
27.67% <53.33%> (-0.07%)
:arrow_down:

unittests1
68.14% <0.00%> (-0.06%)
:arrow_down:

unittests2
14.30% <53.33%> (-0.05%)
:arrow_down:

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

Impacted Files
Coverage Δ

...inot/spi/stream/PartitionGroupMetadataFetcher.java
0.00% <0.00%> (ø)

...in/stream/kafka20/KafkaStreamMetadataProvider.java
71.42% <57.14%> (-16.08%)
:arrow_down:

...pinot/minion/exception/TaskCancelledException.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nverttorawindex/ConvertToRawIndexTaskExecutor.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/pinot/common/minion/MergeRollupTaskMetadata.java
0.00% <0.00%> (-94.74%)
:arrow_down:

...plugin/segmentuploader/SegmentUploaderDefault.java
0.00% <0.00%> (-87.10%)
:arrow_down:

.../transform/function/MapValueTransformFunction.java
0.00% <0.00%> (-85.30%)
:arrow_down:

...ot/common/messages/RoutingTableRebuildMessage.java
0.00% <0.00%> (-81.82%)
:arrow_down:

...verttorawindex/ConvertToRawIndexTaskGenerator.java
5.45% <0.00%> (-80.00%)
:arrow_down:

...ache/pinot/common/lineage/SegmentLineageUtils.java
22.22% <0.00%> (-77.78%)
:arrow_down:

... and 104 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d317c59...26fbfaf. Read the comment docs.


Vendor API v1.4: Add GCSE qualifications data

We need to update our Vendor API to represent the latest implementation of qualifications in our process.
Ensure we send the following fields over the API, as part of the GCSE object:

currently_completing_qualification - stores the boolean response to the “Are you currently studying to retake your GCSE?” question.
not_completed_explanation - stores the free text explanation if the above is false
other_uk_qualification_type - stores the response to “Another UK qualification” - “Qualification name”

 Vendor API v1.4: Add GCSE qualifications data


Test Time 30

Test Time 30

@amihaiemil this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2020-12-23T12:09:59.273713.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@MihaiDejeu please keep in mind that manual assignment of tickets is a bad practice and it is discouraged. Next time, please let me elect the assignee.

@amihaiemil Don't forget to close this ticket before the deadline (2020-12-23T12:09:59). You are past the first half of the allowed period.

@amihaiemil Looks like you've missed the task deadline (2020-12-23T12:09:59). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@MihaiDejeu this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2021-01-02T12:12:06.365472.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@MihaiDejeu Don't forget to close this ticket before the deadline (2021-01-02T12:12:06). You are past the first half of the allowed period.

@MihaiDejeu thank you for resolving this ticket. I've just added it to your active invoice. You can always check all your invoices and more on the Contributor Dashboard.


Install flexjs with npm on Windows 10 errors

This license is not compatible with the Apache v2 license.
Do you want to install the designmodo fonts?

The playerglobal.swc file is subject to and governed by the
Adobe Flex SDK License Agreement specified here:
http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf,
By downloading, modifying, distributing, using and/or accessing the playerglobal.swc file
you agree to the terms and conditions of the applicable end user license agreement.

In addition to the Adobe license terms, you also agree to be bound by the third-party terms specified here:
http://www.adobe.com/products/eula/third_party/.
Adobe recommends that you review these third-party terms.

This license is not compatible with the Apache v2 license.
Do you want to download and install the playerglobal.swc?
This is a required component (y/n):  y
Downloading Adobe FlashPlayerGlobal.swc
Downloading: http://download.macromedia.com/get/flashplayer/updaters/21/playerglobal21_0.swc
Finished downloading: http://download.macromedia.com/get/flashplayer/updaters/21/playerglobal21_0.swc
prompt: Apache FlexJS SDK uses the Adobe AIR SDK to build Adobe AIR applications.
The Adobe AIR SDK is subject to and governed by the
Adobe AIR SDK License Agreement specified here:
http://www.adobe.com/products/air/sdk-eula.html.
This license is not compatible with the Apache v2 license.
Do you want to download and install the Adobe AIR SDK?This is a required component (y/n):  y
Downloading Adobe AIR from http://airdownload.adobe.com/air/win/download/21.0/AdobeAIRSDK.zip
internal/streams/legacy.js:59
      throw er; // Unhandled stream error in pipe.
      ^

Error: getaddrinfo ENOTFOUND airdownload.adobe.com airdownload.adobe.com:80
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:73:26)
npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g"
 "flexjs"
npm ERR! node v7.10.0
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1

npm ERR<EMAIL_ADDRESS>postinstall: `node dependencies/download_dependencies.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'node dependencies/download_dependencies.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the flexjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node dependencies/download_dependencies.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs flexjs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls flexjs
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\ar.rahman\AppData\Roaming\npm-cache\_logs\2017-06-13T12_39_14_725Z-debug.log

Nevermind I did that in VSCode Terminal and I think that's why it didn't work


Merge 339d16fbc5d6 to 1.22 stable (fixes #28757).

This should merge cleanly, as it is a 2-line change.
Commit: 339d16fbc5d6
Fixed issue: #28757

fyi @whesse

Will merge in the first patch release.  I plan to wait about 2-3 days to see if more merge requests come in, since this should not be blocking anyone's work (it won't hit code completion while typing, since that uses the analyzer).

This was merged in version 1.22.1.

This fixes https://github.com/dart-lang/sdk/issues/28757


Added Favicon

Updated all .html with <link rel="icon" href="Image/Favicon.png"> in all files

@AnkitMajee Your commit has conflicts. Please resolve this.

Wait im making another PR


Play a video via command line?

I'd like to be able to play a video in a loop at the start-up of the system (it's for an art exhibition, I'd like to make it so the device can be rebooted and the video just starts playing with no hassle).
So I'm looking for a command I could run on start-up.
I'm able to connect in ssh and play the video with ffplay, but I can only hear the sound and the screen still shows the OS GUI.
I noticed if File Manager is running, then I can see the video when I run ffplay via command line. So I tried running the File Manager with command /opt/dingux/DinguxCommander before playing the video. But again, File Manager doesn't show on display.
It's like something prevents from getting "priority" to the display somehow?
Workarounds I found:

Wait for the screensaver before playing the video. But it would take 5 min. Is there a setting to reduce that time?
Run command systemctl stop emulationstation.service, then run ffplay. But I'd need sudo.

I guess there must be a simpler way?
The device is a RG351M.

Why not just disable emulationstation and just have your video start after boot instead?  You can disable emulationstation by doing sudo systemctl disable emulationstation then create a new systemd that just plays your video or just add it to the end of the /home/ark/.bashrc file.

I guess I could try that.
If something is misconfigured after I disabled emulationstation from booting, can I easily re-enable "network service"? I could probably also enable ssh on start-up.

Just do sudo systemctl enable ssh and ssh will always be available

Good luck and enjoy.


Filter logs by log level

We need more granular control of the logs, such as supporting log level.
When I make a request to the log API with level=WARN, it should returns  WARN and ERROR logs only.

Fixed by this PR https://github.com/SpectoLabs/hoverfly/pull/789. Use the -log-level flag to control Hoverfly log level instead of filtering the logs through the API.


Disable Time intervals on selecting Day

I need to disable time intervals when select day.
I've this code
onSelectDate: function (date) {
var disInt = [["10:00","16:00"],["19:00","20:00"]];
$('#startDate').datetimepicker({
disabledTimeIntervals: disInt
});
}
but it's not working.

here initiate the picker
$('#startDate').datetimepicker({
        lang: 'en',
        timepicker: true,
        format: 'Y/m/d H:i',
        formatDate: 'Y/m/d',
        allowTimes: ['8:00', '8:15', '8:30', '8:45', '9:00', '9:15', '9:30', '9:45', '10:00', '10:15', '10:30', '10:45',
            '11:00', '11:15', '11:30', '11:45', '12:00', '12:15', '12:30', '12:45', '13:00', '13:15', '13:30', '13:45',
            '14:00', '14:15', '14:30', '14:45', '15:00', '15:15', '15:30', '15:45', '16:00', '16:15', '16:30', '16:45', '17:00', '17:15', '17:30', '17:45',
            '18:00', '18:15', '18:30', '18:45', '19:00', '19:15', '19:30', '19:45',
            '20:00', '20:15', '20:30', '20:45', '21:00', '21:15', '21:30', '21:45', '22:00', '22:15', '22:30', '22:45']
    });


No mention of shared throughput settings for Table API in documentation.

Table API is a different animal in the Cosmos DB world. There is a single database per database account and configuring shared throughput is outside of Data Explorer under the Settings menu. I have not found where these facts are mentioned in the Table API Overview or FAQ documents. I looked in other Table API documents from the menu, also.
Is this information available in one of the other documents?
Can you consider including this info in the documentation?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2cd9a43c-1db8-eed4-5c76-4206c639c8ec
Version Independent ID: 22eb758f-6247-ab43-76c3-30982b5c9282
Content: Introduction to the Azure Cosmos DB Table API
Content Source: articles/cosmos-db/table-introduction.md
Service: cosmos-db
Sub-service: cosmosdb-table
GitHub Login: @SnehaGunda
Microsoft Alias: sngun

@Craigmeister68,
Thank you for reaching out and bringing this to our notice. At this time we are reviewing the feedback and will provide an update as appropriate.

@Craigmeister68,
Thank you for reaching out and bringing this to our notice. At this time we are reviewing the feedback and will provide an update as appropriate.

@Craigmeister68 Please check this document for more info- https://docs.microsoft.com/en-us/azure/cosmos-db/table-api-faq
Please share if you need any further information.

@Craigmeister68 Please check this document for more info- https://docs.microsoft.com/en-us/azure/cosmos-db/table-api-faq
Please share if you need any further information.

@Craigmeister68 Please let us know if you have any further questions regarding this issue.

@Craigmeister68 Please let us know if you have any further questions regarding this issue.

@Craigmeister68 We are going ahead and closing this thread for now. Please let us know if you have any further questions.

@Craigmeister68 We are going ahead and closing this thread for now. Please let us know if you have any further questions.


Fixes #1248

updates mvc page options by adding query param info

Merged to develop for release with 2.4.


Add a segfault handler to dump the backtrace on Windows, Linux and OS X

Same as #10124 but for 3.0

This should probably default to on in SCons with an option to turn it off. Some of the issues I've fixed for people on IRC would've been so much faster if we didn't first have to teach them to use gdb.

@hpvb Yeah, this will help reporting crashes for people that don't know gdb. Also I think it can be handy for random crashes too.
The option on SCons was discussed over #10124, @akien-mga decided it was better to have a --disable-backtrace on this instead of a SCons option, since anyways gdb has priority over this handler when debugging.

This looks great, one thing: Could you add documentation for --disable-backtrace to the --help documentation in main/main.cpp?

I've changed the --disable-backtrace to --disable-crash-handler and moved the crash handler code to its own .cpp/.h on each platform.

Just some small clang-format errors now, and it seems that the iPhone platform won't build now. Maybe check to see if similar issues now exist for html5?

Rebased and fixed that iPhone platform compile error, should be good on html5 as well.


Hide button does not disable headgaze!

Hello!
When hiding button:
myButton.isHidden = true
HeadGaze still recognizes touch.
How to overcome this?

Solved with constraints! The problem was in the button frame size!

Setting isHidden to true does not stop the sensor from tracking your head motion which is not power efficient. The GIF demo shows that it is possible to disable the head tracking, hence all the UI widgets fall back to the conventional. It is achieved by temporarily removing the member variable virtualCursorView from the superview of type UIHeadGazeViewController. Example code can be found in the code block here


Question about FFN in KBNet

Hi! Thanks for your great work! I'm very curious about the implementation of SimpleGate and Transposed Attention in KBNet. Can you give more details about it?

Thanks for your question! We will release the evaluation code very soon.


Print message when there's no synonyms

Briefing
The current implementation does not care if there is any synonyms, it just print what it founds. But for the end user, would be nice to print a message when there is no synonyms. For example, try: sinonimos akjgleahgabg
Tasks

[ ] Implement a verification if there's any synonyms

Print: "Desculpa, mas não encontramos nenhum sinônimo"
os.Exit(1)

Me, me, me!

All yours, @ulziibuyan


acme-selfsigned-ca.service fails

Describe the bug
The sytemd service acme-selfsigned-ca.service created by services.nginx.virtualHosts.<name>.enableACME failes even though certificates for the configured virtual hosts are correctly retrieved from Lets encrypt.
I have been trying to figure out what is causing the problem but the logs are not very helpful:
root@porree:~/ > systemctl status acme-selfsigned-ca.service
× acme-selfsigned-ca.service - Generate self-signed certificate authority
     Loaded: loaded (/etc/systemd/system/acme-selfsigned-ca.service; linked; vendor preset: enabled)
     Active: failed (Result: start-limit-hit) since Wed 2021-11-24 15:16:21 CET; 20h ago
  Condition: start condition failed at Thu 2021-11-25 06:26:19 CET; 5h 0min ago
             └─ ConditionPathExists=!/var/lib/acme/.minica/key.pem was not met
    Process: 28079 ExecStart=/nix/store/dfr0wc8dpnds6zlrvgn5j98aj6rafd6a-unit-script-acme-selfsigned-ca-start/bin/acme-selfsigned-ca-start (code=exited, status=0/SUCCESS)
   Main PID: 28079 (code=exited, status=0/SUCCESS)
         IP: 0B in, 0B out
        CPU: 238ms

Nov 24 15:18:58 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 24 15:19:07 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 24 15:19:07 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 24 15:19:07 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 24 15:19:14 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 24 15:22:28 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 25 00:13:17 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.

journalctl -eu acme-selfsigned-ca.service
Nov 24 15:18:58 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 24 15:18:58 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 24 15:18:58 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 24 15:18:58 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 24 15:19:07 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 24 15:19:07 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 24 15:19:07 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 24 15:19:14 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 24 15:22:28 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 25 00:13:17 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 25 00:35:37 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 25 03:03:28 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.
Nov 25 06:26:19 porree systemd[1]: Condition check resulted in Generate self-signed certificate authority being skipped.

Let me know what additional information I can provide to find the cause of this.
Steps To Reproduce
Steps to reproduce the behavior:

Enable a nginx virtual host with services.nginx.virtualHosts.<name>.enableACME = true

Expected behavior
Service not failing
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers
@aanderse       @andrew-d       @arianvp      @emily      @flokli      @m1cr0man
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.79, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4`
 - channels(pinpox): `"home-manager"`
 - nixpkgs: `/nix/store/wkavyf1xaqkpw8f74wig2h18f3mlr862-source````

Maintainer information:
```yaml
# a list of nixpkgs attributes affected by the problem
attribute:
  - acme
# a list of nixos modules affected by the problem
module:
  - acme
  - nginx

I think the issue is └─ ConditionPathExists=!/var/lib/acme/.minica/key.pem was not met. This file clearly exists on my system but systemd does not pick it up.

Could it be BindPaths=/var/lib/acme/.minica:/tmp/ca or the fact that the directory is not world-readable?

That's my workaround: https://github.com/Mic92/nixpkgs/commit/b787367bb5f195ef1db5235e29c0e38cb1527df9

No, that's not it. The conditionPathExists would only block it from running and produces this status:
○ acme-selfsigned-ca.service - Generate self-signed certificate authority
     Loaded: loaded (/etc/systemd/system/acme-selfsigned-ca.service; linked;>
     Active: inactive (dead)
  Condition: start condition failed at Wed 2021-11-24 20:40:30 GMT; 14h ago
             └─ ConditionPathExists=!/var/lib/acme/.minica/key.pem was not met

The real question here is why it's in condition start-limit-hit. I just created a loop on my own system to restart it 100 times in a loop and it dis not happen, as expected. I'm on systemd 249.4 (slightly behind?) and I would hedge a guess this is an upstream issue at the moment. That or you have a globally configured start limit? I'm still skeptical start limit takes precedence over start condition failed
As a test can you try this (typing on mobile please autocorrect typos 😉 )
systemctl reset-failed acme-selfsigned-ca
for i in {1..50}; do systemctl start acme-selfsigned-ca; done
systemctl status acme-selfsigned-ca

Another possibility is were not seeing an error further up in the service logs. It's possible on your first run the script actually failed, and with many certs it would be attempted many times. Can you take a quick scan further back up the logs see if there's anything obvious?

As a test can you try this (typing on mobile please autocorrect typos  )

Sure:
root@porree:~/ > systemctl list-units --state failed
  UNIT                       LOAD   ACTIVE SUB    DESCRIPTION
● acme-selfsigned-ca.service loaded failed failed Generate self-signed certificate authority

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
1 loaded units listed.
root@porree:~/ > systemctl reset-failed acme-selfsigned-ca

root@porree:~/ > systemctl list-units --state failed
  UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.
root@porree:~/ > for i in {1..50}; do systemctl start acme-selfsigned-ca; done

Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
Job for acme-selfsigned-ca.service failed.
See "systemctl status acme-selfsigned-ca.service" and "journalctl -xeu acme-selfsigned-ca.service" for details.
root@porree:~/ > systemctl status acme-selfsigned-ca

× acme-selfsigned-ca.service - Generate self-signed certificate authority
     Loaded: loaded (/etc/systemd/system/acme-selfsigned-ca.service; linked; vendor preset: enabled)
     Active: failed (Result: start-limit-hit) since Wed 2021-11-24 15:16:21 CET; 21h ago
  Condition: start condition failed at Thu 2021-11-25 12:34:51 CET; 14s ago
             └─ ConditionPathExists=!/var/lib/acme/.minica/key.pem was not met
    Process: 28079 ExecStart=/nix/store/dfr0wc8dpnds6zlrvgn5j98aj6rafd6a-unit-script-acme-selfsigned-ca-start/bin/acme-selfsigned-ca-start (code=exited, status=0/SUCCESS)
   Main PID: 28079 (code=exited, status=0/SUCCESS)
         IP: 0B in, 0B out
        CPU: 238ms

Nov 25 12:34:52 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 25 12:34:52 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 25 12:34:52 porree systemd[1]: Failed to start Generate self-signed certificate authority.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Start request repeated too quickly.
Nov 25 12:34:52 porree systemd[1]: acme-selfsigned-ca.service: Failed with result 'start-limit-hit'.
Nov 25 12:34:52 porree systemd[1]: Failed to start Generate self-signed certificate authority.

The start seems to fail on all tries.

Can you take a quick scan further back up the logs see if there's anything obvious?

This is the full log as shown by journalctl -u acme-selfsigned-ca.service
https://gist.github.com/pinpox/d79ab04cd0448596973533d6c6dcede8

Thanks for running that test + the logs. It's super weird, it does indeed look like start-limit-hit is being triggered despite systemd clearly skipping based on the condition. I'm going to update my system later and try this myself. What is your nixos-version?

What is your nixos-version?

root@porree:~/ > nixos-version
21.11.20211117.715f634 (Porcupine)

Thanks for looking into it. Let me know if you need any additional info!

I'm also running into this on 263ef4cc4146c9f. Logs look similar to the ones posted.

I tried making a modified version of the ACME test suite whilst on 715f634 to try and provoke this issue. What I do notice is that on nixos-rebuild it does seem to get invoked 3 times in rapid succession, but I'm struggling to get it to fire 5+ times and thus I haven't reproduced this issue yet.
Mic92's workaround is fine but ConditionPathExists does + has worked fine for a very long time, and I haven't yet figured out why you would end up with a start limit error on the service. Will continue to look into it over the weekend, but posting here in hope someone has some bright ideas 😅

Wait..
What if we just set the StartLimitIntervalSec to zero and ignore this non-issue? This is a lighter solution than moving the logic to bash since it would avoid spinning up an interpreter + script just to no-op. Anyone got objections to this? Infact - hold your answers for a PR :)

Can confirm this works now. Thanks!