Dropped error in etcd/v2 lets multiple clients think they've acquired a lock.

There's some bad error checking around here: https://github.com/abronan/libkv/blob/5e4bb288a9a74320bb03f5c18d6bdbab0d8049de/store/etcd/v2/etcd.go#L528-L534
Where if the error is not of type etcd.Error then it is ignored completely. Then, another request to Set() the key is made with the PrevIndex value not set. This will just overwrite whatever value was at that key as long as it already exists. This results in two processes thinking they have acquired the lock at the same time. This only occurs under the condition that the first Set call fails due to some transient connection issue and the second call succeeds. We have seen this occur several times.
Why is there even a second call to Set() the key? Why not immediately go into a wait loop if the first Set() attempt results in etcd.ErrorCodeNodeExist?

Thank you for the report @jlhawn ,
etcdv2 backend was not the core of my focus with this fork as this was deprecated with the support of etcdv3 client. I would advise switching because etcdv3 includes a proper locking interface while this one was just a hack to circumvent the lack of a lock with etcdv2.
Returning to the core of the issue, I think we assumed that if the first call to Set returned an error, then it was unlikely that the second would succeed. But the scenario you describe is indeed possible so returning an error on the first call to Set if it fails and the error is different than etcd.Error makes sense. With a basic retry mechanism outside of the call to Lock, this would prevent the scenario you described.
This should be easy enough to fix, feel free to submit a patch or I'll do this if I have some free time.


WeedWhacker

Code Weed Whacker motor
Weed Whacker Wiki

@Chimkenwaffle if this feature was cut let's close this ticket

not being used.


Add gridftp plugin to release

WIP branch to get the gridftp plugin built with lstore-release.

Gonna commit this real fast so I can also start versioning lstore-release.


Expose queue timeout as a property

The user should be able to set the queue duration (currently 50ms)

Nevermind. I don't really want people tweaking this, 'cause adjusting the size of the window is a much betta' solution


[patch] improved Confex init, use latest alpine for docker

Changes Unknown when pulling 7292b6bcb0eaaf0ee0b8843a102c63f2a33974c1 on release into ** on master**.


Ability to sync with Stellar as well

I'm not sure if this is possible with Stellar, but it'd be nice to have some of these compatible with Stellar as well since not all classes have migrated to LMOD yet.

I actually haven't ever seen any classes use Stellar for grades. Is that even possible?
All of the classes I'm taking this term are LMOD-only. Last term, 5.111 posted the assignments themselves on Stellar, but put the grades on LMOD, which was kind of annoying and would probably be a huge pain to implement (especially since there was no consistency in how the psets were named on Stellar, so, IIRC, I would have “Problem Set 4” followed by “Problem set 5” followed by “Problem set #6” etc). In that situation, lmoddiff in its current iteration would still be somewhat useful because it'd still notify you that an assignment has been created on LMOD, it would just incorrectly tell you that the PDF for the assignment isn't there.
So yeah, I am currently unable to implement this, and am not sure if it's even possible/a good idea, but, if anyone has more information/wants to contribute code, I'm open to that.

Yup, there are still some classes that do this. 24.900 is one example of
it. Last semester 6.021 also had its grades on stellar. However, I'm not
sure if Stellar has a nice API like LMOD does, and it seems to me that MIT
is slowly trying to move everything onto LMOD, so going forward I agree
that a feature like this might become obsolete and perhaps not worth the
time implementing right now.
On Mon, Mar 13, 2017 at 1:20 PM, Aleksejs Popovs<EMAIL_ADDRESS>wrote:

