It might be confusing to users that they need to click the save button before their code will actually work in the terminal

Describe the bug
The directions in index.js say to just
"// run node index.js in the terminal"
Maybe it should say
"// press save button and then do run node index.js in the terminal"
Because my code would not run until i pressed the save button in the upper left hand corner. In a time of autosave this took me about 10 minutes to figure out. I would worry about a new programmer thinking there is just something wrong with their code and giving up.
Link to the blitz that caused the error
https://stackblitz.com/edit/node-2wsqwd?file=index.js
Steps to reproduce
console.log hello world in index.js
Notice that running the run index.js command does not work
press the save button
it does work
Expected behavior
I would expect the directions to be more clear or perhaps it should not require actually saving for what is currently in the index.js file to be run.
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 109
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 84869690,
  "usedJSHeapSize": 79050838,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 531fb2e92e5ccee952ba7d51e833953c98c61706

Additional context
No response

Hi @kmwarter 👋 !

If you want, you can also turn on auto-save under settings, and change the compile trigger to Edit (auto).

While testing this I noticed some weird behaviour with the compile trigger though. The changes will reflect when running node index.js, but aren't persisted on our backend. Tracking this bug internally.


Migrate to CRD API version v1

Migrate the CustomResourceDefinition API interface from v1beta1 to v1 in preparation for Kubernetes 1.22 where the v1beta1 API has been deprecated and removed.

Do we have any CI somewhere that does upgrade tests we could get on board with?

An upgrade CI would be really good, especially for this. I want to try and coordinate this with changes along with SGO as I expect the SGO changes to look pretty small.
I will definitely have to test this going from one API version to another though. Our STF 1.2 to 1.3 upgrades were pretty bad from a customer perspective (I learned a bit too late in to the game about how to better handle transitioning / deprecating our own infra.watch API versions, which we could put in to STF 1.3 but I suspect the number of people who will do an upgrade is relatively small who haven't already).
As far as I can tell this should be a transparent migration, but I've been fooled before.

recheck

Wow that's odd, Github was showing me a lot more changes than are actually included here and I was commenting on those non-existent changes. Ignore those comment

Yea those changes were already merged to master last week :) You probably see them here a bit because of the merge / backport to stable-1.3 so that CI all works again.

There is a corresponding PR at https://github.com/infrawatch/smart-gateway-operator/pull/99 with a same-named branch so I'm re-running the functional CI with both sets of changes operational.

recheck

I'm dropping the backport labels from this as I think we'll have an STF 1.4 soon enough to not need to backport this.


Which branch to use for DGraph support

Astrograph is very cool project.
I got it running using postgres and docker-stellar-core and ran some queries.  Now I would like to use it to ingest ledgers into a dgraph server
I have 3 branches which has this support

chore/dgraph-live
dgraph
rns/dgraph

Which one should i use ?
The mastebranch does not seem to have a DGRAPH_URL mentioned in the document.
Any help would be appreciated.

I was able to get rnd/dgraph running.  I also see some messages on the console like below.  So im guessing it is trying to sync the schema in dgraph --
set this in the .env file - DGRAPH_URL=localhost:9080
But when i try to open the dgraph console http://<IP_ADDRESS>:8000/?latest -  schema is empty and even the queries error out -- is there anything  I need to do to initialize  dgraph ?
otal: 151ms. Breakdown: [{sync 151ms} {disk 0s} {proposals 0s} {advance 0s}] Num entries: 1. MustSync: true
server_1  | I0728 20:25:39.448747       1 server.go:273] Received ALTER op: schema:"\n  \n  order: int @index(int) .\n  key: string @index(hash) .\n  kind.setOption: string .\n  kind.payment: string .\n  kind.pathPayment: string .\n  kind.manageOffer: string .\n  kind.manageDatum: string .\n  kind.createAccount: string .\n  kind.changeTrust: string .\n  kind.allowTrust: string .\n\n  \n  ledger.id: int @index(int) .\n  ledger.prev: uid @reverse .\n  version: int .\n  base_fee: int .\n  base_reserve: int .\n  max_tx_set_size: int .\n  close_time: datetime @index(hour) .\n  _ingested: bool .\n\n  \n  account.id: string @index(exact) .\n  account.created_by: uid @reverse .\n  account.merged_into: uid @reverse .\n

Hi @sriramcms! Thank you for trying out Astrograph!
Yes, you picked the right branch for DGraph support. However, we ditched DGraph, and now we're working on using ElasticSearch as storage. We built the separate tool for ledgers ingesting, check out Astrologer
Speaking of the error you're struggling with, I guess, it's related to the DGraph version. DGraph team wanted to introduce [uid] schema type in 1.1 release, but it's still not there. We used the master branch of DGraph during development, so you can do so too

Thanks.


Get isVisible value before toggling AlwaysOnTop hint

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
Fixes #2851

[ ] windows testing
[x] linux testing

Tested on macOS, works as intended

Tested on Win 11, works


add very basic local dev run instructions

it's possible we want the nix way here as well, so I can take a stab at that, or feel free to just add a commit to this PR if that's easier...since I'm very inexperienced in le nix.

@lpmi-13 I added some thoughts. If you're happy with things, let me know and we can get this merged.

love it...ship it!


Adds test to AuctionViewController

This adds tests for the AuctionViewController. How? Let's break it down.

The auctions VC was referring directly to the AuctionNetworkModel, which is bad because we want to stub it (without subclassing, ew). So we confine the VC's reference to it to be a protocol that exposes just the functionality the VC needs. Then in our test, we create a new class that conforms to that protocol, but returns predictable results. Then we just DI that class in.
There's some repetition with the RefineViewController's tests, and I think it's worth looking into a Quick/Nimble-equivalent of itHasSnapshotsForDevicesWithName that'll stub the device and size class and everything. I'll open an issue.

  | 1 Error
------------- | ------------
    :no_entry_sign: | No CHANGELOG changes made

  | 1 Warning
------------- | ------------
    :warning: | Needs testing on a Phone if change is non-trivial

  Generated by :no_entry_sign: danger

Could tag this a #trivial in the pr title if you want danger to ignore the changelog requirement?

:green_apple:

Thanks!

My pleasure! It's fun to get into VC testing and Swift, especially in an app that's much more complex than Eidolon. Lots of things to learn and turn into patterns :smile_cat:


Read-in strategy: via cubedsphere or completely integrated?

I have now implemented a basic read-in function for the raw MITgcm data, which is completely based on @AaronDavidSchneider 's cubedsphere package. (Because the regridding is necessary anyway.)
Now the question arises: do we want to keep the GCMtools read-in function as a wrapper around the cubedsphere package? I am not sure if it makes much sense to have two separate packages, but maybe you guys have a different view?
Another aspect is the post-processing. Out of laziness, I just used the automatic post-processing in cubedsphere, but it might be useful and more flexible to implement this stuff into GCMtools instead.
Let me know what you think!

Fixed in PR #5


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #701 (6237f59) into main (8fe80e3) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #701   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       53       53
=======================================
  Hits          378      378
  Misses         17       17


Error: Cannot call value of non-function type 'HTTPURLResponse'

Error: Cannot call value of non-function type 'HTTPURLResponse'.
Problem is in the row "imageRequest.request.response" after updating to Swift 3.0
`   func getNetworkImage(_ urlString: String, completion: @escaping ((UIImage) -> Void)) -> (ImageRequest) {
let queue = decoder.queue.underlyingQueue
let request = Alamofire.request(urlString)
let imageRequest = ImageRequest(request: request)
    imageRequest.request.response(
        queue: queue,
        responseSerializer: Request.imageResponseSerializer(),
        completionHandler: { response in
            guard let image = response.result.value else {
                return
            }
            let decodeOperation = self.decodeImage(image) { image in
                completion(image)
                self.cacheImage(image, urlString: urlString)
            }
            imageRequest.decodeOperation = decodeOperation
        }
    )

    return imageRequest
}`

This type of compiler error is usually caused by something in your call to response no lining up with the compiler's type expectations. I would make sure everything in your codes has the type you think it does.
Otherwise, these types of questions are best suited for Stack Overflow and tag Alamofire. We use our GitHub project for bug reports and feature requests.
Best of luck! 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.

@elena-dare did you find the solution for this issue?
I want to do this:
request.response {(req, resp, _, _) in
}.resume()
the request is a Request (Alamofire) and i'm getting the same error:
Cannot call value of non-function type 'HTTPURLResponse'.


License?

Hey there, I'd like to use parts of this cheat sheet as a part of a larger work I'm writing. Would that be okay? Just checking since there's no license file/notice.
Thanks!

Yes, with attribution.  Please see https://creativecommons.org/licenses/by/4.0/


Fix documentation bug for Query Transfers

Documentation used AccountFilter flags instead of QueryFilter

Well spotted @jorispz thanks!
There's actually a bug in our sample code as well, I added a fix for that on top of your commint in https://github.com/tigerbeetle/tigerbeetle/pull/2306.
I am closing this PR as 2306 builds directly on it!


provide correct feature

I could swear I had a reason for making it "ats2-flycheck", but it was probably a dumb one anyway!

:-)


[BUG] The VM needs at least 10 minutes to automatically recover after a host failure

Describe the bug
Create a VM in a cluster consisting of three nodes and run it. And I forced shut down the node running the VM and deleted the pod.
At this point, the VM hasn't immediately auto-restarted, which could take more than 10 minutes.
To Reproduce
Steps to reproduce the behavior:

Change the setting vm-force-reset-policy period to fewer seconds, period: 30.
Create a VM.
Force shutdown of the node where the VM is running.
Waiting for the node to change not-ready state.
While the VM automatically recovers, this takes more than 10 minutes.

Expected behavior
Except to use less time to recover the VM.
Support bundle
longhorn-support-bundle_0654c6f1-8452-4cbf-becc-531c7a01703a_2023-06-07T03-17-55Z.zip
Environment

Harvester ISO version: v1.2.0-rc1
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
After investigation, we found that Kubernetes Controller-Manager must wait 6 minutes to delete the unavailable node VolumeAttachment and create a new node VolumeAttachment.
Only after CSI detects the new VolumeAttachment will it request the longhorn Volume, fix the status, and remount it to the node where the Pod is located.
https://github.com/kubernetes/kubernetes/blob/da1f52034eb3c405de1ca2dc0e1a6163e8a48f4f/pkg/controller/volume/attachdetach/reconciler/reconciler.go#L216-L293
Kubevirt node's heartbeat doc link:  https://kubevirt.io/user-guide/operations/unresponsive_nodes/#virt-handler-heartbeat
Workaround
Reduce the Node CR's heartbeat annotation by more the 5 minutes.
Delete VolumeAttachment before recreating Pod, and it can restore running within 1 minute.
Relate issue
LH: https://github.com/longhorn/longhorn/issues/6075

