Feature Request: Quantized Mixtral

Glad to see Mixtral support in TensorRT-LLM! Unfortunately it doesn't seem to currently support AWQ with AMMO, as I get the following error with examples/quantization/quantize.py:
Traceback (most recent call last):
  File "/code/tensorrt_llm/examples/quantization/quantize.py", line 200, in <module>
    main()
  File "/code/tensorrt_llm/examples/quantization/quantize.py", line 192, in main
    model = quantize_and_export(model,
  File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/models/quantized/ammo.py", line 111, in quantize_and_export
    raise NotImplementedError(
NotImplementedError: Deploying quantized model MixtralForCausalLM is not supported

I'm sure you're aware of this, but I just wanted to create an issue for tracking quantization support.
Side note, but is there a reason that TensorRT only supports do-it-yourself quantization and not pre-quantized models like the TheBloke produces at Huggingface? I can imagine a lot of users who want to use quantization lack the memory capacity for full models, and you need over 100GB of VRAM to quantize a model like Mixtral.

vote +1

yes please, support for pre-quantized models from HuggingFace would be great.
i'm not even sure i can use multi-gpu setup for DIY quantization using TensorRT-LLM, as this file doesn't have such arguments:
examples/quantization/quantize.py
Also I was planning to use AWQ'd Mixtral as well when stumbled upon this issue.

Side note, but is there a reason that TensorRT only supports do-it-yourself quantization and not pre-quantized models like the TheBloke produces at Huggingface? I can imagine a lot of users who want to use quantization lack the memory capacity for full models, and you need over 100GB of VRAM to quantize a model like Mixtral.

Good question, this is a problem for me and it is something that I was wondering too.
In case it helps, I was able to quantize Mixtral 8x7B with GPTQ as I commented in https://github.com/NVIDIA/TensorRT-LLM/issues/1041#issuecomment-2018773287

Hi @atyshka , the latest nvidia-modelopt already supports the mixtral model quantization. Would u please have a try?
And do u still have further issue or question now? If not, we'll close it soon.


[FLINK-18592]-StreamingFileSink fails due to truncating HDFS file failure

[FLINK-18592]-StreamingFileSink fails due to truncating HDFS file failure

Hi @Alvin-WJ It seems the PR is submitted to your own repository, could you reopen a same PR in the Flink repository? When creating PR, you may need to choose the branch in the Flink repository as the comparison one.

HI @Alvin-WJ , how about that first copy the PR to the Flink repository ? Then we could first start the reviewing process and you could reply it when you are free.


Domain registration has expired

http://hntoplinks.com/ currently shows a GoDaddy landing page.

Thanks for the info, I have registered domain.


Bug: npx bddgen doesn't work correctly and don't create a .featureGen files if using in monorepo

Monorepo structure using nx-
Project
-------libs
-----------feature1
--------------------e2e
------------------------ .feature files
--------------------playwright.config.ts
-----------feature2 (same structure as above)
-----------tools
----------------playwright-tools
----------------------------------src
-------------------------------------config
-------------------------------------------playwright-shared.config.ts
-------------------------------------steps
------------------------------------------step-def-files

Given
I am running BDD tests to invoke the URL with the following configs (Directory structure above)
feature playwright.config file
import { nxE2EPreset } from '@nx/playwright/preset';
import { defineConfig } from '@playwright/test';

import { sharedConfig } from '@ppm/tools/playwright-tools/config/playwright-shared-config';
import { defineBddConfig } from 'playwright-bdd';

const testDir = defineBddConfig({
  features: '<path to feature file under this feature',
  steps: '<path to step definition files under playwright-tools folder>',
  verbose: true,
});

/**
 * See https://playwright.dev/docs/test-configuration.
 */
export default defineConfig({
  testDir,
  // NX defaults
  ...nxE2EPreset(__filename, { testDir: testDir }),

  // GIB shared default
  ...sharedConfig(),
});

Shared playwright config file -
import { defineConfig, devices } from '@playwright/test';

/**
 * @description Add common Playwright config here
 * @param options SharedOptions
 * @returns Shared Playwright config for common properties
 */
export function sharedConfig() {

  return defineConfig({
    /* Fail the build on CI if you accidentally left test.only in the source code. */
    forbidOnly: !!process.env.CI,

    /* Run tests in files in parallel */
    fullyParallel: true,

    /* Configure projects for major browsers */
    projects: [
      {
        name: 'chromium',
        use: {
          ...devices['Desktop Chrome'],
          ignoreHTTPSErrors: true,
        },
      },

    ],

    /* Reporter to use. See https://playwright.dev/docs/test-reporters */
    reporter: 'html',

    /* Retry on CI only */
    retries: process.env.CI ? 2 : 0,

    // testDir,

    /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
    use: {
      /* Base URL to use in actions like `await page.goto('/')`. */
      baseURL: 'https://localhost:3000',

      /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
      trace: 'on-first-retry',
    },

    /* Opt out of parallel tests on CI. */
    workers: process.env.CI ? 1 : undefined,
  });
}

When I ran the following command
npx bddgen --config <path to feature playwright file>

Then
It doesn't load feature or step files and shows count as 0
Loading steps: <Path to test-steps.ts>/test-steps.ts
Loading features: <path to feature file>/testPlaywright.feature
Resolved feature files: 0
Resolved step files: 0
Loaded steps: 0
Clearing output dir: <pathToOutputDir>\.features-gen\**\*.spec.js
Generating Playwright tests: 0

Although, it's loading the correct feature and test files
But I expect the following result
Loading features: ./e2e/*.feature
Resolved feature files: 1
  e2e\test.feature
Resolved step files: 1
  steps\test-steps.ts
Loaded steps: 3
Clearing output dir: .features-gen\**\*.spec.js
Generating Playwright tests: 1
  .features-gen\e2e\test.feature.spec.js

Environment

npx bddgen env --config libs/feature/shell
Playwright-bdd environment info:

platform: win32
node: v18.20.4
playwright-bdd: v7.5.0
@playwright/test: v1.48.2
@cucumber/cucumber: v10.0.1
Playwright config file: <path to feature folder>\playwright.config.ts

I assume it's because paths are resolved relative to config dir. Could you show exact paths that you use?
For the provided structure, bdd config should look like this:
const testDir = defineBddConfig({
  features: 'e2e/*.feature',
  steps: '../tools/playwright-tools/src/steps/*.ts',
  verbose: true,
});

Note: I've added some formatting to your original message.

Not a bug, closing this issue


Identifier for REST /loadtracks

When using a SoundCloud track ID as the identifier, the REST API returns nothing. Is this normal? Am I missing the proper identifier? (I checked by /decodetrack as well which returned the identifier - is that the only way to get SoundCloud info?) - I apologize if I'm missing something obvious! YouTube works fine.

/facepalm/ Didn't realize the identifier for SC was the whole URL.


TX2: Add flashing support

Change-type: patch
Signed-off-by: Alexandru Costache<EMAIL_ADDRESS>

leviathan-client-1  | [2022-08-08T14:46:20.589Z][a80ef30-os] DUT has rebooted & is back online
leviathan-client-1  | [2022-08-08T14:46:29.714Z][a80ef30-os]             # Filesystems have been marked dirty
leviathan-client-1  | [2022-08-08T14:46:29.715Z][a80ef30-os]             ok 5 - Filesystem state for resin-data should be 'clean'
leviathan-client-1  | [2022-08-08T14:46:29.781Z][a80ef30-os]             ok 6 - Filesystem state for resin-rootB should be 'clean'
leviathan-client-1  | [2022-08-08T14:46:29.787Z][a80ef30-os]             ok 7 - Filesystem state for resin-state should be 'clean'
leviathan-client-1  | [2022-08-08T14:46:30.949Z][a80ef30-os]             ok 8 - Filesystem state for resin-rootA should be 'clean'
leviathan-client-1  | [2022-08-08T14:46:30.950Z][a80ef30-os]             1..8
leviathan-client-1  | [2022-08-08T14:46:30.950Z][a80ef30-os]         ok 1 - ext4 filesystems are checked on boot # time=99058.787ms
leviathan-client-1  | [2022-08-08T14:46:30.951Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:46:30.952Z][a80ef30-os]         1..1
leviathan-client-1  | [2022-08-08T14:46:30.953Z][a80ef30-os]     ok 2 - fsck.ext4 tests # time=99064.896ms
leviathan-client-1  | [2022-08-08T14:46:30.953Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:46:40.146Z][a80ef30-os]     # Subtest: OS-release tests
leviathan-client-1  | [2022-08-08T14:46:40.146Z][a80ef30-os]         # Subtest: OS-release file check
leviathan-client-1  |             ok 1 - OS-release file should contain field ID
leviathan-client-1  | [2022-08-08T14:46:40.147Z][a80ef30-os]             ok 2 - OS-release file should contain field NAME
leviathan-client-1  | [2022-08-08T14:46:40.148Z][a80ef30-os]             ok 3 - OS-release file should contain field VERSION
leviathan-client-1  | [2022-08-08T14:46:40.148Z][a80ef30-os]             ok 4 - OS-release file should contain field VERSION_ID
leviathan-client-1  | [2022-08-08T14:46:40.149Z][a80ef30-os]             ok 5 - OS-release file should contain field PRETTY_NAME
leviathan-client-1  | [2022-08-08T14:46:40.149Z][a80ef30-os]             ok 6 - OS-release file should contain field MACHINE
leviathan-client-1  | [2022-08-08T14:46:40.151Z][a80ef30-os]             ok 7 - OS-release file should contain field META_BALENA_VERSION
leviathan-client-1  | [2022-08-08T14:46:40.152Z][a80ef30-os]             ok 8 - OS-release file should contain field SLUG
leviathan-client-1  | [2022-08-08T14:46:40.152Z][a80ef30-os]             ok 9 - SLUG field should contain jetson-tx2
leviathan-client-1  | [2022-08-08T14:46:40.152Z][a80ef30-os]             1..9
leviathan-client-1  | [2022-08-08T14:46:40.152Z][a80ef30-os]         ok 1 - OS-release file check # time=9190.474ms
leviathan-client-1  | [2022-08-08T14:46:40.152Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:46:40.153Z][a80ef30-os]         1..1
leviathan-client-1  | [2022-08-08T14:46:40.153Z][a80ef30-os]     ok 3 - OS-release tests # time=9193.696ms
leviathan-client-1  | [2022-08-08T14:46:40.154Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:47:08.202Z][a80ef30-os]     # Subtest: issue tests
leviathan-client-1  | [2022-08-08T14:47:08.203Z][a80ef30-os]         # Subtest: issue file check
leviathan-client-1  |             ok 1 - issue should contain distribution balenaOS
leviathan-client-1  | [2022-08-08T14:47:08.204Z][a80ef30-os]             ok 2 - issue should contain version 2.98.33
leviathan-client-1  |             1..2
leviathan-client-1  |         ok 1 - issue file check # time=28045.497ms
leviathan-client-1  | [2022-08-08T14:47:39.542Z][a80ef30-os]         # Subtest: issue.net file check
leviathan-client-1  | [2022-08-08T14:47:39.542Z][a80ef30-os]             ok 1 - issue.net should contain distribution balenaOS
leviathan-client-1  | [2022-08-08T14:47:39.543Z][a80ef30-os]             ok 2 - issue.net should contain version 2.98.33
leviathan-client-1  | [2022-08-08T14:47:39.543Z][a80ef30-os]             1..2
leviathan-client-1  | [2022-08-08T14:47:39.543Z][a80ef30-os]         ok 2 - issue.net file check # time=31336.06ms
leviathan-client-1  | [2022-08-08T14:47:39.543Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:47:39.544Z][a80ef30-os]         1..2
leviathan-client-1  | [2022-08-08T14:47:39.544Z][a80ef30-os]     ok 4 - issue tests # time=59389.784ms
leviathan-client-1  | [2022-08-08T14:47:39.550Z][a80ef30-os]     # Subtest: chrony tests
leviathan-client-1  | [2022-08-08T14:47:39.550Z][a80ef30-os]         # Subtest: Chronyd service
leviathan-client-1  |             # checking for chronyd service...
leviathan-client-1  | [2022-08-08T14:47:58.229Z][a80ef30-os]             ok 1 - Chronyd service should be running
leviathan-client-1  | [2022-08-08T14:47:58.229Z][a80ef30-os]             1..1
leviathan-client-1  | [2022-08-08T14:47:58.230Z][a80ef30-os]         ok 1 - Chronyd service # time=18680.018ms
leviathan-client-1  | [2022-08-08T14:47:58.230Z][a80ef30-os]
leviathan-client-1  | [2022-08-08T14:47:58.232Z][a80ef30-os]         # Subtest: Sync test
leviathan-client-1  | [2022-08-08T14:47:58.232Z][a80ef30-os]             # checking system clock synchronized...
leviathan-client-1  | [2022-08-08T14:48:18.709Z][a80ef30-os]             ok 1 - System clock should be synchronized
leviathan-client-1  | [2022-08-08T14:48:18.709Z][a80ef30-os]             1..1
leviathan-client-1  | [2022-08-08T14:48:18.710Z][a80ef30-os]         ok 2 - Sync test # time=20477.958ms

@balena-ci I self-certify!


Fs 1859 centralize form config

adding english and welsh keys and values to form conifg

Please bump the version!


Infinsipan failing with Quarkus 3.3.1

Bug description
Error is
Caused by: java.lang.NoSuchMethodError: 'org.infinispan.client.hotrod.configuration.ConfigurationBuilder org.infinispan.client.hotrod.configuration.ConfigurationBuilder.read(org.infinispan.client.hotrod.configuration.Configuration)'
	at org.apache.camel.component.infinispan.remote.InfinispanRemoteAggregationRepository.doStart(InfinispanRemoteAggregationRepository.java:65)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:113)

Hello @karesti, can you help with this?

Disabling tests not working either because GraalVm is detecting the missing method on build time
Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.infinispan.client.hotrod.configuration.ConfigurationBuilder.read(org.infinispan.client.hotrod.configuration.Configuration). This error is reported at image build time because class org.apache.camel.component.infinispan.remote.InfinispanRemoteAggregationRepository is registered for linking at image build time by command line

@zbendhiba unless this can wait for monday, ask the team @tristantarrant @wburns

We're making the change in 14.0.15.Final, so that's not an issue.

I think we're good since 3.4.x. Tests were enabled again and are passing.


Add option "set as local" to shared albums

Shared albums remain in the cloud for the recipient. When offline or with bad reception it would be good to have the shared albums on the local device.

That's a very good idea!


selectors corner resize handles don't work

make a selection
move it using the NE, NW or SW resize handles (SE works fine, strangely)
note that all four sides of the selection move -- if you try to move the handle a lot, the selection shrinks to 0x0 size.

Assigning you, @jazzido, since this involves the new selector widget. (It's only in the feature/newUI branch, not in feature/backbone-newLassoWidget, FWIW)

You know what, I think I might actually know what the problem is.

Hmm, no, never mind, that (overlapping resize handles) wasn't it.
I assume it may be positioning related again.

Fixed it (accidentally) in https://github.com/tabulapdf/tabula/commit/9277c10196afca72b450b1268481ae51b8af5475 and https://github.com/tabulapdf/tabula/commit/f919759ecb23df2b05ef9473d63c29087b40ae72


HTTP 204 should signify a successful chunk upload

As per wikipedia:

204 is used when the request succeeded, but the server doesn't have anything to say in response.  Perfect for chunking where every chunk doesn't necessarily merit a response body.

Yup, I think this is addressed in the README -- and discussed here: https://github.com/23/resumable.js/issues/160

Does the library currently accept 204?

Was just looking at that, and I actually don't know why the code wasn't updated to reflect the recommendation -- I have done so now.

Awesome.  Sorry, I had seen the discussion and gave the code a glance but couldn't see anything that sniffed out 204, which is why I asked.
Glad I did! :)


Allow forced renders in @storybook/html

Issue: #5017
What I did
This PR adds the ability to setup an html object parameter to control whether force re-renders are allowed or not like this:
// .storybook/config.js
import { configure, addParameters } from '@storybook/html';

addParameters({
  html: {
    preventForcedRender: false, // or true
  }
});

// ...

This addresses a change introduced in #4822. I understand the rationale around it, but right now it is just preventing @storybook/html to re-render stories returning a DOM node, which looks much more like a bug than a feature on  normal use cases.
How to test
I added a test story in examples/html-kitchen-sink/stories/addon-knobs.stories.js (Addons > Knobs > DOM) and the relevant configuration to examples/html-kitchen-sink/.storybook/config.js

@Atekon I think this is good to merge, but after releasing this you'll likely have to update your stories.
Technically a breaking change. WDYT, about releasing this in 5.1 though?


Prevent sigstore-java from using "project" version when applied self

When we apply sigstore-gradle-sign-plugin in build logic the sigstoreClientClasspath always wants to use the project dependency instead of the expected sigstore-java dependency of the plugin.
$ ./gradlew sigstore-java:dependencies --configuration sigstoreClientClasspath

> Task :sigstore-java:dependencies

------------------------------------------------------------
Project ':sigstore-java' - A Java client for signing and verifying using Sigstore
------------------------------------------------------------

sigstoreClientClasspath - Resolves Sigstore dependencies
+--- dev.sigstore:sigstore-java:0.7.0 -> project :sigstore-java (*)

see +--- dev.sigstore:sigstore-java:0.7.0 -> project :sigstore-java (*)
This can cause incompatibilities. Especially since the sigstore-gradle-sign-plugin version is 0.7.0.
This wouldn't be an issue once we're 1.0 and api stable. But it is a bit strange.

@vlsi not sure if you're aware of any workarounds, haven't been able to get any dependencyResolution to work here.


use init() before using url() error

Hi,
First of all thank you @kensoh for creating this awesome tagui. i have an issue running python tagui with my office laptop, every time i execute it shows  use init() before using url()  error, it works good in my personal laptop, i have done some good automation in my personal laptop without any difficulties. I need it badly in my office laptop, since i have to automate certain task there.
Could you pls help me sorting out this issue. No space in path.

Hi @avi25070 thanks for raising this issue, it looks like there is some problem running on your office laptop. Can you try to copy the whole error line above "C:\Users\.../tagui" rpa_python chrome and see if there is any helpful error message?

Hi @avi25070 thanks for raising this issue, it looks like there is some problem running on your office laptop. Can you try to copy the whole error line above "C:\Users\.../tagui" rpa_python chrome and run it on the command prompt, to see if there is any helpful error message?
Run it in the same folder containing the rpa_python temporary file (your current working directory in Python)

Closing issue for now but please let me know if you run into any problem!


fix: sign up judgment logic error

Signed-off-by: sh1luo<EMAIL_ADDRESS>

This error will cause the page to be silent after getaccount() fails.
Demo link(error case): https://door.casbin.com/signup

Fixed by: https://github.com/casbin/casdoor/commit/e39c3b7613ee098cd54d7c0d3e51d6744a420053


Add a cfft header comment (//cfft:{sha256}) into the generated code.

This comment helps detect changes in the function code.
Normally, the hash is generated from the local code. Only when running cfft tf, the hash is generated from the LIVE code. So, Terraform can detect the changes in code between the local and the LIVE through cfft tf.

resolved by #47


Add Webpack as js bundler

This PR:

Setups up Webpack to build modular javascript using UMD format
Rewrites existing scripts (button.js, details.js and a place for common functions called common.js for now) using ES6 modules; remove auto-initialisation;
Updates JavaScript path in app/views; we're using all.js (which includes and initialises the JavaScripts for each component)
Cleans Gulp pipes (re: JavaScript) and remove unused packages
Update the build(preview app/packages/build) process to accommodate the Webpack build

Paired with @nickcolley on this one. Feel free to add commits on top of it.
Trello card

don't forget the changelog


chore: upgrade e2e test cluster kubernetes version to 1.30

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

Project coverage is 60.35%. Comparing base (21e5b2e) to head (eadc022).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #170      +/-   ##
==========================================
- Coverage   61.51%   60.35%   -1.17%
==========================================
  Files           5        5
  Lines         317      396      +79
==========================================
+ Hits          195      239      +44
- Misses        121      156      +35
  Partials        1        1

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


Can labels be an OR so that requests match one of the label

When you define a label in the mesos configuration. One can enter a label. I have been able to get it to work with labels that are a term. For example I can have some labels like this with each one being a distinct entry.  I would like to enter a number of terms like this.
linux || linux-86 || linux-x64 (the spaces are there for readability)
Jenkins supports this on label definitions. It may require a plugin.
Should this work?  Does anyone else need a feature like this.

You can set several labels for a type of mesos slave, just separate each
term by a space.
at job level, see
https://stackoverflow.com/questions/31367663/how-to-require-two-or-more-labels-for-a-jenkins-job
2016-04-02 2:24 GMT+02:00 Rinaldo Di Giorgio<EMAIL_ADDRESS>
When you define a label in the mesos configuration. One can enter a label.
I have been able to get it to work with labels that are a term. For example
I can have some labels like this with each one being a distinct entry. I
would like to enter a number of terms like this.
linux || linux-86 || linux-x64 (the spaces are there for readability)
Jenkins supports this on label definitions. It may require a plugin.
Should this work? Does anyone else need a feature like this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jenkinsci/mesos-plugin/issues/224

I just assumed it was an or like the syntax for a node ( "a|b" ) { } in pipeline

Thanks


update web.ini

ask user to specify the path where the web application can be running

added in the modify_nextjs_app.sh bash file


KeyVault tests take long in playback

  √ DeleteRsaHsmKey [22s 475ms]
  √ DeleteEcHsmKey [18s 73ms]
  √ GetDeletedRsaHsmKey [14s 24ms]
  √ RecoverDeletedEcHsmKey [28s 676ms]

cc @heaths

We have some mandatory waits for anything deletion-related (can take a while to actually delete on the backend), so some of these may not be skipping the duration that for playback.

I was running into this while fixing another bug, so I fixed it now (it was as I thought about the polling interval).


fix(versions): update Activiti/activiti-cloud-runtime-bundle-service versions into develop

UpdateBot pushed maven dependency: org.activiti.dependencies:activiti-dependencies to: 7.1.53

UpdateBot commands:
updatebot push-version --kind maven org.activiti.dependencies:activiti-dependencies 7.1.53 org.activiti.api:activiti-api-dependencies 7.1.40 org.activiti.core.common:activiti-core-common-dependencies 7.1.36 org.activiti.build:activiti-parent 7.1.26


mkdocstrings might not work with editable installs in the new setuptools

This is a preliminary bug report based on what I know so far, so I apologize if it is not complete.
setuptools just released version 64.0.0
https://setuptools.pypa.io/en/latest/userguide/development_mode.html
It features a new way of handling editable installations
https://peps.python.org/pep-0660/
It seems that the new mechanism doesn't work with mkdocstrings. If I do an editable install, mkdocstrings reports
ERROR    -  mkdocstrings: PACKAGENAME.MODULENAME could not be found
ERROR    -  Error reading page 'MODULENAME.md':
ERROR    -  Could not collect 'PACKAGENAME.MODULENAME'

If I install the same package normally (not editable), mkdocstrings works again.
We can work around the problem, but I wanted to post the issue now as it might affect others.

Hello, thanks for the heads up :slightly_smiling_face:
From what I read in the docs:

Under the hood, setuptools will try to create a special .pth file in the target directory (usually site-packages) that extends the PYTHONPATH or install a custom import hook.

...it should already be supported (since we support .pth files). However maybe their .pth file is not what Griffe expects. Could you post the contents of such a file? It's probably named PACKAGENAME.pth.

Hmm. Looking around, I don't see zamba.pth anywhere. One complication might be that I am pip installing into a Conda environment.
Maybe let's see if others run into the problem and maybe we can get a less complicated example to work from. In the meantime, the workaround for me is to hold back setuptools in pyproject.toml:
[build-system]
requires = [
    "setuptools<=63",
    "wheel",
]
build-backend = "setuptools.build_meta"

Note that holding back setuptools in requirements.txt does not work because those aren't the requirements installed during the build process.

Here are all the records present in site-packages with the editable install:
nbautoexport-0.5.0+3.g01818e8.dirty.dist-info.zip

Thanks @pjbull. However the docs say setuptools installs a .pth file or a custom hook (à la editables I guess, which we already support), and I'd need to see that instead of the dist info.

Ah, yep. Sorry I missed that those just sit directly in site-packages. Here's the contents:

__editable__.nbautoexport-0.5.0+3.g01818e8.dirty.pth:

import __editable___nbautoexport_0_5_0_3_g01818e8_dirty_finder; __editable___nbautoexport_0_5_0_3_g01818e8_dirty_finder.install()

__editable___nbautoexport_0_5_0_3_g01818e8_dirty_finder.py:

import sys
from importlib.machinery import ModuleSpec
from importlib.machinery import all_suffixes as module_suffixes
from importlib.util import spec_from_file_location
from itertools import chain
from pathlib import Path

MAPPING = {'nbautoexport': '/Users/bull/code/nbautoexport/nbautoexport'}
NAMESPACES = {}
PATH_PLACEHOLDER = '__editable__.nbautoexport-0.5.0+3.g01818e8.dirty.finder' + ".__path_hook__"

class _EditableFinder:  # MetaPathFinder
    @classmethod
    def find_spec(cls, fullname, path=None, target=None):
        for pkg, pkg_path in reversed(list(MAPPING.items())):
            if fullname == pkg or fullname.startswith(f"{pkg}."):
                rest = fullname.replace(pkg, "", 1).strip(".").split(".")
                return cls._find_spec(fullname, Path(pkg_path, *rest))

        return None

    @classmethod
    def _find_spec(cls, fullname, candidate_path):
        init = candidate_path / "__init__.py"
        candidates = (candidate_path.with_suffix(x) for x in module_suffixes())
        for candidate in chain([init], candidates):
            if candidate.exists():
                return spec_from_file_location(fullname, candidate)

class _EditableNamespaceFinder:  # PathEntryFinder
    @classmethod
    def _path_hook(cls, path):
        if path == PATH_PLACEHOLDER:
            return cls
        raise ImportError

    @classmethod
    def _paths(cls, fullname):
        # Ensure __path__ is not empty for the spec to be considered a namespace.
        return NAMESPACES[fullname] or MAPPING.get(fullname) or [PATH_PLACEHOLDER]

    @classmethod
    def find_spec(cls, fullname, target=None):
        if fullname in NAMESPACES:
            spec = ModuleSpec(fullname, None, is_package=True)
            spec.submodule_search_locations = cls._paths(fullname)
            return spec
        return None

    @classmethod
    def find_module(cls, fullname):
        return None

def install():
    if not any(finder == _EditableFinder for finder in sys.meta_path):
        sys.meta_path.append(_EditableFinder)

    if not NAMESPACES:
        return

    if not any(hook == _EditableNamespaceFinder._path_hook for hook in sys.path_hooks):
        # PathEntryFinder is needed to create NamespaceSpec without private APIS
        sys.path_hooks.append(_EditableNamespaceFinder._path_hook)
    if PATH_PLACEHOLDER not in sys.path:
        sys.path.append(PATH_PLACEHOLDER)  # Used just to trigger the path hook

That's perfect, thanks. I see we could regex-find the MAPPING value, to start at least. We'll need to try editable installs for namespace packages as well (great to learn they support them), but that can be done later. By the way all this detection happens in Griffe, if someone wants to try and send a PR :) Otherwise I'll eventually get to it.

Workaround: using strict editable installs solves this. However, the implementation details are not finalized yet, and may change in the future.
Instead of:
pip install -e .

... we could use:
pip install -e . --config-settings editable_mode=strict

This should be supported in the next release of Griffe.

Can anyone confirm that this is working for them? I still get the 'module could not be found' errors with my editable install on the latest version:

mkdocs: 1.5.2
griffe: 0.34.0
mkdocstrings: 0.22.0

Only with the strict editable install solution from @sanand0 I can get it to work.

It's possible that setuptools has changed again how their editable installs work. If you can share a public repository reproducing the issue, I can investigate.

Thanks, this is with setuptools: 68.0.0, Python 3.11
I'm currently working on https://github.com/GEMDAT-repos/GEMDAT where I'm running into this issue.

Hmmm seems to work fine? I installed the project with pip install -e .[docs]. I do have __editable___GEMDAT_0_0_1_finder.py and __editable__.GEMDAT-0.0.1.pth in my venv's site-packages. I can see the generated API docs.

Ah I see it only happens in the docs branch: git checkout docs --

Debugging from the other way, yep, we have this in the editable module:
MAPPING = {'gemdat': '/media/data/dev/GEMDAT/src'}

...while Griffe expects this:
MAPPING = {'gemdat': '/media/data/dev/GEMDAT/src/gemdat'}

...because for it then picks up the parent directory of this value (.parent).

Oh right, I didn't notice modules were stored directly under src and not src/gemdat :sweat_smile: I would have immediately pointed at that otherwise :slightly_smiling_face:

You're welcome!
Also, it was working before because Griffe would not find gemdat and fallback on inspection, trying (and succeeding) to import it, and you were only injecting docs with ::: gemdat. Within the docs branch, you're now also injecting docs for gemdat.plots, and it happens that inspect.getmembers returns submodules of the gemdat packages, except the plots submodule, probably because it's a folder and needs to be imported to appear in its parent.

Finally, note that you don't have to rely on Griffe's ability to understand editable modules: you can tell it to search directly in src (now that you have a proper layout) with this:
# mkdocs.yml
plugins:
- mkdocstrings:
    handlers:
      python:
        paths: [src]

Excellent feedback, thanks! I will also add the paths: [src] specification.


audio/internal/readerdriver: Reduce memory allocation on Windows

Reported by @egonelbre

Seems to work fine, however there's bunch of allocs inside readAndWriteBufferImpl, which slightly concerns me :D.
Also noticed that seeking in examples/audio causes clicking. You may want to add a tiny cross-fade or declicking to avoid it.


Naming inconsistancy: Bounce.java is the only class using getMessageID instead of getMessageId

Bounce.java is the only class containing the getMessageID naming inconsistency.

Hi @jmvnederhof
thank you for reporting this, we will see to check it out in following days.
Igor

this has been resolved in v1.2.5


Dual 1024/1536/2048-bit exponentiation optimization for Intel Sierra Forest CPU

It optimizes the RSA-2k/3k/4k via the AVXIFMA ISA on Sierra Forest. The performance improvements of 1.8x-2.2x are observed in the speed tests of sign and decryption operations on this CPU.

Checklist

[ ] tests are added or updated

We've worked on optimizing RSA operations for Intel's Sierra Forest server product, which lacks AVX512 support but excels in energy efficiency. Given this, we've implemented a dual 1024/1536/2048-bit exponentiation algorithm using AVX/AVX2/AVXIFMA instructions, which are compatible with Sierra Forest. This change is designed to maintain performance without relying on AVX512 capabilities. The new implementation has shown significant improvements in speed tests, with 1.8x-2.2x faster sign and decryption operations compared to the previous version.
Though all OpenSSL tests have been successfully passed on our local devices, I'm concerned that the runtime CPUID check might prevent execution of the new code on non-SRF devices in the CI/CD pipeline. I would appreciate your insights on how to validate this implementation more robustly across different architectures.
This is our inaugural pull request to the project. We have endeavored to adhere to the contributing guidelines, but I am seeking your guidance on whether any further revisions or checks are necessary before proceeding. Thank you for considering this pull request. I look forward to your feedback and any suggestions for improvement.

Hi Sashan, I've just fixed another issue with the Cgywin compilation, which should help the latest version (force-pushed) pass all of the tests. Maybe this version should be reviewed instead. Thanks!

According to my compile-check we can enable builds with clang 16 and later. the other tool chains can be enabled later as follow up PRs.
thanks for your work!

Hi Sashan, thanks so much for your suggestion and guidance! Exactly, Clang 16.0.0 should be the first version that supports AVX-IFMA, according to the Release Note, and I've integrated into the implementation your code, which could also generate the AVX-IFMA instructions with Clang on my Linux device. Moreover, the Release Note of NASM suggests that the {vex} prefix is firstly introduced in 2.16, but I could not validate it as I don't have a Windows development with Visual Studio now.
I agree with you that we could leave the NASM work in follow-up PRs and focus on the implementations part for now. Thanks again!

the other tool chains (namely microsoft assembler and nasm) need to catch up with GCC and clang. I've tried nasm 2.16.03 and it failed with errors we can see here:
crypto\bn\rsaz-2k-avxifma.asm:94: error: comma, colon, decorator or end of line expected after operand
crypto\bn\rsaz-2k-avxifma.asm:94: error: expression syntax error
crypto\bn\rsaz-2k-avxifma.asm:95: error: comma, colon, decorator or end of line expected after operand
crypto\bn\rsaz-2k-avxifma.asm:95: error: expression syntax error
crypto\bn\rsaz-2k-avxifma.asm:96: error: comma, colon, decorator or end of line expected after operand
crypto\bn\rsaz-2k-avxifma.asm:96: error: expression syntax error

The matching code lines read as follows:
{vex} vpmadd52luq 0(%rsi), %ymm1, %ymm3
{vex} vpmadd52luq 32(%rsi), %ymm1, %ymm5
{vex} vpmadd52luq 64(%rsi), %ymm1, %ymm6
{vex} vpmadd52luq 96(%rsi), %ymm1, %ymm7
{vex} vpmadd52luq 128(%rsi), %ymm1, %ymm8

Thanks Sashan for the code review and approval! May I know what I should do to move the code review forward?

Thanks Sashan for the code review and approval! May I know what I should do to move the code review forward? And in the meantime, I will try the compilation of NASM/MASM on my side to help them catch up with GCC and Clang.

you need to wait to get review/approval from one more openssl committer. currently no action needed from your side, just stay tuned as another reviewer may have some additional questions/suggestions.

I have tested the patch, and it indeed improves RSA sign operation performance on Sierra Forest. Please merge it upstream.
Tested-by: Roman Dementiev<EMAIL_ADDRESS>

Good work on AVX-IFMA RSA acceleration. I only have two small comments/observations.

Thanks Tomasz for the kindly review and comments!

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago


Version <IP_ADDRESS> reports as <IP_ADDRESS>

I've been testing the new build (<IP_ADDRESS>) and love the improvements you've made.
Thank you!
Just so you know, Help, About and file details still report the exe as version <IP_ADDRESS>

Oops, this is what happens when you are away from this for almost a year :-( I'll add this to my check list. Thanks.
Fixed in updated <IP_ADDRESS> Release


task spinner won't stop spinning

fyi @alexr00

Might be windows/wrapping/problem matcher related?

I haven't seen this in weeks, how about you @meganrogge?

Nope, closing


Migrate Gradle config to Kotlin (closes #687)

Build passing now, ready to approve... I'll disable auto-merge though as commit history here isn't completely worthless. I'll just fast-forward merge this PR


Allow PNI to be enabled for generic imported clusters

What kind of request is this (question/bug/enhancement/feature request):
Enhancement
Result:
When using the generic import cluster option in Rancher, users should be able to specify that Project Network Isolation should be enabled.
Other details that may be helpful:
There isn't a way to ensure the generic imported cluster supports NetworkPolicy resources, so this will need to be ensured by the user performing the import. There should be a messgae/tooltip around the Enable Project Network Isolation option to make this clear to users. Something like: The imported cluster needs to support Kubernetes NetworkPolicy resources for Project Network Isolation to take effect should suffice.

Tested on Rancher master-head version 6b430f3 with the following steps.
Provision a single node RKEv1 cluster (rke version v1.2.8)
From ember UI, import the cluster using generic import. Enable Project Network Isolation under Advanced Options:

Cluster becomes active.
Result:
appliedEnableNetworkPolicy is set in API
"appliedEnableNetworkPolicy": true,
"appliedPodSecurityPolicyTemplateId": "",

Did not see hn-nodes and np-default network policies get created on import:
> kubectl get networkpolicies -A
NAMESPACE       NAME                                POD-SELECTOR                                             AGE
fleet-system    default-allow-all                   <none>                                                   58m
ingress-nginx   hp-nginx-ingress-controller-cplm9   field.cattle.io/podName=nginx-ingress-controller-cplm9   58m

Did not see network policies get created on new namespace in default project:
> kubectl get networkpolicies -n testns
No resources found in testns namespace.

@aaronRancher this looks like the same issue as before where namespaces weren't getting projectId labels.. can you confirm if all namespaces have their proper projectId labels in your tests?

@ryansann On master-head 5715b8a, I am able to see the projectId label in newly created namespaces. Network policies are not created in these namespaces.

@aaronRancher I just tested generic cluster import with the original version you used above: 6b430f3 and I don't see any projectId labels on the namespaces in the imported cluster. This is why the NetworkPolicy resources are not being created. Would you mind updating to a newer version that includes the fix for this and retesting? E.g. the second version you used: 5715b8a
Here is a screenshot of default namespace for an imported cluster using Rancher version: 6b430f3

Note the missing label.
After upgrading to 5715b8a, I see the projectId label is there and enabling PNI works as expected.

QA to do:

Provision a single node RKEv1 cluster (rke version v1.2.8)
Provision a single install Rancher master-head setup
Import the cluster into Rancher with PNI enabled
Check the cluster for network policies with kubectl get networkpolicies -A. Verify hn-nodes and np-default network policies are available.
Create a new namespace in the default project and verify hn-nodes and np-default network policies are available. kubectl get networkpolicies -n <namespace name>

Tested on Rancher master-head version c7f3cce with RKE version v1.3.0-rc7
Network policies are available on an imported RKEv1 cluster with PNI enabled.
> kubectl get networkpolicies -A
NAMESPACE             NAME                   POD-SELECTOR   AGE
cattle-fleet-system   default-allow-all      <none>         7m39s
cattle-fleet-system   np-default-allow-all   <none>         7m39s
cattle-system         np-default-allow-all   <none>         7m41s
default               hn-nodes               <none>         7m41s
default               np-default             <none>         7m41s
ingress-nginx         np-default-allow-all   <none>         7m41s
kube-node-lease       np-default-allow-all   <none>         7m41s
kube-public           np-default-allow-all   <none>         7m41s
kube-system           np-default-allow-all   <none>         7m40s

Network policies are available in new namespaces:
> kubectl get networkpolicies -n testns
NAME         POD-SELECTOR   AGE
hn-nodes     <none>         8s
np-default   <none>         8s

Tested an upgrade scenario from v2.5.8 to master-head version c7f3cce with the following steps:
Deploy a single install Rancher v2.5.8
Upgrade to master-head
Import an RKEv1 cluster with PNI enabled.
Verified network policies are available on an imported RKEv1 cluster with PNI enabled. And in newly created namespaces.


asynchronous multi-parallel access to qwen-turbo

Hello,
I have set the value of the Authorization keyword in config.py to "Bearer " followed by my API key from the Bailian Alibaba Cloud Large Model Service Platform. However, the response failed. May I inquire if the program encounters issues when it needs to perform asynchronous multi-parallel access to qwen-turbo? The API key has already undergone real-name authentication.
Thank you for your attention.

Thank you for your question. I have run this program again, and the only issue I encountered was: "Error: No 'content' found in response at index 34," which occurs due to the concurrency limit imposed by Alibaba. This issue can be addressed by running the program multiple times, as the internal code design can automatically handle it, or by reducing the "num" parameter to stay within the concurrency limit.
As I wrote this, I realized I might have understood what you meant. While we don't support the asynchronous API_URL provided directly by Alibaba, we have implemented a mechanism to achieve a similar asynchronous effect by using the synchronous API_URL.

I noticed an issue with JSON extraction caused by the updated qwen-turbo model, and I have fixed it. It now runs successfully.


Support docker socket override or use DOCKER_HOST env var

Context
I'm using colima to manage docker and not require a docker-desktop install on Mac (due to licensing).
Problem
When ctlptl attemps to create a kind cluster, it uses the dockerDesktopSocketPath
ctlptl create cluster kind --name=kind2
could not connect to Docker Desktop. Please ensure Docker is installed and up to date.
  (caused by: Get "http://localhost/settings": dial unix /Users/USERNAME/Library/Containers/com.docker.docker/Data/backend.native.sock: connect: no such file or directory)

Colima manages the docker socket at:
echo $DOCKER_HOST
unix:///Users/USER/.colima/docker.sock

Questions

Would it be possible to support either specifying the docker host OR respecting the environment variable?

I came to the conclusion of this being a possible workaround based on this answer regarding vscode

ya, it should be fairly simple to support this
you're mixing up the docker socket with the docker desktop socket, which are a little different.
i think what you need to do is change the IsLocalHost() call here:
https://github.com/tilt-dev/ctlptl/blob/ca16f2f53bc78b3ba1b74ac043554cf30f8d178a/pkg/cluster/machine.go#L93
so that if you're using the colima socket, it doesn't try to connect to docker desktop (ctlptl currently assumes that if you're connecting to a local socket, you must be connecting to docker desktop)
want to try it locally first and see if that works for you, or if you hit other issues?

want to try it locally first and see if that works for you, or if you hit other issues?

Definitely, I'll try this out locally and report back. Thank you so much for pointing me in the right direction!

Aight, wrangling things to return not localHost worked alright. Made a PR, thanks in advance @nicks


Links to anchors have confusing labels

Original reporter: gcrosswhite@
At the moment, when you link to an anchor in haddock using something like "MyModule#anchor", the link on the generated page just says "MyModule".  This is very confusing because it looks like the link is taking one to the module page, when really it goes to a specific anchor on that page.  It would be great if either the anchor name could be added to the label for the link to make it clear where the links is going, or if there were a way one could manually specify the label of the link --- say, by borrowing the syntax used by URLs to specify the label using a space, such as "MyModule#anchor label goes here".

Implemented by #1181
@Kleidukos This issue can be closed.

jolly good, thank you


[CSL-407]  Tool for testing improved Kademlia locally and on deployment

@zvoit
=Scenario 1=
To test ''CSL-260 Routing tables sharing''
Constants:

N1 = 10
N2 = 80
k = 5
T = 120
K = 160
L = 20

Constants should follow: k < min (N1, N2)
====Key generation====

N1 random keys with uniform distribution in K-bit key space
N2 random keys with uniform distribution in L-bit key space
** All these N2 nodes should share same (K-L) prefix for their K-bit node id

N2 is significantly larger than N1
====Experiment====
Launch N1 nodes
Wait for T seconds in order to make Kademlia routing tables stabilize
Dump routing tables of these N1 nodes
Launch N2 new nodes
Wait for T seconds in order to make Kademlia routing tables stabilize
Dump routing tables from all N2 nodes
====Result aggregation====
For each node following is to be calculated for both dumps:
Number of nodes in buckets from first N1 nodes
Number of nodes in buckets from latter N2 nodes
====Motivation====
Then results need to be analyzed to see ensure following properties:
For each node k < P1 < n1 + n2 < P2, where P1, P2 are to be roughly estimated by Kademlia k param, N1, N2
For latter N2 nodes n1 ~ 0.4 N1
For latter N2 nodes n1 + n2 ~ k
For first N1 nodes n1 >= k for both dumps
=Scenario 2=
To test ''CSL-258 Kademlia: receive messages within some period'', ''CSL-259 Kademlia: send node lists in few datagrams''.
Constants:

N1 = 20
N2 = 30
k = 12
T = 120
K = 160
L = 20

Constants should follow: k < min (N1, N2)
====Key generation====

N1 random keys with uniform distribution in K-bit key space
N2 random keys with uniform distribution in L-bit key space
** All these N2 nodes should share same (K-L) prefix for their K-bit node id

====Experiment====
Launch all N1 + N2 nodes
Wait for T seconds in order to make Kademlia routing tables stabilize
Dump routing tables of all N1 + N2 nodes
====Result aggregation====
For each node following is to be calculated:
Number n1 of nodes in buckets from first N1 nodes
Number n2 of nodes in buckets from latter N2 nodes
====Motivation====
Then results need to be analyzed to see ensure following properties:
For each node k < P1 < n1 + n2 < P2, where P1, P2 are to be roughly estimated by Kademlia k param, N1, N2
For latter N2 nodes n2 >= k
=Scenario 3=
To test behavior of Kademlia when some nodes get down.
Constants:

N1 = 10
N2 = 30
k = 12
T = 120
K = 160

Constants should follow: k < min (N1, N2)
====Key generation====

N1 + N2 random keys with uniform distribution in K-bit key space

====Experiment====
Launch all N1 + N2 nodes
Wait for T seconds in order to make Kademlia routing tables stabilize
Dump routing tables of all N1 + N2 nodes
Stop first N1 nodes
Wait for T seconds in order to make Kademlia routing tables stabilize
Dump routing tables of latter N2 nodes
====Result aggregation====
For each node following is to be calculated, for both dumps:
Number n1 of nodes in buckets from first N1 nodes
Number n2 of nodes in buckets from latter N2 nodes
====Motivation====
Then results need to be analyzed to see ensure following properties:
For each node k < P1 < n1 + n2 < P2, where P1, P2 are to be roughly estimated by Kademlia k param, N1, N2, for both dumps

@georgeee
Under this issue only tool is to be created, accompanied by local launcher.
Configuration for deployment is to be handled under another issue.

@georgeee
''CSL-318 Kademlia: expose k-buckets + persistence support'' will be implicitly tested when doing routing tables dump


circuit.diagram('interactive')  doesn't work in jupyter notebook web interface

Running stim.Circuit().diagram('interactive') works in Google Colab, but doesn't seem to in the web environment provided by jupyter notebook.
The following:
import stim
circuit = stim.Circuit('H 0')
circuit.diagram('interactive')

Yields the following in a localhosted jupyter notebook:

And yields the following in Google Colab.

Versions:
Python 3.10.9
notebook==6.5.4
stim==1.11.0

Some followup information:
Completing the following steps:

Replace line https://github.com/quantumlib/Stim/blob/b0f087007a58f4ed43a6fa090b2d50d6ad365e8e/dev/regen_crumble_to_cpp_string_write_to_stdout.sh#L16  with         rollup glue/crumble/main.js | uglifyjs -c --toplevel;
Regenerate src/stim/diagram/crumble_data.cc with sh dev/regen_crumble_to_cpp_string_write_to_stdout.sh
Reinstall Stim using the rules from https://github.com/quantumlib/Stim/blob/b0f087007a58f4ed43a6fa090b2d50d6ad365e8e/src/stim/diagram/crumble_data.cc.

bazel build :stim_dev_wheel
pip uninstall stim --yes
pip install bazel-bin/stim-dev-py3-none-any.whl

Launch the same jupyter notebook used before

cd [notebook dir path]
jupyter notebook

Yields the following:

Running the notebook for the first time yields the following view:

In this state, the hotkeys used by crumble are inconsistently intercepted.

For example, clicking on an empty part of the menu bar and pressing H brings up Jupyter Notebook's hotkey panel, and ALSO highlights the H operation in crumble's gate-grid menu.

However, clicking on a code or text cell to get a text cursor and pressing H fails to type the letter, and still highlights the H operation in crumble's menu.

If you click on one of the qubits in crumble's qubit grid, then click outside of the crumble interface, the qubit will still be highlighted. Pressing H will add the H gate to that qubit, even if the cursor is elsewhere.

Pressing esc fails to change the focus; the hotkey interception remains.

At this point, re-running the cells yields the original, blank crumble interface from the first post.

The hotkey interception issues persist after re-running the cells.

In Google Chrome's inspect menu, the following error is available after re-running the cells.

After re-running the cells to get an empty crumble interface, if you save and reload the page, you get back to the visible-crumble view from step 1 without having to run the code.

The hotkey interception persists, and the inspect error is not present after reloading.

Other info:

The above behavior only occurs once the mangling from uglifyjs is removed. Without it, the result is always an empty-crumble interface, with the following error, no matter the tested combinations of re-running, saving, and reloading.

The above behavior is the same if uglifyjs is removed entirely.
None of the above behaviors are visible on Google Colab, where crumble works as expected.
Gate is the first-defined variable in the <script> component of the HTML output of crumble.diagram('interactive').
There's a Code cell is missing an id field nbformat warning in the notebook console occasionally.

Hesitant conclusions/guesses:

Jupyter seems unhappy when the script is run again and re-declares the same variables. It may be necessary that this information is added to the notebook's custom.js file once, and then checked for in later runs. My guess is that colab doesn't support the notebook-scope javascript that base notebook does, and thus treats each run of the cell as a new instance. This works with crumble because all the relevant state is encoded in the circuit text, so reloading it yields the same configuration (minus things like the Show Import/Export window).
Colab is doing some explicit handling/interception of focus, perhaps by treating html cell outputs as iframes. In colab, crumble doesn't even know it has lost focus until it is clicked on again and the internal focus is updated.  In jupyter, it has access to and watches the whole webpage.
Putting crumble in some sort of wrapper, like it's own iframe or a widget as in https://github.com/adgt/pyQuirk, may work to instance both its javascript and focus for both normal notebooks and colab.

Ah, this is almost definitely the bug where Jupyter doesn't isolate HTML results into iframes. I probably need to do the isolation myself.

This seems to work pretty well to my first impression.
I've done some very limited testing with an ugly fix that just wraps the whole thing in an iframe: https://github.com/augustehirth/Stim/commit/4924e3630c369f25477c3bd0d1b251ada805e675
Ways to get crumble to run in an iframe:

IPython.display.HTML provides the metadata={'isolated':True} option, which puts the result in an iframe. Crumble works here without intercepting hotkeys, but is vertically compacted. There may be a way to vertically expand the frame.

Manually wrapping the html in an iframe and passing it to IPython.display.HTML  lets/forces you to choose a fixed size for the frame. This lets you make it bigger, but then it might have issues not automatically scaling on different devices. Ipython also gives you a warning because it wants you to use it's built in IPython.display.IFrame, which seems like a hilariously useless wrapper that actually removes functionality, notably the srcdoc field that supports inline html, which might be necessary here.

You can however use IPython.display.IFrame to just... run a webpage via a url. Notably, the algassert-hosted version of crumble. Using this enables you to launch crumble already including marks, which is a great upside! However, using this in a useful manner requires a stim-circuit to crumble-circuit to crumble-url-circuit converter, which I haven't found in Stim yet. This method also requires fixed frame sizes.

Which leads me to the "fix" from https://github.com/augustehirth/Stim/commit/4924e3630c369f25477c3bd0d1b251ada805e675 , where the html output of circuit.diagram('interactive') is wrapped in an iframe. Width and height are fixed as before, which causes the same scrolling unpleasantness.

The location of this "fix" is a little unnecessarily deep, affecting any html embedding of crumble, including the second use of write_crumble_html_with_preloaded_circuit at https://github.com/quantumlib/Stim/blob/b0f087007a58f4ed43a6fa090b2d50d6ad365e8e/src/stim/cmd/command_diagram.cc#L211, which is not the one used by circuit.diagram('interactive') (I think). However I did build it as a webserver from the instructions and it seemed ok.

Something to test out is trying this fix for the SVG viewer and the 3d model viewer, which also have this isolation issue. The 3d viewer actually works around it jankily, and I'd prefer if it was just iframe'd.
Getting it to work for the SVGs and the 3d models would also have the benefit of practicing on a simpler case.

This branch: https://github.com/quantumlib/Stim/compare/main...augustehirth:Stim:iframe_everything
puts SVG, GLTF and HTML type diagrams in an iframe when they pass through _repr_html_.
It looks and works fine, but still requires manually fixing the width and height of the iframe at line:
https://github.com/augustehirth/Stim/blob/1c98343e9657e04ee4f81b905bbefab9a9bd4a5a/src/stim/cmd/command_diagram.pybind.cc#L88
This might cause more issues with different shapes and such.


Change app branding to Nexus

Add Nexus logo
Change brand color to green
Add a favicon
Create SEO elements

fixed in #49b9ed3


WIP: Add divider and "none of these" to Checkboxes

You can preview this change here:
Built without sensitive environment variables with commit e191b7981c7bd4e4410172302994ea0545780a43
https://deploy-preview-1535--govuk-design-system-preview.netlify.app

@calvin-lau-sig7 one other thing, I wasn't sure where best to place the error message guidance for the None option. One the one hand, it probably makes sense for it to be alongside the other error message guidance (which is where I put it), but on the other, it does make referring to it within the section a bit clumsy. I did have "(see below)" initially, but that felt worse... 🤔


Implement Data Loading from S3 Bucket

Clarification. data is retrieved from my S3 bucket. The appropriate code sections will need to be modified when a GovCloud S3 bucket is secured.


🚀 Feature: Full-width container layout

🔖 Feature description
Add an option to select which layout to use (fixed width vs full width). A way to implement this is similar to how you would select whether to use light/dark/system theme.
🎤 Pitch
Right now appwrite has a max width of 1260px for its main content. On a wide screen monitor, lots of space is wasted - especially when I am looking at documents that have multiple attributes. I barely see any data at all without having to open each document in a separate tab. When I am debugging and want to look at the documents in a tabular manner to easily compare the values etc. It's really hard to do that. The table cells are too squished together.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

@sara-k-48 Thanks for following up - for me the main issue is when I'm looking at documents. The databases page seems okay, collections page seems okay as well. I don't use functions or messaging so I don't really know what those look like but documents with lots of attributes is my main concern here.


Tiles 3 0 x how to define security role in tiles config file?

reference page : http://tiles.apache.org/framework/tutorial/advanced/security.html
1、in XML definition files:
<definition name="test.definition"   template="/layout/my-template.jsp>

2、in JSP pages, when inserting attributes:
<tiles:insertAttribute name="header" role="myrole" />
The "header" attribute of the page is blank，How to define the security role？

Security roles in that context are the standard JavaEE concept. See the documentation for your application server, for instance:

https://docs.oracle.com/cd/E19798-01/821-1841/bncav/index.html
https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html
http://www.eclipse.org/jetty/documentation/9.4.x/configuring-security.html
https://docs.jboss.org/author/display/WFLY10/Security+Realms
...

Please close the pull request as it would be inappropriate to merge TILES_3_0_X into trunk.


Create new landing page

I would love to see the new landing page by @XyloDrone.
Deliverables:

[ ] Implement the design according to the image
[ ] Links should redirect user to the correct pages

@XyloDrone will attach the background image.

Bacground image below:

payment sent directly to my KSM address due to problems with payment via gitcoin, thanks!


NSInternalInconsistencyException in [DVCameraViewController capture]

Sometimes image capture breaks with NSInternalInconsistencyException

Info: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] - inconsistent state.'
1	CoreFoundation	__exceptionPreprocess + 132
2	libobjc.A.dylib	objc_exception_throw + 56
3	AVFoundation	-[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] + 416
4	PhotoChat	-[PBJVision capturePhoto] (PBJVision.m:1619)
5	PhotoChat	-[DVCameraViewController capture:] (DVCameraViewController.m:389)
6	UIKit	-[UIApplication sendAction:to:from:forEvent:] + 92

@IPv6 ! nice handle. thanks for letting me know. we've got a bug tracking this currently.
:paperclip: https://github.com/piemonte/PBJVision/issues/189

Are there any news on this?

Why this issue closed? Is it solved? How?


Add Scorecard GitHub Action

Description
Fixes https://github.com/libjxl/libjxl/issues/2796.
This PR adds the Scorecard GitHub Action to help the project monitor its security posture.
Pull Request Checklist

[x] CLA Signed: Have you signed the Contributor License Agreement (individual or corporate, as appropriate)? Only contributions from signed contributors can be accepted.
[x] Authors: If this is your first contribution, have you added your name to the AUTHORS file?
 You can use ./ci.sh lint for automatic code formatting.

Thanks for the suggestions, @pnacht, seems like this is useful.
Will commit without the access token for branch protection rules first, and see later if we want that as well...


Admin panel / Delete Categories

It seems not deleting categoris from admin panel. however it doesn't show up on user side. for subcategories it's fine.

Categories in the delete menu may not be deleted for admin. This is done to make the purchase history work properly.


A djoser fork with Python 2.6 support?

Do you know of any djoser forks with Python 2.6 support?
I tried searching in Github, and on the web, but came up empty.  If there aren't any, I may fork it to add 2.6 support.
Thanks!

P.s. I made a fork that supports Python 2.6 That sounds so profound -- I had to change only one statement! :-)

Great! We didn't want to focus on Python 2.6 as we hope the whole world move forward to 3.x. However we support Django 1.5 and DRF 2.4 which support Python 2.6.5 or above. That's why supporting Python 2.6 could be quite reasonable until we drop support for Django 1.5.
If you create pull request with your change and updated Travis config file we are happy to merge it.
For now I'm closing this issue.


walle-api/contract: Pretty print hashes

Adds an instance Pretty (Tagged a b) and uses it to derive Pretty instances for the various hashes that we have
One effect of this PR is that the prefix 5f582 disappears from a number of hashes in the pretty-printed .txt files. Presumably this is an artefact of the serialisation and not of the hash itself.

Also, there seem to be two different approaches to pretty-printing things that are wrapped in newtypes (say newtype A = A b)

Include the name of the newtype in the Pretty instance of A
Derive Pretty A via b and include the name of A only in Pretty instances of types that contain an A. The main use for this is in Wallet.Rollup.Render where the names of the newtypes and their values are aligned vertically

I decided to go with (1) in all the Pretty instances of ByteString wrappers, and I fixed up Wallet.Rollup.Render to use the LedgerBytes instance for TxId directly so that the vertical alignment still works without duplicating anything in the output. (Perhaps a better solution would be to use the ann type parameter of Doc for that?)

Also, there seem to be two different approaches to pretty-printing things that are wrapped in newtypes

Yes, I'd noticed this too. I'm not sure what the right thing to do is. I think it slightly depends whether you care about the structure of the thing. I think we probably don't care when it's newtypes. It's good enough if you have e.g. TxOut { dataValueHash: 3sdkfgh, ... } instead of TxOUt { dataValueHash: DataValueHash: 3sdkfsh, ... }. So I think I'd be inclined to go the other way if anything...

I'd be inclined to go the other way if anything...

Yeah I don't feel very strongly about it either way so I'll cut back on the Tagged stuff for the hashes


Scroll Top button is in print view

Describe the bug
The Scroll to the Top button show s in the print preview. This should be corrected in the print.css file.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Won't fix, only issue if you scroll prior to printing.

This id still printable when viewing the Hazmat List


simplify first markdown cell

There is repititive text within Main.ipynb between the first markdown cell and the README. Deleting the text in the first markdown cell eliminates this repitition (and makes it easier to maintain when we update the paper link, etc.)

Thanks, @Swanson-Hysell for pointing this out. I haven't yet finished the format of the book and I was planning to change the contents of main.ipynb. Let me see what is the best way of solving this before merging this PR.

I have solved this problem directly in this commit merging both changes. Notice @Swanson-Hysell that we both authored that commit.

I have solved this problem directly in this commit merging both changes. Notice @Swanson-Hysell that we both authored that commit.


Tighten pattern matching of Values

Currently we have
// match-monad
Match.of(value).when(...).then(...).get();

// match-function
Match.when(...).then(...).apply(value);

Scala offers
value match {
  case ... => ...
}

Javaslang has a Convertible interface to equip Values with conversion methods. We need to add a match() method as convenience method for creating a match-monad Match.of(...).
value.match()
    .when(...).then(...)
    .get();

This is syntactic sugar for
Match.of(value)
    .when(...).then(...)
    .get();

and especially great when we write fluent APIs and the expression to compute value is big.

Recognized a cast error. Already fixed it and will commit it soon.

I changed Monad.match() from
Match.MatchMonad.Of<T> match();

to
Match.MatchMonad.Of<? extends Convertible<T>> match();

Value got:
// currently a default method but should be abstract
Match.MatchMonad.Of<? extends Value<T>> match();

All sub-interfaces and -classes need to override match() appropriately, e.g.
interface Seq<T> {
    @Override
    Match.MatchMonad.Of<? extends Seq<T>> match();
}

interface List<T> {
    // Same for Cons and Nil
    @Override
    default Match.MatchMonad.Of<? extends List<T>> match() {
        ...
    }
}


refactor(build): update rollup build step

This is a draft PR to see what it would be like to use rollup for the full build process. Using rollup in this way can:

Decrease package size on disk (and reduce install times)
Reduce build time (somewhat)
Deduplicate common code across modules (useful when using babel helpers)

It can also be a useful tool for highlighting when modules have circular dependencies within the project. It also has the side-effect of only production artifacts making their way into the package (no tests or stories). Types still seem to be emitted by the build process.
Package size (on disk)

Folder
Before
After
% Change

lib-esm
4.3M
828K
-80%

lib
4.6M
884K
-81%

This PR also marginally decreases the build time from roughly 18s to 13s, mostly due to it using the same bundle to output cjs/esm/umd instead of building once in rollup and compiling once for cjs/esm.

Task
Before
After
% Change

time npm run build
18.859s
13.561s
-28%

Blockers
This change cannot be adopted until circular dependencies are addressed

I’ll let other folks weigh in here, but thought this might be prudent to share (x-posting from Slack for posterity) --
#web-systems, our sister UI platform team over in the Eng org, historically made the call to use rollup to build GitHub assets. More recently, they decided to roll back this decision and adopt webpack instead. Perhaps there’s insight about their decision-making process in here that could be useful for us to consider, too.

#web-systems, our sister UI platform team over in the Eng org, historically made the call to use rollup to build GitHub assets. More recently, they decided to roll back this decision and adopt webpack instead. Perhaps there’s insight about their decision-making process in here that could be useful for us to consider, too.

This makes sense given the context of dotcom which requires delivering of assets in ways which webpack supports better than rollup, but for libraries we still use rollup across the board as it provides much simpler configuration.

Thanks all for leaving a comment! Going to close out this exploration and will post a follow-up after addressing the circular deps issue 😄 Will also make sure to revisit the rollup setup with TypeScript vs Babel 👍


Search user api improvement

Name of the user is not provided on searching the user from admin.
Hence cannot display the name of the user in the admin dashboard for routemap

@edwinbbu This is done. Please the response of the API here: https://github.com/coronasafe/journal/blob/develop/doc/api.md#routemap-for-a-user


[Feat]: add github profile link and author commit history link in contributors page

What feature?

I will use the fetched data to make two CTA: GitHub & Contributions

Do let me know if you want me to show number of contributions in the card as well.
Show us the magic with screenshots

Current

Something like this

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

We have decided not to show that for now.

@PiyushKalyanpy
Kindly check other issues, and let me know if you need them.


All Trades endpoint

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)
Begins the implementation of the Trades endpoint group, starting with the All Trades endpoint.
Includes some minor test value updates in the offers endpoint group, in order for the tests to succeed.
:boom: Does this PR introduce a breaking change?
No.
:thinking: Checklist before submitting

[x] All projects build
[x] Follows style guide lines
[x] Relevant documentation was updated
[x] Rebased onto current main

Vergeet niet deze branch te rebasen op develop en de conflicten even te fixen.


Add description for "title" in FileDialog

Add a description of the "title" member in FileDialog. Add information about the title and the title bar, because it's not explicitly stated anywhere that the title bar background is drawn with the window panel itself. This is important to know when you go to change the theme of the dialog.
This addresses: #40267

I updated the commit, it should be better and more descriptive now. Thanks!

@SirQuartz Out of curiosity, why did you close this pull request?


fix: regression on stacking layout

Building Leather at commit 6a861ba

Regression from past fix of https://github.com/leather-wallet/extension/pull/4857
Something changed causing the layout to be broken onto two lines.

Can we put a (visual) regression test in place for this?

Can we put a (visual) regression test in place for this?

Yes ser.
Had to do a bit of a refactor as the responsibility of displaying the information, and fetching the data were part of the same component. I've broken these, up, and written a storybook.


Timeline: video embed isn't shown on homepage timeline

To reproduce the problem disable all uploaders except "Embed", so it will be shown when you select video in post to timeline, then upload video embed, as the result video embed isn't shown in homepage timeline, but only in profile timeline.
https://www.boonex.com/forums/topic/embed-to-own-timeline-7-2-1.htm

I embedded as text both a video and photo to the timeline. I also posted a link url to a news story. All 3 display on my profile timeline, but only the video displays on the home page timeline. The photo and link do not appear on the home page timeline.


refactor: simplify _dehyphen

Main thing here is to use _simple_search so different capitalizations are considered.
Then, more clearly separating the 3 blocks that compose the search.

Thanks, I would keep the other changes but revert the one I highlighted above, does that work for you?

Ready to merge?

Looks good to merge!

I just restored the list, it's actually faster (not by much though).


Testing - Karma unable to find spec files located under containers sub folders

Hi,
I was able to run a test on app.component.spec.ts (as a sample), but when I created another spec file under containers folder (ClientApp/app/containers).  Karma unable to find the spec file.
I am not that familiar with karma test runner.  Is there anything I should do to run the spec files in any subfolders?
Thanks

That's strange, it should work for anything under /ClientApp/.
Does your new unit test file end with .spec.ts?

yes. i didnt modify on the test config files but here's what i have.
boot-tests.js
Error.stackTraceLimit = Infinity;
// Load required polyfills and testing libraries
require('core-js'); // Added for Phantomjs
require('zone.js');
require('zone.js/dist/long-stack-trace-zone');
require('zone.js/dist/proxy.js');
require('zone.js/dist/sync-test');
require('zone.js/dist/jasmine-patch');
require('zone.js/dist/async-test');
require('zone.js/dist/fake-async-test');
const testing = require('@angular/core/testing');
const testingBrowser = require('@angular/platform-browser-dynamic/testing');
// Prevent Karma from running prematurely
karma.loaded = function () {};
// First, initialize the Angular testing environment
testing.getTestBed().initTestEnvironment(
testingBrowser.BrowserDynamicTestingModule,
testingBrowser.platformBrowserDynamicTesting()
);
// Then we find all the tests
const context = require.context('../', true, /.spec.ts$/);
// And load the modules
context.keys().map(context);
// Finally, start Karma to run the tests
karma.start();
karma.conf.js
module.exports = function (config) {
config.set({
basePath: '.',
frameworks: ['jasmine'],
exclude: [],
files: [
'../../wwwroot/dist/vendor.js',
'./boot-tests.js'
],
preprocessors: {
'./boot-tests.js': ['coverage', 'webpack', 'sourcemap']
},
client: {
captureConsole: false
},
coverageReporter: {
type: 'in-memory'
},
remapCoverageReporter: {
'text-summary': null,
json: './coverage/coverage.json',
html: './coverage/html'
},
reporters: ['mocha', 'coverage', 'remap-coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_WARN,
autoWatch: false,
browsers: ['Chrome'],
mime: {
'application/javascript': ['ts', 'tsx']
},
singleRun: true,
webpack: require('./webpack.config.test.js')({
env: 'test'
}),
webpackMiddleware: {
noInfo: true,
stats: {
chunks: false
}
},
// you can define custom flags
customLaunchers: {
'PhantomJS_custom': {
base: 'PhantomJS',
options: {
windowName: 'test-window',
settings: {
webSecurityEnabled: false
}
},
flags: ['--load-images=true'],
// debug: true
}
},
phantomjsLauncher: {
// Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom)
exitOnResourceError: true
}
});
};
webpack.config.test.js
const ContextReplacementPlugin = require('webpack/lib/ContextReplacementPlugin');
const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin');
const webpack = require('webpack');
var path = require('path');
var rootPath = path.join.bind(path, path.resolve(__dirname, '../../'));
module.exports = function (options) {
return {
devtool: 'inline-source-map',
resolve: {
extensions: ['.ts', '.js'],
modules: [rootPath('ClientApp'), 'node_modules']
},
module: {
rules: [{
enforce: 'pre',
test: /.js$/,
loader: 'source-map-loader',
exclude: [
rootPath('node_modules/rxjs'),
rootPath('node_modules/@angular')
]
},
{
test: /.ts$/,
use: [{
loader: 'awesome-typescript-loader',
query: {
sourceMap: false,
inlineSourceMap: true,
compilerOptions: {
removeComments: true
}
},
},
'angular2-template-loader'
],
exclude: [/.e2e.ts$/]
},
{
test: /.css$/,
loader: ['to-string-loader', 'css-loader']
},
{
test: /.scss$/,
loader: ['raw-loader', 'sass-loader']
},
{
test: /.html$/,
loader: 'raw-loader'
},
{
enforce: 'post',
test: /.(js|ts)$/,
loader: 'istanbul-instrumenter-loader',
options: {
esModules: true
},
include: rootPath('ClientApp'),
exclude: [
/ClientApp\test/,
/.(e2e|spec).ts$/,
/node_modules/
]
}
  ]
},
plugins: [
  new webpack.DllReferencePlugin({
    context: __dirname,
    manifest: require(rootPath('wwwroot', 'dist', 'vendor-manifest.json'))
  }),
  new ContextReplacementPlugin(
    /**
     * The (\\|\/) piece accounts for path separators in *nix and Windows
     */
    /angular(\\|\/)core(\\|\/)@angular/,
    rootPath('ClientApp'), // location of your src
    {
      /**
       * your Angular Async Route paths relative to this root directory
       */
    }
  ),
  new LoaderOptionsPlugin({
    debug: false,
    options: {
      /**
       * legacy options go here
       */
    }
  }),

],
performance: {
  hints: false
},

