Error -34018 (errSecDefault)

Sometimes I'd see the following error
(lldb) po error
Error Domain=com.samsoffes.sskeychain Code=-34018 "errSecDefault" UserInfo=0x17d3f070 {NSLocalizedDescription=errSecDefault}

But I have no idea what errSecDefault (code -34018) means nor how to resolve it. Any ideas?

I'm glad to see I'm not the only one. When my app gets this, it basically "logs out" the user. I am going to have to re-think what I do when I see this.

Experiencing exactly the same and only in debug.
We debugged it a lot and it seems an issue accessing the keychain when the app is launched from the background. This is only happening with the debugger (i.e. when launched from Xcode).
We think the issue might be related in our case to the debugger keeping alive the app even if it should be killed by the OS.
We tried in fact to run the app and then put it in background and launch many other app to occupy RAM.
With the debugger the bug came up, while without it didn't (we did run 10 tests each).
Note that if you're accessing the keychain in the background you should have something like this in your didFinishLaunchingWithOption
[SSKeychain setAccessibilityType:kSecAttrAccessibleAfterFirstUnlock];

Has anyone ever figured this one out?

I figured out don't use keychain except as a backup for if they uninstall your app.

After seeing https://github.com/soffes/sskeychain/issues/52#issuecomment-70866718 from diegopizzocaro we could solve this. We used the keychain to store Facebook tokens in a special way (so the main and WatchKit app could access it / enabled keychain access groups). Most of the time the error arose after allowing the application from within Safari which causes a application change to finish the login flow. Coming from the background we had to store token but the [[UIApplication sharedApplication] applicationState] was still UIApplicationStateInactive. This caused the famous -34018 error for us. After placing the mentioned kSecAttrAccessibleAfterFirstUnlock setting the error was gone.

@cipherCOM FXKeyChain uses kSecAttrAccessibleAfterFirstUnlock and still has the same issue.

I'm using "kSecAttrAccessibleAfterFirstUnlock" and noticed that if I have the Control Center screen slid-up over the app (UIApplicationStateInactive?) I start getting "Keychain error: errSecDefault" and it breaks the app until it's restarted.
Moving to a strategy of storing the keys in memory locally instead of just fetching them from the Keychain every time, but man... this is kind of annoying. Is there any real workaround? This is on iOS 8.3 release.

I have received an email from the Apple support stating that: "Our engineers have reviewed your request and have determined that you are experiencing an issue for which there is no known workaround at this time."

 I think I can maybe shift this app over to NSURLCredential instead, so I'm going to try that. Has anyone run into this issue with that class?

Great discovery about the control center. I switched to using NSUserDefaults as my primary storage (my data is not very sensitive).

Anybody testing in iOS 9 yet? Wondering if it's OK to reverse to keychain use in iOS 9+.