Tested in master-973a1a9a-head, verified as fixed.
Test Environment

Harvester

version: master-973a1a9a-head
profile: KVM, 3 nodes (8core/16G/250G for each node)
ui-source: Auto

Verification Steps

Change the setting vm-force-reset-policy from 300 to 30
Create a VM

Round 1 ($\color{green}{\textsf{PASSED}}$, takes about 3~4 mins)

Check VM (Currently on node-2)
Force power-off node-2
Waiting node-2 becomes not-ready
Waiting VM recovering, should use less time

Round 2 ($\color{green}{\textsf{PASSED}}$, takes about 3~4 mins)

Power-on node-2 and wait it becomes Active
Check VM (Currently on node-1)
Force power-off node-1
Waiting node-1 becomes not-ready
Waiting VM recovering, should use less time

Note

Issue can be reproduced on v1.1.2, it takes about 9~10 mins.
Phase 1 test video

poweroff-1.webm

Phase 2 test video

poweroff-2.webm

Tested in master-973a1a9a-head. By set vm-force-reset-policy.period to 10, VM restarts within 30s (~25.8s in average), verified as fixed.
Note that

vm-force-reset-policy controls the time to reschedule VM when its node turns to be NotReady. (Ref.)
VM bring-up time (Down -> Running) may vary on different hardware env.

Test Environment

Harvester

version: master-973a1a9a-head
profile: KVM, 3 nodes (8core/16G/250G for each node)
vm-force-reset-policy: { "enable": true, "period": 10 }

Verification
Steps

Change the setting vm-force-reset-policy.period to 10
Create a VM
Check all nodes and VM are both ready
Force power-off VM node
Wait system detects Node NotReady and record the time.
Wait for VM Running on new node and record the time.

Result
Time records for 5 test rounds

Round
Node Poweroff -> NotReady
Node NotReady -> VM Down
VM Down -> Running

1
~39s
~9s
~15s

2
~38s
~10s
~11s

3
~31s
~10s
~23s

4
~43s
~10s
~17s

5
~35s
~9s
~15s

avg.
37.2s
9.6s (matches vm-force-reset-policy.period)
16.2s (May vary on different env.)

Example
p10-1.webm

@albinsun
what's the ui,it's cool!  is it  open source ? can you share it to me?

@albinsun what's the ui,it's cool! is it open source ? can you share it to me?

Hi thanks for comment.
Not sure which part you are asking? :laughing:
Basically they are all utilities on my OpenSUSE KDE desktop.

Screen recorder is vokoscreen, also an opensource application
Others

@albinsun
thank you, all tools is very cool! I can't wait to try these tools anymore      :)


New Framework distribution - -[UIImageView setImageWithURL:placeholderImage:]: unrecognized selector sent to instance

I've just downloaded the new version with the new framework installation. This certainly simplifies the installation of SDWebImage for me.
But I am getting:
-[UIImageView setImageWithURL:placeholderImage:]: unrecognized selector sent to instance
When I try to use in - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
My file is a subclass of UITableViewController and includes:
#import <SDWebImage/UIImageView+WebCache.h>
Any ideas?
Thanks,
Andy

Guys, My issue is "Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton sd_setImageWithURL:forState:placeholderImage:]: unrecognized selector sent to instance 0x7f9853d55f50".How can i solve this?

@priya-vr is UIButton+WebCache.h & UIButton+WebCache.m included in your project

still issue exist,shows the error "[UIButton sd_cancelImageLoadOperationWithKey:]: unrecognized selector sent to instance 0x7f80b061c5c0".?

are these files included too? UIView+WebCacheOperation.h & UIView+WebCacheOperation.m
if not please make sure you have read the installation notes here

issue is solved by adding UIView+WebCacheOperation.h & UIView+WebCacheOperation.m.,
Thanks

Have you install cocoapods for this project
If no then please intall.

I installed through cocoapods, for me also its crashing.


[WIP] Add passEnv config option

Adds config option:
// next.config.js
module.exports = {
  passEnv: [
    'dockerHost',
    'apiEndpoint'
  ]
}

Will add support for reading dynamic process.env.apiEndpoint on both the server and the client at runtime.
Will also block build time env being set to something set in passEnv
TODO

[ ] process.env.__NEXT_ENV_PASS doesn't seem to be replaced at build :thinking:
[ ] tests

Note: this PR depends on https://github.com/zeit/next.js/pull/6260 so there are some diffs from that PR in this one (that will disappear once it's merged).

How do you see the following use-cases?
I want to access process.env.apiEndpoint both on server and client. But on server I want it to contain http://localhost:3000/ and on client I want it to contain / (or https://example.com/)
And by extension: take the previous use-case, but now I want to pass it through from the environment (docker), but only on the server.
Reason is that I'd like to do somethings like:
await fetch(new URL('/my/path', process.env.apiEndpoint));

But on the server, I just want it to access localhost, or an internal endpoint. On the client I want it to access the origin it is deployed behind.

@Janpot
await fetch(new URL('/my/path', window ? process.env.apiEndpoint : 'http://localhost:3000/'));

Note: using window might not always be the best option
apiEndpoint would need to be in the passEnv to pass it to the client.

Thanks for your answer, but to be honest, I wasn't really looking for a solution. Since you seem to be working on configuration of apps, I thought I'd present a use-case which seems to be quite common, but that can't be solved by using just your configuration solution. While it's definitely useful already, it seems a bit too limited to me.
I'd like the app to be as agnostic as possible of where it's running. That maximises the portability. My app doesn't need t know and act differently whether it's running on the server or in the browser (or electron, cloudflare worker, statically exported,...). I want to configure it externally, and it should just follow along.

But if I understand correctly, even with serverless, there will still be two bundles generated, one for the client, one for the "server"? (In case I'm misunderstanding how it works, you can dismiss the following)
In the ideal case I'd be able to somehow "mark" certain variables from env as "client only", "server only" or "shared". And same with passEnv "pass only to client", "pass only to server", "pass to both"

It's got to be passed to the server to be passed to the client. If it's server only, just use regular env variables without using envPass. This is for dynamic runtime values only. Use next.config.js's env for build time (which should be most cases).

It's got to be passed to the server to be passed to the client.

It passes through server, but that doesn't mean it has to populate process.env there.

Use next.config.js's env for build time (which should be most cases).

Which is exactly what I'm proposing to make configurable for server and client separately. I mean something along the lines of:
// next.config.js
module.exports = {
  env: {
    // available on server and client under process.env.var1
    var1: 'some value',
    // available on server and client as process.env.var2 but a different value on each
    var2: { server: 'some value', client: 'another value' }
  }
}

similarly, something could be set up for passEnv
// next.config.js
module.exports = {
  passEnv: {
    // passed through on server and client under process.env.var1
    var1: true,
    // only passed through on the server
    var2: 'server',
    // only passed through on the client (this is a bit more tricky but should be doable)
    var3: 'client'
  }
}

In this last example you'd probably only use the second and third form when there's also a value provided in env for the other environment.

@Janpot passEnv is only for passing env variables to the client. They're always going to be available on the server.

doesn't mean it has to populate process.env there

process.env is populated by Nodejs
As for differing client and server values for env, I'll need to look into that one more.

They're always going to be available on the server.

Oh sure, makes sense. Was assuming something like DefinePlugin would take over.

Going to close this as talked about with @dav-is. Having runtime configuration in a serverless environment generally ends up in behavior you don't want. If you do really need it there are ways to do it in userland using pages/_document and then hydrating the value on the client side, which is equivalent to what this PR would do.

Makes sense. Any love for compiling different values for the same process.env  variable depending on the environment (client, server)? I mean, that's exactly the original purpose of the concept of "environment variables", right?


Nondeterministic failures

I'm trying to use this with microsoft/snmalloc#588, but each run seems to have a high chance of one of the jobs failing by hitting the timeout.  The output looks as if it's just disconnecting.  Is it possible that the ssh connection is dropped under high load?  Would it be possible to run dtach in the VMs and reconnect if the session is dropped?

Do you have an example of a workflow run that shows it's failing?

I saw an example here https://github.com/microsoft/snmalloc/actions/runs/4124100375/jobs/7122943134 where the job is cancelled, but it looks like maybe the output just cut off for a while, prompting the cancellation request.

I don't think that no output would cause the workflow to be cancelled. It's hitting the timeout of 25 minutes. I've compared the above failing job with a successful job. I noticed that both Test 9 (func-first_operation-fast) and Test 10 (func-first_operation-check) timed out after 400 seconds (that's 6 minutes and 40 seconds). In the successful run they take slightly less than 5 seconds. I also noticed that there's no output for the last 15 minutes, before the job times out.
It's difficult to say what's the cause of this. There are many layers involved. I would hope that if the SSH connection drops an exception would be thrown and abort the action. To me it seems like the VM just stops doing work.

I added some more aggressive timeouts because they were taking a very long time in the cases where they didn't make progress.  This one hit the timeout (set to 25 minutes, a successful run takes <15): https://github.com/microsoft/snmalloc/actions/runs/4123711673/jobs/7122600447

Hmm, this one also stops making progress. I'll see if I can fork the repository and debug the issue.

For reference, the perf-contention-fast test takes <20s on the macOS runner, yet we sit waiting for timeout after 20 minutes on the FreeBSD VM on the macOS runner.  On FreeBSD on Hyper-V VM on a Xeon W-2155, that test takes a shade over 1s, so I can confirm that it doesn't hit any special weirdness with FreeBSD.

I'm getting a slightly similar issue with a couple of my actions where some random component either times out or stops on its own. This time, it was rsync: https://github.com/Slackadays/Clipboard/actions/runs/4154242313/jobs/7186806540

I forked snmalloc but I haven't been able to reproduce the issue yet.

As another data point, I noticed that my FreeBSD issues only happened when using macos-latest and not ubuntu-latest.

A more exciting failure today, the job succeeded, but the VM teardown failed and so the runner reported failure.

OpenBSD and FreeBSD uses the xhyve hypervisor on macOS. The xhyve hypervisor is probably not as battle tested as QEMU. I could add an option to allow selecting hypervisor. Then QEMU could be selected on macOS runners and it would support hardware accelerated virtualization, this should make the performance better compared to Linux runners and hopefully make it more stable.