I actually haven't ever seen any classes use Stellar for grades. Is that
even possible?
All of the classes I'm taking this term are LMOD-only. Last term, 5.111
posted the assignments themselves on Stellar, but put the grades on LMOD,
which was kind of annoying and would probably be a huge pain to implement
(especially since there was no consistency in how the psets were named on
Stellar, so, IIRC, I would have “Problem Set 4” followed by “Problem set 5”
followed by “Problem set #6” etc). In that situation, lmoddiff in its
current iteration would still be somewhat useful because it'd still notify
you that an assignment has been created on LMOD, it would just incorrectly
tell you that the PDF for the assignment isn't there.
So yeah, I am currently unable to implement this, and am not sure if it's
even possible/a good idea, but, if anyone has more information/wants to
contribute code, I'm open to that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/popoffka/lmoddiff/issues/1#issuecomment-286178841,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGgqfoDRPbY-o4EJNRn4voMmfSn3d3KYks5rlXr5gaJpZM4Mbinv
.


(WIP) New implementation, cleaner and composable

Missing things:

[ ] Examples for using all the different formatters
[ ] Hook up Travis and remove Codeship
[ ] Get a review about the existing formatters
[ ] Get a review about the suggested test format
[ ] Get a review about the DSL
[ ] Logo (obviously)

To be continued in https://github.com/xaviervia/washington/issues/29


feature: 'cosign verify' add flags --ca-roots and --ca-intermediates to allow multiple CA roots

Description
Problem
Currently you can call cosign verify --certificate-chain with a file that contains a single CA root certificate and possibly related intermediate certificates.  However, in a production environment with BYO CA (no Fulcio - as in [1], for example), due to the multiregion cloud redundancy, there may be multiple CAs that issue codesigning certificate, and it is necessary to be able to pass a certificate bundle file to cosign verify - otherwise the users of cosign verify would need to manually implement the "trial-and-error" loop calling cosign verify with different CA certificates passed as --certificate-chain values until the command succeeds!  Needless to say, this would not be a good user experience 😄
Proposed Solution
add a new --ca-roots and --ca-intermediates optional flags for cosign verify and the related commands (verify-attestation, verify-blob, verify-blob-attestation) which would allow to pass a CA Roots certificate bundle PEM file as well as one for the Intermediate Certificates..  The --ca-roots and --ca-intermediates would be mutually exclusive with the --certificate-chain parameter - should use one or the other but not both.
$ cosign verify --help
[...]
    --ca-roots='':
	path to a bundle file of CA Root certificates in PEM format which will be needed when building the certificate
	chains for the signing certificate. Conflicts with --certificate-chain.

    --ca-intermediates='':
	path to a bundle file of CA Intermediate certificates in PEM format which will be needed when building the certificate
	chains for the signing certificate. Conflicts with --certificate-chain.

    --certificate-chain='':
	path to a list of CA certificates in PEM format which will be needed when building the certificate chain for
	the signing certificate. Must start with the parent intermediate CA certificate of the signing certificate and
	end with the root certificate. Conflicts with --ca-roots and --ca-intermediates.

Miscellaneous
https://docs.sigstore.dev/system_config/custom_components/ indicates "a last resort" configuration option with the environment variable SIGSTORE_ROOT_FILE:

This specifies an out of band PEM-encoded X.509 certificate for a custom Fulcio root certificate.

However, this doesn't help to solve the stated problem - relying on the environment variable is inconvenient and fragile in a production deployment, and the documentation talks about the file containing a single certificate, not a certificate bundle with multiple CA roots.
References
[1] Scaling Up Supply Chain Security: Implementing Sigstore for Seamless Container Image Signing
Below is list of issues that are related to x509 and certificates:

https://github.com/sigstore/cosign/pull/2461#discussion_r1024644134
https://github.com/sigstore/cosign/issues/2472
https://github.com/sigstore/cosign/issues/2511
https://github.com/sigstore/cosign/issues/2632
https://github.com/sigstore/cosign/issues/2635
https://github.com/sigstore/cosign/issues/2939

/cc @woodruffw

When looking further into the implementation, I realized there is likely a problem in terms of the possible intermediate certificates.  It is not clear how the intermediate certificates would be passed if there are intermediate certificates...  Currently with --certificate-chain the instructions say: "Must start with the parent intermediate CA certificate of the signing certificate and end with the root certificate", therefore it is clear what to put into Roots (the last certificate in the file) and what - into Intermediates (the other certificates, if any) for x509.VerifyOptions.
Now if we make an alternative --ca-roots flag, it is not clear whether it would be only for the Roots, or whether one could also add intermediate certificates into the bundle - but in this case, how should they be separated?
I think this can be solved in the following way:

clarify that the PEM bundle should consist only of the CA roots with no intermediates.
for the case with multiple CA roots with intermediate certificates, add the --ca-intermediates flag which would populate verifyOptions.Intermediates.

To recap, the coverage of different cases by the flags would be:

One CA root, potentially with one or multiple corresponding intermediate certs - use --certificate-chain as currently
Multiple CA roots, no intermediates  - use the new --ca-roots flag
Multiple CA roots, some or all with intermediate certificates -  use the ca-roots and --ca-intermediates flags

I updated the issue Subject and the proposal above.

Thanks for the ping @dmitris!
I don't have too much to add from cosign's UX side, but one idea: rather than two new additional flags, maybe this is something that fits under a singular --trusted-root flag, which would then be given a JSON serialized form of the TrustedRoot that the Public Good Instance uses?
(This works out, since a TrustedRoot can contain one or more CertificateAuthority models, each of which then has a cert_chain member with arbitrarily many roots and intermediates.)
For context, this is the route we're going down with sigstore-python: https://github.com/sigstore/sigstore-python/issues/821 and https://github.com/sigstore/sigstore-python/issues/779. Once we support --trusted-root, we'll likely remove all of the other individual flags that are covered by it.

Thanks for the comment @woodruffw!
I can see the advantages of the "full cover" single --trusted-root flag (for example, it can include the TSA certificate as well) - but besides having to implement it, we would need to start producing and distributing the certificates in the JSON "TrustedRoot" format to all the (internal) users.  I'm go investigate how much effort and time it would take.
The full migration to --trusted-root and removal of --certificate-chain (some other flags as well?) would require the v3.0.0, right?  Maybe we can do the following:

implement --trusted-root and announce that  is going to be the way going forward
implement --ca-roots as a short-term / transitionary solution
mark both the new --ca-roots as well as the existing --certificate-chain as DEPRECATED, steer users toward the --trusted-root
with the 3.x release, remove all the parameters except --trusted-root.

Letting intermediates act as roots, definitely isn't what I expected!
Here's a test where I try to cover the existing 'offline' uses and where I'm surprised that I can leave the root out and it still works.  https://github.com/sigstore/cosign/commit/75485e85a494014a70f0dc5a1124c8cd9aec0817#diff-29007b577f66b9fca944d7d87e89d87a1027754f251a7e41feac1e61809b6cc4R663
To some extent I think just fixing up the command line options like you're doing would solve this?
I don't have an opinion on if it would be good/bad to differ fromm what openssl does.


Return child from mount and unmount for convenient method chaining.

Return child from mount and unmount so you can do things like this:
const container = mount(document.body, el('div'));

Good idea! 😎👍

Released, thank you @trautonen for contribution!


A10X, iPadOS15.7, Linux, stuck at Pwning device

Device is iPad Pro 10.5" 2017, on iPadOS 15.7
What i did is:
0. Got dumped blob from previous execution of sudo ./palera1n.sh --dfu 15.7 --debug

sudo ./sshrd.sh 15.7 TrollStore Tips (Stuck at "Getting Device Info... This may take a second" always, and succeeded to continue execution after lots of trials. Just like this issue.)
sudo ./sshrd.sh boot (seems ok, as Tips app is not opening now)
sudo ./palera1n.sh clean
sudo ./palera1n.sh --dfu 15.7 --debug (stuck somewhere)

This is kind of a random issue, randomly successfully continues, but mostly it's just stuck at somewhere.
For example, this time it's stuck at "[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227":

[root@relafnic palera1n]# sudo ./palera1n.sh --dfu 15.7 --debug
palera1n | Version 1.0.0
Written by Nebula | Some code and ramdisk from Nathan | Patching commands and help from Mineek | Loader app by Amy
[] Getting device info...
[] Pwning device
usb_timeout: 5
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: RESET
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SPRAY
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SETUP
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: PATCH
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227

And then the device will boot into system normally, and I need to Ctrl + C to terminate it manually.
Or, it will be stuck at some other stage for a while and then stuck after PATCH stage returns true.
Saw similar issue here: https://github.com/0x7ff/gaster/issues/1
I don't know if it helps :>

Make sure to go into dfu from recovery, not normal mode

Hi Nebula! Now I go into DFU mode from Recovery, and then it gets stuck at here too:

[root@relafnic palera1n]# sudo ./palera1n.sh --dfu 15.7 --debug
palera1n | Version 1.0.0
Written by Nebula | Some code and ramdisk from Nathan | Patching commands and help from Mineek | Loader app by Amy
[] Getting device info...
[] Pwning device
usb_timeout: 5
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: RESET
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SPRAY
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SETUP
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: PATCH
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227

Have you tried replugging there? Unplug your device and plug it back in.

Now firstly I manually enter recovery mode, and then dfu mode, and then execute commands:

[root@relafnic palera1n]# sudo ./palera1n.sh --dfu 15.7 --debug
palera1n | Version 1.0.0
Written by Nebula | Some code and ramdisk from Nathan | Patching commands and help from Mineek | Loader app by Amy
[] Getting device info...
[] Pwning device
usb_timeout: 5
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: RESET
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SPRAY
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: SETUP
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8011 CPRV:10 CPFM:03 SCEP:01 BDID:04 ECID:000D0D402006603A IBFL:3C SRTG:[iBoot-3<IP_ADDRESS>.3]
Found the USB handle.
Stage: PATCH
ret: true
[libusb] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
^C
[root@relafnic palera1n]# sudo ./palera1n.sh --dfu 15.7 --debug
palera1n | Version 1.0.0
Written by Nebula | Some code and ramdisk from Nathan | Patching commands and help from Mineek | Loader app by Amy
[] Getting device info...
[] Booting device
[==================================================] 100.0%
ERROR: Unable to connect to device
[root@relafnic palera1n]#

Then moment the device booted into iPadOS, terminal said "ERROR: Unable to connect to device" :<

What linux distro is this?

What linux distro is this?

Arch linux

Hey, what device is this? Is this A11 or an iPad? If so, you’ll have to go into recovery first, then DFU. I recommend having palera1n guide you through it

Hey, what device is this? Is this A11 or an iPad? If so, you’ll have to go into recovery first, then DFU. I recommend having palera1n guide you through it

Hey it's a10x ipad pro10.5, the same device as the original post. Yes now I've been always go to rec first and then dfu. Still no luck.

IPhone 7+, ios 15.4.1.
[] Cleaning up work directory
[] Booting ramdisk
[*] Getting device info... this may take a second
[========================================] 100.0%
[========================================] 100.0%
ERROR: Unable to connect to device
[-] An error occured

What linux distro is this?

Hey! I tested on a MacBook Air, with Big Sur 11.7, where the pwning device issue has gone. But still got "ERROR: Unable to connect to device" when booting the device, and the device just boots into normal system itself. Here's the log: loooog.txt

My iPad got exactly same problems. Have you found the way to solve it?

What linux distro is this?

Hey! I tested on a MacBook Air, with Big Sur 11.7, where the pwning device issue has gone. But still got "ERROR: Unable to connect to device" when booting the device, and the device just boots into normal system itself. Here's the log: loooog.txt

My iPad got exactly same problems. Have you found the way to solve it?

Nah.
I have an iPad 6 (2018) on 15.7.
Should I try this?


docs: bootstrap code clarification

Some might think that the code is supposed to go in a lazy.nvim file, so I added an example for what the bootstrap code should go in.

Thank you for the suggestion. I made some clarifications to the readme about this.


MicaForEveryone not opening at all

[no] This is not about other apps being displayed weird or etc.
[no] This is not about rendering issues that caused by a bug in the Windows.
[yes] I've read FAQ.
[yes] I've checked other issues and this is not a duplicate.
Describe the bug
A clear and concise description of what the bug is.
The app will not open, I checked Event Viewer and it's showing errors pertaining to MicaForEveryone
To Reproduce
Steps to reproduce the behavior:

Opening the app

Expected behavior
The app to open and function properly
Screenshots
If applicable, add screenshots to help explain your problem.
Event Viewer log saying "Application Error"

Event Viewer log saying ".NET Runtime"

Windows Version
Windows 11 Built 22621.1992
Additional context
Add any other context about the problem here.

My guess is due to some WinRT registration-free manifest error. Which version did you use (ZIP, EXE installer, MSIX)?

I used the .exe file

Right. I've seen some other person in another issue about the Inno Setup installer not working.

Could I fix this by using another version e.g. ZIP, MSIX?

Some people say it could. IMO MSIX is the most reliable option.

Alright I will try it

Have you installed Visual C++ Runtime v141?

I have the same issue and it started happening a few days ago.
Current status: KERNELBASE.dll related error in the application event log (same as op)
Exe (<IP_ADDRESS>): no change.
Zip (<IP_ADDRESS>) to a different location: no change.
Reinstalled VC++ Runtime: no change
Uninstalled last windows update kb since dates more or less match (2023-07 Cumulative update preview for windows 11 version 22h2 for x64-based systems (kb5028254)): no change
Tried installing MSIX, well... i'm certainly doing something wrong.
PS > Add-AppxPackage .\MicaForEveryone-x64-Release.msix
Add-AppxPackage : Deployment failed with HRESULT: 0x800B0109, A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
error 0x800B0109: The root certificate of the signature in the app package or bundle must be trusted.
NOTE: For additional information, look for [ActivityId] bd86f62d-c226-000b-b9e0-89bd26c2d901 in the Event Log or use the command line
Get-AppPackageLog -ActivityID bd86f62d-c226-000b-b9e0-89bd26c2d901
At line:1 char:1
+ Add-AppxPackage .\MicaForEveryone-x64-Release.msix
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (...\Mi...64-Release.msix:String) [Add-AppxPackage], Exception
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

I'm stuck here as much as you are...

@zethriller as for MSIX, you need to follow this guide: https://github.com/MicaForEveryone/MicaForEveryone/wiki/Installation#msix-file

Thanks, i just did that but i have the same error with the msix.
I don't see anything named Minusium in the certificate chain, just MicaForEveryone.

Oh. Install the MicaForEveryone certificate then.

I did but still refuses to open.
The only way to install it is to use Add-AppxPackage -AllowUnsigned command in powershell, then it runs fine.
For anyone reading this, this is for testing purpose only, not something you should do.

Installing custom certificate is not something you should do either, but well there's nothing else we can do.


Several corrections

isJumping: property -> method;
isInCover: property -> method; (the method is broken and the client throws an error when called)
isAiming: undefined -> removed;
isEnteringVehicle: undefined -> removed;
isLeavingVehicle: undefined -> removed;
notifyStreaming: available only at client-side

Thank you for your contribution!
NOTE: isInCover is fine. It was just missing a param.


Julia 1.0.0 on MacOS 10.13 using QuantEcon error

julia> using QuantEcon
[ Info: Precompiling QuantEcon [fcd29c91-0bd7-5a09-975d-7ac3f643a60c]
WARNING: could not import Base.mean into QuantEcon
WARNING: could not import Base.std into QuantEcon
WARNING: could not import Base.var into QuantEcon
ERROR: LoadError: LoadError: LoadError: UndefVarError: @doc_str not defined
Stacktrace:
 [1] top-level scope
 [2] include at ./boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at /Users/zhaoshiyu/.julia/packages/QuantEcon/tkpvN/src/QuantEcon.jl:3
 [6] top-level scope at none:0
 [7] include at ./boot.jl:317 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1038
 [9] include(::Module, ::String) at ./sysimg.jl:29
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:319 [inlined]
 [12] eval(::Expr) at ./client.jl:389
 [13] top-level scope at ./none:3
in expression starting at /Users/zhaoshiyu/.julia/packages/QuantEcon/tkpvN/src/util.jl:123
in expression starting at /Users/zhaoshiyu/.julia/packages/QuantEcon/tkpvN/src/util.jl:123
in expression starting at /Users/zhaoshiyu/.julia/packages/QuantEcon/tkpvN/src/QuantEcon.jl:156
ERROR: Failed to precompile QuantEcon [fcd29c91-0bd7-5a09-975d-7ac3f643a60c] to /Users/zhaoshiyu/.julia/compiled/v1.0/QuantEcon/V0Mv9.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184
 [4] macro expansion at ./logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at ./loading.jl:941
 [6] require(::Base.PkgId) at ./loading.jl:852
 [7] macro expansion at ./logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at ./loading.jl:834

It hasn't been registered yet (see https://github.com/JuliaLang/METADATA.jl/pull/17534).
You can use the master branch for now.
]add QuantEcon#master

Thanks for reporting, we have a new Julia 1.0 compatible release waiting to be published in metadata
Should be resolved very soon.
See https://github.com/JuliaLang/METADATA.jl/pull/17534#event-1820918436 for status

@Nosferican @sglyon Thanks!


Heartbeat timeout failure for async waiting activity

When I use an async activity to wait for manual input, it returned a heartbeat failure after long enough time, which is not expected. I think temporal server should either auto generate heartbeat or just check the activity status if it's in activity.ErrResultPending status then never timeout heartbeat.
Since async activity is not really running, we can't implement any heartbeat for it. Although I can just fully disable heartbeat check, but it's useful for other long running activity.

That sounds a solution, thanks. But usually the external input come from another service which usually don't have logic to update periodically when waiting for a user input.
Since temporal server already know the activity is waiting for async completion (based on the ErrResultPending return), it's not hard to handle this case specially. I think the purpose of heartbeat is really to detect worker deadlock or hanging problem rather than this case, while async completion is designed for long time waiting should handle the heartbeat problem.

It is by intention that starting an activity with a heartbeat timeout must have heartbeats with that timeout occur until it is completed/failed. The purpose of the heartbeat is to ensure the activity execution hasn't gone away, potentially store state to be used by retried activities, and to check whether the activity was cancelled.
Your use case sounds like it may work better with a signal response or child workflow which don't require heartbeats.

Closing as this is the intended behavior


[General]: Registry app regularly crashes with 'oh, this is bad'

This happens frequently during various tasks:

modifying template fields
deleting template fields
adding records

Sometimes the task has failed, sometimes it has actually been performed ok.
Running on Windows in Chrome

related to #46


test: === RUN   TestWatchCancelRunning

=== RUN   TestWatchCancelRunning
2016-06-02 05:01:14.664107 I | integration: launching node3421125399296241962 (unix://localhost:node3421125399296241962.sock)
2016-06-02 05:01:14.664790 I | integration: launching node7419267789755234383 (unix://localhost:node7419267789755234383.sock)
2016-06-02 05:01:14.665615 I | integration: launching node1829180572306803275 (unix://localhost:node1829180572306803275.sock)
2016-06-02 05:01:14.684924 I | etcdserver: name = node3421125399296241962
2016-06-02 05:01:14.684978 I | etcdserver: data dir = /tmp/etcd384540070
2016-06-02 05:01:14.685020 I | etcdserver: member dir = /tmp/etcd384540070/member
2016-06-02 05:01:14.685052 I | etcdserver: heartbeat = 10ms
2016-06-02 05:01:14.685078 I | etcdserver: election = 100ms
2016-06-02 05:01:14.685103 I | etcdserver: snapshot count = 0
2016-06-02 05:01:14.685138 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:21398
2016-06-02 05:01:14.685169 I | etcdserver: initial advertise peer URLs = http://<IP_ADDRESS>:21397
2016-06-02 05:01:14.685226 I | etcdserver: initial cluster = node1829180572306803275=http://<IP_ADDRESS>:21401,node3421125399296241962=http://<IP_ADDRESS>:21397,node7419267789755234383=http://<IP_ADDRESS>:21399
2016-06-02 05:01:14.685705 I | etcdserver: name = node7419267789755234383
2016-06-02 05:01:14.685753 I | etcdserver: data dir = /tmp/etcd101299917
2016-06-02 05:01:14.685793 I | etcdserver: member dir = /tmp/etcd101299917/member
2016-06-02 05:01:14.685822 I | etcdserver: heartbeat = 10ms
2016-06-02 05:01:14.685848 I | etcdserver: election = 100ms
2016-06-02 05:01:14.685873 I | etcdserver: snapshot count = 0
2016-06-02 05:01:14.685906 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:21400
2016-06-02 05:01:14.685939 I | etcdserver: initial advertise peer URLs = http://<IP_ADDRESS>:21399
2016-06-02 05:01:14.685994 I | etcdserver: initial cluster = node1829180572306803275=http://<IP_ADDRESS>:21401,node3421125399296241962=http://<IP_ADDRESS>:21397,node7419267789755234383=http://<IP_ADDRESS>:21399
2016-06-02 05:01:14.687166 I | etcdserver: name = node1829180572306803275
2016-06-02 05:01:14.687247 I | etcdserver: data dir = /tmp/etcd180210120
2016-06-02 05:01:14.687308 I | etcdserver: member dir = /tmp/etcd180210120/member
2016-06-02 05:01:14.687357 I | etcdserver: heartbeat = 10ms
2016-06-02 05:01:14.687404 I | etcdserver: election = 100ms
2016-06-02 05:01:14.687446 I | etcdserver: snapshot count = 0
2016-06-02 05:01:14.687505 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:21402
2016-06-02 05:01:14.687565 I | etcdserver: initial advertise peer URLs = http://<IP_ADDRESS>:21401
2016-06-02 05:01:14.687662 I | etcdserver: initial cluster = node1829180572306803275=http://<IP_ADDRESS>:21401,node3421125399296241962=http://<IP_ADDRESS>:21397,node7419267789755234383=http://<IP_ADDRESS>:21399
2016-06-02 05:01:14.706305 I | etcdserver: starting member ba04f747a29d99e0 in cluster b797a30b04501f03
2016-06-02 05:01:14.706554 I | raft: ba04f747a29d99e0 became follower at term 0
2016-06-02 05:01:14.706644 I | raft: newRaft ba04f747a29d99e0 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-06-02 05:01:14.706699 I | raft: ba04f747a29d99e0 became follower at term 1
2016-06-02 05:01:14.707941 I | etcdserver: starting member d4f4faaba288b790 in cluster b797a30b04501f03
2016-06-02 05:01:14.708173 I | raft: d4f4faaba288b790 became follower at term 0
2016-06-02 05:01:14.708242 I | raft: newRaft d4f4faaba288b790 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-06-02 05:01:14.708285 I | raft: d4f4faaba288b790 became follower at term 1
2016-06-02 05:01:14.708539 I | rafthttp: starting peer 36b7d9d75d3a1f98...
2016-06-02 05:01:14.708822 I | rafthttp: started HTTP pipelining with peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.713803 I | etcdserver: starting member 36b7d9d75d3a1f98 in cluster b797a30b04501f03
2016-06-02 05:01:14.713988 I | raft: 36b7d9d75d3a1f98 became follower at term 0
2016-06-02 05:01:14.714065 I | raft: newRaft 36b7d9d75d3a1f98 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-06-02 05:01:14.714110 I | raft: 36b7d9d75d3a1f98 became follower at term 1
2016-06-02 05:01:14.717998 I | rafthttp: starting peer 36b7d9d75d3a1f98...
2016-06-02 05:01:14.718982 I | rafthttp: started HTTP pipelining with peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.720402 I | rafthttp: started peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.720705 I | rafthttp: added peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.720820 I | rafthttp: starting peer d4f4faaba288b790...
2016-06-02 05:01:14.721170 I | rafthttp: started HTTP pipelining with peer d4f4faaba288b790
2016-06-02 05:01:14.725072 I | rafthttp: started peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.725303 I | rafthttp: added peer 36b7d9d75d3a1f98
2016-06-02 05:01:14.725375 I | rafthttp: starting peer ba04f747a29d99e0...
2016-06-02 05:01:14.725636 I | rafthttp: started HTTP pipelining with peer ba04f747a29d99e0
2016-06-02 05:01:14.726413 I | rafthttp: started streaming with peer d4f4faaba288b790 (writer)
2016-06-02 05:01:14.731732 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (stream Message reader)
2016-06-02 05:01:14.739775 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (writer)
2016-06-02 05:01:14.739854 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (writer)
2016-06-02 05:01:14.739947 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (stream MsgApp v2 reader)
2016-06-02 05:01:14.740227 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (stream Message reader)
2016-06-02 05:01:14.740375 I | rafthttp: started peer d4f4faaba288b790
2016-06-02 05:01:14.740529 I | rafthttp: added peer d4f4faaba288b790
2016-06-02 05:01:14.740575 I | etcdserver: set snapshot count to default 10000
2016-06-02 05:01:14.740619 I | etcdserver: starting server... [version: 3.0.0-beta.0+git, cluster version: to_be_decided]
2016-06-02 05:01:14.740652 I | rafthttp: started streaming with peer d4f4faaba288b790 (writer)
2016-06-02 05:01:14.740708 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (writer)
2016-06-02 05:01:14.740774 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (writer)
2016-06-02 05:01:14.743988 I | rafthttp: started peer ba04f747a29d99e0
2016-06-02 05:01:14.744148 I | rafthttp: added peer ba04f747a29d99e0
2016-06-02 05:01:14.744186 I | etcdserver: set snapshot count to default 10000
2016-06-02 05:01:14.744217 I | etcdserver: starting server... [version: 3.0.0-beta.0+git, cluster version: to_be_decided]
2016-06-02 05:01:14.745139 I | rafthttp: started streaming with peer ba04f747a29d99e0 (writer)
2016-06-02 05:01:14.745224 I | rafthttp: started streaming with peer ba04f747a29d99e0 (stream MsgApp v2 reader)
2016-06-02 05:01:14.745410 I | rafthttp: started streaming with peer ba04f747a29d99e0 (stream Message reader)
2016-06-02 05:01:14.747610 I | membership: added member 36b7d9d75d3a1f98 [http://<IP_ADDRESS>:21401] to cluster b797a30b04501f03
2016-06-02 05:01:14.747969 I | membership: added member ba04f747a29d99e0 [http://<IP_ADDRESS>:21397] to cluster b797a30b04501f03
2016-06-02 05:01:14.748483 I | membership: added member d4f4faaba288b790 [http://<IP_ADDRESS>:21399] to cluster b797a30b04501f03
2016-06-02 05:01:14.750601 I | rafthttp: starting peer ba04f747a29d99e0...
2016-06-02 05:01:14.750914 I | rafthttp: started HTTP pipelining with peer ba04f747a29d99e0
2016-06-02 05:01:14.756111 I | rafthttp: started peer ba04f747a29d99e0
2016-06-02 05:01:14.756318 I | rafthttp: added peer ba04f747a29d99e0
2016-06-02 05:01:14.756379 I | rafthttp: starting peer d4f4faaba288b790...
2016-06-02 05:01:14.756566 I | rafthttp: started streaming with peer d4f4faaba288b790 (stream Message reader)
2016-06-02 05:01:14.756659 I | rafthttp: started HTTP pipelining with peer d4f4faaba288b790
2016-06-02 05:01:14.759892 I | rafthttp: peer d4f4faaba288b790 became active
2016-06-02 05:01:14.759963 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream Message writer)
2016-06-02 05:01:14.760382 I | rafthttp: started peer d4f4faaba288b790
2016-06-02 05:01:14.760584 I | rafthttp: added peer d4f4faaba288b790
2016-06-02 05:01:14.760631 I | etcdserver: set snapshot count to default 10000
2016-06-02 05:01:14.760670 I | etcdserver: starting server... [version: 3.0.0-beta.0+git, cluster version: to_be_decided]
2016-06-02 05:01:14.760809 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream MsgApp v2 writer)
2016-06-02 05:01:14.761566 I | rafthttp: started streaming with peer 36b7d9d75d3a1f98 (stream MsgApp v2 reader)
2016-06-02 05:01:14.762108 I | rafthttp: started streaming with peer d4f4faaba288b790 (stream MsgApp v2 reader)
2016-06-02 05:01:14.762365 I | membership: added member 36b7d9d75d3a1f98 [http://<IP_ADDRESS>:21401] to cluster b797a30b04501f03
2016-06-02 05:01:14.762596 I | rafthttp: started streaming with peer ba04f747a29d99e0 (writer)
2016-06-02 05:01:14.762679 I | rafthttp: started streaming with peer ba04f747a29d99e0 (writer)
2016-06-02 05:01:14.762790 I | rafthttp: started streaming with peer ba04f747a29d99e0 (stream MsgApp v2 reader)
2016-06-02 05:01:14.763071 I | rafthttp: started streaming with peer ba04f747a29d99e0 (stream Message reader)
2016-06-02 05:01:14.763408 I | rafthttp: started streaming with peer d4f4faaba288b790 (writer)
2016-06-02 05:01:14.763483 I | rafthttp: started streaming with peer d4f4faaba288b790 (writer)
2016-06-02 05:01:14.763538 I | membership: added member ba04f747a29d99e0 [http://<IP_ADDRESS>:21397] to cluster b797a30b04501f03
2016-06-02 05:01:14.763584 I | rafthttp: started streaming with peer d4f4faaba288b790 (stream MsgApp v2 reader)
2016-06-02 05:01:14.763930 I | rafthttp: started streaming with peer d4f4faaba288b790 (stream Message reader)
2016-06-02 05:01:14.764932 I | membership: added member d4f4faaba288b790 [http://<IP_ADDRESS>:21399] to cluster b797a30b04501f03
2016-06-02 05:01:14.765539 I | rafthttp: started streaming with peer ba04f747a29d99e0 (writer)
2016-06-02 05:01:14.765595 I | integration: launched node7419267789755234383 (unix://localhost:node7419267789755234383.sock)
2016-06-02 05:01:14.765673 I | integration: launched node3421125399296241962 (unix://localhost:node3421125399296241962.sock)
2016-06-02 05:01:14.767541 I | membership: added member 36b7d9d75d3a1f98 [http://<IP_ADDRESS>:21401] to cluster b797a30b04501f03
2016-06-02 05:01:14.767876 I | integration: launched node1829180572306803275 (unix://localhost:node1829180572306803275.sock)
2016-06-02 05:01:14.769506 I | rafthttp: peer ba04f747a29d99e0 became active
2016-06-02 05:01:14.769576 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream Message reader)
2016-06-02 05:01:14.770002 I | rafthttp: peer ba04f747a29d99e0 became active
2016-06-02 05:01:14.770074 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream MsgApp v2 writer)
2016-06-02 05:01:14.770143 I | rafthttp: peer d4f4faaba288b790 became active
2016-06-02 05:01:14.770203 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream Message writer)
2016-06-02 05:01:14.770806 I | raft: ba04f747a29d99e0 is starting a new election at term 1
2016-06-02 05:01:14.770893 I | raft: ba04f747a29d99e0 became candidate at term 2
2016-06-02 05:01:14.770943 I | raft: ba04f747a29d99e0 received vote from ba04f747a29d99e0 at term 2
2016-06-02 05:01:14.771002 I | raft: ba04f747a29d99e0 [logterm: 1, index: 3] sent vote request to 36b7d9d75d3a1f98 at term 2
2016-06-02 05:01:14.771066 I | raft: ba04f747a29d99e0 [logterm: 1, index: 3] sent vote request to d4f4faaba288b790 at term 2
2016-06-02 05:01:14.771725 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream MsgApp v2 writer)
2016-06-02 05:01:14.771787 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream Message writer)
2016-06-02 05:01:14.772570 I | rafthttp: peer 36b7d9d75d3a1f98 became active
2016-06-02 05:01:14.772619 I | membership: added member ba04f747a29d99e0 [http://<IP_ADDRESS>:21397] to cluster b797a30b04501f03
2016-06-02 05:01:14.772762 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream MsgApp v2 reader)
2016-06-02 05:01:14.772996 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream MsgApp v2 writer)
2016-06-02 05:01:14.774254 I | membership: added member d4f4faaba288b790 [http://<IP_ADDRESS>:21399] to cluster b797a30b04501f03
2016-06-02 05:01:14.775153 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream MsgApp v2 reader)
2016-06-02 05:01:14.775967 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream MsgApp v2 reader)
2016-06-02 05:01:14.776198 I | raft: 36b7d9d75d3a1f98 [term: 1] received a MsgVote message with higher term from ba04f747a29d99e0 [term: 2]
2016-06-02 05:01:14.776314 I | raft: 36b7d9d75d3a1f98 became follower at term 2
2016-06-02 05:01:14.776369 I | raft: 36b7d9d75d3a1f98 [logterm: 1, index: 3, vote: 0] voted for ba04f747a29d99e0 [logterm: 1, index: 3] at term 2
2016-06-02 05:01:14.777029 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream Message reader)
2016-06-02 05:01:14.777089 I | rafthttp: peer 36b7d9d75d3a1f98 became active
2016-06-02 05:01:14.777145 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream MsgApp v2 reader)
2016-06-02 05:01:14.777647 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream Message writer)
2016-06-02 05:01:14.777908 I | raft: d4f4faaba288b790 [term: 1] received a MsgVote message with higher term from ba04f747a29d99e0 [term: 2]
2016-06-02 05:01:14.777979 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream Message reader)
2016-06-02 05:01:14.778013 I | raft: d4f4faaba288b790 became follower at term 2
2016-06-02 05:01:14.778075 I | raft: d4f4faaba288b790 [logterm: 1, index: 3, vote: 0] voted for ba04f747a29d99e0 [logterm: 1, index: 3] at term 2
2016-06-02 05:01:14.778381 I | raft: ba04f747a29d99e0 received vote from 36b7d9d75d3a1f98 at term 2
2016-06-02 05:01:14.778428 I | raft: ba04f747a29d99e0 [quorum:2] has received 2 votes and 0 vote rejections
2016-06-02 05:01:14.778485 I | raft: ba04f747a29d99e0 became leader at term 2
2016-06-02 05:01:14.778528 I | raft: raft.node: ba04f747a29d99e0 elected leader ba04f747a29d99e0 at term 2
2016-06-02 05:01:14.779582 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream Message reader)
2016-06-02 05:01:14.795520 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream Message writer)
2016-06-02 05:01:14.800295 I | raft: raft.node: 36b7d9d75d3a1f98 elected leader ba04f747a29d99e0 at term 2
2016-06-02 05:01:14.800674 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream MsgApp v2 reader)
2016-06-02 05:01:14.800955 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream MsgApp v2 writer)
2016-06-02 05:01:14.801281 I | raft: raft.node: d4f4faaba288b790 elected leader ba04f747a29d99e0 at term 2
2016-06-02 05:01:14.801650 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream MsgApp v2 reader)
2016-06-02 05:01:14.802561 I | rafthttp: established a TCP streaming connection with peer 36b7d9d75d3a1f98 (stream Message writer)
2016-06-02 05:01:14.802623 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream MsgApp v2 writer)
2016-06-02 05:01:14.802764 I | rafthttp: established a TCP streaming connection with peer d4f4faaba288b790 (stream Message reader)
2016-06-02 05:01:14.803126 I | rafthttp: established a TCP streaming connection with peer ba04f747a29d99e0 (stream Message reader)
2016-06-02 05:01:14.804987 I | etcdserver: published {Name:node1829180572306803275 ClientURLs:[http://<IP_ADDRESS>:21402]} to cluster b797a30b04501f03
2016-06-02 05:01:14.805516 I | etcdserver: published {Name:node3421125399296241962 ClientURLs:[http://<IP_ADDRESS>:21398]} to cluster b797a30b04501f03
2016-06-02 05:01:14.808099 I | etcdserver: published {Name:node7419267789755234383 ClientURLs:[http://<IP_ADDRESS>:21400]} to cluster b797a30b04501f03
2016-06-02 05:01:14.808645 I | etcdserver: setting up the initial cluster version to 3.0
2016-06-02 05:01:14.809840 N | membership: set the initial cluster version to 3.0
2016-06-02 05:01:14.809973 N | membership: set the initial cluster version to 3.0
2016-06-02 05:01:14.810915 N | membership: set the initial cluster version to 3.0
panic: watcher not victim but not in watch groups

goroutine 28429 [running]:
panic(0xf923c0, 0xc8221368b0)
	/usr/local/golang/1.6.2/go/src/runtime/panic.go:481 +0x3ff
github.com/coreos/etcd/mvcc.(*watchableStore).cancelWatcher(0xc825aed290, 0xc825ba45f0)
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/mvcc/watchable_store.go:235 +0x1db
github.com/coreos/etcd/mvcc.(*watchableStore).watch.func1()
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/mvcc/watchable_store.go:217 +0x37
github.com/coreos/etcd/mvcc.(*watchStream).Cancel(0xc822756780, 0x0, 0x0, 0x0)
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/mvcc/watcher.go:124 +0xdc
github.com/coreos/etcd/etcdserver/api/v3rpc.(*serverWatchStream).recvLoop(0xc8227eb960, 0x0, 0x0)
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/api/v3rpc/watch.go:190 +0x340
github.com/coreos/etcd/etcdserver/api/v3rpc.(*watchServer).Watch.func2(0xc825afb260, 0xc8227eb960)
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/api/v3rpc/watch.go:126 +0x2f
created by github.com/coreos/etcd/etcdserver/api/v3rpc.(*watchServer).Watch
	/home/runner/workspace/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/api/v3rpc/watch.go:126 +0x2fc
exit status 2

possible dup of https://github.com/coreos/etcd/issues/5529


Unable to supply nil value to name attribute

When using a faux model, I should be able to create an input element that does not have a name attribute.  In plain old Rails, I can do this via:
text_field_tag(:username, nil, :name => nil)
# <input id="username" type="text"/>

Unfortunately, this nil value seems to be getting overridden when trying to accomplish the same with Formtastic:
<%= f.input :username, :as => :string, :html_input => {:id => 'username', :name => nil} %>
# <input id="username" name="user[username]" type="text">

Am I missing something, or is there some options.merge happening somewhere that is overwriting (or not assigning) my value of nil?  (I also tried using false with no luck.)

text_field_tag is not comparable to anything in Formtastic. A better comparison is f.text_field, which is the form builder version, which means it's bound to the form object. Formtastic is a FormBuilder, thus bound to an object. Incidentally, you can still use both text_field_tag and f.text_field within the Formtastic DSL, but to answer your question...
If you really want no name attribute:

I think :html_input should be :input_html in your example, but if that's just a typo...
I thought your sample would have worked, but if it doesn't (sounds like we're merging options somewhere a little too aggressively)...
Perhaps a blank string would work (:name => ""), or else
Please send a patch :)

That was just a typo, sorry. ;)  I gave empty string a try, and that is good enough for my needs as a workaround, even though it still generates the name="" in the HTML.  Thanks!

Also, after digging into it. f.text_field has the same behavior as Formtastic in thus regards, so I guess it's not a Formtastic issue, sorry! :)

<3

Fixed in rails. :heart:


Crashes when using besides: mapbox_maps_flutter: ^1.0.0

When trying to use this library in addition to "mapbox_maps_flutter: ^1.0.0" the build would fail with a lot of "Execution failed for task ':app:checkDebugDuplicateClasses'"" errors as these 2 libraries share some basic classes of MapBox and the classes don't match.
If I'm reverting to the previous version of the official MapBox library: "mapbox_maps_flutter: ^0.5.1" everything is working fine.
I have to use these two side by side as each one of them is giving me some features that I need.

Can you provide more details of the error log and stack trace?

In version 1.0.0 of 'mapbox_maps_flutter' they updated some of their modules, and you are still using an older versions. Because both plugins share some of these libraries there are conflicts (because of the different versions being used in each one).
I'm getting a lot of 'Duplicate classes' errors:
Execution failed for task ':app:checkDebugDuplicateClasses'.

A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class com.mapbox.common.module.okhttp.CallbackWrapper found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.CallbackWrapper$RequestCallback found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.HttpCallback found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.IdGenerator found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.LazyClient found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService$1 found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService$HttpServiceGetLifecycleStateCallback found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService$HttpServiceLifecycleObserver found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService$HttpServiceOfflineSwitchObserver found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.MapboxOkHttpService$QueuedRequest found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.NetworkUsageListener found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.NetworkUsageListener$1 found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.NetworkUsageListener$DummyEventListener found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.common.module.okhttp.NetworkUsageListener$NetworkUsageMetricCallback found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)
Duplicate class com.mapbox.module.Mapbox_HttpClientModuleConfiguration found in modules jetified-common-24.2.0-runtime (com.mapbox.common:common:24.2.0) and jetified-okhttp-23.8.0-runtime (com.mapbox.common:okhttp:23.8.0)

I'm facing the same issue. Does anyone have a solution for it?
mapbox_maps_flutter: ^1.0.0
flutter_mapbox_navigation: ^0.2.2

Is there any update on this i am also facing same issue @YoavSl  have found any alternative solution please hep thanks.

Is there any update on this i am also facing same issue @YoavSl have you found any alternative solution? please help thanks.

Sorry, couldn't find any solution. Reverted to the previous working version (mapbox_maps_flutter 0.5.1).

Same issue :-(


Don't yield in an exception handler.

This is a flow-control exception rather than an error condition,
and when it appears in backtraces it can be confusing.

Compare the error from this yaml file:
# p.yaml
time_units: generations
demes:
- name: a
  epochs:
  - start_size: 1
- name: b
  epochs:
  - start_size: 1
pulses:
- {source: a, dest: b, time: 100, proportion: 0.1}

Before this commit:
$ demes parse p.yaml
Traceback (most recent call last):
  File "/home/grg/.local/lib/python3.9/site-packages/demes/load_dump.py", line 22, in _open_file_polymorph
    with open(polymorph, mode) as f:
TypeError: expected str, bytes or os.PathLike object, not TextIOWrapper

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/grg/.local/bin/demes", line 8, in <module>
    sys.exit(cli())
  File "/home/grg/.local/lib/python3.9/site-packages/demes/__main__.py", line 212, in cli
    args.func(args)
  File "/home/grg/.local/lib/python3.9/site-packages/demes/__main__.py", line 91, in __call__
    num_documents, graphs = self.load_and_count_documents(args.filename)
  File "/home/grg/.local/lib/python3.9/site-packages/demes/__main__.py", line 130, in load_and_count_documents
    for graph in graph_generator:
  File "/home/grg/.local/lib/python3.9/site-packages/demes/load_dump.py", line 235, in load_all
    yield demes.Graph.fromdict(data)
  File "/home/grg/.local/lib/python3.9/site-packages/demes/demes.py", line 2108, in fromdict
    check_allowed(pulse_data, allowed_fields_pulse, f"pulse[{i}]")
  File "/home/grg/.local/lib/python3.9/site-packages/demes/demes.py", line 138, in check_allowed
    raise KeyError(
KeyError: "pulse[0]: unexpected field: 'source'. Allowed fields are: ['sources', 'dest', 'time', 'proportions']"

To after:
$ python -m demes parse /tmp/p.yaml
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/grg/src/demes/demes-python/demes/__main__.py", line 216, in <module>
    cli()
  File "/home/grg/src/demes/demes-python/demes/__main__.py", line 212, in cli
    args.func(args)
  File "/home/grg/src/demes/demes-python/demes/__main__.py", line 91, in __call__
    num_documents, graphs = self.load_and_count_documents(args.filename)
  File "/home/grg/src/demes/demes-python/demes/__main__.py", line 130, in load_and_count_documents
    for graph in graph_generator:
  File "/home/grg/src/demes/demes-python/demes/load_dump.py", line 237, in load_all
    yield demes.Graph.fromdict(data)
  File "/home/grg/src/demes/demes-python/demes/demes.py", line 2108, in fromdict
    check_allowed(pulse_data, allowed_fields_pulse, f"pulse[{i}]")
  File "/home/grg/src/demes/demes-python/demes/demes.py", line 138, in check_allowed
    raise KeyError(
KeyError: "pulse[0]: unexpected field: 'source'. Allowed fields are: ['sources', 'dest', 'time', 'proportions']"

Thanks @jeromekelleher, I change the code following your suggestion and added some leak tests.


fix(db-postgres): hasMany select field value is associated with wrong version on publish

Description
fixes #5157

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] I have added tests that prove my fix is effective or that my feature works
[x] Existing test suite passes locally with my changes

Sorry I fixed the failed test case by d9c07ff and I confirmed that all tests are passed on my forked repository CI.

I'll close this PR because the problem has been resolved latest version.


KYLIN-4308 Make kylin.sh tips clearer and more explicit

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Codecov Report

Merging #1011 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master   #1011      +/-   ##
===========================================
+ Coverage      25.5%   25.5%   +<.01%
  Complexity     6177    6177
===========================================
  Files          1416    1416
  Lines         85967   85967
  Branches      12059   12059
===========================================
+ Hits          21927   21929       +2
+ Misses        61902   61900       -2
  Partials       2138    2138

Impacted Files
Coverage Δ
Complexity Δ

...he/kylin/job/impl/threadpool/DefaultScheduler.java
76.74% <0%> (+2.32%)
12% <0%> (ø)
:arrow_down:

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 bb839ff...0098cfd. Read the comment docs.


[0.20] Only return true in probe verifier if all partitions found

Signed-off-by: Ahmed Abdalla<EMAIL_ADDRESS>backporting #551 to our 0.20 branch

/lgtm

Saw a bad log line, I'll fix it quickly.
/hold

/unhold
/lgtm

/retest


plutus-tutorial: use callouts and admonitions

These can help where we are explaining several bits of a piece of code.
The alternative can require breaking it up painfully small, and
sometimes having to order things weirdly in order to get the text in a
logical order. Callouts don't have this problem.
Admonitions are nice for asides that would otherwise break up the flow
of the text.
I may have gone a bit overboard with both.

I'm going to batch this up with more stuff to reduce reviewing overhead.


Query function without N1QL

This connector do not have api for the query stuff yet, as designed it will not use N1QL, so something like  create view function?

the connector have view function for query data though view. so close


Fill and stroke refactoring

This PR refactors fill and stroke functionality, basically instead of writing this:
path.fill(FillStyle {
    coloring_style: ColoringStyle::Color(Color::from_rgb(0, 0, 0)),
    ..Default::default()
};

path.stroke(StrokeStyle {
    coloring_style: ColoringStyle::Color(Color::from_rgb(255, 255, 255)),
    width: 2.0,
    ..Default::default()
});

you write this:
path.fill(Style::Color(Color::from_rgb(0, 0, 0)), Default::default());

path.stroke(Style::Color(Color::from_rgb(255, 255, 255)), StrokeOptions {
    width: 2.0,
    ..Default::default()
});

ColoringStyle is renamed to Style.
StrokeStyle is renamed to StrokeOptions and coloring_style field is removed.
FillStyle is renamed to FillOptions and coloring_style field is removed.
Added Style parameter to fill function and stroke function, along with their option structs.
I think this simplifies the api a bit, but we can do more:
Implement builder pattern for StrokeOptions and FillOptions (probably redundant for FillOptions because it has only one option for now) - this way we would not have to deal with ..Default::default() and just write: StrokeOptions::new().width(2.0).
Maybe remove FillOptions altogether? It has only one option and it is not used in demo code at all (antialias option) - we could keep antialias flag only on Context.

I gave this more thought and changed it again, now the usage is as:
path.fill(Color::from_rgb(0, 0, 0), Default::default());

path.stroke(Color::from_rgb(255, 255, 255), StrokeOptions {
    width: 2.0,
    ..Default::default()
});

No need to specify ColoringStyle or Style enum that would contain paint struct or color.
Also gradients are now done as this:
path.fill(
    Gradient::Linear {
        start: (x, y),
        end: (w, h),
        start_color: Color::from_rgba(0, 0, 0, 32),
        end_color: Color::from_rgba(0, 0, 0, 16),
    },
    Default::default()
);

Instead of this:
path.fill(FillStyle {
    coloring_style: ColoringStyle::Paint(
        Paint::with_linear_gradient(
            (x, y),
            (w, h),
            Color::from_rgba(0, 0, 0, 32),
            Color::from_rgba(0, 0, 0, 16),
        )
    ),
    ..Default::default()
});

Paint is no longer struct with functions for creating gradients and image patterns, now it is trait that Color, ImagePattern and Gradient enum implement and is used to abstract nvgFillPaint/nvgFillColor, nvgStrokePaint/nvgStrokeColor functions.

Also, you can merge this now if you do not have any remarks.


Use join() in examples

Update the examples to use join() rather than relying on more implementation-specific behavior.

FYI @bensigelman , this fixes the proxy example.

Thanks, @bcronin!


PSA: examples/psa-example-register1.p4

The program psa-example-register1.p4 store structs in registers. However, the current compiler front-end (i.e., p4test) rejects them with the following error:

functions or methods returning structures are not supported on this target

That is true.  I wrote psa-example-register1.p4 first, hoping it would work, and when realizing that it does not, I left it there as a reminder that it does not work, created the issue below in hopes that it will work in the future, and created psa-example-register2.p4 that is identical in functionality, but works around the inability to put a struct inside a Register, by packing/unpacking a bit vector "manually".
https://github.com/p4lang/p4-spec/issues/383
I think I may also have created an issue for the p4c repository as well, but not sure if I can easily find it again, if I did.

The front end has no problem with any kind of registers. P4test is also used to test lots of mid-end passes.

Okay, since @jafingerhut is aware, I'll close this.


Release Process!

Description
This issue tracks the status for the release of this repository into rosdistro and making it available for installation as .deb via the ROS 2 repositories.
It will detail the steps that need to be taken, and what recommended changes are good to have.
Personal Note
I think this is ready for release, we just need to go through the release process. No changes required in the source that stand out to me.
Release Process
Steps

[ ] Create a release tag corresponding to the version specified in package.xml @vmayoral
[ ] Create release repo (pending https://github.com/ros2-gbp/ros2-gbp-github-org/pull/22)
[ ] Do bloom release

[ ] bloom should PR rosdistro, if not, manually create a PR

[ ] rosdistro team to review package and merge PR (1-2 days, 1 month to get apt installable)
[ ] Monitor build and release status on repo page and buildfarm

Recommendations
I am unsure if this package might get approved in such a barebones state, but it technically fits the requirements for release. You might want to be ready to explain the intended usage in the eventual release PR.

[ ] Create a release tag corresponding to the version specified in package.xml @vmayoral

https://github.com/ros-acceleration/ament_acceleration/commit/f1568b1a0edc8055c04ca230c523d7f01b653cdc
https://github.com/ros-acceleration/ament_acceleration/releases/tag/0.2.0

:+1:

Bloom release created!
Release repo: https://github.com/ros2-gbp/ament_acceleration-release
rosdistro PR here: https://github.com/ros/rosdistro/pull/32546
Small additional comments: I updated the recommendations section (it's about having multiple branches so that development and releases can be put into different branches.)

You might want to consider having separate branches for each ros distro this package is targeting (where the release branch is main, and the devel branches are named after the ros distros). That way your development code and release code can be properly segmented.

That makes absolute sense. Created humble and rolling branches.

You can enable PR testing, making it so that whenever PRs are made, it gets tested on the buildfarm!

We have released! :tada: Now I can do the release for ament_vitis
https://github.com/ros/rosdistro/pull/32546
Be sure to:

Check the status on http://repo.ros2.org/status_page/ and https://build.ros2.org/

Bonuses:

The ROS 2 team has suggested to change the default branch of https://github.com/ros2-gbp/ament_acceleration-release to master. I don't seem to have the permissions to, could you check if you do? If you don't I'll have to go ping someone
Before the branches were separated, the release was made. In a future release of this package, we need to remember to target the rolling and humble branches instead to rosdistro. I'll track that in a separate issue.

Speaking of which, @vmayoral do you think you could get rolling and humble branches on the other repos?
ament_vitis  most importantly first, because I can already start the release process for that now that this package has been released, so it'll be good to get in so we won't need to retarget the branches again.

The ROS 2 team has suggested to change the default branch of https://github.com/ros2-gbp/ament_acceleration-release to master. I don't seem to have the permissions to, could you check if you do? If you don't I'll have to go ping someone

Checked and can't neither. We need permissions. Can you ping whoever's empowered to grant them please?

Tried enabling test PRs https://github.com/ros/rosdistro/pull/32593

Speaking of which, @vmayoral do you think you could get rolling and humble branches on the other repos?

I think we're good now.

I can see http://repo.ros2.org/status_page/ros_rolling_default.html?q=ament_acceleration in green, can you confirm we're good in here @methylDragon?

I think we're mostly good, I think I saw one failing build configuration on the buildfarm (I'm not sure if it's an issue from the package or the buildfarm), but I can't load the page today for some reason. :scream:

Found it!
https://build.ros2.org/job/Rdev__ament_acceleration__ubuntu_jammy_amd64/
This one is failing, I'm not sure why.. You can check the console.

(Also, because it's nice to see some green...)
The rest of the builds on Jenkins are fine (aside from the doc build)

 dev (ubuntu_jammy_amd64)
 doc (ubuntu_jammy_amd64)
 src (rhel_8)
 src (ubuntu_jammy)
 bin (ubuntu_jammy_amd64)
 bin (rhel_8_x86_64)
 bin (ubuntu_jammy_arm64)

Dev build is failing because of https://github.com/ros-infrastructure/ros_buildfarm/pull/950
I think there's going to be a PR soon to handle this case, so we'll wait out for it.

@osrf-jenkins run tests

@vmayoral I forced a rebuild, green now! :tada:

@vmayoral I forced a rebuild, green now! 🎉

Thanks, to confirm, is this something that you guys do internally or is there a specific syntax to do so? E.g. I saw you posted previously:

@osrf-jenkins run tests

That doesn't work haha, I was just trying something.
Builds have to be triggered on the internal buildfarm.

Closing this issue, since we're done :tada:
Congratulations on the press release too!


[rel] PSS-2036: Update go

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jayesh-srivastava
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jayesh-srivastava: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cluster-api-provider-maas_build
1c9a82ee4f007d06923cd28e064354862050f0fd
link
/test cluster-api-provider-maas_build

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra, jayesh-srivastava
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[NFC] Define LookupConformanceInModuleRequest

Factor out the lookup side of TypeChecker::conformsToProtocol so we have
a dependency registration point available for evaluator-based
dependencies that doesn't have re-entrancy problems.

@swift-ci please test

⛵


Please update newest version to curse

Please push newest version to curse, for toc bump and translates, thank you!

It may take a few days (I don't have a Windows right now).
And let me know if you want release version on curseforge.

@EKE00372 Let me know If you want release version on curseforge, i can invite you to be the admin on curseforge.
I'll close this issue, please notify me of any update.

Just need a release on curse because ppl usually dont update from github, even they wont notice newest version is here, I dont know you didnt push do curse until a TWOWer ask me about this.
So now the problem is, you cannot push release because you dont have windows? probably works fine because actually no user no issue feedback on curse


refactor(prettier): move comment printing to its own directory

Current dependencies on/for this PR:

main

PR #1556   👈

This stack of pull requests is managed by Graphite.


[FLINK-33137][Connectors/Prometheus] Prometheus connector docs

English docs page for the connector

Docs preview
docs-preview.pdf

New docs preview, including new changes
prometheus-connector-docs-preview.pdf

New
docs preview with latest changes

@hlteoh37 I fixed the typos and improved the readability of the data structure

@nicusX could we add [FLINK-33137][Connectors/Prometheus][docs] to the commit ID?


Standardize Examples

@genevievestarke @misi9170 @abhineet-gupta @ZackTully @brookeslawski
In this pull request, I'd like to go through and standardize the examples.  I'd very much welcome input into the project as I got along!  Putting this branch on origin so folks will feel free to commit directly to it, or if rather submit pull requests.
High level goals:

[x] All readme files are README.md, explain the example and say how to run the example locally and on kestrel
[x] Runscripts standardized to: (1) run_script.sh - for running locally, (2) sbatch_script.sh (which calls run_script.sh) and runs on kestrel (exception to pattern if example only runs on kestrel)
[x] Clean up post analysis scripts

Setting aside KESTREL examples
We've decided to not include the criteria that the AMR-WIND/KESTREL examples are fully included cleaned up.  The work of this is now flagged in ISSUE #131
Activating CONDA
Found an approach that should enable activating conda on local machines in bash scripts as well as on kestrel.  Adding these lines to run_scripts:
# Determine the base path for Conda initialization
if [ -f "/home/$USER/anaconda3/etc/profile.d/conda.sh" ]; then
    # Common path for Anaconda on Linux
    CONDA_PATH="/home/$USER/anaconda3/etc/profile.d/conda.sh"
elif [ -f "/Users/$USER/anaconda3/etc/profile.d/conda.sh" ]; then
    # Common path for Anaconda on macOS
    CONDA_PATH="/Users/$USER/anaconda3/etc/profile.d/conda.sh"
elif [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
    # Alternative system-wide installation path
    CONDA_PATH="/opt/anaconda3/etc/profile.d/conda.sh"
elif [ -f "opt/miniconda3/etc/profile.d/conda.sh" ]; then
    # Alternative system-wide installation path
    CONDA_PATH="/opt/miniconda3/etc/profile.d/conda.sh"
elif command -v conda &> /dev/null; then
    # If conda is in PATH, use the which command to find conda location
    CONDA_PATH=$(dirname "$(which conda)")/../etc/profile.d/conda.sh
else
    echo "Conda installation not found. Please ensure Conda is installed and in your PATH."
    exit 1
fi

Problems
Example 07 Solar Produces no power
Current plot of solar power output in example 7:

Specific example goals

[x] Example 5 cleaned up
[x] Example 5 runs locally
[x] Example 6 cleaned up
[x] Example 6 runs locally
[x] Example 7 cleaned up
[ ] Example 7 runs locally
[x] Example 7 solar produces power
[x] Example 8 cleaned up
[x] Example 8 runs locally
[x] Example 8 vis output
[x] Example 10 cleaned up
[x] Example 10 runs locally
[x] Renumber 10 back to 9

Clean up after above

[x] Re-number examples
[x] Make sure all docs build

Just as a comment, using the python3 command doesn't work for me, so I always change it to python in the run scripts. Thoughts?

I found an issue in the examples that use either floris_standin or amr_wind_standin. Both standin simulations require a csv input file generated by hercules/tools/generate_amr_standin_data.py but this input file isn't created in run_script.sh or the hercules runscript .py files. If you already have the XXX_standin_data.csv file in the example folder then it runs just fine but somebody who just installed hercules won't have these data files the first time they run an example.
A potential solution is: in 06_amr_wind_standin_and_battery/batch_script.sh, there is a call to generate_amr_standin_data.py, which generates the required standin data csv. However, generate_amr_standin_data.py is hardcoded to save the file in example 06 so this won't work for other examples in its current state.

Just as a comment, using the python3 command doesn't work for me, so I always change it to python in the run scripts. Thoughts?

This is happened to me too.  In my case, which python returns the correct answer of the one in the conda env, while which python3 is the system one.  I don't really get the python3 command so happy to just use python

After merging in develop (with #125), tests are still failing but for reasons that we can now work on addressing.

@paulf81 I think I've fixed 10---if you could pull again and verify, that would be great.
The main catch was some code that was introduced in #118 (specifically, this line) that assumed the SolarPySAM module for solar simulations; however, that line doesn't work with the SimpleSolar module. I've added a try / except clause to deal with it for now, but the root issue is that SimpleSolar and SolarPySAM don't return similar dictionaries in their return_outputs() methods, which they probably should?

Example 10 works for me now, thank you @misi9170 !

I added a plot output scripts to example 10:

Just as a comment, using the python3 command doesn't work for me, so I always change it to python in the run scripts. Thoughts?

Removed all python3 -> python

Example 7 is now fixed. This example appeared as if it were producing no power because the input solar data file had such a low DNI, that the power was close to zero. I trimmed the input data file Flatirons_solar_data_highDNI.csv to shift the simulated period to later in the day when the DNI exceeds 900 W/m2 so the solar power output is much greater than zero. In the plot on the left, solar power output appears to be constant only because 20 seconds is not long enough to see a meaningful increase in DNI (e.g. irradiance only changes by 0.2 W/m2).

Just merged develop back in to resolve any possible conflicts coming from changes in #129

I've now been able to run all examples listed in the PR description successfully. However, I do want to make a note that this PR makes changes to other examples as well (1--4) without actually running them. Just noting in case we come back to this point in future while tracing back changes to examples 1--4.

@paulf81 , I found an extra batch_script.sh in the 06 example, and removed it... then found that it was used the the check examples workflow, so changed that to run run_script.sh instead... and then found that that didn't work well in the github actions (it just seemed to hang).
I've since reverted those changes so that the check examples will run, but do you know why we can't use the run_script.sh from example 06 (I have a feeling you've probably come across this yourself, since you left the 06 batch_script.sh in place)? It feels annoying to have to leave the batch_script.sh in example 06, and arguably renders the check examples action a bit impotent if it doesn't check the example using the same approach we would actually use to run it?

hi @misi9170 , it's ringing a distant bell, but I think it's a hack.  I have some new ideas on how to do the check examples action, maybe we clean this one out, and I'll start a new PR to check all the examples 5-9 using our runscript.

ok @misi9170 check examples is now removed, I'll open a new PR/issue to set up check examples in a fashion that runs the examples how we would run them.
I think this ones ready if you don't mind a final review


fix(proof_data_handler): TEE blob fetching error handling

We ran into a problem in the staging environment where TEE blob fetching failed because of a 30-day retention policy on blobs in Google Cloud Storage. The TEE prover was failing for all old batches (l1_batch_number < 58300). This commit fixes the issue by adding better error handling when the blob for a given batch number isn't available.
What ❔
Graceful error handling for the TEE proof data handler when there is no blob in Google Cloud Storage for the specified batch number.
Why ❔
We need more robust error handling.
Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[x] Code has been formatted via zk fmt and zk lint.

Tested. It seems to be working. ✅
Not sure who to ask for a review while @popzxc is on vacation. I used to ask him for all my zksync-era PRs. Any suggestions? @RomanBrodetski @EmilLuta @slowli

@thomasknauth / @haraldh / @slowli, could you merge this? I don't have the permissions. I think 2 approvals ✅✅ should be good enough. Thanks!


Test issue

Overview
Please replace this line with full information about your idea or problem. If it's a bug please share as much as possible to reproduce it

@ksenita-sonrisa please stop opening test issues everywhere


Support Table

Hi,
The extension supports table ?
like this:

Type
Elements

Headings
h1, h2, h3, h4, h5, h6, h7, h8

Prose
p, div, blockquote

Formatted
pre

Inline
b, i, strong, em, tt, code, ins, del, sup, sub, kbd, samp, q, var

Lists
ol, ul, li, dl, dt, dd

Tables
table, thead, tbody, tfoot, tr, td, th

Breaks
br, hr

Ruby (East Asian)
ruby, rt, rp

Anyway I think that Marked support full github flavored markdown : https://github.com/chjj/marked

There's the table extension for table support.
I think it could be a nice addition to have extension uses other extensions.
Pascal
Sent from my mobile

On Feb 5, 2015, at 09:16, Murat Ödünç<EMAIL_ADDRESS>wrote:
Anyway I think that Marked support full github flavored markdown : https://github.com/chjj/marked
—
Reply to this email directly or view it on GitHub.

I think it could be a nice addition to have extension uses other extensions.

Yeah, that would be nice. It would require us to change the extension mechanism a bit. For now, we can add the table-extension as a dependency in package.json and bower.json.

Github flavor is now bundled with core.
I you want to activate it, you can do the following:
showdown.setFlavor('github');
// or
var conv = new showdown.Converter().setFlavor('github');


How many query grammars does tantivy support?

I know tantivy supports phrase query and logical expression query, like ""hello word"" and "hello AND world".
Does it support more complex queries like lucene, e.g. fuzzy query, range query ?
I am comparing tantivy and lucene++. What is the difference in query grammars and performance between them？
PTAL: https://github.com/luceneplusplus/LucenePlusPlus/issues/130

FuzzyTermQuery is in tantivy.
RangeQuery exists too, but they are not great as they do not rely on a specific type of indexing. They just iterate the terms  in the range and union the terms encountered, materializing them in a bitset.

@mdianjun Oops correction. Range query are handled by tantivy's query grammar.


Where is the Attack_Flow_builder.zip?

This page https://center-for-threat-informed-defense.github.io/attack-flow/builder/ takes me to this repo and the link said that if I don't want to use docker, I can download the Attack_Flow_builder.zip from the release page, but I don't see that file. Can you provide one?

Apologies for the oversight! I just uploaded the 2.0.1 release zip. Please take another look.


Update Jenkinsfile to build with Windows

@rtyler by upgrading plugins in #6 I guess I fixed the Windows builds :tada:


TransformableNode onTapListener not being called on .glb node

Hello again.
I'm unable to recognize touch on the node (.glb). I have tried with:
-  TransformableNode.setOnTapListener
-  arSceneView
            .scene
            .setOnTouchListener
- hitTestResult.node (always null) etc.

In the video, I'm using Your example called [sample-ar-model-viewer]. Touch only works on viewRenderable, but not on .glb 3d model. I also tried to remove peek peekTouchListener after placing the object but nothing helped.
Thank you for any tips.
https://user-images.githubusercontent.com/16974890/146557896-58e9a6fb-00f2-424b-a4e6-00a613451fe7.mp4

  val transformableNode = TransformableNode(arFragment.transformationSystem).apply {
            renderable = model
            addChild(Node().apply {
                localPosition = Vector3(0.0f, 1f, 0.0f)
                localScale = Vector3(0.7f, 0.7f, 0.7f)
                renderable = modelView
            })
        }

        scene.addChild(AnchorNode(hitResult.createAnchor()).apply {
            addChild(transformableNode)
        })

        transformableNode.setOnTapListener { hitTestResult, motionEvent ->
            Toast.makeText(requireContext(), "TransformableNode tapped.", Toast.LENGTH_SHORT).show()
        }

Second attempt (node is always null):
        arSceneView
            .scene
            .setOnTouchListener { hitTestResult: HitTestResult, event: MotionEvent? ->
                gestureDetectorCompat.onTouchEvent(event)
                if (hitTestResult.node == null) {
                    TimberLog.w("Clicked nothing")
                    return@setOnTouchListener false
                }
                val name = hitTestResult.node?.name
                TimberLog.w("Clicked on node: $name")
                when (gestureHelper.gestureType) {
                    GestureType.NONE -> {
                    }
                    GestureType.SINGLE_TAP -> {
                    }
                    GestureType.DOUBLE_TAP -> {
                    }
                    GestureType.LONG_PRESS -> {
                    }
                }
                true
            }

Hi,
That's because the touch event is dispatch to the ViewRenderable which could have some standard Android View clicks to handle (Button, TextView,...)
Can you please move to https://github.com/SceneView/sceneview-android in order for me not to go back inside the old Sceneform touch system code to answer your question?
We don't have yet completely renew it but setting the
https://github.com/SceneView/sceneview-android/blob/cbb9f9f6345f40b4bda18fcfa47c79fa059aba0c/sceneview/src/main/kotlin/io/github/sceneview/SceneView.kt#L407
will override any possible View touch returning true.


method to covert static subset to dynamic subset

Accommodating https://github.com/cubewise-code/tm1py/issues/262#issue-648862842

@rkvinoth Thanks for implementing it so quickly!
It looks great. Good idea to use the SaveAs action on the subset.
I just got one request.
It would be nice to have a test case for a public and a private subset in the Tests/Subsets.py module.

I will try to chip in the tests in sometime.

@rkvinoth
regarding the TM1py tests, if you use PyCharm running the tests is quite easy and it gives you confidence that your changes didn't break anything.
In PyCharm you can just right-click the Tests/subsets.py module and select Run pytest in Subset.py
Then you you get the below response. If you want to run all tests in TM1py you can right-click the Tests folder and select Run TM1py Tests.

I guess we can merge the PR now

Will merge.
Appreciate your contribution!


Blacklist one country

Thanks for your component 👍
We have a use case where we want to remove some country from the list. Would you accept a PR would implement this functionality ?
We could pass an array of country names to blacklist as a prop for example.

The feature is already there. There is a prop called onlyCountries which takes the list/array of countries to be shown in the dropdown.
https://github.com/mukeshsoni/react-telephone-input#onlycountries

I didn't want to include the full list of countries in my code.
But I think you are right, I think I can import the phone list from your package and pass it directly to the prop.
Right ?
Thank you very much


Unable to utilize OAuth authentication with custom react frontend due to internal URL

When using @cl.oauth_callback as described in the docs, CHAINLIT_URL can be set to define the backend's URL - which works as expected. However, the RedirectResponse defined in oauth_callback simply calls url=f"/login?{params}", which means that the callback url wrongly uses the CHAINLIT_URL, and not the frontend's URL that made the request. I can see that it includes a FIXME comment, but in case other matters are more pressing, is there potentially any way to overwrite the implementation? I tried to define the same endpoint in my app.py file, but it still uses the internal function. Currently, I have no way of returning the token to my custom frontend url detached from CHAINLIT_URL. 😃
Thank you in advance 👏

I have the same issue, was any solution found?

I have the same issue, was any solution found? Not deploying Chainlit's UI would work, only if the react custom frontend is deployed in the same port (8000). But as per Willy's comment on issue 705, Chainlit's UI is always declared last and it cannot be overwritten.

@brii7 Unfortunately, there still seems to be no natively working solution available. For this reason, we opted for a manual "hacky" solution, where we post-package-install in our docker image simply replaces the chainlit/backend/chainlit /server.py file with a modified duplicate, replacing url=f"/login/callback?{params}" with our custom environment url's.

Thank you for your reply and solution. I've also just found out that changing the custom_build paremeter on the config.toml file, enables you to use your own custom UI folder. But it needs to have a specific structure, which is also not 100% convenient.

@brii7 it seems they have fixed this issue in their latest versioning 😄

@brii7 it seems they have fixed this issue in their latest versioning 😄

I was a bit too fast on the trigger, they merely added support for the CHAINLIT_ROOT_PATH, which is a path appended to the base CHAINLIT_URL, not directly transferrable to custom frontend URL. With their new mounted setup however, perhaps a better solution exists using fastapi overwrite.


operator project-quay (3.8.5)

Add 3.8.5 to community operators

/merge possible

/merge possible


Fix track IO issue when writing tracks directly

Fixes #194

@nthndy - does this fix it for you too?

Looks good to me!

Yes, this works for me now. Thank you!


Fix _changevalue to allow up arrow to function

Fix _changeValue by ensuring the input value is converted to a number before adding step to it.

Could you please squash your commits?
Thanks!

I've closed this pull request and sent a new one with the commits squashed.


Issue deploying binary in workspace/monorepo project

Hey All, I'm running into some issues dealing with a workspace/monorepo type project when building and deploying. I've read this issue but I can't seem to get things working correctly.
My repo: https://github.com/danwritecode/nihongo-study-gpt-agent
Info:

API Directory is where my lambda function lives
It depends on some things in the data lib, all linked properly in the root Cargo.toml as workspace members
Prior to making this a monorepo I successfully had this same function/code running in AWS with an API Gateway integration.

Things I've tried:

I followed the directions in the issue I linked below, specifically I built (from root dir) with

cargo lambda build --release --package <package_name>

The issue states that now I should be able to run cargo lambda deploy but this is not the case, I receive:

Error:   × there are more than one binary in the project, you must specify a binary name

Given this I reran with: cargo lambda deploy --binary-path ./target/lambda/<binary name>/bootstrap and this DID deploy my lambda function but it deployed it with the name "bootstrap" and not to what my package is actually called, furthermore for some reason, when I go to link this function in API gateway it's using "Payload version 1.0" instead of 2.0.

I then tried the same command but with --binary-name and this did nothing so far as I can see.
I appreciate any help in advance and let me know if I can provide any more information or be more helpful with my issue.

Awesome, I updated from 1.0.0 to 1.0.2. However I'm facing a similar issue but with a different error now.
❯ cargo lambda --version
cargo-lambda 1.0.2 (348a9dc 2024-01-27Z)

I built my binary with the --package argument and that worked properly
I then tried just "cargo lambda deploy" and this fails with:

❯ cargo lambda deploy
Error:   × there are more than one binary in the project, please specify a binary name with --binary-name or --binary-path. This is the list of binaries I
  │ found: rust-lambda-nihongo, worker

I then tried it with the --binary-name argument

❯ cargo lambda deploy --binary-name rust-lambda-nihongo
Error:   × there are more than one binary in the project, please specify a binary name with --binary-name or --binary-path. This is the list of binaries I
  │ found: rust-lambda-nihongo, worker

Like before I can directly define the binary path, but then I get a lambda function uploaded titled "bootstrap" which also seems to not correctly accept triggers from API Gateway due to a some legacy payload format (no idea if this is related).

awesome, thanks @calavera for your help, really appreciate it. I won't be able to take a look at this until later tonight unfortunately but I will let you know how it goes.

Beautiful! Thank you for your help everything is working as I expect now on my end.


Notification Backend and DB [Desktop][Mobile] - for creating notifications

As a commentor/author of a post, I want to receive a notification for every comment posted, as well as when a post or comment is edited.
Current Scenario: When someone comments on my post, I don't know right away because I'm not sent an email or notification.
Expected results: As soon as someone comments on my post or edits it, I should be sent a notification to alert me.
This ticket is to create the database, middleware & queue for creating notifications and managing them on the queue.
middleware would be in node.js, queue would be SNS
Environment: node.js middleware, AWS SNS for queue
Expected results: Create notifications and manage them in the SNS queue
Actual results: Does not exist

Based on our meeting today, here is our updated plan for the backend:

We agreed to not use Mongo Atlas for the MVP as it would add unnecessary overhead for CI/CD, and we already have it set up for AWS/Lambda
We will add a “trigger” to the existing web backend which will create a notification when a like or comment is created
Lambda will run on a cron job to query for new notifications, and then group the notifications to send an email
*We need to refine the model and make it simpler, as mentioned by Josh above
We need to sync up with Zayd to see how the web notifications will be implemented, and also share the tweaked model to see if we need to add or modify it to make it work with web notifications
HTML template provided by Cami above will be used by the Lambda to build the email
Lambda will send the email through SES
We need an algorithm for grouping notifications for daily, weekly, and bi-weekly emails

I recommend that task be broken up as follows:

Refine/finalize Notification data model
Add logic to web backend to create a new notification on new like/comment
Add a Cloudwatch rule to Terraform to run the Lambda every 5 minutes
Create basic code in Lambda to query notifications and send an email for any unread notifications
Come up with algorithm for grouping notifications for digest emails, and add this logic to the Lambda
Finalize HTML templates for the notification emails

Web notifications is covered in #1428 and #1531. We need to meet with Zayd to discuss this implementation
Unsubscribe from notifications is covered in #1507. We will need to generate unsubscribe links in the Notification Lambda, and add a new unsubscribe page to the web frontend (with corresponding logic in the web backend to toggle the user's notification preferences).


Update Composer dependencies (2021-03-05-00-12)

Visual regression test passed!
View the visual regression test report


Add new syscall instruction to interpreter and jitter

This PR builds on top of #620 and introduces the new syscall instruction to the interpreter and jitter. It revamps the execution tests to deal with two syscall models and write extra tests for the changed code fragments.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.61%. Comparing base (1223789) to head (805fb4f).
Report is 20 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #621      +/-   ##
==========================================
- Coverage   90.09%   89.61%   -0.49%
==========================================
  Files          22       22
  Lines        9726    10002     +276
==========================================
+ Hits         8763     8963     +200
- Misses        963     1039      +76

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

Can you move the execution tests with:
    let config = Config {
    test_syscall_asm!(
        enabled_sbpf_versions: SBPFVersion::V1..=SBPFVersion::V1,
        ..Config::default()
    };

down to the // SBPFv1 only [DEPRECATED] section?


Recommendation still valid?

The article states the following:

We recommend that you install the 32-bit version of Microsoft Office for both 32-bit and 64-bit operating systems.

This seems to be outdated, since Microsoft has moved to 64 bit as the default. https://support.office.com/en-us/article/choose-between-the-64-bit-or-32-bit-version-of-office-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261?ui=en-US&rs=en-US&ad=US#32or64Bit=Newer_Versions
[Enter feedback here]

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

ID: 9ca28e71-fc3b-e587-4147-3159e1341673
Version Independent ID: c97ec5b6-9d95-14cf-649d-57922599dbfd
Content: Microsoft User Experience Virtualization (UE-V) 2.0 Release Notes
Content Source: mdop/uev-v2/microsoft-user-experience-virtualization--ue-v--20-release-notesuevv2.md
Product: w10
GitHub Login: @jamiejdt
Microsoft Alias: jamiet

@officedocsbot assign @mypil

This issue have been solved at #3036

Thank you for pointing this out!  This change will be updated in the documentation

@alexverboon - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Android Crash!  During Rtc initialize

UE5.1  Android Pakaged.  Agora SDK 4.2.1
I am using UE blueprints, but it crashes on Agora initialize.
If I don't initialize, the rest of the game can be played without problems.
UE Package Configuration >  #106
MinSDKVersion=27
TargetSDKVersion=33
InstallLocation=Auto
bPackageDataInsideApk=False
bAllowLargeOBBFiles=True
bUseExternalFilesDir=True
SDK

Are there any other settings that we should be aware of?
(e.g., permissions, etc.)

Maybe you could try this one https://github.com/AgoraIO-Extensions/Agora-Unreal-RTC-SDK/issues/109#issuecomment-1842572168

Thank you very much. That was correct.
Just adding the code solved the problem!


patrol test - assume FLAK tests to PASS

Requested by @fylyppo.
The tests in the project he works on are flaky.
He suggests adding a flag to patrol_cli to make FLAK tests become PASS:

The tentative name for the flag: --ignore-flakes.

@fylyppo can't just use patrol test || true, because then the exit code would be 0 even if all tests failed.

Maybe we can stay with FLAK output from test target (it gives me more info in tests summary) but let's change exit code for situation like:
PASS  first_test.dart on emulator-5554
PASS  second_test.dart on emulator-5554
PASS  third_test.dart on emulator-5554
FLAK  fourth_test.dart on emulator-5554
FLAK  fifth_test.dart on emulator-5554
to be "0".
Reason: I have some listener for exit code and the goal is to know only about critical errors from test (only if test target fail every time).

Good idea - I like it.

We lost this feature in 2.0.
Action item for @bartekpacia: Check how Gradle-generated and Xcode-generated reports look like with repeated tests: https://stackoverflow.com/questions/39193268/run-espresso-test-multiple-times
Action item for @fylyppo : Check if repeating tests N times works on Firebase Test Lab

This UI doesn't exist anymore since Patrol 2.0


Use correct hub variable when building test install tars

A change I made a few days ago inadvertently changed TEST_DOCKER_HUB to REL_DOCKER_HUB .
https://github.com/istio/istio/pull/3376/files#diff-2113e4c1aa9cfeb28678286d68e7a8c1
That change should have just added a HUB=${TEST_DOCKER_HUB} , but instead I incorrectly used REL_DOCKER_HUB.  This came about because I had tried to use a shared variable to pass the long list of common parameters to the two invocations of make.  I couldn't get this to work (bash kept on wanting to execute the parameters as if they were commands) so I gave up but didn't restore things properly.

/lgtm
/approve

/approve