Have the same problem on iOS 9 (beta 2) :-(

:(

This is a bug with the Security framework. Apple engineers are actually still trying to fix it https://forums.developer.apple.com/thread/4743  Strangely for me, deleting and reinstalling fixed issue

I have decreased the number of reads from the keychain (reading just at the application start and then only if necessary) and I can not reproduce the issue anymore (iOS7.x, iOS8.x).

So you're just keeping the info in memory the whole time?

@elviin In my particular instance this happened sporadically and when it did occur the Keychain was unusable. The solution (sadly) pointed out in the Apple Developer Forums was to simply raise an NSException and crash the App. Relaunching the App would then reopen the Keychain.

That's super annoying!

@benguild Yes, that is not as secure as the info was read each time, but it was only way I could avoid the error.

@danielgalasko My apps do not allow this king of handling. I read the secret at the app start, delete the secret if it is no more needed by the user.

@benguild How about the NSURLCredential? Did you try to use it?

It has the same problem. I tried that

@benguild :/ Thanks.

Same problem here on iOS 9. Whats the best work around?

It seems like throwing an exception in the rare instance that this occurs is the best solution.

For me this was not happening rarely. More like in 1‰ of cases, which for a bigger user base is quite a lot. My not that nice workaround is to store the secret on app start as a property in my keychain wrapper and fall back to that if reading fails. Fixes the issue but of course I'd Love to get rid of that workaround.

I do the same and it has eliminated the issue.

I just want to point out what happened with me.
I could reproduce 100% after using the UIImagePickerController and AVCaptureDevice. Don't which of those would cause the bug, but it looks similar to @maqoo.

@laurentmorvillier could you elaborate further please. You mean accessing credentials after showing Picker of Capture Device reveals this issue? This definitely needs to be reported to Apple then.
Unfortunately I'm not showing any of those components and this event manifests sporadically

Yes, I have a process that uses the two components as a sequence. After that accessing the credentials gives the errSecDefault error.

have the same issue

Same issue here on iOS 9

Same issue here on iOS 9 too.

same issue on ios 9

Same on iOS 9

I used UICKeyChainStore to replace sskeychain for now.

If it uses the keychain you will likely have the same problem. It's a keychain issue, not an SSKeychain one. See Sam's note above from months ago

Same on iOS 9

We all know this is an issue with the Apple Keychain and not SSKeychain. But this seems to be the main thread where everyone is reporting this issue.
I switched to NSURLCredential to try to mitigate this issue, but I end up with basically the same problem (in fact, NSURLCredential seems to throw even more issues when debugging).
This problem seems to be only an issue when in debug mode. On the Apple developer forum, I found a suggestion to install the app manually, launching it manually, then attach the process (https://forums.developer.apple.com/thread/4743). I haven't been able to test this yet, but as soon as I do, I'll report back. In the meantime, let us all know if this is a temporary way of solving the problem when running a developer build and debugging locally.

Build and install to the device manually. You can do this by dragging the app from the build folder to the Installed Apps list in the devices window on Xcode.  (Credit to http://stackoverflow.com/questions/3176666/build-and-install-without-run-in-xcode.) The default build folder should be located at:

(Xcode)~/Library/Developer/Xcode/DerivedData/[app name-hash]/Build/Products/Debug-iphoneos. If you can't find it, you can go to Preferences -> Locations -> Derived Data to check. There's a link there you can click to open the folder in Finder.
(AppCode) ~/Library/Caches/AppCode33/DerivedData/[app name-hash]/Build/Products/Debug-phoneos . You can also do Run -> Show Build Folder in Finder

You can then attach the debugger to the process. This is not yet available in AppCode, but you can do this in Xcode by going to Debug -> Attach to Process. Your app should be at the top of the list. (Credit to http://stackoverflow.com/questions/9721830/attach-debugger-to-ios-app-after-launch)

We all know this is an issue with the Apple Keychain and not SSKeychain. But this seems to be the main thread where everyone is reporting this issue.
I switched to NSURLCredential to try to mitigate this issue, but I end up with basically the same problem (in fact, NSURLCredential seems to throw even more issues when debugging).
This problem seems to be only an issue when in debug mode. On the Apple developer forum, I found a suggestion to install the app manually, launching it manually, then attach the process (https://forums.developer.apple.com/thread/4743). I haven't been able to test this yet, but as soon as I do, I'll report back. In the meantime, let us all know if this is a temporary way of solving the problem when running a developer build and debugging locally.

Build and install to the device manually. You can do this by dragging the app from the build folder to the Installed Apps list in the devices window on Xcode.  (Credit to http://stackoverflow.com/questions/3176666/build-and-install-without-run-in-xcode.) The default build folder should be located at:

(Xcode)~/Library/Developer/Xcode/DerivedData/[app name-hash]/Build/Products/Debug-iphoneos. If you can't find it, you can go to Preferences -> Locations -> Derived Data to check. There's a link there you can click to open the folder in Finder.
(AppCode) ~/Library/Caches/AppCode33/DerivedData/[app name-hash]/Build/Products/Debug-phoneos . You can also do Run -> Show Build Folder in Finder

You can then attach the debugger to the process. This is not yet available in AppCode, but you can do this in Xcode by going to Debug -> Attach to Process. Your app should be at the top of the list. (Credit to http://stackoverflow.com/questions/9721830/attach-debugger-to-ios-app-after-launch)

It definitely happens in production code

It happens also in the release configuration. @Abc2mit Apple has confirmed on my request there is no workaround yet. Since I needed to store just password and login name I switched to the Keychain Item Wrapper from Apple. It seems in my case the issue is much less frequent.

@elviin thats very interesting. Could you elaborate as to what is different with Apples code? My understanding is that this is all inside the keychain itself and not a side effect of the usage of the Keychain. could you post a link to Apple's code?

@danielgalasko  I use the kSecValueData key for returning/storing password and kSecAttrAccount for returning/storing login name. And it did not fail to store/load until this time.
#import "KeychainItemWrapper.h" // https://cocoapods.org/pods/KeychainItemWrapper
@property (nonatomic, strong) KeychainItemWrapper keychain;
....
//Initialization
NSString bundleID = [[NSBundle mainBundle]
objectForInfoDictionaryKey:(NSString*)kCFBundleIdentifierKey];
_keychain = [[FXKeychain alloc] initWithService:bundleID accessGroup:nil];
....
// getting login and pass
return [self.keychain objectForKey:(__bridge id)kSecValueData];
return [self.keychain objectForKey:(__bridge id)kSecAttrAccount];
....
// setting login and pass
[self.keychain setObject:object forKey:(__bridge id)kSecValueData];
[self.keychain setObject:object forKey:(__bridge id)kSecAttrAccount];

After poking around this issue for a year and nagging Apple Im certain that this issue is related to the keychain and a memory stress on the device. The securityd process is getting killed once there is a memory stress and the app is back to foreground after waiting in the background for some time. The only solution is to kill the app so securityd process will revive itself and connect again to the app and the keychain. Also recommended is to kill all other apps in background in order to remove the stress from device memory. Apple just informed me they are still working on this issue with no luck and they have a security team dedicated to this issue, that was first seen in 2013!
As my app has a very sensitive data and use of keychain is no good i had to use user defaults and encrypt the data by myself. Bad for security, good for happy users.

Seeing this as well iOS 9.1, Debug and Release, on iPhone 6

@BrightsCode UICKeyChainStore is free of this bug?

@BrightsCode No. This is not bug with the wrapper as it has been pointed out by Sam and other above. This is an issue/bug with Keychain itself, which Apple has yet to address.

I wonder how big apps like Tumblr, Pinterest, etc., handle this issue. They never seem to log you out nor crash on launch. Did they implement their own in-app encryption to store credentials?

@rsanchezsaez have a look at https://github.com/auth0/SimpleKeychain

@RebornSoul Don't know if this is trolling or what. Can you provide more info? Looking at the source, this doesn't seem much different than SSKeyChain or UICKeyChain, so the issue would be the same.

@abc2mit more info on what? You can check their keychain wrapper and see that it doesn't produce any issues.

You can look at Sam's and see the same thing. But good luck

@paulbruneau  @RebornSoul More info as in, what do you use it for? Why does it work and not the other keychain wrappers? It doesn't look any different source code-wise from the others.
Can someone also take a look at tell us if there's a difference?

@RebornSoul This issue has nothing to do with SSKeychain. This is a known bug on iOS keychain. Please consult the official dev forum https://forums.developer.apple.com/thread/4743 this issue will persist irrespective of the library you use, assuming at its core it is interacting with the Keychain API.

UICKeyChain suffers from the same issue. We're seeing the same problem with it. Really stems from Keychain. We were hoping iOS 9.2 would resolve it, but no such luck https://forums.developer.apple.com/thread/4743.

Neither 9.2.1

Same issue here :(

Still happens on iOS 9.2, iPhone 6s.

I tried the fetch-when-available-from-keychain-and-store-it-in-memory. It doesn't work perfectly either. Sometimes the keychain blindly refuses to retrieve the item no matter what. Raising an exception is not an acceptable workaround as we get a beating for every crash log reported.

Still happens - iPhone 6+, iOS 9.2.1

Still happens - iPhone 6+, iOS 9.2.1

Following

Following

Following

Glad I'm not alone, sad this is an issue.

I found that this was a problem when I repeated the use of the key in the same period.

@xinGGG Can you please explain further?

I tried to distribute the app I was working on via TestFlight and found the same issue. Grr.

[...] We believe these problems were resolved in iOS 9.3. [...]
https://forums.developer.apple.com/thread/4743#126088

We suspect that there may be yet more causes of this problem.

Anybody know if this is fixed in iOS 10?

@danielgalasko Can you post a Gist that shows how to correctly throw the exception if it encounters this error?

Following as well

I have same problem about this issue

got a workaroung by enabling keychain sharing in app capabilities

@lagapollo Are you sure that actually works?

My app had been working on iOS8 and iOS9, but stopped working with iOS 10. Using the 'fix' provided by @lagapollo works but seems unnecessary.. is this a bug?

Seems there is a bug, https://openradar.appspot.com/27844971

Had this issue running the EvernoteSDKSample app in iOS10 and fix from @lagapollo worked for me

Make sure you enable keychain sharing in the capabilities screen.
not working on iOS 10 #149

Except there are no capabilities for test targets, so if you're trying to write to the keychain in a unit test/test target... you'll get this issue too. Any ideas for fixing that?

As long as there is an Entitlements file, the simulator will work correctly. You do not need to enable Keychain Sharing (but toggling it on and off creates the entitlements file).

So that explain why my app works well without enabling Keychain Sharing.
2016-09-20 3:36 GMT+08:00 phatmann<EMAIL_ADDRESS>
As long as there is an Entitlements file, the simulator will work
correctly. You do not need to enable Keychain Sharing (but toggling it on
and off creates the entitlements file).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/soffes/SAMKeychain/issues/52#issuecomment-248099161,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAhKo4zTakdCa8yL-yIm2Pa9NJ7gY9_pks5qruQlgaJpZM4BRXw1
.

Following....

From the Xcode 8.1 GM release notes, this is mentioned under Known Issues

Keychain APIs may fail to work in the Simulator if your entitlements file doesn’t contain a value for the application-identifier entitlement. (28338972)
Workaround: Add a user-defined build setting to your target named ENTITLEMENTS_REQUIRED and set the value to YES. This will cause Xcode to automatically insert an application-identifier entitlement when building.

following...

Following

Getting the same on Mac OS but not sure if I'm doing it right.
        SAMKeychainQuery *q = [SAMKeychainQuery new];
        q.synchronizationMode = SAMKeychainQuerySynchronizationModeYes;
        q.service = @"myService";
        q.account = @"myAccount";
        q.password = @"pass";
        NSError* error = nil;
        [q save:&error];
        if (error != nil) {
            NSLog(@"Err: %@", [error localizedDescription]);
        }


About the softmax layer & label process?

Hi, bonlime,
Thanks for your work! It helps me a lot! But I have two questions in my training process:

I found there is no 'softmax' on the last layer of the Deeplabv3() model. Is it right if I use model.fit() directly after model=Deeplabv3() without any other process? Or could you please tell me where to use the 'softmax' layer?

In the training image input process, how to correctly deal with labels? In my previous segmentation projects, the training and prediction steps usually operate on single-channel pngs labels, where the value of each pixel corresponds to the class label (for example, 0-21 for the Pascal dataset). Is this project the same as that?

I'm looking forward to your reply. Thanks!

I also think that the softmax is missing, I've gotten strange nan values in the accuracy\loss and then I realized that the softmax is missing!

@JeniaNovellusDx  hi, have you added the softmax layer? What about the experiment effect?

you can fusion softmax to loss。
def categorical_crossentropy(y_true, y_pred):
return K.categorical_crossentropy(y_true, y_pred, from_logits=True)

@YanZhiyuan0918 the softmax layer isn't present because the model from the paper also outputs logits. You can apply the function you want when computing the loss as @fengsam pointed out.
The only important thing to understand here is that whenever writing some custom loss/accuracy function, y_pred will be logits.

Hi,
You're right, there is no softmax in this model because the original model doesn't have it. If somebody will make a PR adding an option to add softmax, I'll accept it

@YanZhiyuan0918  in this model you need label to have shape (input_size, input_size, number_of_classes) . If you want to use softmax, you need a background class, if you want to use a sigmoid activation on logits, you don't need a background

Just add a custom layer in the end:
x = Activation('softmax')(x)
model = Model(input, x)

@bonlime  Thanks for your reply! But I'm still confused about the label processing. According to your reply, for pascal voc dataset, the label shape should be (513, 513, 21), right? Could you please give some example codes to translate the original voc label into this shape? Thanks!

@YanZhiyuan0918 you can look in original TF Deeplab repo, they have all the code you need

added option to add activation while initiating the model

@bonlime Thanks for your reply! But I'm still confused about the label processing. According to your reply, for pascal voc dataset, the label shape should be (513, 513, 21), right? Could you please give some example codes to translate the original voc label into this shape? Thanks!

If you use "sparse_categorical_crossentropy" as your loss function you do not need that conversion (to 21 channels).


support for transfer_hotspot_v2

transfer_hotspot_v2 requires 4 fields:

owner_address
owner_signature
gateway_address
new_owner_address

The old owner will pay the transaction fee.
As part of this simplification, the following checks/required fields are removed on the blockchain side but should remain on the app side):

staleness check removed (check in app)
poc check removed (check in app)
HNT field removed (not required)

The new flow will be as follows:

Seller goes to Hotspot > Tap Settings > Transfer Hotspot (unchanged)
Type Hotspot name to confirm transfer (unchanged)
Seller asked to enter a Buyer address. HNT Amount removed (new)
PoC liveness check occurs by querying the API of the last successful PoC challenge (if it's not a data-only hotspot). No checks required for data-only hotspots. if the last poc challenge was within the last 24 hours, allow user to proceed with transaction. if last poc challenge was more than 24 hours ago, do not allow user to proceed and disable the button.
Seller presses button to Transfer Hotspot (UI change)
Below the button explains that the transaction will just go through, buyer acceptance not required (UI change)
Once the transaction clears, both the Buyer and Seller will receive an app notification saying the transaction cleared. (new)

This new flow removes dependencies on wallet-api and should make the feature more streamlined and less error-prone.
For screens, go to Figma > 3.4.0 > transfer_hotspot_v2.
Relates to https://github.com/helium/blockchain-core/issues/978

On implementation of transfer_v2, we should check if there's a pending transfer_v1 in the database. if there is, clear that row so the buyer can't accidentally complete a transfer_v1 transaction.

Sorry if I missed something, but why is HNT amount being removed? Can you not do the HNT payment optionally anymore? That seemed like a nice security perk to avoid sending a payment and not getting a transfer back.
Was going to submit a bug report just now that it seems it doesn't let you proceed with transfer if you scan a QR code for the address, but thinking now that maybe it's an initial change related to this...?

the bug report you have regarding the QR code is unrelated to this.
As for HNT amounts: looking at recent transfers, only 6% of transactions include amount in HNT. The transaction is also atomic, which means it doesn't require the buyer to sign the transaction. HNT can always be transferred via payment_v2 or using fiat.
The impetus for making this atomic is to remove wallet-api from the equation, which is a closed-source system.

Thank you @cokes518

for those with a pending transfer_v1 when v2 is active, we'll allow them to proceed (or cancel) as a v1 transfer. their subsequent transfer will be a v2.

Good job in the world.

Why do we have check #4: PoC liveness check? This makes transferring troublesome when hosts return miners after they are off, and other situations. It creates a situation where you have to sync at a new location, then re-assert, and then transfer. This is untenable if the hotspot is being sold. Can we remove this check?

This is a difficult example to read due to the users writing style, but here is an example from discord, https://discord.com/channels/404106811252408320/730272677104713791/905248598030176296


Bundle with vue-ua?

Would it not be beneficial to bundle within vue-ua? It is kind of 😐 that there are two separate packages.
Is there a benefit to having the functionality separate?

https://github.com/ScreamZ/vue-analytics/issues/16

I guess the original author responded very well.


Create gig #2 - follow-on gig based on feedback from gig #1

Gig1 was for a simple recreation of our complex UI.
Based on developer feedback, create a follow-on gig that continues our progress.

We'll likely work with @HunnySajid directly instead of through gigs.


feat: batch io operations when verifying & importing block

Motivation

We want to import block asap
Persisting block may take up to 1s - 2s, in the worse scenario it could be up to 3s due to the I/O lag (see #5429)

Description

We already have a Promise.all() in verifyBlock(), take that chance to persist blocks (and blobs) to db
If there are errors, check if blocks are not in forkchoice then remove them from db
Also process import block to LightClientServer in the next event loop to improve block time to head

Closes #5415

@dapplion I added eagerPersistBlock flag to ImportBlockOpts so that only blocks coming from gossip or unknown block sync gets this feature

@dapplion I added that test case to this commit https://github.com/ChainSafe/lodestar/pull/5485/commits/c425a246c85e2ce6639e8814aeea7ec8cd321160
see #5485

:tada: This PR is included in v1.9.0 :tada:


Fixed compatibility issues introduced by Sketch 39

Function names have been changed since Sketch 39, so I changed those and I moved the refresh UI action too since the old one wasn't working anymore too.

Sorry for being late! This PR works great. Thanks :)

Great! (Although the plugin is a little bit obsolete with the new configurable export sizes presets 😉  )

@ErikFontanel, I have been away for a long time from Sketch and didn't know that there's such a export size presets! This is awesome. Thanks for letting me know 👍


Delete unnecessary spaces

When copying from the web page, there is an unnecessary space after the code.

@changeworld : Thanks for your contribution! The author, @linda33wj, has been notified to review your proposed change.

Verified the changes.


Use turbo_frame_tag instead of link_to

Why was this change made?
Fixes #1319
How was this change tested?
Unit and feature tests
Which documentation and/or configurations were updated?
n/a

Thanks @jcoyne, I didn't understand from the ticket's description about where the problem was occurring. Have a fix that works but tracking down some testing errors.

I pulled this down and I'm still not seeing the popup that makes you select a type when you are on the view page and click edit:

The show page for the work looks good, but I'm still not seeing the correct behavior on this page:

See comment above; I was having issues getting the workTypeModal's data attributes to be injected correctly.

@jermnelson okay, you may merge after you write a new ticket for that troublesome spot.

Done, created ticket https://github.com/sul-dlss/happy-heron/issues/1546


, APKSigningTool compiled with Java version53 and it needs v 53

Problems with W10 VS2019 Xamarin Forms Android, Archive, Distribution, APKSigningTool compiled with Java version53 and it needs v 53 -  AND THERE IS NO LINK anywhere to show us how to upgrade. Please help. Thanks. Stew

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

ID: 97e1cd96-e7a2-ec22-8d79-ac949e890ccb
Version Independent ID: 922a3fdf-7bab-7d9d-5518-904db9e75ee3
Content: Microsoft's Mobile OpenJDK Distribution - Xamarin
Content Source: docs/android/get-started/installation/openjdk.md
Product: xamarin
Technology: xamarin-android
GitHub Login: @vyedin
Microsoft Alias: vyedin

@stewa11 Make sure you don't have any 30.x SDKs in your %userprofile%\AppData\Local\Android\sdk\build-tools (Android-SDK folder). I had 30.0.0-rc1 in there which caused it for me... It was not visible in the SDK manager.

@stewa11 Make sure you don't have any 30.x SDKs in your %userprofile%\AppData\Local\Android\sdk\build-tools (Android-SDK folder). I had 30.0.0-rc1 in there which caused it for me... It was not visible in the SDK manager.

Hi Falco2019, thanks for replying. When publishing to Google Play they wanted me to use version ! (SDK v 30), so isn't that a gotcha or am I missing something?
Thanks again, much appreciate any help.
Stew

Hm, I uploaded 2 days ago and was not requested to have SDK 30. SDK 29 worked just fine.

It sounds like you want to update your Android SDK, which is a feature of the Android SDK manager available from the tools menu and not related to this doc about OpenJDK. If you again encounter similar issues please use the Feedback option within Visual Studio to report it to developer community.


Adds CODEOWNERS file

Does it make more sense to add CODEOWNERS file to the root of the repo, since the .github dir of cnbs are expected to have shared/identical contents coming from github-config repo?

I would hope that any pushing out to the receiving repos wouldn't remove files that live there. What if I have workflows that are unique to a repo that I don't want to be removed?

@ryanmoran I believe the current strategy is to overwrite all directories, to keep things simple and stupid. cc @joshzarrabi @ForestEckhardt

I think that is a questionable choice. I think it would be perfectly reasonable to only update those files that the config repos has and leave removal to a more manual process.

Sounds good to me

👍


csr_matrix setitem actually assigns zeros

This will eat all your memory, but it really should not:
from scipy.sparse import csr_matrix
n = 100000
P = csr_matrix((n, n))
for j in range(0, n, 1000):
    P[j:j+1000,:] = 0

(The for loop is there only because of gh-4529 --- you could also imagine just writing e.g. P[10:,:] = 0 and having it run out of memory).
This may be somewhat problematic in view of csgraph, but I think for general use it is much more important that __setitem__ does not assign explicit zeros.

I prefer the current behavior. If we want sparse matrices to support
explicit zeros, then I think it follows that explicit assignment via
setitem should preserve those zeros.
On Tue, Feb 17, 2015, 5:45 AM Pauli Virtanen<EMAIL_ADDRESS>wrote:

This will eat all your memory, but it really should not:
from scipy.sparse import csr_matrix
n = 100000
P = csr_matrix((n, n))
for j in range(0, n, 1000):
P[j:j+1000,:] = 0
—
Reply to this email directly or view it on GitHub
https://github.com/scipy/scipy/issues/4530.

With the current behavior, there is no way to zero large parts of the
matrix, without some kludging and many calls to eliminate_zeros. In my
mind, this is not really acceptable.
.
Moreover, the assign-explicit-zeros semantics is not currently respected
e.g. by LIL matrices.

I'm starting to lean toward the view that the use cases that require explicit zeros need a different data structure

I've fully leaned toward this view.  Or at least toward the view that the sparse matrix API needs more clarity regarding explicit zeros, duplicate entries, and multiple levels of memory sharing (Does a matrix function of a sparse matrix share memory with its input?  Does a sparse matrix share memory with the data array used in its creation?  Under what conditions are these sharing relationships required to be preserved?).

I actually wondering if the various sparse issues might not be best solved by move to a csr_array object, that can have fully specified feature set from the get go and that doesn't attempt to mimic np.matrix. This certainly would have manpower and deprecation cycle problems though.

I've been playing with sparse arrays at https://github.com/perimosocordiae/sparray/, though at the moment it's pretty skeletal. I decided to take the simple flat-index route (like COO), rather than try to generalize CSR/CSC to n dimensions.
I think sparse arrays are the right solution in the long run, but for now, it seems like we can get away with adding an "explicit zeros" flag to the spmatrix class. The flag would affect behavior for setitem (and possibly others?), but if we default it to True there won't be any back-compat issues.
Downside: increased complexity, more branches to cover.

I wonder if there's a GSoC size project along some of these lines.

Does a matrix function of a sparse matrix share memory with its input?

This can be partially solved by documentation and adding copy kwargs in various places, to guarantee no sharing occurs. Guaranteeing sharing is more complicated.
More generally, I've always regarded the sparse matrix interpretation in csgraph as suspect. It seems like some zeros are zeros, but other zeros are actually infinities (in shortest-path computations on weighted graphs). I think in the long run it would be better to decouple the graph library from the sparse matrix package.


Minify HTML & CSS, optimize PNGs

Based on issue #7
Saves a few kilobytes per fresh uncached page load, will be more significant if/when we can get JS minification working (I'm hoping to get one of the potential JS minification libraries for Rust working properly, rather than using yet another commandline tool, though I won't rule that out either).
Checklist

[x] Updated CHANGELOG.md describing pertinent changes.
[ ] Updated README.md with pertinent info (may not always apply).
[ ] Updated site content with pertinent info (may not always apply).
[x] Squash down commits to one or two logical commits which clearly describe the work you've done. If you don't, then Dodd will 🤓.

Really happy to see a PR for this. Thanks! Will review this soon.

This should also minify the JS files created by wasm-bindgen. One approach to do that is by using SWC

@hamza1311 yea, I am tempted to say that we might want to tread carefully before we pull in SWC. I think it will be awesome to do so, however at that point, we will have everything needed to do full JS/TS transpilation. We have to be fairly measured about whether we really want to push Trunk into that space.
I am fairly biased towards allowing folks to use hooks or something similar for integration with other tools. As soon as we cross that threshold, we take on the full yoke of the JS ecosystem.

@hamza1311 @thedodd Despite its name, the minify-html crate already includes a JS minifier. Why don't we use that on the wasm-bindgen output?
We definitely should draw a line somewhere though, as thedodd mentioned. For example, for projects that build the whole application in Rust, it's great to have trunk minify everything, as you don't have to tap into any extra tools from the JS ecosystem. But for projects that only use wasm partially or mix and match with JS, it's in my opinion best to leave further bundling to another tool.

Unfortunately, the JS minifier in that crate can't correctly parse the wasm-bindgen output. Incidentally, it's the one I intended to use, so I already created an issue upstream in the parser.

Sent: Thursday, October 27, 2022 at 12:26 PM
From: "Dominik Nakamura" @.>
To: "thedodd/trunk" @.>
Cc: "Carlrs" @.>, "Author" @.>
Subject: Re: [thedodd/trunk] Minify HTML & CSS, optimize PNGs (PR #449)

@hamza1311 @thedodd Despite its name, the minify-html crate already includes a JS minifier. Why don't we use that on the wasm-bindgen output?
We definitely should draw a line somewhere though, as thedodd mentioned. For example, for projects that build the whole application in Rust, it's great to have trunk minify everything, as you don't have to tap into any extra tools from the JS ecosystem. But for projects that only use wasm partially or mix and match with JS, it's in my opinion best to leave further bundling to another tool.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Oh, that's too bad. Can you link to the issue you created here?

This one, I believe: https://github.com/wilsonzlin/parse-js/issues/3
The minify-js crate is relatively new, so maybe best to wait a bit more, before we use it, or we might print a warning and continue on, in case it fails to minify the content. Before they use esbuild which pulls in a whole Go project, so I'm really happy they started building a pure Rust implementation instead. Just needs a bit more battle-testing to become more stable over various inputs.

Upstream maintainer for minify-html/minify-js added a fix for parsing import.meta so I'll see about adding JS minification to this PR later today.

Just checking in to see if this PR is again ready for review? Maybe a rebase is a good idea too.

At one point I was having issues with it, some with the crates being used (and some of it user error on my behalf), so I decided to let it rest a bit and let the minify-js crate mature a bit, as it was in fairly active development.
I think now is a good time to take a new look at it and test it with new and improved dependencies. I'll try to get around to it in the next few days.

@Carlrs I would like to see this feature merged as well. If there is anything I can do to help, feel free to ping me. Would love to help any way I can.

Rebased and fixed the issues I'd had previously (using minify-js in wrong TopLevelMode + not checking for image type for before running oxipng). Let me know how it looks!

Do you plan to keep the closing tags, as well as minify js/css in the html?
let mut minify_cfg = Cfg::spec_compliant();
minify_cfg.minify_css = true;
minify_cfg.minify_js = true;
minify_cfg.keep_closing_tags = true;

Added your suggested fixes and bumped the minify-html crate version just in case.
@thedodd could we get a review here sometime?

I cherry-picked this into trunk-ng. I will test it for a bit and when there are no problems, it should be released with 0.17.11.

This is now released with trunk-ng 0.17.11

This was brought back to trunk with PR https://github.com/trunk-rs/trunk/pull/623 and it should be part of the next release of trunk too.

This is part of the trunk 0.18.0 release


Use Boost.Spirit for decoding bytecode

http://coliru.stacked-crooked.com/a/adf3de78190d3167

I'd like to add a diclaimer:
Though I added test cases, I present the code as-is, without any warranty or claim of fitness for any particular pupose :)

Learning curve is too steep, documentation is too bad (Boost), grammar is too trivial.


not running at all

there's really not much info I can give it's just not opening
I can see it running some process on task manager, under details tab, but after 2 seconds it dissappears..

seems like you got it working?

nope still doesnt work :/ , I just closed the thread because it seems I
must be doing something really wrong
On Mon, Jul 26, 2021 at 5:13 AM Matt Voboril @.***>
wrote:

seems like you got it working?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/WFCD/WFinfo/issues/184#issuecomment-886320590, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSVJRFVXDMGK3N7TR3KS5DTZTAFHANCNFSM5A7CIGZA
.

Make sure both parts in point 2 are installed
https://github.com/WFCD/WFinfo#usage

Sounds to me like you don't have the appropriate runtimes installed. Both the x86 and x64 c++ 2015-2019 redistrubitals need to be present on your machine.

They are both installed, cant figure out what goes wrong :S
On Mon, Jul 26, 2021 at 5:19 PM dapal-003 @.***> wrote:

Sounds to me like you don't have the appropriate runtimes installed. Both
the x86 and x64 c++ 2015-2019 redistrubitals need to be present on your
machine.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/WFCD/WFinfo/issues/184#issuecomment-886745794, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSVJREW72GRA73OFFT45YDTZVVH3ANCNFSM5A7CIGZA
.

If you have a discord account, debugging through on there would be easier. If not, could you send me your debug file located at %appdata%/wfinfo/debug.log to<EMAIL_ADDRESS>and I'll have a look at what causes the program to crash.

the debug log is not showing anything :O, its just filled with dashes..
On Mon, Jul 26, 2021 at 5:53 PM dapal-003 @.***> wrote:

If you have a discord account, debugging through on there would be easier.
If not, could you send me your debug file located at
%appdata%/wfinfo/debug.log to @.***, and I'll have a look at
what causes the program to crash.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/WFCD/WFinfo/issues/184#issuecomment-886773105, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSVJRC6HFR4GJOVWZTEWFLTZVZHLANCNFSM5A7CIGZA
.


fix: expand version requirements for jinja2

Codecov Report

Merging #281 (57b7366) into main (d4a10d1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #281   +/-   ##
=======================================
  Coverage   58.81%   58.81%
=======================================
  Files          37       37
  Lines        2472     2472
=======================================
  Hits         1454     1454
  Misses       1018     1018

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 d4a10d1...57b7366. Read the comment docs.


Login form: Email and password both resets with a wrong password

When I type a wrong password with a correct email address and click login, it resets my email address, password text. It shouldn't reset email address. or it shouldn't reset at anything, it should just give error.

@zulipbot  claim.

Can anybody provide me the code for this issue or how can i find this issue in so many files???

This probably is an interaction issue between zerver/forms.py and templates/zerver/login.html.  May be a bit tricky to figure out exactly what's going on.  @umairwaheed this may be something good for you to fix.

Sure. @zulipbot claim


Fix missing properties for trackEvent with screen

The whole point of this was that screen events don't track any of
their properties so we need to actually do that. This fixes a bug where
we weren't actually passing them through.

@mikekatz please review

cc @miankhalid

We want the action to go with the trackEvent call not with the screen call since GA doesn't give you anything else with screen

Aren't you sending the action with screen as well ?

@miankhalid to be clear, it's being sent with both since it doesn't hurt and we might add another analytics source day that has more useful screen events, but it needs to go with the trackEvent call.

might as well send the course-id on both then ?

@miankhalid That is happening farther down the stack. The trackEvent call takes an OEXAnalyticsEvent which has a courseID property that we've set. Inside trackEvent it turns the event object into event properties.

:+1:


fix grammar errors

fix grammar errors

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Pls format the commit to https://www.conventionalcommits.org/en/v1.0.0/
like "chore(docs): fix typos"

fixed https://github.com/ApolloAuto/apollo/commit/000ff19809a79796a35bccf8b14e4e1b6e437c14


imp: use storetypes instead of sdk types

This PR updates store types to use the store types package instead of sdk types

was definitely supposed to be in the 50 branch :)

Codecov Report

Merging #4009 (d435b68) into main (315680c) will not change coverage.
The diff coverage is 92.22%.

:exclamation: Current head d435b68 differs from pull request most recent head c82599f. Consider uploading reports for the commit c82599f to get more accurate results

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #4009   +/-   ##
=======================================
  Coverage   78.88%   78.88%
=======================================
  Files         187      187
  Lines       12983    12983
=======================================
  Hits        10241    10241
  Misses       2313     2313
  Partials      429      429

Impacted Files
Coverage Δ

...odules/core/02-client/migrations/v7/solomachine.go
18.30% <0.00%> (ø)

...es/light-clients/06-solomachine/proposal_handle.go
69.56% <ø> (ø)

...les/light-clients/07-tendermint/proposal_handle.go
79.66% <ø> (ø)

modules/light-clients/07-tendermint/upgrade.go
73.86% <ø> (ø)

...dules/light-clients/06-solomachine/client_state.go
88.28% <75.00%> (ø)

modules/light-clients/09-localhost/client_state.go
91.66% <88.88%> (ø)

...27-interchain-accounts/controller/keeper/keeper.go
90.62% <100.00%> (ø)

...in-accounts/controller/migrations/v6/migrations.go
92.30% <100.00%> (ø)

.../apps/27-interchain-accounts/host/keeper/keeper.go
85.38% <100.00%> (ø)

modules/apps/29-fee/keeper/keeper.go
92.30% <100.00%> (ø)

... and 13 more

woah, awesome this could be pulled out, thanks @faddat! Also thanks @damiannolan @chatton @DimitrisJim for the ultra fast reviews! :zap:


Refactor block master sync

What changes are proposed in this pull request?
Refactor and extract an abstract class AbstractBlockMasterSync from the current BlockMasterSync.
Why are the changes needed?
In the future, we might want to let the worker heartbeat to standby masters. This refactor makes it easier to extend the base BlockMasterSync.
Does this PR introduce any user facing changes?
N/A

alluxio-bot, merge this please


Add IbcSend message type to stargate code

Expose simple message to allow contracts to send native tokens to other chains

Okay, I rebased this on #711 and then simplified it from the comments.
Can you please re-review?

Okay, I rebased this on #711 and then simplified it from the comments.
Can you please re-review?


Rigel in Centaurus  should be Riger Kenttaurus

What steps will reproduce the problem?
1. Menu > Search > Centaurus
2. Go to Centaurus, you will find Rigel in Centaurus
3.

What is the expected output? What do you see instead?
The Rigel should be Riger Kenttaurus or Alpha Centauri

What version of the product are you using? On what operating system?
1.6.4

Please provide any additional information below.
The Chinese name is "南门二"

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 19 Sep 2012 at 9:08

Thanks for the bug report.  This is now fixed in head.  I added some extra synonyms too.

Fixed in the 1.6.5+ releases.


Description for getting token is deprecated

The token have been moved from local store. It can not be found using this description https://discordhelp.net/discord-token

Yes, and this is unfortunate. Still waiting for a good workaround.
It seems this is Discord making it clear they are against clients like us, and they are in the position of ultimate power.

note: if you have already gotten your token before this update, it will stlil function as normal

The method in the link is easy and works well
On 14. september 2018 17.13.52 Mitch<EMAIL_ADDRESS>wrote:

Yes, and this is unfortunate. Still waiting for a good workaround.
It seems this is Discord making it clear they are against clients like us,
and they are in the position of ultimate power.
note: if you have already gotten your token before this update, it will
stlil function as normal
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The link is a fantastic method to get the token, you can also still get it from local store with a bit of finnicky ness.


Fix the cryptography tutorial

The cryptography 2.0 package came out and now has wheels, which
means that the custom vendor example we gave is no longer accurate. I
just pinned the version of cryptography to 1.9 so that the tutorial is
still technically correct. The cryptography package has a wide set of
dependencies that fall into most of the interesting cases, so it is hard
to find a replacement package for the tutorial. Also if we switch to
another package and they support wheels, we will just have to update it
again so I think the best course here is just to version pin.
cc @kyleknap @jamesls

Codecov Report

Merging #443 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #443   +/-   ##
======================================
  Coverage    93.6%   93.6%
======================================
  Files          18      18
  Lines        2863    2863
  Branches      375     375
======================================
  Hits         2680    2680
  Misses        132     132
  Partials       51      51

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 69f18d7...05b3a36. Read the comment docs.


[Multi Actions] Templates experience

Current templates are not multi actions, and the templates experience in multi actions needs to be refined.
To be defined in collaboration with @Duncid  and implemented

Can we close @PopDaph  ?

Yes! The only thing now is to create some multi-actions templates, but it's supposed to be in another card right?

Yes! The only thing now is to create some multi-actions templates, but it's supposed to be in another card right?

Indeed, still haven't created it. Doing now !


Copy Output to Register

Request for additional color space
No response
Request for other features
Incredible plugin!
I'd like to request functionality to quickly yank Ccc output to register with :CccConvert or :CccPick.
I came looking for a plugin such as this because I have a document which is not to be modified, containing hex color values that I need to convert to hsl for use in a separate document.
:CccConvert with the cursor on the value replaces it without prompt, and while :CccPick with the hsl output mode will offer up the correct output for yanking, it would be a nice-to-have feature if we could have a quick "yank output" keybind in the picker, or even a new command like :CccYank [hex / hsl / rgb] to grab the converted value without affecting the source buffer.

I threw this together based off of what you have in convert.lua. Seems to work:
local function yank()
	local opts = require("ccc.config").options
	local choices = {}
	for _, v in ipairs(opts.convert) do
		table.insert(choices, v[2].name)
	end
	vim.ui.select(choices, {
		prompt = "Select Output Format:",
	}, function(format_choice)
		if not format_choice then
			return
		end

		local line = vim.api.nvim_get_current_line()
		local _, cursor_col = api.get_cursor()
		cursor_col = cursor_col + 1

		local output = nil
		for _, v in ipairs(opts.convert) do
			if v[2].name == format_choice then
				output = v[2]
			end
		end
		if output == nil then
			return
		end
		for _, v in ipairs(opts.convert) do
			local picker = v[1]
			local init = 1
			while true do
				local start_col, end_col, rgb, alpha = picker:parse_color(line, init)
				if not (start_col and end_col and rgb) then
					break
				elseif start_col <= cursor_col and end_col >= cursor_col then
					vim.fn.setreg("", output.str(rgb, alpha))
					return
				else
					init = end_col + 1
				end
			end
		end
	end)
end
vim.api.nvim_create_user_command("CccYank", function()
	yank()
end, {})


Avoid repeated bounds checks in the Descendants iterator.

@tomjw64 As discussed in https://github.com/RazrFalcon/roxmltree/pull/81#discussion_r1028337155

Closing this as #80 was merged still including this. I guess I really sowed some confusion with that follow-up PR. Sorry for that.

All good.


Converting json with just one element

Thanks for this super helpful script!
I did realize however, a simple json with just one element such as the below doesn't return any output.
[
{
    "name": "Dagny Taggart",
    "id": 1,
    "age": 39
 }
]

Can this be checked please?
Thanks.

I confirm, I have the same problem. It does not work with single json (json with only one record).
For the moment I have a little workaround.
I'm working very rarely with AWK, so may be it's not very correct/good solution, but for the moment it works for me.
It seems that the problem is in the line 99 of jsonv file.
count=$(cat $tokens | sed 's/^[\["a-z,]*//g' | sed 's/,.*//g' | gawk '/^[0-9]+$/ && !_[$0]++' | gawk -F\t 'BEGIN{max==""} ($1 > max) {max=$1} END{print max}')
BEGIN{max==""} ($1 > max)
does not work if $1 is equal to 0.
I changed it for
count=$(cat $tokens | sed 's/^[\["a-z,]*//g' | sed 's/,.*//g' | gawk '/^[0-9]+$/ && !_[$0]++' | gawk -F\t 'BEGIN{max=0} ($1 > max) {max=$1} END{print max}')
and it works with single json file.
Hope it will be corrected properly by maintainer.

@paulz1 your change seems to work correctly.
I'd suggest submitting a pull request.


Interactive output filtering

Description
Changes proposed in this pull request:

Introduced "Filter Output" feature to message responses that has > 16 lines
Supports both markdown responses and file uploads due to slack message size limit.

Testing

Checkout BotKube to your local computer

gh pr checkout 805 --repo=https://github.com/kubeshop/botkube

Prepare comm_config.yaml with containing slack credentials as follows

Show
communications:
  'default-group':
    # Settings for Slack
    socketSlack:
      enabled: true
      appToken: "xapp-1..."
      botToken: "xoxb-..."
      notification:
        type: "long"
      channels:
        'default':
          name: botkube-demo
          bindings:
            executors:
              - kubectl-backend
            sources:
              - k8s-all-events
              - k8s-recommendation-events

settings:
  clusterName: gke-playground
  configWatcher: true
  lifecycleServer:
    deployment:
      name: botkube
      namespace: botkube
    port: "2113"

configWatcher:
  enabled: false
  initialSyncTimeout: 0

executors:
  'kubectl-backend':
    kubectl:
      namespaces:
        include:
          - ".*"
      enabled: true
      commands:
        verbs: [ "run", "api-resources", "api-versions", "cluster-info", "describe", "diff", "explain", "get", "logs", "top", "auth", "delete" ]
        resources: [ "deployments", "pods", "namespaces", "daemonsets", "ingresses", "statefulsets", "storageclasses", "nodes", "configmaps", "services" ]
      defaultNamespace: backend
      restrictAccess: false

rbac:
  create: true
  rules:
    - apiGroups: ["*"]
      resources: ["*"]
      verbs: ["get", "watch", "list"]
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["delete", "create"]

analytics:
  disable: true

# -- Map of sources. Source contains configuration for Kubernetes events and sending recommendations.
# The property name under `sources` object is an alias for a given configuration. You can define multiple sources configuration with different names.
# Key name is used as a binding reference.
# @default -- See the `values.yaml` file for full object.
#
## Format: sources.<alias>
sources:
  'k8s-recommendation-events':
    displayName: "Kubernetes Recommendations"
    # -- Describes Kubernetes source configuration.
    kubernetes:
      # -- Describes configuration for various recommendation insights.
      recommendations:
        # -- Recommendations for Pod Kubernetes resource.
        pod:
          # -- If true, notifies about Pod containers that use `latest` tag for images.
          noLatestImageTag: true
          # -- If true, notifies about Pod resources created without labels.
          labelsSet: true
        # -- Recommendations for Ingress Kubernetes resource.
        ingress:
          # -- If true, notifies about Ingress resources with invalid backend service reference.
          backendServiceValid: true
          # -- If true, notifies about Ingress resources with invalid TLS secret reference.
          tlsSecretValid: true

  'k8s-all-events':
    displayName: "Kubernetes Info"
    # -- Describes Kubernetes source configuration.
    kubernetes:
      # -- Describes namespaces for every Kubernetes resources you want to watch or exclude.
      # These namespaces are applied to every resource specified in the resources list.
      # However, every specified resource can override this by using its own namespaces object.
      namespaces: &k8s-events-namespaces
        # Include contains a list of allowed Namespaces.
        # It can also contain a regex expressions:
        #  `- ".*"` - to specify all Namespaces.
        include:
          - ".*"
        # Exclude contains a list of Namespaces to be ignored even if allowed by Include.
        # It can also contain a regex expressions:
        #  `- "test-.*"` - to specif all Namespaces with `test-` prefix.
        # exclude: []

      # -- Describes events for every Kubernetes resources you want to watch or exclude.
      # These events are applied to every resource specified in the resources list.
      # However, every specified resource can override this by using its own events object.
      events:
        - create
        - delete
        - error

      # -- Describes the Kubernetes resources you want to watch.
      # @default -- See the `values.yaml` file for full object.
      resources:
        - name: v1/pods             # Name of the resource. Resource name must be in group/version/resource (G/V/R) format
          # resource name should be plural (e.g apps/v1/deployments, v1/pods)

        #  namespaces:             # Overrides 'source'.kubernetes.namespaces
        #    include:
        #      - ".*"
        #    exclude: []
        - name: v1/services
        - name: networking.k8s.io/v1/ingresses
        - name: v1/nodes
        - name: v1/namespaces
        - name: v1/persistentvolumes
        - name: v1/persistentvolumeclaims
        - name: v1/configmaps
        - name: rbac.authorization.k8s.io/v1/roles
        - name: rbac.authorization.k8s.io/v1/rolebindings
        - name: rbac.authorization.k8s.io/v1/clusterrolebindings
        - name: rbac.authorization.k8s.io/v1/clusterroles
        - name: apps/v1/daemonsets
          events: # Overrides 'source'.kubernetes.events
            - create
            - update
            - delete
            - error
          updateSetting:
            includeDiff: true
            fields:
              - spec.template.spec.containers[*].image
              - status.numberReady
        - name: batch/v1/jobs
          events: # Overrides 'source'.kubernetes.events
            - create
            - update
            - delete
            - error
          updateSetting:
            includeDiff: true
            fields:
              - spec.template.spec.containers[*].image
              - status.conditions[*].type
        - name: apps/v1/deployments
          events: # Overrides 'source'.kubernetes.events
            - create
            - update
            - delete
            - error
          updateSetting:
            includeDiff: true
            fields:
              - spec.template.spec.containers[*].image
              - status.availableReplicas
        - name: apps/v1/statefulsets
          events: # Overrides 'source'.kubernetes.events
            - create
            - update
            - delete
            - error
          updateSetting:
            includeDiff: true
            fields:
              - spec.template.spec.containers[*].image
              - status.readyReplicas
        ## Custom resource example
        # - name: velero.io/v1/backups
        #   namespaces:
        #     include:
        #       - ".*"
        #     exclude:
        #       -
        #   events:
        #     - create
        #     - update
        #     - delete
        #     - error
        #   updateSetting:
        #     includeDiff: true
        #     fields:
        #       - status.phase

  'k8s-err-events':
    displayName: "Kubernetes Errors"

    # -- Describes Kubernetes source configuration.
    kubernetes:
      # -- Describes namespaces for every Kubernetes resources you want to watch or exclude.
      # These namespaces are applied to every resource specified in the resources list.
      # However, every specified resource can override this by using its own namespaces object.
      namespaces: *k8s-events-namespaces

      # -- Describes events for every Kubernetes resources you want to watch or exclude.
      # These events are applied to every resource specified in the resources list.
      # However, every specified resource can override this by using its own events object.
      events:
        - error

      # -- Describes the Kubernetes resources you want to watch.
      # @default -- See the `values.yaml` file for full object.
      resources:
        - name: v1/pods
        - name: v1/services
        - name: networking.k8s.io/v1/ingresses
        - name: v1/nodes
        - name: v1/namespaces
        - name: v1/persistentvolumes
        - name: v1/persistentvolumeclaims
        - name: v1/configmaps
        - name: rbac.authorization.k8s.io/v1/roles
        - name: rbac.authorization.k8s.io/v1/rolebindings
        - name: rbac.authorization.k8s.io/v1/clusterrolebindings
        - name: rbac.authorization.k8s.io/v1/clusterroles
        - name: apps/v1/deployments
        - name: apps/v1/statefulsets
        - name: apps/v1/daemonsets
        - name: batch/v1/jobs

Export required variables

export BOTKUBE_SETTINGS_KUBECONFIG=$KUBE_CONFIG_PATH
export BOTKUBE_CONFIG_PATHS="$(pwd)/comm_config.yaml"

Run BotKube

go run cmd/botkube/main.go

Screenshots

Related issue(s)

Please add proper labels to this PR. Thanks!


fix size boundaries for unit vectors, simplexes, correlation/covariance matrixes

Summary:
Make sure these all have the right boundaries in Stan.
They need to be addressed in this repo as the problem is in the constrained variable transform code.  It may need some coordinated fixes in Math
Description:
The following should throw for argument 0 but not for argument 1:

[x] unit_vector
[x] simplex

There is no reason the following can't work for size 0 and size 1:

cov_matrix, corr_matrix, cholesky_factor, cholesky_factor_corr

I'm not sure if the multivariate distributions work for size 0, but the actual matrices should be OK.  For example, a correlation matrix is positive definite and has rows that sum to 1, so a size 0 one should meet those conditions.  For example, with correlation matrices of size zero, they're positive definite in the sense that all non-zero quadratic forms are non-zero and have all diagonal elements one because there are no diagonal elements.
Reproducible Steps:
As is, a bunch of these fail.  I think simplex[0] was fixed to throw.
Current Version:
v2.18.0

Thanks for bringing this up again---I hadn't realized it was still an issue.  I'll prioritize fixing this.

@edbaskerville You were right about the cause.  A bare return stan::math::simplex_constrain(vector(k - 1));.  I'm fixing it now.

Thanks for the quick turnaround!

Fixed with PR #2773.


discordgo.InteractionCreate.ApplicationData().Options is empty

As the title says, accessing the discordgo.InteractionCreate.ApplicationData().Options is giving an empty object, shown by running
options := i.ApplicationCommandData().Options
log.Printf("Options: %v", options)

This just outputs 2023/01/10 13:10:32 Options: [0xc00006ea00], outputting the map instead gives 2023/01/10 13:10:32 Value of OptionMap: map[]
The command is generated correctly, using
           {
			Name:        "test",
			Description: "Testing things",
			Options: []*discordgo.ApplicationCommandOption{
				{
					Name:        "test",
					Description: "ahhhhh",
					Type:        discordgo.ApplicationCommandOptionString,
					Required:    true,
				},
			},
		},

And I am supplying an argument to the option
Any and all help would be appreciated, I feel there should be at least something in the map?

It seems, you're using a 3rd party library. Which one?
OptionMap is not a standard field.

Sorry, forgot to say that the map I'm generating is created from this following code.
options := i.ApplicationCommandData().Options
optionMap := make(map[string]*discordgo.ApplicationCommandInteractionDataOption, len(options))
log.Printf("Value of OptionMap: %v", optionMap)

Ah, thank you
I'll close this, it was entirely my own fault, nothing on DiscordGo's side!


error  - AttributeError: 'Namespace' object has no attribute 'world'

any idea why this happens?
root@kali:~/Downloads/wifipicket-master# python -u wifipicket.py
[] Packet filter: (not type ctl) and (not type mgt subtype deauth)
[] Finding the most powerful interface...
[+] Starting monitor mode on wlan0
[*] wlan0 - 6e:02:2r:e0:4b:00
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "wifipicket.py", line 145, in channel_hop
maxChan = 11 if not args.world else 13
AttributeError: 'Namespace' object has no attribute 'world'
[!] Exception while sniffing. 'Namespace' object has no attribute 'world':<type 'exceptions.AttributeError'>
Traceback (most recent call last):
File "wifipicket.py", line 523, in
sniff(iface=mon_iface, store=0, prn=cb, filter=bpf)
File "/usr/local/lib/python2.7/dist-packages/scapy/sendrecv.py", line 944, in sniff
r = prn(p)
File "wifipicket.py", line 331, in cb
APs_add(clients_APs, APs, pkt, args.channel, args.world)
AttributeError: 'Namespace' object has no attribute 'world'
[!] 2 attempts left.
[!] Exception while sniffing. 'Namespace' object has no attribute 'world':<type 'exceptions.AttributeError'>
Traceback (most recent call last):
File "wifipicket.py", line 523, in
sniff(iface=mon_iface, store=0, prn=cb, filter=bpf)
File "/usr/local/lib/python2.7/dist-packages/scapy/sendrecv.py", line 944, in sniff
r = prn(p)
File "wifipicket.py", line 331, in cb
APs_add(clients_APs, APs, pkt, args.channel, args.world)
AttributeError: 'Namespace' object has no attribute 'world'
[!] 1 attempts left.
[!] Exception while sniffing. 'Namespace' object has no attribute 'world':<type 'exceptions.AttributeError'>
Traceback (most recent call last):
File "wifipicket.py", line 523, in
sniff(iface=mon_iface, store=0, prn=cb, filter=bpf)
File "/usr/local/lib/python2.7/dist-packages/scapy/sendrecv.py", line 944, in sniff
r = prn(p)
File "wifipicket.py", line 331, in cb
APs_add(clients_APs, APs, pkt, args.channel, args.world)
AttributeError: 'Namespace' object has no attribute 'world'
[!] 0 attempts left.
[!] Shutting down.

having the same issue


Can you share your YOLOX weight on Crowd + MOT+DanceTrack?

Thanks for the amazing work！
Can you share your YOLOX weight on Crowd + MOT+DanceTrack（HOTA 58.82% in DanceTrack）？Looking forward to your reply!

here, https://drive.google.com/drive/folders/16wsTMdKrsAbXFz7Bl7hpdoR8_n2PbBAb?usp=sharing

Hello, this weight seems to require access permissions. Can you pass my permissions？Thanks！

Thank you for sharing!


Date-specific models

First, thanks for this lib. We were using python interop in clojure to use tiktoken, I'm much happier with a jvm package to do it.
Are you interested in capturing the date-specific models (like gpt-4o-2024-08-06) in lib/src/main/java/com/knuddels/jtokkit/api/ModelType.java?  We use specific models when making chat requests and on it's own jtokkit doesn't tokenize for that because they're not specified in the ModelType enum. As it stands right now, I have to add in a little extra functionality to extract the "model family" from the specific model string.
If so, I'm happy to make this change and send in a PR.

An option is to use the EncodingRegistry.getEncodingForModel()
var encoding = defaultEncodingRegistry.getEncodingForModel("gpt-4o-2024-08-06");

which supports passing in Strings including specific models and returns the encoding.


Allow Firefox browser to play DRM video

Local test runs were failing in Firefox on any tests that try to play video. This fix sets the media plugins update to True instead of hanging on the plugin install.

To test:

Download the latest version of geckodriver: https://github.com/mozilla/geckodriver/releases
Extract, and move geckodriver to /usr/local/bin
Execute sst-run with any video test using -b Firefox

LGTM


Improve inline comments widget

I find that listing the participants in the comments header is a bit redundant, how useful is that?
Also, there should be links back to the GitHub web UI for each comment:

I've added a "copy" action to each comment. I don't have a better idea for what string to put where the "Participants" are currently listed though.

To verify:

Install the pre-release version of the extension
Open a comment
Verify that there's a copy action.
Verify that the copy action copies a link to the comment.

The usual pattern in these things is to create a hyperlink on the timestamp:

If we decide to stick to the icon, wouldn't a Share or Export icon make more sense? At a glance, the Copy icon makes me think it's about copying the comment content.

I don't have a better idea for what string to put where the "Participants" are currently listed though.

We could do the same as GitHub does:

RE icon: I don't find the export icon to be very descriptive for a copy command.

I'm certainly open to changing it though!
We do have the timestamp already (not as a link though):

The "roblourens reviewed 2 weeks ago" is associated with a review, which can consist of multiple comment threads. We could have it at the top of every thread associated with the comment thread, but I'm not sure that's more useful than listing the participants.


Telling xcarve-proxy where to reach xcarve-server

Is there some place to configure xcarve-proxy that tells it where to find xcarve-server on the network?
I have disabled the mac driver for Easel, and have xcarve-proxy started on my local machine and I see the listener on port 1338 on my local machine.
I have xcarve-server started on the RPi3 and see the listener on port 1338.
When I start my local copy of Easel, I can see attempts to connect to the local :1338 listener.
I don't see any probing of the network by my workstation to determine where the xcarve-server is running on the network.

xcarve-proxy uses bonjour/mdns to find the pi, and it expects to find  the pi at xcarve.local. this handled by the pi finder in the tutorial, but you can set the hostname of your pi to xcarve and it should find it after a reboot of your pi.

That worked, I added the following entry to /etc/hosts on my mac, where X.X.X.X is the IP of the RPi3.
X.X.X.X       xcarve.local xcarve


User permissions annotations

I added another change: https://github.com/vivid-planet/comet/pull/1434/commits/5cad18adc2cab8cfda50391221c56d3e9e19c9f7

@nsams please review


[PROPOSAL] Release standalone plugins, such as mapper-murmur3

Actual
At the moment opensearch server plugin packages are published nowhere.
Expected
Opensearch plugins should be published on the website and/or on the github repository. I mean to publish not just compiled jar file, but a zip acceptable by opensearch-plugin command line tool.
Example
When I needed to use mapper-murmur3 plugin, I was surprised that it is not shipped OOTB. After some googling I found a compiled binary of the plugin on maven - it was a jar file, but the command line tool rejected it. No info which format of the input is required, no info how the zip package should looks like, no info what should be in the plugin-descriptor.properties file inside this zip. Fortunately, I succeeded to build it and to install the plugin, but it is an extremely user-unfriendly way.
Please, consider creating the proper CI workflow which will create these packages and publish them. Thank you.

Looks like the question here is to publish plugin artifacts for community contributed plugins.
Which definitely makes sense and we should do it.
The first step is to publish maven artifacts for plugins in opensearch-project.
Ref: https://github.com/opensearch-project/opensearch-build/issues/184

[Triage] @bbarani can you look into this proposal and see how this could fit into our release process and schedule?

We have already released native plugins to artifacts.opensearch.org as part of every release starting 1.2.0. You should be able to install it directly using the plugin install command. You can also install the standalone plugin by passing the path of the Zip available within the manifest file of every distribution.
./opensearch-plugin install https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/1.2.3/295/linux/x64/builds/opensearch/plugins/opensearch-alerting-<IP_ADDRESS>.zip
You can refer to more details here - https://discuss.opendistrocommunity.dev/t/download-urls-for-plugins-not-listed-anywhere/8297/5?u=bbarani
We will work on uploading the zips to the artifacts.opensearch.org to support direct installation (without passing the URL) and you can track the status of that issue here #184


Add code coverage reporting and Dependabot

docs: add badges to README.md
ci: add .github/dependabot.yml
ci: add code coverage reporting

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b9b1e4e). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #30   +/-   ##
=========================================
  Coverage          ?   70.74%
=========================================
  Files             ?       19
  Lines             ?      882
  Branches          ?        0
=========================================
  Hits              ?      624
  Misses            ?      214
  Partials          ?       44

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b9b1e4e). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #30   +/-   ##
=========================================
  Coverage          ?   70.74%
=========================================
  Files             ?       19
  Lines             ?      882
  Branches          ?        0
=========================================
  Hits              ?      624
  Misses            ?      214
  Partials          ?       44


Building and running tests in a single command

This is a continuation of https://github.com/facebookincubator/buck2-change-detector/issues/3#issuecomment-1979723079.
The idea is to have a way of building all the targets and running all the tests that match a target pattern in a single invocation of buck2. This would be an improvement in terms of efficiency and convenience when testing changes, either locally or in CI. This is required because buck2 test does not build the targets that are not depended on by tests (e.g. binary targets that are not integration tested, or untested code).
@ndmitchell suggested adding a --build flag to test. I have started looking into implementing it and have two remarks:

I would appreciate pointers on how to best do it as I'm not yet familiar with the codebase.
It seems to me that a --test flag to buck2 build might make more sense for a couple of reasons:

buck2 build will have already built all the test targets, so we would "only" need to run them. On the other hand, doing the opposite means teaching buck2 test to build more targets. Of course, this is just my intuition, I don't know yet if it is actually simpler in implementation.
There are fewer options to buck2 test, so it would be easier to support them from buck2 build versus the other way around.

I am willing to do the work given a few hints, but if someone more familiar with the codebase wants to pick it up because it is quick enough, feel free to!

I have created https://github.com/facebook/buck2/pull/702 to add the flag, I'd appreciate any feedback/review.
Note that builds are not filtered by --exclude at the moment. I would like to implement that as a follow up, but my understanding is that DefaultInfo does not have a first class concept of labels like ExternalRunnerTestInfo does. Is that accurate, and if so, what would be the best way to get those labels to perform the filtering?

How about a bxl?

BXL is not user friendly (at least until https://github.com/facebook/buck2/issues/86 is addressed IMO), especially if it is shoved somewhere deep in the prelude.
Teaching buck2 build, buck2 test and buck2 run is simple and makes sense, and adding a flag is also straightforward enough. Telling people "use those first class commands day to day, and by the way use something completely different and advanced when you want to both build and test" is not a good experience to me.
Moreover, I would like the path of least resistance to be as close to what runs in CI (which is typically the right/canonical/source of truth way of building a project). Of course, CI has target determination and a few other things, but being able to run a single, first-class command that both builds and tests a project (ideally in all relevant configurations, but that's a separate issue) means that what devs run locally is closer to CI by default.
My experience is that many people default to using what is simpler: raw cmake/ctest vs the build script/command that sets up the right environment first, cargo test vs the xtask that does things "better", and I expect: buck2 test vs some BXL script that requires more typing and isn't well understood by everyone.

I'm not blocked, I have scripts the build then test and it's fine for now. I could turn that into a BXL script if I wanted to.
What I'm suggesting is at least a nice QOL improvement that fits in a +41/-26 commit. I'm not saying that the buck2 command should fulfill all of my needs out of the box, but we can also have nice things by default.


[ConstEval] Switch to tablegen pass generation

This switches the pass generation defintion to tablegen. The cleanup includes switching passes to follow the create*Pass naming convention.

We probably need to set the default target to llvm-cpu or vmvx. If the default target is not available, we can signal a failure.
https://github.com/iree-org/iree/blob/75ad9370d759f4557a68a8a97ea25508aafc6f42/compiler/src/iree/compiler/ConstEval/JitGlobals.cpp#L654-L662

Yes, sounds like this could be the issue, haven't looked closely into it yet. Thanks for the suggestion.

While we previously had
std::unique_ptr<OperationPass<ModuleOp>> createJitGlobalsPass() {
  return std::make_unique<JitGlobalsPass>(JitGlobalsOptions{});
}

the auto-generated impl generated with tablegen
std::unique_ptr<::mlir::Pass> createJitGlobalsPass() {
    return std::make_unique<DerivedT>();
  }

misses to initialize an empty JitGlobalsPassOptions. Since I couldn't find out if there is a suitable way to convince tablegen to generate a of createJitGlobalsPass() similar to what we had before, I instead introduced a delegating constructor.


Carousel component from 'Carbon for IBM.com Web Components with React' not loading properly on page load

Detailed description

Describe in detail the issue you're having.
On page load, the styling for the Carousel component takes a couple seconds to load.

Is this a feature request (new component, new icon), a bug, or a general
issue?
This is a bug.

Is this issue related to a specific component?
Yes, to the Carousel component from 'Carbon for IBM.com Web Components with React'. https://ibmdotcom-web-components-react.mybluemix.net/?path=/story/components-carousel--default

What did you expect to happen? What happened instead? What would you like to
see changed?
I expected that the component would load properly once page is loaded, but what happens is that its styling does not load for a couple of seconds. I would like to see its styling fully loading.

What browser are you working in?
Google Chrome Version 90.0.4430.212

What version of the NextJS template are you using?
10.1.3

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?
In this case, I'm working on ibm.com/events. No release dates.

Steps to reproduce the issue

Step one
Include Carousel component  on a project using NextJS template.

Step two
Run yarn build-export to generate build files.

Step three
Upload build files to testing/production environment.

Additional information

Screenshots or code

https://user-images.githubusercontent.com/51061825/119657999-056ad980-be03-11eb-9538-eb458b94a7af.mov

Notes
This issue only seems to happen when I upload the build files to wwwpreview or wwwstage. On localhost it seems to be working properly. The issue can be seen on this wwwpreview page: https://wwwpreview.ibm.com/events/

This issue has been fixed for the adopter.  The NextJS template has to be fixed.

window-or-global.readyState === 'interactive' || window-or-global.readyState === 'complete'
We have to use window-or-global There’s an example here with how we use it. https://github.com/carbon-design-system/carbon-for-ibm-dotcom/blob/master/packages/react/src/components/Masthead/Masthead.js#L25
packages/react/src/components/Masthead/Masthead.js:25


Should the gradient be calculated only for P_t(x), or for both P_{t-1}(x) and P_{t}(x)?

https://github.com/lgcnsai/PS-KD-Pytorch/blob/a0fceec51c3742515416f3ad1a2764cf4b321287/main.py#L481
https://github.com/lgcnsai/PS-KD-Pytorch/blob/a0fceec51c3742515416f3ad1a2764cf4b321287/main.py#L437
https://github.com/lgcnsai/PS-KD-Pytorch/blob/a0fceec51c3742515416f3ad1a2764cf4b321287/main.py#L446
Hi~ When reading Eq. (6) in the authors' interesting paper, I have a question whether the gradient should be calculated only for P_t(x), or for both P_{t-1}(x) and P_{t}(x).  It seems that the theoretical support (in the paper) is  presented based on the former, but the code is implemented following the latter.
Specifically, in the referred code Line 481, softmax_output is assigned to all_predictions[input_indices] without detach(). In the next epoch, all_predictions[input_indices] is used to calculated the soft_targets (see the referred code Line 437). Then, the loss is calculated by loss = criterion_CE_pskd(outputs, soft_targets), so loss.backward() will compute the gradient for both outputs and soft_targets, which correspond to P_{t}(x) and and  (1-\alpha)y+\alpha P_{t-1}(x) in the paper, respectively.
Is my understanding correct? or I have missed something?

Even without .detach(), soft_target variable had wrapped as torch.autograd.Variable() function.
https://github.com/lgcnsai/PS-KD-Pytorch/blob/a0fceec51c3742515416f3ad1a2764cf4b321287/main.py#L439
In torch.autograd.Variable(), grad_require is set to "False" by default. So it was confirmed that the gradient is not reflected when losss.backward() with soft_target in our PS-KD code.
To make it more clear, we are going to update the code to apply .detach() and do not use torch.autograd.Variable(). We also did an experiment with new code and confirmed that there is no problem in performance reproduction.
Through your good point, our code was able to be more clear. Thank you :)


let promises be unions

nightly build, September 7, 2016
currently in order for async/await to work it has to be a solid interface with a then method, await doesn't accept a union that has a callable then, please allow unions for promises
// tsconfig.json
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "noLib": true
    }
}

const enum PromisedKind { Resolved, Unresolved }

interface Thenable<a> {
    then<b>(onfulfilled?: (value: a) => b | Promise<b>, onrejected?: (reason: any) => b | Promise<b>): Promise<b>;
    then<b>(onfulfilled?: (value: a) => b | Promise<b>, onrejected?: (reason: any) => void): Promise<b>;
}

type Promise<a> = Resolved<a> | Unresolved<a>;

interface Resolved<a> extends Thenable<a> {
    kind: PromisedKind;
    value: a;
}

interface Unresolved<a> extends Thenable<a> {
    kind: PromisedKind;
    thens: { (value: a): void; }[];
}

interface Array<a> {}
interface Boolean {}
interface Function {}
interface Number {}
interface Object {}
interface RegExp {}
interface String {}
interface IArguments {}
var String: StringConstructor;
interface StringConstructor {
  new (value?: any): String;
  (value?: any): string;
  prototype: String;
  fromCharCode(...codes: number[]): string;
}

declare const value: Promise<number>;

async function test() {
    void value.then(x => { }); // <-- then exists and is callable
    return await value; // Operand for 'await' does not have a valid callable 'then' member.
}

Actually, you can await anything, not only promises.
It should behave as if you did await Promise.resolve(x) (note that if x was a promise already, Promise.resolve(x) should return x itself).

well, that's the specified JS behavior, of course

@jods4 I am not sure I understand this statement. JavaScript does not have interfaces.

@aluanhaddad I meant that JS supports awaiting any value, not only promises/thenable. It is not an error to await 4.

maybe it should raise a warning if you await something that cannot be a Promise/Thenable?

#8310

@Arnavion Thanks for the link. I see this was beaten to death in several issues already. So I guess we should be able to await anything!
I noticed @RyanCavanaugh said in that thread:

We clearly want to allow await T | Promise<T>

But as @aleksey-bykov says, the following code trips up the type checker:
let x: number | { then(): number };
async function f() {
	return await x;  // Error
}

I think that TS should distribute the await operation and deduce that the result is number | number, well number.

@jods sorry, it appears I misunderstood the context. Distributing the await is a nice idea but it seems to suggest different runtime semantics as you have already pointed out. That would introduce type based runtime behavior...

@aluanhaddad

it seems to suggest different runtime semantics as you have already pointed out

Not sure what you are referring to.
By 'distributing' I meant that the expression await (X | Promise<Y> | Thenable<Z>) should be valid and have type X | Y | Z.

Given that Promises are built-in type and well defined in the spec. changing what it means seems like an advanced option, and would be out of scope for the time being.


refactor: removed specific handlers for jsonrpc methods but added a shared method

Description:

Removed specific handlers for individual JSON-RPC methods, as they all follow the same flow. This PR adds a shared method capable of dynamically processing all supported relay methods in the WS server.
updated corresponded acceptance tests

Related issue(s):
Fixes #2472
Notes for reviewer:

Checklist

[x] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

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

Project coverage is 77.74%. Comparing base (07cb2d7) to head (3354368).
 Consider uploading reports for the commit 907e93b to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2469      +/-   ##
==========================================
+ Coverage   77.29%   77.74%   +0.45%
==========================================
  Files          40       27      -13
  Lines        3228     2584     -644
  Branches      663      545     -118
==========================================
- Hits         2495     2009     -486
+ Misses        524      410     -114
+ Partials      209      165      -44

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


Add a flag to explicitly log query

should we add this to magic-eye too?

For custom DC, will need to use the Bigtable in the custom project. I will do that in follow up changes.


speed up the unit tests

The full unit test suite runs for a really long time (14 minutes for JVM, 34 minutes for native, running in Github Actions). It's possible that we're using productionGroup() in places we could instead shoehorn in tinyGroup(), but that might not be easy.

Low hanging fruit: turning on the optimizer for the native builds?

Im timing the tests on my 6-core computer, from IntelliJ: "Tests in 'electionguard-kotlin-multiplatform.commonTest':
jvm: IntelliJ  reports "23 min, 31 sec", wall clock is about 3:12.
native:  IntelliJ  reports "19 min, 28 sec", wall clock is about 19:34. (not counting build)

14 minutes for JVM, 34 minutes for native, running in Github Actions
Github Actions probably runs on a 2-core CPU, roughly consistent with above.

So native is not using parallel tests. I looked if there was an obvious way to run parallel native tests, but didnt find anything.

Top tests are (jvm timings) about 15 minutes (out of 23)
RunDecryptBallotsTest		2:53
RunWorkflow			2:39
VerifierTest			2:32
RecoveredDecryptionTest		2:29
RunBatchEncryptionTest		2:28
CiphertextBallotVerifyTest	1:52

Current state of the tests
Jvm tests are run in parellel by junit5 across classes, but not within classes.
see junit.jupiter.execution.parallel.* settings in egklib build:
                systemProperties["junit.jupiter.execution.parallel.enabled"] = "true"
                systemProperties["junit.jupiter.execution.parallel.mode.default"] = "same_thread"
                systemProperties["junit.jupiter.execution.parallel.mode.classes.default"] =
                    "concurrent"

Native tests are run in series.
On my machine, it takes about 8 minutes to run egklib jvm tests (gradle jvmTest task), approx an hour for allTests (jvm and native)

Changed junit.jupiter.execution.parallel.mode.default = "concurrent" to make tests within classes run concurrently.
This will help most where you have lots of cores. Default behavior is to use all cores.
Added junit5 ParameterizedTest, but only works on jvmTests.
Time is now under 7 minutes now of 6 core machine. Hanging on 24 core windows, not sure why.

Also see #226


Pattern recognition

Is possibile with this component make a behaviour like fb messanger when we see an image like The circle that identify your person to send it to a service? Like a qrcode reader but with circle symbol?

I don't see this is a feature of the camera. A module that would do this would likely accept an image (or a stream) as an input, but it wouldn't explicitly be the job of the camera module. There's probably a larger discussion regarding the need to allow modules to communicate with each other to make this process easier.


Fix incorrect test_fractional_seconds

Reopened from https://github.com/mitsuhiko/babel/pull/103
Yes, this is broken on master.
There are two problems:

Bug in DateTimeFormat.format_frac_seconds() (https://github.com/mitsuhiko/babel/pull/102)
Bug in test_fractional_seconds, which checks format_frac_seconds()
Therefore, the master builds. This pull request fix only test

hey @afedotov89 , thanks for your contribution!
I'm not sure what to make of your PRs. If you think Babel behaves wrong, you'll want to file a bug report, if you want to change the tests please repair the functionality in the same run.

This was fixed by 6adfcea8bc2660d73de0c11f41c60115589efff6 (bug #350, PR #360).


Various fixes in "Not Completed" candidates

[x] Show the invitation date in this format: Jan 2, 2006, which is more readable. Allow sorting by it.
[x] Also, the validity date could be shown as expiring in X days instead.
[x] Add a link to resend invite.
[x] Add a link to Cancel invite.
[x] Only show candidates with valid invites.

Do you think validity date is of any use on this page?

Maybe. But, we probably do need a way to see the invalid invitations that were never taken -- so we could resend them, if need be.

This is done.


Some more checkstyle enablements

Purpose

Add checkstyle to some more moduless
Remarks

PR introduces (a) breaking change(s): yes
PR introduces (a) deprecation(s): <yes/no>

Hi, I added a small fix that hopefully will fix the checks.


Getting 2 high vulnerabilities in protractor-console module while doing npm audit

Issue: Getting 2 high vulnerabilities in protractor-console module while doing npm audit in installed node modules. Can you please fix it, due to security concern we scrap to use this module.

Same issue


Data provides evidence, software provides a tool.

Data provides evidence, software provides a tool
The title for the section minimize the impact of the software. Taking the previous comments in issue #18 . Probably can be rephrase to:
Data provides evidence, software provides knowledge
Knowledge is more broadly scope including visualisation, data analysis, etc. I don't think software is only a tool.

I was just about to enter a ticket too. I think that the statement as written implies that software is not evidential, but in far too many cases it is. Source code for a given tool, for example, provides evidence that the tool is running as expected and can, in the case of many government codes, be the basis for validation and verification arguments. We might argue that in that case "the software becomes data in a review," but that seems to be splitting hairs.

How about
Data provides factual evidence, software provides executable evidence and knowledge

I like that, I can make the changes and in my pull-request if you are happy with that.?

let's see what others think for a day, then either you or I can change it.

At the risk of making more work that we want to put in I think that this distinction does not add value to the objective of providing measurable properties that can be used as citation information for software. The intro paragraph provides a concise and usable definition for "software" that many will agree with. "Knowledge" is a harder concept to define and get agreement on.
I think that this project is better served by avoiding comparisons  of software with datasets (and data). Defining and illustrating citation properties for software seems like a more grounded approach. One way to proceed with this is to review and refer to the 2013 report of the CODATA-ICSTI Task Group on Data Citation Standards and Practices: "OUT OF CITE, OUT OF MIND: THE CURRENT STATE OF PRACTICE, POLICY, AND TECHNOLOGY FOR THE CITATION OF DATA" (http://doi.org/10.2481/dsj.OSOM13-043). In particular, Chapter 2 of this report has a thorough, up to date, set of definitions of the concepts and characteristics of scientific and technical data.
I have not worked this up, but I think that using the ICSTI report as a start for scientific and technical data and dataset properties might be a way of describing software artifacts, or provide properties that can be adapted. In addition, the ICSTI report also has a thorough description of the issues and challenges of data citation, some of which, I imagine, will also apply to software.
Perhaps this comment needs to be fleshed out in the Introduction. I am willing to write that up (and provide a pull request). Please let me know (1) if this fits with your vision and (2) the best ways to proceed. I think defining software citation properties is important.

I think that this project is better served by avoiding comparisons of software with datasets (and data).

Unfortunately, that's the point of this project (or at least this repo) :)
On one hand, I am fully convinced that software is not the same as data, and believe that these differences lead to differences between how data should be cited and how software should be cited.  More specifically, while we can treat software as a kind of data, doing so would be lossy. By taking advantage of the characteristics of software, we can have better citation practices than if we simply cited software as if it was data.
On the other hand, any specific suggestions on citation of software that you have are very much welcome.
I'm sorry that I'm not really answering your 2 questions, but I don't have a simple answer.

I think you have answered both questions.
I am interested in the work here from a metrics-based perspective. What are the persistent and measurable properties of scientific and technical software that can be used to support citation?
I will look through the ICSTI data citation report and pull out the properties that are defined and used in citations and post them here somewhere (do you have a suggestion?) else on this repo.
Having better citation practices for S&T software is important and needed.

HI @band - Has there been any progress on what you suggested above?  Otherwise, I would like to close this issue

@danielskatz short answer "no". I have been consumed full-time for the past 7+ weeks with a family emergency. I will not be able to pick this up for a while. If I pull something  together later we can figure out if it is useful then.


Bug: Pressing the left arrow key moves the cursor to the last cell of the table when there is an immutable element(contenteditable=false) immediately following the table.

Lexical version:0.20
Steps To Reproduce

Navigate to https://playground.lexical.dev/
Select "Insert" and choose a 5 by 5 table.
Click just below the table, then select "Insert" again and choose "Equation." After naming the equation, insert it.
Notice that the cursor is placed just after the inserted equation. Press the left arrow key or Shift+Left arrow key and observe that the cursor moves to the last cell of the table.

The current behavior
After pressing the left/Shift left, cursor moved to last cell of the table
The expected behavior
Pressing Shift+Left key should either select the equation or move the cursor to the beginning of the equation text.
https://github.com/user-attachments/assets/6993748b-3137-4f84-a73b-7e14692d8b22

I replaced your zip file recording with the mp4 itself. It's better to have these things inline, it's just more work for everyone to download a zip when they could've viewed the file directly from the issue.


Changes in the attached database server don't reflect on the corresponding server in the tree

Repro :

Attach a server.
Add/delete a database or collection
Navigate to the same server on the explorer tree.

Expected :
The operation is reflected there too.
Actual.
:(

This is expected behavior. There's no mapping between attached accounts and subscription accounts.
Closing this since it has an easy workaround (hit refresh) and the user is unlikely to be using both the attached account and the subscription account at the same time.


DOC: update documentation

This PR:

updates the docs theme to use the same as jdaviz
adds information on the index page briefly explaining lcviz and linking to jdaviz and lightkurve
copies (relevant) installation information from jdaviz
exposes API docs for plugins
links from each plugin to jdaviz/lightkurve, when applicable
provides user-API snippets for each of the plugins

This does not intend to be a comprehensive/final update to the docs, but just to get in shape for an initial release.  Areas that could still use improvement include:

add lcviz logo (once created)
screenshots/recording on splash page
extended descriptions for each plugin
development docs (anything that is lcviz-specific, otherwise point to jdaviz docs)

rendered docs

Merging as-is and can always continue to improve the docs.  Thanks for the ideas!


Remove setters

Part of #2184
Remove setters from support modules:

cookie

Build fail related to the changes?