@Slackadays @knightjoel I created a new release which supports selecting the hypervisor. Now it's possible to use QEMU (which is the default on Linux runners) on macOS runners for FreeBSD and OpenBSD.
https://github.com/cross-platform-actions/action/releases/tag/v0.11.0


Improve error messages for GHC compilation failures

Before, failed ghc_wrapper invocations would print a Python stack trace including the entire failed command (typically hundreds of lines long). By just returning a non-zero integer and not producing the requested output, Buck2 will realize the build failed and just print stdout/stderr (and the full command can be retrieved with buck2 log what-failed).

IMPORTANT: Please don't raise pull requests here, but at
facebook/buck2.
The prelude directory
is a mirror of this repo, but that repo also features CI tests and is more
actively monitored. Any PR's landing there will automatically show up here at
the same time.

we definitely need systematic ways to getting the logs from failed builds (and success as well). We also observe stdout from compilers is swallowed silently. Let's solve the problem altogether.

I've been discussing stdout output on the Buck2 Discord. My understanding so far is that Buck2 swallows stdout output for successful actions. For failed actions it will be displayed. The TCR README documents a query to access this output
$ buck2 log show | jq -r '
    .Event.data.SpanEnd.data.ActionExecution
    | try .commands[]
    | ( "exit: " + (.details.signed_exit_code|tostring)
      + "\nstdout:\n" + .details.stdout
      + "\nstderr:\n" + .details.stderr
      )
  '

I've rebased this PR and also added similar handling for the GHC metadata step. Many errors, e.g. syntax errors, will already be caught during the ghc -M invocation before we ever reach ghc_wrapper.py. This additional change ensure that users still get good error reporting in that case.


FileSystem.stat returns successfully but FileSystem.readFile fails

react-native: 0.70.6
react-native-file-access: 2.5.2
Platform: both
Bug
FileSystem.stat returns successfully
 LOG  FILE STAT : {"path":"/Users/arindamray/Library/Developer/CoreSimulator/Devices/534FEF3F-32FB-46B1-8A0E-0E1B8D5E736D/data/Containers/Data/Application/B37594E7-1C22-4B81-9F48-EAF5DBF768EE/tmp/react-native-image-crop-picker/1662E6FC-FE1C-4A44-9F98-564105871FE3.jpg","filename":"1662E6FC-FE1C-4A44-9F98-564105871FE3.jpg","size":25464,"lastModified":1675427357827.3997,"type":"file"}

But  FileSystem.readFile on the same file fails with
[Error: Failed to read '/Users/arindamray/Library/Developer/CoreSimulator/Devices/534FEF3F-32FB-46B1-8A0E-0E1B8D5E736D/data/Containers/Data/Application/B37594E7-1C22-4B81-9F48-EAF5DBF768EE/tmp/react-native-image-crop-picker/1662E6FC-FE1C-4A44-9F98-564105871FE3.jpg'.]

The perms on the file are -rw-r--r-- so reading should be possible.
The error message should be more descriptive on why it is failing.
To reproduce
I came across this behaviour in my mobile app that tries to move a local image to an s3 location.
It needs to read the contents of the file into a byte array before uploading to an s3 presigned URL.
I am not sure this is a bug but I saw no other way of asking about this than filing a bug.

I was trying to load the image with no encoding supplied. When I use base64 it seems to work.


esp32c3-generic: add simple boot support

Summary

esp32c3-generic: add simple boot support

The Simple Boot feature for Espressif chips is a method of booting that doesn't depend on a 2nd stage bootloader. Its not the intention to replace a 2nd stage bootloader such as MCUboot and ESP-IDF bootloader, but to have a minimal and straight-forward way of booting, and also simplify the building.
Impact

esp32c3-generic: This implementation changes the default bootloader configuration from MCUboot to the new Simple Boot method and removes the need for make bootloader build step. Also note that some of 2nd stage bootloader features, like OTA and security features, are not available using this method.

Testing
Internal CI testing.

@almir-okato is there support to use direct boot on ESP32 as well?

@almir-okato is there support to use direct boot on ESP32 as well?

Hi @alandeassis, I suppose that you are talking about that "Direct boot" feature from ESP32-C3, which depends on the chip ROM code, that is not available for ESP32.
Although the idea of omitting the 2nd stage bootloader is similar, the mentioned "Direct boot" is not equal "Simple boot", they differ in many levels such as image format and how/from where code is executed.
The "Simple boot" referenced in this PR is not implemented for ESP32 yet.


Bind with label formatter

One approach for fixing #282.
I had two basic approaches in mind for fixing this issue. One was to pass options down into each validator and ensure that the options are passed into formatLabel. This seemed too large of an impact and any custom or method validators which call default validators would have to remember to pass the options along to have any effect.
The second approach, and what I used here, was to add { options: options } to the context object used to call each validator. This worked like a charm and avoided a lot of validator modification; however, it turns out that the _.bind call (to bind default validators to a context object containing formatFunctions and defaultValidators) was interfering with this plan. I had to remove _.bind but write equivalent code (which looks for this === defaultValidators and replaces the context in that case only) to avoid problems. All tests are passing and #282 is fixed for ordinary validator cases; however, validators which call other validators will still not have labelFormatter be respected unless the validator is invoked with the correct calling context:
return Backbone.Validation.validators.length.call(this, value, attr, 4);