/**
 * Include polyfills or mocks for various node stuff
 * Description: Node configuration
 *
 * See: https://webpack.github.io/docs/configuration.html#node
 */
node: {
  fs: 'empty',
  global: true,
  process: false,
  crypto: 'empty',
  module: false,
  clearImmediate: false,
  setImmediate: false
}

};
}

Please close this issue.  I am not sure if this is the right fix.
I installed source-map-loader before I created the tests because the first time I ran the test I got an error about source-map-loader cannot be found (something like that), so what I did I installed it.  But I just found out earlier that karma has its own source map loader.  So I uninstalled the source-map-loader, and then just comment this line
loader: 'source-map-loader',
in webpack.config.test.js.
All tests files are now being executed.
Thanks for taking time looking at this issue.  Very much appreciated.

Oh great that might be what was doing it!
Glad you figured it out though :+1:
Cheers

That happens with my unit-tests , actually one of the unit tests I had
import { NO_ERRORS_SCHEMA } from '@angular/compiler/src/core';
which I replaced with
import { NO_ERRORS_SCHEMA } from '@angular/core';


Merging vcpkg created sboms

Has anyone tried this?
vcpkg generates a SPDX file containing the SBOM information for each package that is installed. The files are located in <installed_dir>//share//vcpkg.spdx.json.
https://learn.microsoft.com/en-us/vcpkg/reference/software-bill-of-materials
I was hoping to use this to merge them. Sadly, it does not work.
Reproduction:

Build a vcpkg (manifest mode) project
(i uploaded the jsons here for reproduction: inputs.zip )
Run cyclonedx-cli merge:

$ docker run --rm -v <path>:<path> -v /tmp:/out cyclonedx/cyclonedx-cli merge --input-files $(ls <path>/vcpkg_installed/x64-linux-gcc/share/*/*.spdx.json) --output-file /out/sbom_all.json --hierarchical --name test_merge --version=1.0.0
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/abseil/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/argagg/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/c-ares/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/cppunit/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/czmq/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/docopt/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/grpc/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/gtest/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/libiconv/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/liblzma/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/libxml2/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/nanopb/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/openssl/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/protobuf/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/re2/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/upb/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/vcpkg-cmake-config/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/vcpkg-cmake-get-vars/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/vcpkg-cmake/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/zeromq/vcpkg.spdx.json
Processing input file <path>/vcpkg_installed/x64-linux-gcc/share/zlib/vcpkg.spdx.json
Unhandled exception: CycloneDX.Utils.Exceptions.MissingMetadataComponentException: Required metadata (top level) component is missing from BOM.
   at CycloneDX.Utils.CycloneDXUtils.HierarchicalMerge(IEnumerable`1 boms, Component bomSubject)
   at CycloneDX.Cli.Commands.MergeCommand.Merge(MergeCommandOptions options)
   at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()

(without hierarchical, it works but the result file is basically empty)

I'm not sure if you can merge spdx files directly, might need to transform them to CycloneDx first.
Are there maybe spdx merge tools, that would offer a more native solution?

Oh, I see. Transform via cyclonedx convert, then merge. I will try.

I did a similar a test with converted SBOMs but the result is the same (I guess, it converted implicitly):
 $ docker run --rm -v $(pwd):$(pwd) cyclonedx/cyclonedx-cli convert --input-file <vcpkg_installed>/libxml2/vcpkg.spdx.json --output-file <vcpkg_installed>/libxml2/vcpkg.cyclone.json --output-format json
 $ docker run --rm -v $(pwd):$(pwd) cyclonedx/cyclonedx-cli convert --input-file <vcpkg_installed>/nanopb/vcpkg.spdx.json  --output-file <vcpkg_installed>/nanopb/vcpkg.cyclone.json --output-format json
 $ docker run --rm -v $(pwd):$(pwd) cyclonedx/cyclonedx-cli merge --input-files $(ls <vcpkg_installed>/*/*.cyclone.json) --output-file $(pwd)/outputs/sbom_all.json --hierarchical --name test_merge --version=1.0.0