Without .call(this), functionality is no worse than it was (i.e., #282 is still broken in that case, but nothing else has regressed either). (Also remember that the first option, above, would have the same problem for people who didn't pass an options argument to the next validator.) The assumption is that this fix is still a net improvement and that the validator-calling-validators case is broken more because of accumulated tech debt and questionable design decisions rather than because of major flaws in the implementation of this pull request.

@chiefGui I'm gonna need you to look at this really carefully... If you don't like what I had to replace the _.bind code with, let me know and I'll start on the other approach I was going to take to fix #282.

I am analyzing—sorry for the delay. Will respond this soon.

Thanks @chiefGui.
The long-term solution, I think, is re-organizing the Backbone.Validation code to use instances more often. It seems to me like it tries really hard to be static, but then we do a lot of var ctx = /* ... */ to create a calling context per consumer. But that would be the best long-term fix at this point.


Use div or just image in renderSimpleIcon instead of anchor

Would like an option to opt out of using anchor for the icons as this can have a negative effect on seo looking for for crawlable links. Even adding a link still means that the item can be tabbed with the keyboard which would lead to a poor UX if someone is tabbing through my site.

The anchor tag as the root child of the cloud is a pattern that comes from tag canvas. Perhaps that could be cleaned up to not use eval #11 and not expect anchors.
Feel free to create a pull request with either of these changes.

export named 'fetchSimpleIcons'" indicates that the react-icon-cloud package does not export a function named fetchSimpleIcons.


HttpResponseImpl::renderToString assertion fails.

Describe the bug
Drogon fails with this assertion when accessing a file that has changed: ../lib/src/HttpResponseImpl.cc:352: std::shared_ptr<std::__cxx11::basc_string<char> > drogon::HttpResponseImpl::renderToString(): Assertion '_httpString' failed.
To Reproduce
I currently don't have a minimal example, unfortunately. The only thing I can say that it sometimes works and sometimes it fails... I will look into it more if the bug is hard to track down. Caching static content is enabled.

@mensinda I think this PR can fix this issue, please check it, thanks.
BTW: I found when I used multiple paramters to construct a IOThreadStrorage object, something was wrong in compilation, so I modified it.


Add note about using shader variants

This helps resolve feedback provided in https://github.com/Microsoft/MixedRealityToolkit-Unity/issues/2431#issuecomment-405685197 and the accompanying thread.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/holograms-210.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


troubles running Nemoh on linux

Hi all,
I downloaded Nemoh from the LHEEA website.
I am trying to run it from a Linux OS.
First I tried to use the makefile but there is an issue in the mesh.f90 file :
" **>> USE MIdentification

Fatal Error : can't open module file 'midentification.mod' for reading at (1) : no such file or directory**"

Do you have any idea how I can fix this ?
thanks !

Hi elieso,
On Nemoh user forum (http://lheea.ec-nantes.fr/redmine/projects/nemoh), another compilation problem has been reported several times recently: it seems to be due to mix-ups in the branches of the mercurial/git repository.
I'd suggest that you check if you have the right branch. Stable version is 2.03 and the source code can be found here: http://<IP_ADDRESS>/cgi-bin/hgweb.cgi/nemoh/archive/Nemoh_v2_03.tar.bz2

yes indeed I had the wrong version. The compilation works fine now. Thank you very much !
Another trouble though : I created an account to the Redmine forum but never received the activation email.
Is there any way to fix this ?

Please take a look at the "Contact us" box on
https://lheea.ec-nantes.fr/logiciels-et-brevets/nemoh-presentation-192863.kjsp
On Thu, 7 Jun 2018 at 10:08 elieso<EMAIL_ADDRESS>wrote:

yes indeed I had the wrong version. The compilation works fine now. Thank
you very much !
Another trouble though : I created an account to the Redmine forum but
never received the activation email.
Is there any way to fix this ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/LHEEA/Nemoh/issues/1#issuecomment-395349572, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Adr1KhvLpqJSao43kMfr6w-_RblpQp0bks5t6O2lgaJpZM4UcQVa
.


Access to the Stage Server - SSH Permission denied

I want to run a remote script on my Stage server from the Bitbucket Docker Machine.

I have an Public Key in Bitbucket Pipeline settings.
I added this key to the Stage Server authorized_keys  file.
I created a Pipeline Environment Variable CI_SSH_KEY wich contains the value of this key.
I have the pipeline.

image: docksal/bitbucket-pipelines-agent

pipelines:
  custom: # Pipelines that are triggered manually
    test:
      - step:
          script:
            - ssh<EMAIL_ADDRESS>echo 'Run Test Pipeline'

I have such error:
 ssh<EMAIL_ADDRESS>echo 'Run Test Pipeline'
Load key "/opt/atlassian/pipelines/agent/data/id_rsa": Permission denied
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).

What is wrong?

Take a look at the sample file included in the repo:
https://github.com/docksal/bitbucket-pipelines-agent/blob/develop/bitbucket-pipelines.yml
Executing commands on the remote server is done via ssh docker-host <command>.
Here's the SSH client config that makes it work that way: https://github.com/docksal/bitbucket-pipelines-agent/blob/develop/base/config/.ssh/config
There are certain defaults, that can be overridden via env variables. E.g. the default SSH user is ubuntu. This can be overridden via DOCKSAL_HOST_USER.

@lmakarov
Executing commands on the remote server is great.
What should the type of the remote server be?
Is it supposed having the shared local server?
Or It should be VPS better?

And please consider the primary question I just wanted to realize how to run a command on the remote Stage server without Docksal.
I do it with standard image: php:7.1.1 image, why I can not do it with docksal/bitbucket-pipelines-agent (please see the first message )?

Refinement:
Suddenly it works for docksal/bitbucket-pipelines-agent:1.0 but does not work for docksal/bitbucket-pipelines-agent:1.1. See error message in the first comment.
Why?

I do it with standard image: php:7.1.1 image, why I can not do it with docksal/bitbucket-pipelines-agent

docksal/bitbucket-pipelines-agent is for use with a Docksal Sandbox server - an experimental and unannounced feature. You should not expect this image to be aligned with the stock Docker php images. Though, we do have a PHP favor of the image: docksal/bitbucket-pipelines-agent:php
If image: php:7.1.1 serves you needs, then I'd suggest you use that.

Docksal Sandbox server?
image: php:7.1.1 does not contain SSH client out of the box.
And there is no slack integration.
I am interested in Behat Integration - https://github.com/docksal/bitbucket-pipelines-agent/issues/5

@ArtuGit is this issue still relevant?


Why does IPtProxy tell Snowflake Proxy to log to stderr

			logOutput = io.MultiWriter(os.Stderr, f)

can it please be stdio?

No idea. Copied from Snowflake? Changed!

Thanks - it was slightly annoying looking at error logs and seeing random snowflake diagnostic info there too


Refactor to support Terraform 0.7

I wanted to start working on Terraform 0.7  #conversion, so I made a small set of changes, only refactoring to lists for a few variables (internal subnets, external subnets and availability zones).
I am trying to gauge interest in converting more of the stack automation over to Terraform 0.7 to use data sources, and native lists/maps where possible.
I wasn't sure if this was desirable or not, but figured I would test the waters.

The list hacks are pretty horrible, definitely a welcome improvement for me. I am using lists on my fork now and I see this warnings about not using data:
  * template_file.cloud_config: using template_file as a resource is deprecated; consider using the data source instead
  * template_file.policy: using template_file as a resource is deprecated; consider using the data source instead

I do like this, I haven't gotten a chance to review this in-depth but @yields is moving us to 0.7 internally next week. I think he can help review and ensure everything look good!


Company and history endpoint not present on v5

Both 'company' and 'history' endpoint are not available through the v5 version of the API.

https://api.spacexdata.com/v5/company/
https://api.spacexdata.com/v5/history/

Going forward, grouped routes (/launches, /cores, etc...) will be individually versioned. Because the only schema change was in the /launches endpoint the only v5 endpoint is launches currently.


Appropriate message if url is not found.

Please do not delete config.example.js and do not stage package-lock.json. Recommit or cherry-pick.


fix(costmodels): Change action button text to 'Create cost model'

closes #1133

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1136   +/-   ##
=======================================
  Coverage   75.24%   75.24%
=======================================
  Files         228      228
  Lines        4408     4408
  Branches      833      833
=======================================
  Hits         3317     3317
  Misses        973      973
  Partials      118      118

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 be6583d...b587eb7. Read the comment docs.

looks good.


The jsxFactory option does not work as expected

{
	"compilerOptions": {
		"typeRoots": [
			"./node_modules/@types",
			"./types"
		],

		"types": [
			"node"
		],

		"lib": [
			"es2017",
			"esnext",
			"dom"
		],

		"target": "es2015",
		"module": "commonjs",
		"moduleResolution": "node",
		"allowSyntheticDefaultImports": false,

		"strict": true,
		"noImplicitReturns": true,
		"suppressImplicitAnyIndexErrors": true,
		"declaration": false,

		"emitDecoratorMetadata": true,
		"experimentalDecorators": true,
		"jsx": "react",
		"jsxFactory": "createElement",
		"downlevelIteration": true,
		"removeComments": false,
		"sourceMap": true
	},

	"exclude": [
		"./node_modules",
		"./files",
		"./cache"
	]
}

class Notifier {
	render () {
		return <div> </div>;
	}
};

➜ tsc
views/components/notifier/01/index.tsx(5,11): error TS2304: Cannot find name 'createElement'

import * as React from 'jsx-dom'; works fine.

Do you have
import { createElement } from 'jsx-dom';

in your file?

It does not matter. I mean there are 3 usage examples and I want to try the 2nd with tsconfig.json, but I can't due to some errors above. Or I misunderstood something... What does the jsxFactory option do?

Can you update to 4.3.0 and see if you can reproduce this issue?


REQUIRE does not compile when operator== in different namespace

Hi,
I have a simple equality that compiles normally but fails when placed within a REQUIRE.   This is a surprise to me, since I was hoping to replace many of my manual tests (which are based on  f ( a ==  b) ) by moving them into a REQUIRE.  (Aside, this same conditional compiles when  inside the equivalent CppUnit  macro).
To reproduce, please compile the file below.   I used gcc 7.5.0 on Ubuntu 18, doctest 2.4.1
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include "doctest.h"

namespace user {

struct label {
  label() : i(0) {}
  int i;
};

}

/* deliberately outside the user:: namespace */
bool operator==(const user::label& lhs, const user::label& rhs) {
  return lhs.i == rhs.i;
}

void foo() {
  user::label a;
  user::label b;

  if (a == b) return; /* this compiles */

  REQUIRE(a == b); /* does not compile */
}

Error:
g++   -Wfatal-errors  -pedantic -Wall --std=c++1z main.cc
In file included from main.cc:2:0:
doctest.h: In instantiation of ‘doctest::detail::Result doctest::detail::Expression_lhs<L>::operator==(const R&) [with R = user::label; L = const user::label&]’:
main.cc:26:3:   required from here
doctest.h:1149:32: error: no match for ‘operator==’ (operand types are ‘const user::label’ and ‘const user::label’)
 #define DOCTEST_CMP_EQ(l, r) l == r
                                ^
doctest.h:1044:20: note: in expansion of macro ‘DOCTEST_CMP_EQ’
         bool res = op_macro(lhs, rhs);                                                             \
                    ^~~~~~~~
doctest.h:1186:9: note: in expansion of macro ‘DOCTEST_DO_BINARY_EXPRESSION_COMPARISON’
         DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(==, " == ", DOCTEST_CMP_EQ) //!OCLINT bitwise operator in conditional

The declaration of the operator== outside the user namespace is significant; if I move it into user, everything does compiles.

Well, this isn't good... Catch2 handles this OK as well - only doctest doesn't. I'm curious what's the use case of having the operator== outside of the namespace?

I'm curious what's the use case of having the operator== outside of the namespace?

Am not sure.  I came across this code when porting a large project from cppunit to doctest, I don't think it was put in that other namespace  deliberately, more likely an accident.   But it never caused any problem, well, except as we port to doctest.
Fyi, the reason we prefer doctest over catch, is doctest support for threading, ie, calling REQUIRE from any thread.

closed thanks to #468 (merged in dev)


placards in About us section improved

Related Issue

Closes: #24
Description of Changes

Made the following changes:-

Added a shadow as a hover effect in placards to provide a slight 3D effect.
Set the opacity as a hover effect in placards to increase the overall appearance.
Removed the issue of overlapping of placards on navbar on hovering.

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots
Before
https://github.com/SrijanShovit/carbonops-v2/assets/104912087/6b684adf-47e4-4ed4-86be-06aec36f1610
After
https://github.com/SrijanShovit/carbonops-v2/assets/104912087/ba00348c-cb2e-44ab-aaff-deb8cb188862
@shreya024 @SrijanShovit Thank you for this opportunity.

@Anshika-Jain02 Resolve the conflicts and I'll merge


Prepare noise vs. particle event classifier model

Hi @asogaard can you assign me to this? I don't think I have permission to do it myself

This has been done, a model trained on 5 million level 2 events is saved in @kaareendrup's cluster account. Will soon be applied on the real data campaign SQLite database

Hi @kaareendrup and @BozianuLeon,
Can you confirm that this has indeed been done? Ideally, can you point to the relevant training scripts/model component that allows for training such a classifier? If this is indeed done, feel free to close the issue.

@BozianuLeon @kaareendrup

@asogaard @RasmusOrsoe I am closing this issue. With the implementation of multi-class classification (example found here), this has been done for noise, muons and particles for the 1% burn sample as well as the ~1 day.
Scripts for running on burn sample is done in the in the this analysis. Some scripts still exist locally on hep for now.


chore: 🤖 Updated to latest nx and moved to per-project-config

👋 Thanks for creating a pull request! 🚀 Checkout the storybook we created for it here.


Add explicit HuggingFace cache dir

Some of these datasets can be fairly large and I don't like the fact it's hard to figure out where HuggingFace is storing all of it.
I've set it to the default location in the code, but at least it's now explicit.
e.g. I have 2 partitions and HF ends up saving on the one that has only few GBs as opposed to few TBs.

hmm i feel like this change makes assumptions, and overrides possible pre-existing user configurations of cache dirs

Can you maybe give me an example? Like if they were hardcoding an env variable?
Because this is precisely what huggingface does behind the scenes, makes ~./.cache the default location and I haven't changed that, just made it explicit.


It seems that forcing lowercase letters makes it impossible to have uppercase letters in customer tags

hello there,
I have create a function to handle checklist as following:
function checkLisParser(block: CheckListBlock) {
  const items = block.data.items;
  const parsedItems = items.map(item => (
    `

      <Checkbox checked=${item.checked ? true : false} />

${item.text}

`
  )).join('');
  const html = `<div>${parsedItems}</div>`;
  return html;

it works, however, the  has been parsed to checkbox. Thus, I cannot use my component which I have created.
Is there sth I have missed? Thanks

You will also need to plug-in your parser like this, or it will be skipped over.
https://github.com/pavittarx/editorjs-html?tab=readme-ov-file#extend-for-custom-blocks


Internal information in a public repo

The deployment doc in this repo contains internal information that should not be in a public repository.

@alejdg happy to comply, ticket will be created in the backlog
out of curiosity what's in there that is so precious?

That is the information that was kindly provided by the IS:
Everything that makes reference to our infrastructure and the company's internal processes can't be in a public documentation. DEPLOYMENT.md contains too much of that type of information it should not be public. Examples:

Links to private repositories
the existence of bastions
how to ssh to bastions
name of environments
etc


Add name parameter to field level validation

The Field Level Validation example documents three parameters (value, allValues, and props) but the function accepts name as its fourth parameter. This appears to have been added in #3364; while the signature as updated in docs/api/Field.md, it was not updated in the examples.

Published in v8.0.0.


[CELEBORN-779] Fix sorted file size summary overflow.

What changes were proposed in this pull request?
To fix sorted file size summary counter overflow. Sorted file size summary can be larger than the integer's max value. It should be applied to branch-0.3, branch-0.2, and main branch.
Why are the changes needed?
This graph is incorrect.

Does this PR introduce any user-facing change?
NO.
How was this patch tested?
UT.

Only affects metrics?

Only affect metrics?

Yes, sorted file size summary is only used in metric. So there is no other side effects.

Does this PR introduce any user-facing change?

@FMX Please fill in this part, it's a user-facing change.

Does this PR introduce any user-facing change?

@FMX Please fill in this part, it's a user-facing change.

PR description updated.


Updated AESNI detection

@protz I can't tell which cpuid.h EverCrypt is supposed to #include. I currently need this to work with clang-7 on Ubuntu 16.04 and 18.04. Below is the bit if AESNI detection from Amaury, which, I think, should work for more systems, but I don't know what systems you need this to work with.

Can we merge or close this PR please ?

I think this is all being handled by verified Vale code as part of EverCrypt, thanks to @protz .

Correct. This can be closed and this code will cease to exist as soon as I merge.
~ jonathan

From: Bryan Parno<EMAIL_ADDRESS>Sent: Wednesday, December 5, 2018 2:14:21 PM
To: project-everest/hacl-star
Cc: Jonathan Protzenko; Review requested
Subject: Re: [project-everest/hacl-star] Updated AESNI detection (#130)
I think this is all being handled by verified Vale code as part of EverCrypt, thanks to @protzhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fprotz&data=02|01|protz%40microsoft.com|87cd5acd883549486fee08d65aff0205|72f988bf86f141af91ab2d7cd011db47|1|0|636796448633603431&sdata=hm9ner8MhTQAkMIpZvusg%2FgoEuC8Eo0xoQlRLduXsqY%3D&reserved=0 .
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fproject-everest%2Fhacl-star%2Fpull%2F130%23issuecomment-444671905&data=02|01|protz%40microsoft.com|87cd5acd883549486fee08d65aff0205|72f988bf86f141af91ab2d7cd011db47|1|0|636796448633603431&sdata=HvAVwyzM6lIlNhhdSOFCj77%2BGb2m5hBLguIOpe6bt%2Bk%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKLbmc6Fu0PCWX6gmWECdwJBglFxLc-8ks5u2EU9gaJpZM4X8QZM&data=02|01|protz%40microsoft.com|87cd5acd883549486fee08d65aff0205|72f988bf86f141af91ab2d7cd011db47|1|0|636796448633613440&sdata=VO0%2FaRrQmJN9BbS4WC8cNAIMBImUnEm4R3BVV0Yhawo%3D&reserved=0.

Thanks !


Do you have the finetuned checkpoints for UCF101?

I did not see the file in the Google Sheet. Thanks.

We put the models of the three splits in the box :
https://box.nju.edu.cn/d/d2ea47eaefe34d359318/

Thank you!

Thank you!


Update quest start and agility shortcut coordinates for WorldMap plugin

fixes #10327 and #10373

Updated to include #10373


Allow AMD iGPUs on windows

Windows ROCm handles shared memory vs discrete memory at runtime so we do not need a specially compiled runner
Partially addresses #2637 (windows only)
Marking draft until I can test on a few permutations of iGPUs with/without discrete GPUs.

Hey @dhiltgen, let me know if you need to someone to help you with testing. I have a AMD Ryzen 7 5700g in case you need it.

I couldn't find a GPU that actually worked and was supported.


[Bug?] Alert icon color mismatch with figma design

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Hi, we're currently trying to use the MUI Alert component but we found some mismatch between the colors of the icon, and we think we found the root cause.
Current behavior 😯
On Alert Component page, the success outlined and filled variant has an icon with color #4caf50, which is theme.palette.success.light in the default MUI theme

Expected behavior 🤔
However, on our MUI for Figma Material Pro v5.9.0 which should be similar to this community version, the color for the icon is #2E7D32, which is theme.palette.success.main in the default MUI theme

Context 🔦
Our design team is using the Figma version and they are confused because of this mismatch. We're hoping for both to use the same colors
We have also gone in and check for the code of the Alert component and it seems like this is because of this condition

Your environment 🌎
No response

1


new function savejson_fastfile to speed up exporting directly to files

I prepared an alternative function to savejson for the specific case when saving directly to files: savejson_fastfile, I'm also including a tiny fix in savejson to use "FileName" in the options field  (right now it mixes "filename" and "FileName" and makes it crash)
I'm also adding a simple Benchmark.m and representative data that I use often and that helped to identify this issue with the speed in savejson. You truly need to have very large datasets with thousands of cell entries including all sort of mixed structures.
When running in my Macbook pro as I write this, the speed of the test with savejson is 220.17 s vs 62.3 s with savejson_fastfile, giving an average speedup of 3.5X. This test is using 1000 cell entries, you can inspect the data to have an idea of the type of mixed entries I use. In regular basis, I have datasets with 30,000 or more cell entries as this one, so you can imagine why I was motivated to speed it up a little.
The larger is the data collection the more pronounced the difference becomes as concatenating so many strings creates a lot of dynamic reallocation of the memory. Using 2000 entries of my typical data savejson requires 824.9 s vs 112.58 with savejson_fastfile, then the speedup is 7.3x. Writing directly to file keeps the penalty costs linear, but with string concatenation the costs seems at least quadratic.
Thanks for sharing your library, by all means it has been very useful for my work. The produced JSON is imported in other libraries systems (such as .Net) with no issues.
savejson_fastfile.zip

@spichardo thanks for pointing out the efficiency issue from string concatenations.
As I mentioned in the File Exchange discussions, we have been focusing on optimizing loadjson because it was the (much) slower one between the two.  We haven't paid much attention to savejson because most data I tested were simple data structures.
I was able to download and run your test cases, and I confirm that the provided savejson_fastfile script is about 2x faster than the latest savejson in the git (45 s vs 92 s on an i7 Ubuntu box with ssd). However, the implementation in savejson_fastfile has limitations. It requires users to provide a file and file IO, and it can not return JSON strings directly in memory.
Since the key issue for the performance difference is the string concatenation, I was able to update savejson to use a more efficient way to combine strings. Here is my latest commit:
https://github.com/fangq/jsonlab/commit/5ae51f1130a0f5f617695a432dced9ae683da7ef
In this update, I replaced all sprintf() based string concatenation to string cell operations, and flatten the string cell once at the end of each sub-function. Such change essentially eliminate the overhead due to string concatenation (except for mat2json because we have user specified printing format).
With this updated savejson, I was able to cut the run time for your benchmark from 92 seconds to 39 seconds, ~15% faster than savejson_fastfile. The outputs are identical (except for a pair of empty square brackets due to other prior changes).
Can you try out the new savejson and let me know if this works for you?
Again, thank you for helping making savejson faster!

Excellent, I just tested it, and now definitively using cell concatenation  and then flattening gives a huge boost. Funny because I should have thought on that first myself since I used cell arrays precisely to facilitate dynamic growing with minimal impact to performance. Since myself I was purely focused in output files, that's the reason I thought in simply redirecting the output to files.
In my conditions with a double Xeon proc, the updated savejson takes 48.3s vs 53 s with savejson_fastfile, more importantly, when doubling the cell array to 2000, the penalty remains linear: 96 s with savejson vs 104.9s with savejson_fastfile
Thanks a lot for taking a look on this
Cheers

terrific, thanks for confirming.
I am closing this issue for now. I am pretty sure there are places in savejson can be further accelerated. Patches and suggestions are always welcome!


fixing bug if hook_point == hook_point_resid_final

If the SAE hook_point is the same as the hook_point_resid_final, an error is thrown since the code tries to pop the same value from the same dict twice. This PR adds a check to see if hook_point is the same as hook_point_resid_final and if so, just re-use the same value rather than trying to pop the value twice from ctx.

Makes sense, thanks!


Problem with

All articles delivered by this source https://oko.press/feed/ cannot be delivered properly. There is a problem with parsing article text. Safari reading mode works fine.

What is the issue?

Ah!
Safari Reader View and NetNewsWire Reader View are different technologies. We don't host our Reader View implementation and therefore don't have much control when it is unable to scrape article content.


JSONP method access is inconsistent

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
When using the web target, you cannot load chunks in node when using a fake DOM implementation like jsom. The JSONP function is defined correctly, as window["webpackJsonp"] but when it is called it is not accessed from the window object, simply webpackJsonp(, which is not defined.
Additionally, using the square bracket syntax for accessing the JSONP method will allow the user to use a name with dashes (or other special characters) in it.
If the current behavior is a bug, please provide the steps to reproduce.

Clone https://github.com/rorticus/webpack-jsonp-jsdom
npm i
npm run test

Result is webpackJsonp is not defined
What is the expected behavior?
The JSONP method should be called in the same way it is defined, as window["webpackJsonp"]. This will allow the web target to be used in node with a fake DOM.
If this is a feature request, what is motivation or use case for changing the behavior?
Using a single target, web, and letting us run the unit tests in node (with jsdom) and the browser would be 💯 .
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node: v7.10.1
Webpack: 3.5.6
OS: macOS 10.12.6

It's now consistent in the next branch


Epic: Automate docker static system with Ansible and AWX

Turning https://github.com/adoptium/infrastructure/issues/3306 into an epic.
What I would like to accomplish in this epic is to take our Docker Static setup and 'Ansibilise' it. The final product should be a system of playbooks and scripts which allow static container deployment via AWX or command line.
We have https://github.com/adoptium/infrastructure/blob/master/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/tasks/main.yml, but it is monolithic. I want to create something more modular, in which a user can choose which containers to deploy, which to remove, as well as an update to date inventory file containing a list of running containers.
Objectives, not necessarily in order:

[x] #3370
[x] Create job in AWX to deploy containers onto dockerhost machines (part of https://github.com/adoptium/infrastructure/issues/3370)
[x] #3506
[x] #3415

with port numbers
with jenkins node link
necessary information such as architecture, OS, etc

[ ] Create templates for dockerfiles, removing the need to have a different file for each new release of OS
[ ] #3507
[x] Documentation (should be done along the way)

OK - testing this on another aarch64 box using k3s. Noting that by default it doesn't work as non-root because exporting KUBECONFIG to be /etc/rancher/k3s/k3s.yaml is something that is not-world readable and gets reset on each restart. Also:

A simple make deploy doesn't work because the images being pulled (quay.io/ansible/awx-operator:x.y.z) appear to be x64 only, but they'll work under qemu emulation (Not ideal for production
Version 2.11.0 appears not to work - 2.10.0 deploys ok
kubectl logs was close to useless (but pointed me at the arch mismatch issue) kubectl describe is your friend for better status logs until you start the actual AWX deploy when kubectl logs -f is useful

I still need to figure out how to make /Vendor_Files into the appropriate container

Im going to close this epic. The 2 remaining issues can be worked on in later issues. The main objectives of this epic have been met


Olivia Zoe: Watch a10.me

Olivia Zoe requests the watch of the watch_keyword a10\.me. See the Metasmoke search here and the Stack Exchange search here.

a10\.me has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.087% when pulling c691b820dd7de752aa4b9f7275bf96e53f2520f1 on auto-blacklist-1523626824.2493913 into d79d64f63e4e82124748f7ffdee015d4810b1706 on master.

!!/approve


Music Assistant Server crashes when using the Sonos provider

What version of Music Assistant has the issue?
2.0.0b139
What version of the Home Assistant Integration have you got installed?
2024.4.0
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
MA addon stops few seconds after starting.
Whatchdog try to restart but at every start addon stops and I cannot interact with the UI.
This happen for sure with 2.0.0b139, 2.0.0b138, 2.0.0b137 and 2.0.0b136.
Older versions used to work but at the moment I cannot say wich version worked because I didn't use it for months.
How to reproduce
Just start the addon
Music Providers
I have no access to MA so I cannot neither try to use music providers
Player Providers
I have no access to MA so I cannot neither try to use player providers
Full log output
This is the few lines I downloaded in the few seconds before crash:
2024-04-19 23:53:20.579 INFO (MainThread) [music_assistant] Starting Music Assistant Server (2a755ddc32514389927fd71783cae30f) version 2.0.0b138 - HA add-on: True
2024-04-19 23:53:20.634 INFO (MainThread) [music_assistant.cache] Initializing cache controller...
2024-04-19 23:53:20.734 INFO (MainThread) [music_assistant.webserver] Starting server on  <IP_ADDRESS>:8095 - base url: http://<IP_ADDRESS>:8095
2024-04-19 23:53:20.935 INFO (MainThread) [music_assistant.music] Using a sync interval of 180 minutes.
2024-04-19 23:53:21.811 WARNING (MainThread) [music_assistant.webserver] Invalid command: players/all
2024-04-19 23:53:21.880 WARNING (MainThread) [music_assistant.webserver] Invalid command: music/recently_played_items
2024-04-19 23:53:22.797 WARNING (MainThread) [music_assistant.webserver] Invalid command: config/providers
2024-04-19 23:53:23.660 WARNING (MainThread) [music_assistant.webserver] Invalid command: config/core
2024-04-19 23:53:23.692 WARNING (MainThread) [music_assistant.webserver] Invalid command: players/all
2024-04-19 23:53:23.707 INFO (MainThread) [music_assistant.streams] Detected ffmpeg version 6.0.1 with libsoxr support
2024-04-19 23:53:23.708 INFO (MainThread) [music_assistant.streams] Starting server on  <IP_ADDRESS>:8097 - base url: http://<IP_ADDRESS>:8097
This is a more detailed log from HA core log:
log.txt
Additional information
I installed HA OS into a VM with 4GB of dedicated RAM and 2 virtual cpus with execution cap set on 100% (VirtualBox v. 5.1.18 (114002) installed on a server based on NAS4Free).
Everything works fine but this.
Older versions of MA on older version of MA core worked flawlessly.
I tried everything, I reinstalled many times integration deleting manually old folders but nothing worked.
My last chance is install everything from scratch but I'm trying to find a fix.
What version of Home Assistant Core are your running
2024.4.3
What type of installation are you running?
Home Assistant OS in a VM
On what type of hardware are you running?
VM Linux based

It is not clear what you have been doing as you use the term INTEGRATION  yet you supply the ADDON server version. You indicate you are using HAOS but not the integration? You mention removing folders yet that is not possible if you are talking about the addon which resides in its own docker container. You even mention MAOS at one point which isn’t a thing?  So please try again to explain exactly what you are doing.

It is not clear what you have been doing as you use the term INTEGRATION yet you supply the ADDON server version. You indicate you are using HAOS but not the integration? You mention removing folders yet that is not possible if you are talking about the addon which resides in its own docker container. You even mention MAOS at one point which isn’t a thing? So please try again to explain exactly what you are doing.

Thank you OzGav and sorry for my confusion, it's a fact. Please help me to understand.
I'll try to explain:
I'm using HAOS installed in a VM linux based. VM runs into VirtualBox that is running inside my server based on Nas4Free.
I installed HACS. Inside HACS I configured MA repository. After that I used HACS --> Custom Integrations and from there I installed the MA integration.
Then I started the integration and it suddenly stops after few seconds with the log provided (as I said everything worked flawlessly with old version of MA).
Hope I have cleared the situation.
Sorry again for the confusion.

Ok the integration (because you are running HAOS) will install the ADDON. So navigate to HA SETTINGS>>ADDONS>> MUSIC ASSISTANT and see if the ADDON is running. If it isn’t then try and remove it, restart HA and reinstall it.

Thank you @OzGav for clarifications.
As you said I navigated to HA SETTINGS>>ADDONS>> MUSIC ASSISTANT. ADDON was not running (as ever).
I uninstalled it (I made it dozens of times), restarted HA, reinstalled and restarted it.
Same result: after few seconds I found ADDON stopped. If I try to restart it, it starts for about 10 seconds than it stops.
:-(

Please advise what hardware you are running this on. How much RAM? Please edit your initial post and ATTACH the whole log. You have pasted the start of the log and then it looks like you have attached part of the log?

I edited the initial post to make it clear for everyone.
But i cannot find the whole log because addon closes in seconds and I cannot go into MA SETTINGS>>CORE.
In SETTINGS>>SYSTEM>>LOG>>MUSIC ASSISTANT BETA (I hope to have correct translated from italian) I only found this:
2024-04-20 22:12:18.892 INFO (MainThread) [music_assistant] Starting Music Assistant Server (62c090fc13b449f1923f28a1ed6f15c6) version 2.0.0b139 - HA add-on: True
2024-04-20 22:12:18.946 INFO (MainThread) [music_assistant.cache] Initializing cache controller...
2024-04-20 22:12:19.461 INFO (MainThread) [music_assistant.webserver] Starting server on  <IP_ADDRESS>:8095 - base url: http://<IP_ADDRESS>:8095
2024-04-20 22:12:19.682 INFO (MainThread) [music_assistant.music] Using a sync interval of 180 minutes.
2024-04-20 22:12:20.616 WARNING (MainThread) [music_assistant.webserver] Invalid command: players/all
2024-04-20 22:12:20.693 WARNING (MainThread) [music_assistant.webserver] Invalid command: music/recently_played_items
2024-04-20 22:12:22.416 INFO (MainThread) [music_assistant.streams] Detected ffmpeg version 6.0.1 with libsoxr support
2024-04-20 22:12:22.417 INFO (MainThread) [music_assistant.streams] Starting server on  <IP_ADDRESS>:8097 - base url: http://<IP_ADDRESS>:8097
If you can help me to provide a more detailed log I will post it.

After launching and after auto stopping I went into SYSTEM>>ADDONS>>MUSIC ASSISTANT>>LOG and I found this:
log.txt
The only strange thing that I notice is that servers IP are started with strange IPs:
2024-04-21 14:01:53.506 INFO (MainThread) [music_assistant.webserver] Starting server on  <IP_ADDRESS>:8095 - base url: http://<IP_ADDRESS>:8095
2024-04-21 14:01:56.712 INFO (MainThread) [music_assistant.streams] Starting server on  <IP_ADDRESS>:8097 - base url: http://<IP_ADDRESS>:8097
HA IP is the last (<IP_ADDRESS>).
I don't know if this can be related to my problem.
I've dug deep for hours but I cannot find a real issue in the logs.
The addon stops without errors apparently.

Also please advise what hardware this is running on? There is this report as well https://github.com/music-assistant/hass-music-assistant/issues/2110

As I said HA is running in a Linux VM.
The underlying hardware is a 	ASRock E350M1 with an integrated CPU AMD Dual-Core Zacate E350 with 16Gb of DDR RAM.
This is output of cat /proc/cpuinfo as well:
CPUInfo.txt
The report you indicated is interesting because last line of the log is the same (soco.data_structures_entry imported) so, as @marcelveldt said "at least its partially starting and then crashes".
The safe mode could be a good idea if introduced.
Another report that I found interesting because similar is this one: #1144
I'm available for any test.

I installed last version of addon 2.0.0b140 and here you are the new log with a new WARNING:
NewLog.txt

As you can read in my follow-up on #2110 I have added a safe mode to further diagnose this option.
This option is not yet available for the add-on. I'll add an option there as well.

OK, released a new version (b141) which also included the safe mode toggle on the add-on

I just tried, everything is fine!
I added local and remote share and it's ok.
Tomorrow I will try every provider and I will give you feedback about what it's causing troubles.
Thank you in advance,

I am experiencing exactly the same problem as @igorvita. It stopped starting a few weeks ago after some update. Since then I installed every update and checked the logs. I also tried to delete and reinstall MA and the integration, that did not change anything.
With the safe mode switched on, MA works for me now.
My setup is the recommended HAOS setup on a dedicated (old) laptop (as described in https://www.home-assistant.io/installation/generic-x86-64).
OS Version:               Home Assistant OS 11.4
Home Assistant Core:      2024.4.3
cpuinfo.txt
Please let me know if I can do anything to identify the problem and thanks for Music assitant!

So, when MA starts with safe mode on, its actually loaded without any provider loaded (what we call integration in the HA world). Now go to Settings --> Providers and click the 3 dots next to a provider and hit reload. That will actually load it. Do that one by one until you find the one that is crashing the entire container.

It's the SONOS player that is crashing

OK thanks for letting us know, so indeed the soco package then. I will have a look at changes in both that package and our implementation side of things

Are you also running Home Assistant on this same machine ?
It would be very interesting to see if that also crashes when you try to add the Sonos integration (which is using the same soco package as MA does)

I'm afraid to try... Is there a risk that HA will not boot anymore after installing Sonos integration?

I'm afraid to try... Is there a risk that HA will not boot anymore after installing Sonos integration?

Yes, there is - so be sure to have a backup.
Also you may want to try HA beta 2024.5.0b0 as that includes an update we applied to MA as well

Are you also running Home Assistant on this same machine ? It would be very interesting to see if that also crashes when you try to add the Sonos integration (which is using the same soco package as MA does)

I tried to add the Sonos integration, but that did not complete because I don't have Sonos devices. Sorry.

this should be fixed in beta 142 - but please test!

@igorvita please confirm if this has been fixed

I just updated to beta 143, MA is still crashing as soon as I add the Sonos Player.

@igorvita please confirm if this has been fixed

I update HA core to 2024.4.4 and MA to beta 143.
Rebooted HA.
Nothing changed: MA crashes 3 seconds after I try to add Sonos player exactly as showed in the video I posted above.

OK, looks like we have 2 issues then. There was also a segfault introduced in orjson 3.10.1
I had a quick peek at the soco library and that one is a whole beast on its own, including dependencies on some aging xml libraries. So like 999 different ways a hard crash could be induced. Soco also got updated recently so maybe we start with reverting that as well but it may also just be one of its dependencies. I suspect a side effect from one of the xml libraries.
I intend to switch to the newer sonos api's anyways (as the UPNP api is going to be phased out) so maybe this is reason to do that sooner.
Do both of you really use the Sonos provider ?

Do both of you really use the Sonos provider ?

I don't, for me, everything is fine now. I just try to help.
Thank you for your effort!

I don't use Sonos, neither.
With safe mode I'm ok but I'm here for every test you want I do.
Thank you a lot for your attention.

To sum up this issue. The Music Assistant container (or HA add-on) crashes on some older generation (Intel?) hardware when using the Sonos provider (which in turn uses the Soco python library), most likely due to some dependency (like one of the xml libraries) using CPU instructions not available on older gen x86 CPU's.
The crash seems to already happen as soon as the soco library is imported but we're not 100% sure about that.
Its really hard for us to exactly track what's going on without actual access to such hardware and the specific conditions.
Its a bit searching for a needle in some haystack. We will keep this issue open (and pinned) so people will at least know about this and they can choose to not use the Sonos provider. We have adjusted the code in Music Assistant that nothing will be imported when you did not add a provider to MA.
So workaround for now: Do not use the Sonos provider in MA when you run into this issue.
Longer term solution is going to be that we will switch away from the soco library in favor of the new Sonos api.

Hi everyone,
Believe I'm seeing this problem on my end as well. When you mention not having access to the hardware, I can volunteer to help triage / diagnose this if you wish.
I'm also unable to reset the sonos provider; the UI is completely unresponsive. I've tried removing the config via the integrations page to no avail; removed HA and reinstalled it and restarted core but same problem.

We can't fix this issue - The CPU is too old for some of the instructions needed nowadays.
A new Sonos provider is on the way that will bypass this issue (but will only work on S2 hardware).

Will be fixed when the new Sonos provider is finished

Please confirm this has been fixed with the release of the new Sonos provider in 2.2.0 beta 3

Closing assumed fixed

Closing assumed fixed


undefined method `receive' for nil:NilClass

there's an issue that looks related to your library that's being reported on travis-ci/travis.rb#476. It doesn't look like it's been reported here, so here am I posting the traceback:
    NoMethodError: undefined method `receive' for nil:NilClass
        from /usr/local/lib/ruby/gems/2.3.0/gems/pusher-client-0.6.2/lib/pusher-client/socket.rb:206:in `block in connect_internal'
        from /usr/local/lib/ruby/gems/2.3.0/gems/pusher-client-0.6.2/lib/pusher-client/socket.rb:205:in `loop'
        from /usr/local/lib/ruby/gems/2.3.0/gems/pusher-client-0.6.2/lib/pusher-client/socket.rb:205:in `connect_internal'
        from /usr/local/lib/ruby/gems/2.3.0/gems/pusher-client-0.6.2/lib/pusher-client/socket.rb:76:in `connect'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/client/listener.rb:123:in `listen'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/client/methods.rb:90:in `listen'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/client/artifact.rb:54:in `body'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/cli/logs.rb:39:in `display_log'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/cli/logs.rb:23:in `run'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/cli/command.rb:198:in `execute'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/lib/travis/cli.rb:64:in `run'
        from /usr/local/lib/ruby/gems/2.3.0/gems/travis-1.8.5/bin/travis:18:in `<top (required)>'
        from /usr/local/bin/travis:22:in `load'
        from /usr/local/bin/travis:22:in `<main>'

it's consistently happening each time one runs a travis logs while a build is in progress.

perhaps #46 fixes all this?


Type Check Errors After Updating To v0.15.0

Before you start, please make sure to:

[X] Read the document
[X] Have tried the latest version
[X] Search to see if your issue already exists
[X] Look for Q&A through appropriate channels like Stack Overflow

Link to minimal (but complete) reproduction

Describe the bug and steps to reproduce
After updating to v0.15.0 I get type check errors when using template refs, binding a class or binding mode

Steps to Reproduce:

Make sure that you configured and started the Vue language Server in your IDE
Upgrade json-editor-vue to v0.15.0
Refresh/Restart Vue Language Server (this step isn't necessary since the server auto refresh in most cases)

System Info
Binaries:
    Node: 20.11.1 - C:\Program Files\nodejs\node.EXE
    npm: 10.2.4 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Chromium (123.0.2420.97)
    Internet Explorer: 11.0.22621.1
  npmPackages:
    @babel/types: ^7.24.0 => 7.24.0
    @commitlint/cli: ^19.3.0 => 19.3.0
    @commitlint/config-conventional: ^19.2.2 => 19.2.2
    @types/lodash: ^4.17.0 => 4.17.0
    @types/node: ^20.12.7 => 20.12.7
    @typescript-eslint/eslint-plugin: ^7.7.1 => 7.7.1
    @typescript-eslint/parser: ^7.7.1 => 7.7.1
    @unhead/vue: ^1.9.7 => 1.9.7
    @vitejs/plugin-vue: ^5.0.4 => 5.0.4
    @vue/eslint-config-typescript: ^13.0.0 => 13.0.0
    @vue/language-server: ^2.0.14 => 2.0.14
    @vueuse/core: ^10.9.0 => 10.9.0
    @vueuse/integrations: ^10.9.0 => 10.9.0
    eslint: ^8.57.0 => 8.57.0
    eslint-config-prettier: ^9.1.0 => 9.1.0
    eslint-plugin-i:  2.29.1
    eslint-plugin-prettier: ^5.1.3 => 5.1.3
    eslint-plugin-vue: ^9.25.0 => 9.25.0
    eslint-plugin-vuetify: ^2.4.0 => 2.4.0
    husky: ^9.0.11 => 9.0.11
    json-editor-vue: ^0.15.0 => 0.15.0
    lint-staged: ^15.2.2 => 15.2.2
    lodash: ^4.17.21 => 4.17.21
    postcss-html: ^1.6.0 => 1.6.0
    prettier: ^3.2.5 => 3.2.5
    rollup-plugin-visualizer: ^5.12.0 => 5.12.0
    sass: ^1.75.0 => 1.75.0
    simple-access: ^2.0.3 => 2.0.3
    stylelint: ^16.4.0 => 16.4.0
    stylelint-config-prettier-scss: ^1.0.0 => 1.0.0
    stylelint-config-recess-order: ^5.0.1 => 5.0.1
    stylelint-config-recommended: ^14.0.0 => 14.0.0
    stylelint-config-recommended-scss: ^14.0.0 => 14.0.0
    stylelint-config-recommended-vue: ^1.5.0 => 1.5.0
    stylelint-prettier: ^5.0.0 => 5.0.0
    typescript: ^5.4.5 => 5.4.5
    unplugin-auto-import: ^0.17.5 => 0.17.5
    vite: ^5.2.10 => 5.2.10
    vite-plugin-vuetify: ^2.0.3 => 2.0.3
    vue: ^3.4.24 => 3.4.25
    vue-eslint-parser: ^9.4.2 => 9.4.2
    vue-router: ^4.3.2 => 4.3.2
    vue-tsc: ^2.0.14 => 2.0.14
    vuedraggable: ^4.1.0 => 4.1.0
    vuetify: ^3.5.17 => 3.5.17

Package Manager
npm

Please provide a minimal reproduction. You can put your VSCode settings into the ./.vscode/settings.json (it needs to be minimized) so that I can reproduce your issue.

I can reproduce this myself now. Any help will be welcome. I need TS expert! 😂

I can reproduce this myself now. Any help will be welcome. I need TS expert! 😂

I was planning to check it this weekend, will updated you about my findings or will make a PR if I figured out a fix


Fix MinRange intialization

Fix1: The standard function std::numeric_limits<float>::min() returns the lowest positive floating point value. this approach might fail to find the actual maximum in vectors containing only negative values.
The solution is to use std::numeric_limits<float>::lowest() instead

Thank you for the PR @meiravgri! Yup, this is indeed initialized wrong - numeric_limits::lowest has a difficult time sticking in my brain :smile:.
Before I merge this PR, can I ask you to fill out an appropriate CLA and email it to<EMAIL_ADDRESS>If that introduces too much overhead, I can fix this manually and push the updated code, but I'd prefer you get credit for your contribution!

Hey @hildebrandmw
I noticed in the contributing guidelines contributing guidelines that it can be signed via pull request. However, I couldn't locate this option. Could you please guide me on how to proceed with signing the CLA? If signing via email is required, could you clarify the expected format? I'm also wondering if a digital signature is acceptable. Thank you

@hildebrandmw Hi again :)
Found another small mistake in the decompressor of the residual (missing -1 in the denominator)

Hi! Sorry about the delay on our end. Finding an answer on what we can accept as far as CLAs are concerned is turning out to be more difficult than anticipated. I apologize for the delay and appreciate your patience! Thank you for the time you've put into looking through this!
I'm not as sure about the second proposed fix in the residual compressor (though I am very prepared to be wrong :smile:).
Ideally, we want the decompression of the primary plus residual to be expressed as a bit-shift of the primary added with the residual (for efficient implementation in hardware). Let $d$ be the decompression constant for the primary. Then, if $d^\prime = d / (2^n)$ is the decompression constant for the residual with $n$ bits of precision, the the combination of primary $p$ and residual $r$ becomes
\begin{align}
d \cdot p + d^\prime \cdot r &= d \cdot p + \frac{d}{2^n}\cdot r \\
    &= \frac{d}{2^n} \left( \underbrace{2^n \cdot p}_{\text{bit shift}} + r \right)
\end{align}

Now, this approach does result in some loss in accuracy when $r$ hits its maximum possible value due to clamping and the asymmetry of signed integers, which is unfortunate. This happens if a value is slightly less than halfway between two levels in the primary encoding.
 However, this is just an integer subtraction so it's not the end of the world. Plus, distance computations with combined primary and residuals occupies a small fraction of end-to-end querying time anyways.
As I am writing this, I am also realizing that the proposed choice of decompression has slightly less distortion on the high-end of the residual encoding due to the slightly coarser step size. We could do even better with the original scaling constant if we were willing to tweak the primary encoding for troublesome values, but it is not clear to me if the loss in accuracy of the primary encoding is worth it.
I'm curious: have you seen a noticeable increase in accuracy with this change? If we did go this route, we'd need to tweak several other places (here, here, and here) in order to try end-to-end runs.
Thanks again for your feedback and interest, I'll let you know as soon as I have information on this CLA business.

Hello again, I have some updates now! We don't have automation set up for CLA signing, so for now please fill out the appropriate CLA form (individual or entity) and email it to<EMAIL_ADDRESS>(see #29).
As for the second fix with the decompression constant, there is a bit more going on here. I have been viewing two-level LVQ as a single level of scalar quantization (where the second level simply adds more bits of precision) rather than as two successive applications of scalar quantization (which is what I believe this PR is going for). I think there is merit to both approaches. However, correctly switching over the implementation to cascaded scalar quantization will require a more thorough audit of the code and potentially break previously saved LVQ datasets.
Some (very) quick internal testing suggests that there is minimal accuracy difference between the two approaches on our datasets, but if you have a use case that is suffering from the current implementation, I am definitely open to changing it. We may want to change it anyways for the sake of consistency. Perhaps others have an opinion on this? @aguerreb, @marianotepper, @ibhati :smile:

Hi!
I'll send the CLA :)
Regarding the second fix. thanks for your detailed answer!
I based my suggestion on the understanding that the quantization function is applied to the residual value, as described in the article.
The quantization process of the residual operates with min = -d/2, max = d/2, and the intervals number is always 2^B-1
hence d' = d/(2^B-1)
(btw, if this fix is applicable, it should also be applied in vectors.h in ScaledBiasedWithResidual::get
Also, out of curiosity, and correct me if I'm wrong, but you chose to use a signed encoder since:
d' = d/(2^B-1)

Where we subtracted (2^B -1) to shift the interval step to fit within the signed range.
So using a signed type allows avoiding the addition and subtraction that sums up to zero.
I haven't tested it on a real dataset yet, I'm still in the process of understanding the main concepts.

Hello again! So you are right on both accounts :smile:. We think we should move towards treating two level LVQ as cascaded scalar quantization as described in the paper rather than the slightly different variation that is currently implemented (leading to the correct decompression scalar being $\frac{1}{2^B - 1}$). I think it is unlikely to affect performance or recall much, but it is probably worth doing.
This will mean we need to change the residual encoding to be unsigned rather than signed. The cancellation you observed only that allows signed numbers to work only applies when $\Delta^{\prime} = \frac{\Delta}{2^B}$ and not when $\Delta^{\prime} = \frac{\Delta}{2^B - 1}$.
How does this sound as a path forward: the replacement of numeric_limits::min with numeric_limits::lowest is very much correct (and I'll admit kind of an embarrassing mistake on my end). We would like to make the tweaks to the two-level LVQ reconstruction on our end as we have some internal tooling that will need to be tweaked and thus request this second change not be included in this PR. Is that acceptable?
I also want to reiterate how much I appreciate the time you have spent looking over the code and the questions you have brought up. Many thanks!

Regarding the alignment of the current implementation with the paper's approach, correct me if I'm wrong but except for the missing -1, it appears that the process of two-level LVQ is indeed in line with the methodology described in the paper.
The code snippet provided seems to follow the approach outlined in the paper: quantizing the residual using "global quantization" as opposed to LVQ applied on the vectors.
Compression requires computing r as r =  x - mu - Q, and to store the interval r/delta' (ignoring the slight drift caused due to r being signed).
for (size_t i = 0; i < primary.size(); ++i) {
    float difference = static_cast<float>(data[i]) - primary.get(i);
    auto v = crunch(compressor, difference, min_s, max_s);
    cv.set(v, i);
}

The decompression process of r involves multiplying the stored value by delta'
  float get(size_t i) const {
      float primary = primary_.get(i);
      float residual_step = primary_.get_scale() / std::pow(2, Residual) ;
      float residual = residual_.get(i) * residual_step;
      return primary + residual;
  }

Could you please provide further clarification on how the current implementation deviates from the methodology described in the paper?
I'll revert the denominator change as suggested, and I look forward to seeing the enhancements you make.
My pleasure to contribute! Thank you again for your thorough review and for addressing my questions.

Certainly! You are correct in your summary. As it currently stands, the implementation in the code differs from the paper in two regards: the slightly different $\Delta^\prime$ that you observed and (once that is corrected), the small drift due to using a signed encoding. I'm in the process of checking for any differences observed in accuracy or recall on our data sets and will let you know the result.
As for expanding on the details of a full fix - the decompression routine
float get(size_t i) const {
    float primary = primary_.get(i);
    float residual_step = primary_.get_scale() / std::pow(2, Residual);
    float residual = residual_.get(i) * residual_step;
    return primary + residual;
}

is mainly used for testing and reference implementations and not used for actual distance computations. This is because it's really quite slow (especially considering that underneath this is the actual extraction of the bit encodings).
Instead, we use a bunch of SIMD machinery to fuse the bit extraction, application of scaling constants, and steps to perform a given distance computation into a single optimized kernel (that's what all the unpack_as, apply_step etc. functions are setting up for. While the various compute_quantized do invoke quite a bit of templated machinery, the compilers are able to optimize/inline through most of this and generate pretty decent assembly. There are some caveats to this approach:

GCC tends to give up on optimizing the SIMD code when the kernels are inlined, leading to sub-optimal code generation (hence the use of the SVS_GCC_NOINLINE tag - GCC does fine when compiling these functions separately).
Clang (on the other hand), absolutely loves inlining everything which some times results in larger binaries.
Compile times are hilariously long, though I'd personally take that over writing SIMD kernels by hand.

It's mainly these computation kernels that need a bit more attention to properly transition.

@hildebrandmw
Can you please merge?

Sure! Thanks for your patience! #30 contains this PR and should preserve authorship. We have an internal repository with heavier CI resources (amongst other things) that we base this repository out of, so PR's on this end need to get routed through there (otherwise it becomes a nightmare to keep track of everything).
I'm still figuring out how all this tooling works. When we're satisfied that I didn't majorly mess anything up in #30, I will close this PR with a message pointing to the commit that merged it (again, assuming I did this correctly, it should keep you as the commit author as if we merged it directly). Apologies for this extra layer of indirection, but I'm trying my best within the constraints I have :smile:.

@hildebrandmw Got it. Thanks for the update! :)

This PR was merged in https://github.com/IntelLabs/ScalableVectorSearch/commit/a741a460d1c70aaabc10e8c0b047646f8252aec2.
Thanks again for your contribution!


add to and from fields

add the to and from fields to all TokenType constructors
increase the version number
update CHANGELOG.md

Hi @SametSahin10
Looks good though,
How you indent to use those values?

Hi @SametSahin10
Looks good though,
How you indent to use those values?

We'll show the from and to info on wallet action details in the Volt app.


Five changes:

When sizing an image, default to the actual size, not 0.
Handle strings (in CSS) containing non-ASCII characters.
More robust handling of file not found.
Extent the rgb command to also hangle the rgba command.  The fourth
parameter (transparency) is ignored.
In handling the TD tag, if the TD node has no children, it there is
nothing external to the node to define the width of the column.  Set
the width to the sum of the right and left margin.

These changes are great, have been annoying me, too. It's a shame that there is very little testing in xhtml2pdf, but if at least the 27% coverage pulls through, we know that much...


Atomic template, how to pass inputs?

Hey guys, I'm using Data Table (Atomic) Components
as shown here: https://teradata.github.io/covalent/#/components/data-table
I currently have a table that looks something like the following:

    <md-icon>comment</md-icon>
    Comments

    {{column.label}}

      <button md-button [class.mat-accent]="!row['comments']">{{row['comments'] || 'Add Comment'}}</button>

      {{column.format ? column.format(row[column.name]) : row[column.name]}}

How can I pass inputs into td-data-table for example, to enable rows being clickable or sortable ?
Thanks for your time and for the great set of components 👍

Is there a reason you are using the atomic components rather than the normal component? Since that behavior is not really included in the atomic components, it is built onto the td-data-table component.
Now one might argue that the atomic components should handle it too haha

Thanks for the reply, ok so let me explain you our use case,
We have a table of data where one of the columns is an image, I was using atomic components in order to be able to render the image rather than show the text. We also wanted to have a field be a tick or an x depending if the column's value was true or false. These are the reasons we needed custom components, the reason I need select or sortable is because I want to make this data table selectable so a user can select a couple of rows.
How hard would it be to implement it into the code, if you could point me in the right way I could look at creating a PR

Im pretty sure that u could handle your use case by using row templates as in one of the examples in the documentation, and by doing it you wouldnt use atomic components

As far as I'm aware, that still doesn't give me access to the tr-data-table-row which is a requirement for our use case. If it's possible could you let me know how I can access the tr-data-table-row with the ng-template

You have access to the row in the template.
Go into the demo's and check demo number 2.

  <ng-template tdDataTableTemplate="type" let-value="value" let-row="row" let-column="column">

      {{value}} // or {{row[column]}}
      <md-icon>star</md-icon>

  </ng-template>

You have access to the whole row, the cell value or the column name

Yes, I know you can access the value of row, the thing is I don't need the value of row, I need the tr dom element of the row (td-data-table-row)

Ah, gotcha.
To be honest i would not use a context-menu and have a icon at the end of the row with the menu. Since the material spec doesnt use context-menu that much, or at all to be honest.

I managed to get this working in the end and quite well, thanks once again for the great component set :)

You mind sharing something about your solution for future generations? 😜

In all fairness most of the issues I experienced were was due to misunderstanding how the component itself worked after taking a look at the components internally it helped clear most of my questions.
So we have a very specific use case to say the least, our table consisted of quite a few out of the ordinary things that you might see in a data table, we needed to display an live updating image in of the columns, the rest of them were normal data, if this didn't complicate it enough, each row in the table also needed to have it's own context menu (we used ngx-contextmenu). Instead of trying to put a Input into the data table instead with atomic templates what you have to do is loop through the array of data something like the following:

          {{column.label}}

            {{row.name}}

            {{row.status}}

            {{row.cpu}}

            {{row.ram | bytes}}

            {{row.storage | bytes}}