Processing input file <vcpkg_installed>/libxml2/vcpkg.cyclone.json
    Contains 8 components
Processing input file <vcpkg_installed>/nanopb/vcpkg.cyclone.json
    Contains 6 components
Unhandled exception: CycloneDX.Utils.Exceptions.MissingMetadataComponentException: Required metadata (top level) component is missing from BOM.
   at CycloneDX.Utils.CycloneDXUtils.HierarchicalMerge(IEnumerable`1 boms, Component bomSubject)
   at CycloneDX.Cli.Commands.MergeCommand.Merge(MergeCommandOptions options)
   at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()

@KUGA2 I think you get the best result if you convert explicitly and then do a flat merge (i.e. without --hierarchical).
Merging does not support the spdx; instead it tries to read it as a cyclonedx json, which is the reason why the result of the flat merge above was basically empty.
For a hierarchical merge, you'd need have the metadata component available in the BOMs to be merged, which you don't have.

This works:
sbom_all.json
But my original use case, importing into Black Duck, still shows no component. Closing this here.


[Security] Workflow test-and-publish.yml is using vulnerable action actions/checkout

The workflow test-and-publish.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

The reference is updated now.


ZAP desktop for Windows - not working with the latest lnd v0.14.1-beta

I was successfully running ZAP 0.7.4 beta with lnd v0.13.1-beta.
When I updated to latest lnd v0.14.1-beta, ZAP is not working anymore (empty window shown).
When ZAP uninstalled and installed again, I am unable to connect.
ZAP for Android still works.
Joule Chrome extension still works.

Platform : Win10 x64 (Intel) Microsoft Windows [Version 10.0.19043.1348]
Zap Client : Zap Desktop version 0.7.4-Beta
Hi,
My previously working Zap Desktop fails to open/loadup fully. On execute of the the app shortcut It partially loads the GUI then fades to a Blank screen..
It works on my Android device which is connecting to my local own node. I tried to uninstall zap desktop then reinstall latest version from here but there is just a blank screen..  Strange.
I have tested if its any HIPS from my AV software (I completely disabled it, Tested in safe-mode just to Test Nothing)
Tested Zap-Desktop again Nothing..
Hope this helps.

Platform: Linux (Slackware 64 14.2)
LN Node: lnd 0.14.1 beta and 0.13.3-beta
Bitcoin client: Satoshi Client 22.0
Zap Wallet: Zap Desktop version 0.7.4 Beta
I am also having this problem!
I have two machines with two different lnd nodes and bitcoin nodes.
One machine is still using lnd 0.13.3-beta.
In that one Zap wallet works with no problems. And even could use lndconnect to create the url to paste on Zap wallet.
But in the one where I run lnd 0.14.1-beta, lndconnect doesn't work. I even tried with tls.cert and admin.macaroon and nothing. Keeps me asking about the password.

Same here too, impossible to start zap with LND 0.14.1

Please try with latest version of the app which has support for lnd 0.14: https://github.com/LN-Zap/zap-desktop/releases/tag/v0.7.5-beta

@mrfelton Unfortunately, in my case still the same with 0.7.5-beta, it keep asking about the password and then "Cannot read property 'unlockWallet' of null."
Lnd version 0.14.1-beta is running correctly, ZAP for Android still works.

thank you, the new version is working for me.

New version Zap 0.7.5-beta still doesn't work for me to connect to my lnd node 0.14.1-beta.

Same issue here

I was able to connect it. the wallet must be locked the first time you connect zap to your node.

LND need to be locked to be able to start zap here.

I have the zame issue with lnd 0.14.1-beta and the latest Zap appimage under linux mint (ubuntu fork).  If lnd wallet is locked, zap prompts to unlock and when I provide the password lnd continues and zap wallet opens.  if lnd is locked, zap still prompts for wallet password and fails to unlock because it already is unlocked so zap will not open.
Curiously, the ios app under ios 15.2 on my iphone still works just fine with the new lnd.  I did not have to do anything to make it work after the lnd upgrade.

Please can you try with the latest release - v0.7.6-beta

Latest release works for me now. Thanks! Seems to have fixed excessive RAM usage as well!

It seems that latest version 0.7.6 fixed this issue.
It is able to link both to locked and unlocked lnd now.
Thanks

Latest release works.  Thanks!!


Nice work, congratulations! Looking forward to the source code

Thanks for it, we will release the code recently.

The first version of code has been released. Thanks


Don't use require in ESM, use dynamic import

Fixes #168

Thank you for this!

@segevfiner thank you so much for this, it helps us a lot!
@egoist  - looks like the CI build fails for linter (on the dynamic import). Any chance you can look into it please? this fix will make this library be usable by Vite 🙏🏼


Create a shaded hdfs module and use that in underfs/hdfs

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2495/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2519/
Test PASSed.

@calvinjia @aaudiber PTAL.
Overall strategy is to create an uber jar containing just hadoop files and have our ufs module depend on that uber jar. As discussed, I only included what was necessary instead of everything in the uber jar.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2535/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2536/
Test PASSed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2541/
Test PASSed.

@calvinjia PTAL. thanks.

not yet, i imagine it will be challenging, because our hdfs underfs module has guava 27 as a direct dependency, hadoop-common will see that dependency and no longer pull in old version of guava. We were able to specify an older version of guava precisely because we are doing two different modules.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2547/
Test PASSed.


Capricorn icon is messed up

Capricorn icon (under astrology) is messed up.

Looks good when using IcoMoon to generate the font files!


Luigi client creates extra entry in browser navigation history

Fixes following issues:

Hash-based navigation not working in the Firefox browser.
Context switcher dose not get closed on blur or selection in the Firefox browser.
Three dot top navigation menu on narrow screens is displayed even if there are no visible (non-hidden from nav) top navigation entries.
Top nav links from the three dots menu (visible on narrow screens) do not work properly - content gets changed but the browser URL stays.
In the Edge browser the content does not get rendered at all.
Main app title vertical alignment is wrong.

Issues 2 to 6 are independent of the routing mode (hash/path).

On screens below 360px width, I have seen horizontal scrollbar. We could set a different width for the context switcher on very narrow screens.

LGTM


GoSnappi: FromJson should return all the errors, right now just returning the first

Observation from snappi-version: 0.6.5
Use-case:
From server-side implementation (e.g. ixia-c controller), end-user would expect all the validation/syntax/construct errors to be returned at one go in response to an API call, instead of one at a time.
As gosnappi is being used as a server-side skeleton generator in ixia-c and expected to provide the aforementioned errors, this should be supported.
To illustrate with an example, please consider the following input json to FromJson of gosnappi.Config
{
  "ports": [
    {
      "location": "<IP_ADDRESS>:5555",
      "name": "p1"
    },
    {
      "location": "<IP_ADDRESS>:5556",
      "name": "p2"
    }
  ],
  "layer1": [
        {
            "name": "l1",
            "port_names": ["p1", "p2"],
            "speed": "speed_1_gbps"
        }
  ],
  "flows": [
    {
      "name": "flw",
      "tx_rx": {
        "port": {
          "TX_NAME": "p1",
          "rx_name": "p2"
        },
        "choice": "port"
      },
      "size": {
        "fixed": 128,
        "choice": "SIZE-CHOICE"
      },
      "metrics": {
        "enable": true
      },
      "duration": {
        "choice": "DURATION-CHOICE",
        "fixed_packets": {
          "packets": 1000
        }
      },
      "rate": {
        "choice": "RATE-CHOICE",
        "pps": 100
      },
      "packet": [
        {
          "ethernet": {},
          "choice": "ethernet"
        }
      ]
    }
  ]
}

The output from FromJson is
"proto: (line 24:11): unknown field \"TX_NAME\""

It should also return error for invalid choice values for size, duration, rate as well as they are also invalid
(example above is just for illustration, errors can be of any possible type as identifiable by gosnappi)

@rudranil-das @ashutshkumr This error is raised while unmarshal, as TX_NAME is not a valid key the protojson unmarshal is returns an error and it is returned immediately.
list of errors are returned only in the validation, for required and ipv4, v6, mac and hex formatting fields.


perf: reduce overhead of hydration keys

The current hydration-key system mirrors the one in SolidJS, with keys growing over time so you end up with things like 0-1-1-1-1-1-1-2-1-3-1-3-10-3 as the component tree is nested. Originally this was for the correct handling of suspense. However, as our renderer has grown apart from Solid's the way we actually render things has changed.
This way of generating hydration keys was also creating massively long chains, that actually grew linearly as the number of components used grew, which meant larger pages were built slower and slower (because you were generating longer and longer keys per component.)
I've done a bit of an experiment and this turns out to be almost entirely unnecessary, I think. Because the renderer is now built to run completely top-down, we can just use a single-number key, which should really help with SSR performance.
This is a draft for now because I ran out of time, but wanted to share it so people can do some early testing.
To dos

[ ] Clippy/cleanup
[ ] Test against more examples and real apps

It's a bit shocking to see so few lines capable of making such a large impact to performance! I look forward to making it to the ssr side of leptos =P


Fix possible double / in url.

The function could return a double / under some condition. This broke the JupyterLab cookies in my setup (cookie set to /user/laurent, websocket query to //user/laurent).
Also, path is modified using a regex on line 88 and later, paths[i] was used instead of the modified path.

Thanks!