unshift fails following first list item teardown

ref: http://fiddle.jshell.net/fLaemk65/
If the first item on the list is removed. Subsequent unshift of items onto the list fail (click 'add' to unshift).
It's because the removed item is not in the real DOM, but it is still in the parallel DOM (for presumably good reasons, which I don't know * ). So the ractive.js:line 8792 target.insertBefore fails b/c the second argument (anchor) is not in the DOM.
If items other than the first item are removed. Subsequent unshift of items onto the list works.
*see myRactive.fragment.items[0].renderedFragments in the jsFiddle

Hmm... this is an interesting problem, because the method you're using to remove the list items doesn't actually remove the entry from the array. There is always a danger when modifying ractive-controlled DOM, since it gets the virtualdom out of sync with the actual DOM. It's just that in this case, it's ractive.teardown() itself causing the problem, since teardown doesn't notify ractive to update. Technically, if teardown did actually notify ractive, the remove button in your example shouldn't appear to do anything. It would replace the torn down component with a new component, since the entry is still in the array.
That said, the proper way to remove items in this case would be to fire an event on the parent and splice out the entry. Here's an example: http://fiddle.jshell.net/fLaemk65/2/

OK... I had looked through the docs to find how to remove items from the models and views, and teardown is what I took to be the way. Probably teardown is for some other purpose (what could it be?), simply manipulating the models is much cleaner. Not just cleaner either... it works!
Many thanks, @Madgvox.

No problem! ractive.teardown() simply destroys a ractive instance and cleans up all its listeners and DOM. It's basically the same thing you see in many jQuery plugins: $item.tooltip( 'destroy' ) for instance.
I'm going to assume this issue has been resolved, and close it. If you have any other questions please do not hesitate to open an issue.


Using full width for input and switch

additionally, it need to be vertically center

Fixed in v1.6.0. Thanks!


Code for real-world implementation

Hi there,
Thanks for sharing such a well-developed project!
Just wondering if you have any plans to open-source the code for real-world implementation.
All the best,

Hi,
Thanks for showing interest here. I might manage to get the code published when get a chance. The real-experiment code is built on VGN. Please check it if needed.
Thanks,
Haojie


feat: add transaction and span

part of #265
Helps with reproducing the error detailed here - https://github.com/elastic/apm-agent-rum-js/issues/1169
Use this test-repo to simulate a Kibana environment - https://github.com/vigneshshanmugam/tailor-apm-demo
Once you run the tailor server, use this script for simulation of the bug

journey('Synthetics + APM', ({ page }) => {
  step('go to index page', async () => {
    await page.goto('http://localhost:8080/index');
    // make sure RUM request has been successfully sent to APM server
    await page.waitForResponse(response =>
      response.url().includes('/rum/events')
    );
  });

  step('go to unknown page', async () => {
    await page.goto('http://localhost:8080/unknown');
    // make sure RUM request has been successfully sent to APM server
    await page.waitForResponse(response =>
      response.url().includes('/rum/events')
    );
  });
});

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-02-17T19:58:41.150+0000

Duration: 10 min 33 sec

Test stats :test_tube:

Test
Results

Failed
37

Passed
106

Skipped
3

Total
146

Test errors
Expand to view the tests failures
    > Show only the first 10 test failures
Test / CLI TLS site with self-signed cert fails by default – CLI TLS site with self-signed cert fails by default

Expand to view the error details
 null

Expand to view the stacktrace
 SyntaxError: Unexpected token P in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:376:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Test / CLI TLS site with self-signed cert succeeds succeeds with --ignore-https-errors – CLI TLS site with self-signed cert succeeds succeeds with --ignore-https-errors

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:385:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Test / CLI for inline tests does not load a configuration file without a config param – CLI for inline tests does not load a configuration file without a config param

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at output (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:86:36)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:90:25)

Test / CLI for inline tests loads a configuration file when passing a config param – CLI for inline tests loads a configuration file when passing a config param

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at output (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:115:36)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:119:25)

Test / CLI for inline tests runs inline tests – CLI for inline tests runs inline tests

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:56:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Test / CLI mimick new heartbeat with --rich-eventsflag – CLI mimick new heartbeat with--rich-events flag

Expand to view the error details
 null

Expand to view the stacktrace
 SyntaxError: Unexpected token a in JSON at position 2
    at JSON.parse (<anonymous>)
    at /var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:183:25
    at Array.map (<anonymous>)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:183:8)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Test / CLI params wins over config params – CLI params wins over config params

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:289:32)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Test / CLI pass dynamic config to journey params – CLI pass dynamic config to journey params

Expand to view the error details
 null

Expand to view the stacktrace
 Error: expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1
    at output (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:261:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:265:23)

Test / CLI playwright options allows overwriting playwright options with --playwright-options – CLI playwright options allows overwriting playwright options with --playwright-options

Expand to view the error details
 null

Expand to view the stacktrace
 Error: thrown: "Exceeded timeout of 15000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
    at /var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:494:5
    at _dispatchDescribe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:97:26)
    at describe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:60:5)
    at /var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:475:3
    at _dispatchDescribe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:97:26)
    at describe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:60:5)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:32:1)
    at Runtime._execModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1646:24)
    at Runtime._loadModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1185:12)
    at Runtime.requireModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1009:12)

Test / CLI playwright options pass playwright options to runner – CLI playwright options pass playwright options to runner

Expand to view the error details
 null

Expand to view the stacktrace
 Error: thrown: "Exceeded timeout of 15000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
    at /var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:476:5
    at _dispatchDescribe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:97:26)
    at describe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:60:5)
    at /var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:475:3
    at _dispatchDescribe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:97:26)
    at describe (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-circus/build/index.js:60:5)
    at Object.<anonymous> (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/__tests__/cli.test.ts:32:1)
    at Runtime._execModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1646:24)
    at Runtime._loadModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1185:12)
    at Runtime.requireModule (/var/lib/jenkins/workspace/nt-rum_elastic-synthetics_PR-460/src/github.com/elastic/synthetics/node_modules/jest-runtime/build/index.js:1009:12)

Steps errors
Expand to view the steps failures

Runs the tests

Took 3 min 33 sec . View more details here
Description: ./node_modules/.bin/jest --ci --reporters=default --reporters=jest-junit

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

Pursing other way of doing the crosslinking https://github.com/elastic/synthetics/pull/595


bugfix timeout : callback also called in case of timeout

Dear Denikson, here is a proposal otherwise my program execution stucks on the mre.WaitOne(). I looked a bit deeper and I guess this is the proper way (and not very intrusive) to solve the problem
=>
Also call the callback given in Client.InvokeAsync otherwise the ManualResetEvent in  InvokeMethods.Invoke is never set and the execution is blocked on mre.WaitOne()

Nice, thank you!
Just for future reference, please use camelCasing for locals and parameters as per the general capitalization conventions.


Simplifying React Usage

It would be great if instead of a useShape hook, there was a factory that would output a hook with common types/options already applied.
Current:
const { data } = useShape<T>({
  url: process.env.ELECTRIC_PROXY_URL!,
  table: "table_name",
  where: `table_id = '${table_id}'`,
})

Proposal:
const useShape = UseShape<L>({
  url: process.env.ELECTRIC_PROXY_URL!,
})

const { data } = useShape({
  table: "table_name",
  where: `table_id = '${table_id}'`
})

L denotes a would-be lookup type, where row object types are keyed by table name.

This typing could also prevent specifying non-existent tables.
I believe this approach would work really well with tools like kysely-codegen which output a single DB type:
const useShape = UseShape<{
  [K in keyof DB]: Selectable<DB[K]>
}>({
  // ....
})

We've thought about this but have found it's fairly easy to create our own little factory functions which generate the options. There's a lot of ways people could construct the options so we're hesitant to add an opinionated way directly in the library.

Would using your own helper function work for you?

That's reasonable. I agree! Will close out this issue.
If it happens to be useful for others, here's an example of such a util / useShape wrapper:
import { ShapeStreamOptions } from "@electric-sql/client"
import { useShape as useShape_ } from "@electric-sql/react"
import { Selectable } from "kysely"
import { DB } from "schema"

export function useShape<K extends keyof DB>(
  table: K,
  options: Omit<ShapeStreamOptions<Selectable<DB[K]>>, "url" | "table" | "parser"> = {},
) {
  return useShape_<Selectable<DB[K]>>({
    url: `${process.env.EXPO_PUBLIC_CROSSHATCH_SERVER}/v1/shape`,
    table: `public.${table}`,
    ...options,
  })
}

Very nice! Love using Kysely to get the types automatically.

Very cool! We're looking at using Kysely for Electric Cloud actually so will probably be following your footsteps pretty soon :-D

Loving Electric btw!

Great to hear! What are you working on (if you can share)?

I can't at the moment. But hopefully very soon.


Installation via brew installs 4.0.2 but version shows 4.0.0

Hello!
I have installed bartycrouch via homebrew:
==> Downloading https://homebrew.bintray.com/bottles/bartycrouch-4.0.2.mojave.bottle.tar.gz
Already downloaded: /Users/chris/Library/Caches/Homebrew/downloads/d9f3481a2963be759e1392565aaaf00a69c5bf4f9a0b956c30d191606868f263--bartycrouch-4.0.2.mojave.bottle.tar.gz
==> Pouring bartycrouch-4.0.2.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/bartycrouch/4.0.2: 6 files, 6.0MB
However, after checking the version, I receive an old version "4.0.0". How can I resolve this?
bartycrouch version
Version: 4.0.0

I have already removed bartycrouch via homebrew and installed it again but with the same result.
Update: I have now manually build bartycrouch via make and now I receive version 4.0.2 after running 'bartycrouch version'. So there seems to be some trouble in homeBrew. Can someone reproduce my error?

This is due to the fact that bumping the CLI file was forgotten in releases 4.0.1 and 4.0.2. But this issue was already fixed in a1033ef250820587186ce63ee7ab183cddb15162 and should not appear anymore when we do an update to version 4.0.3 or higher.

I'm trying to first fetch localized assets, but it failing due to this - installed via brew a few days ago
bartycrouch version
Version: 4.3.1

with this code
if let asset = NSDataAsset.init(name: NSLocalizedString(fromAsset, comment: "")) {/* FAILS HERE */
	text = String.init(data: asset.data, encoding: .utf8)
}
else
if let asset = NSDataAsset.init(name: fromAsset) {
	text = String.init(data: asset.data, encoding: .utf8)
}
else
{
	return String(format: "Unable to locate asset:\n%@", fromAsset)
}


Plugin Question

Hey so I built a plugin and had some questions (Plugin here: https://github.com/rhodee/razzle-plugin-pwa). It should work given this line: https://github.com/jaredpalmer/razzle/blob/master/packages/razzle/config/runPlugin.js#L9.
I am happy to discuss design, but generally I followed the razzle-plugin-typescript model to get to this point. If it makes sense to add this to the the repo as package, I'd be happy to make a PR, it didn't feel like a core addition, but I can be persuaded otherwise.
Cheers - D

I was hoping to keep the package bumps in line with Razzle itself. Not sure that is a requirement, but it could be a nice feature for users. Thoughts?

This is awesome. Would love to add as a package!

Awesome. I did this one too: https://github.com/rhodee/razzle-plugin-postcss

Should create a test project in examples and then play around a bit at work. I wrote both in TS, which leads me to wonder how best to integrate. Leave me your thoughts, in the meantime.


feat: optionally set warmer roleName if using default role

Optionally set a roleName for the warmers.
Use Case:
Sometimes the default generated Role name exceeds the IAM max name length of 64 characters.
This causes deployments to fail for some users if they do not disable the warmers for deployments.
Example:
Error:
CREATE_FAILED: WarmUpPluginDefaultRole (AWS::IAM::Role)
1 validation error detected: Value 'apple-map-api-sandbox-ap-south-1-stack-sandbox-ap-south-1-default-role' at 'roleName' failed to satisfy constraint: Member must have length less than or equal to 64 (Service: AmazonIdentityManagement; Status Code: 400; Error Code: ValidationError; Request ID: 60b62c0f-18d8-4b63-80fe-672b1b5d8add; Proxy: null)

Cause:
https://github.com/juanjoDiaz/serverless-plugin-warmup/blob/847b45cc675e8f12ea439b68283417feab562ef9/src/warmer.js#L25-L40
Fix:
Optionally provide warmer RoleName field for two main reasons:

Allow users to follow a specific naming structure across their accounts
Provide a workaround for the max character limit for IAM Role names.

Please let me know if I have missed anything... Thanks!

@juanjoDiaz Please let me know if I left out any contribution steps or if there are any test cases you feel need to be added.

It seems that coverage is going down.
Can you check npm run test-with-coverage and investigate what is not being covered?

It seems that coverage is going down.
Can you check npm run test-with-coverage and investigate what is not being covered?

Seems as though L:32 of warmer.js is uncovered. I tried adding a test for coverage if the roleName was undefined but it seems to have not resolved the issue.
https://github.com/juanjoDiaz/serverless-plugin-warmup/blob/c9c343775f656a1921697c5e7b7752c52fac6055/src/warmer.js#L28-L40
Any thoughts?

Nice, I just ran into this issue too.

Sorry for the delay.
This is almost there.
Just a small issue captured by test coverage.
Once you fix it this is good to go.


Avoiding boolean solution is too complex.

Avoid using boolean as one of a parameter.

How about using array as named arguments instead?
$exporter->exportData('report_a', array('includeHeader' => true, 'includeFooter' => false));

@robinclart That's also nice too 👍
I think in some case that way is also make an interface descriptive as well (if they don't create much if ... else conditional block inside that function).
Or even we can go with,
$exporter->exportData(
    'report_id',
    Template::include(['header', 'footer'])
);

Then exporter doesn't need to take any responsibility about make a template by itself (easy to write test also).

@robinclart Can I add your idea to the README file? 😁

Have second thought.
As from the current solution, if I just remove boolean from the 2nd and 3rd args from exportData() and have method includeHeader() and includeFooter() instead. Then, in real implementation those 2 methods will do nothing more than.
public function includeHeader()
{
    $this->headerNeeded = true;
}

public function includeFooter()
{
    $this->footerNeeded = true;
}

Which is just create another issue instead.
Thanks for point it out! @robinclart
Updated document.


WinError 2 when trying to run

🐛 Bug Report

I am running on a Windows 10 machine with gitbash.  I installed the software and no errors during installation.  When I run it, it never did ask for the cookie (first problem)
But when I try to run it for any URL at xvideos it gives the video name, video page, resolution, etc. and then an error.  Here is the output with one random sample:
$ xvideos-dl https://www.xvideos.com/video65461739/madison_summers_step_brother_cums_in_his_pants
Downloading: ⚓
Video ID   : 65461739
Video Name : Madison Summers Step Brother Cums In His Pants
Video Page : https://www.xvideos.com/video65461739/_
Resolution : 720p @ 1280x720
Destination: C:\Users\doug\Downloads\xvideos\Madison Summers Step Brother Cums
In His Pants(#65461739).mp4
[WinError 2] The system cannot find the file specified
🔬 How To Reproduce
Steps to reproduce the behavior:

Run xvideo-dl from the command prompt

Code sample

Environment

OS: [e.g. Linux / Windows / macOS]   Windows 10 running gitbash
Python version, get it with:  Python version 3.7.0

python --version

Screenshots

📈 Expected behavior

I hoped it would create a file.  It does create ./xvideos folder.
📎 Additional context

When I ran it, it never asked for the cookie like the instructions said it would.  I did finally create a file ~/.xvideo/cookie  and pasted "session_token=".   But that made no difference.

The cause of the error is that the ffmpeg command was not found. Refer to the following steps to install it and set environment variables:

Download a built windows package from https://ffmpeg.org/download.html#build-windows, an available: https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z
Unzip it to anywhere. For example: G:\Downloads\Develop\ffmpeg-2021-12-02-git-4a6aece703-essentials_build
Run following two command on CMD to set environment variables. The set command only sets the environment variable for the current session. The setx command sets it permanently. Or you can set on Settings Window, see this

set PATH="%PATH%;G:\Downloads\Develop\ffmpeg-N-104731-g4a6aece703-win64-gpl\bin"
setx PATH "%PATH%;G:\Downloads\Develop\ffmpeg-N-104731-g4a6aece703-win64-gpl\bin"

In addition, downloading a single video via ffmpeg does not require cookies, so this is not a problem.

@lonsty   perfect - that was the problem and worked fine!  sorry to report it "as a bug" but I didn't see where I can ask "support" questions.  thank you for your time.


Help

Mouse is very glitchy and y axis is very slow. Can I change this?

I've noticed diagonal movements are slower left to right than right to left.  Do you see this?

Yes, I thought maybe it was because my in game settings for the different axis but it wasn't. Also, will having a mouse acceleration fix cause the jumps in aim distance and non registered mouse movement I see?

"having a mouse acceleration fix" - do you mean you have special driver settings that change how much the mouse moves over time or something?

Hopefully the issues you were having were the aiming bugs that were fixed in the latest release, available via setup installer, linked on the home page readme.  Let us know if you still have any trouble with the new version.  Closing issue.


Banner elytras fail to render with 3d Skin Layers and Iris

Elytras with banners seem to render the base and all patterns as white, making the banner appear as a white empty one. This however only happens when both 3d Skin Layers and Iris are loaded, and the banner renders fine if either mod is absent.
I'm not expecting this to be a very important issue though as removing either mod fixes it.
Game version and mod list:

Minecraft 1.20.1
Fabric Loader 0.14.22
Fabric API 0.87.0+1.20.1
Customizable Elytra 2.1.0+1.20
3d Skin Layers 1.5.4-mc1.20.1
Iris 1.6.8
Sodium 0.5.2* (required by Iris)
Indium 1.0.25+mc1.20.1* (added for Sodium/Fabric Rendering API compat.)

* Note that Sodium and Indium were always present in my testing, even when Iris was not.
How the elytra looks like with either mod installed (but not both)

How the elytra looks like with both mods installed

I'm not the most well versed with rendering, but from what I've gathered, it seems like the issue stems from the way Iris optimizes rendering. Rendering the banner patterns on the elytra relies on several layers (enchantment glint, base pattern and then banner patterns) being rendered in an exact order, and it looks like Iris messes with that.
This only shows up once 3d skin layers is installed because that mod adds in more things that are rendered on the player model, which I presume is what triggers these optimizations in Iris.
I managed to find a workaround for it by simply making the elytra layer be the last one rendered, no matter what, but that feels like a hacky (and probably not perfect) fix for an issue that could potentially be fixed on Iris' end, so for now I would prefer to keep this issue open and suggest that you open an issue on their repo and see if it's possible for it to be fixed there ^^

I'm having the same issue, the banner renders on my player model in my inventory but doesn't actually render in the world.

Hello is there a way to fix this im having the same problem.
The game will show me vanilla elytras but in the 3d skin llayer menu they will be displayed as customized with the banner/trim i used on them.

Turning on Compatibility Mode in 3D Skin Layers seems to fix this issue @Hidoni

Thanks, just tested it and it does work.


DHT22:init() call to parent constructor missing positional parameter unit_index.

In module pysmartnode.components.sensors in file dht22.py line 64.
Argument list in call to super() is missing the third argument _unit_index. This causes a runtime error
to be thrown. Simply add the missing parameter which is defined locally to the call and all is well.

Thanks a lot for reporting this issue!
It should be fixed by https://github.com/kevinkk525/pysmartnode/commit/c48251dff6420bafa337b8a74d5bc684acf81a15

Oh and congrats on opening your first issue! And the first issue on my project :)


code cleanup

Just went through and started doing some cleanup, removed unnecessary imports, added generic types, and some other things.
Also added "this" to class attributes to improve readability of code.

If the field is not being hidden by another variable then this isn't necessary.

We typically do not use this unless it is necessary.  We also do not format our curly braces on one line like:
} catch (SecurityException e) {

Other elements of your changes, such as adding @Override, are things we typically fix in files as we touch them for other reasons (bug fixes, new features, etc) so we can minimize the impact of development conflicts.  I'm hoping one day we can all get our branches synced up and do a global formatter pass on the code.


Breaking change in v1.3.1?

Hopefully I'm just missing something... I have everything working fine in v1.3.0. If I try to upgrade to 1.3.1 or 1.3.2, the first line of the minified file references webpackJsonp, which doesn't seem to exists.

Should it exist somewhere in your files?
Is webpack now a requirement to use this library?

Like I said, 1.3.0 seems to be working fine so far, so I was kind of surprised that upping the patch version changed anything...

+1

Woah, I can't believe I missed this before... v1.3.0 contains all of Angular within it. The dist file is almost half a meg...
@jshor, are you still maintaining this project?

Fixed in v1.3.3

Great! I'll try it out next week (hopefully)!


NIFI-2873: Nifi throws UnknownHostException with HA NameNode

The fix is to attempt to "preload" the configuration during the setup phase.

Reviewing...

Thanks very much for the improvement! The code changes look good to me, just need to test on an HA cluster and will merge after verification :)

This works great, thanks again for the contribution! +1 Merging to master


num_ingested_docs is incorrect on REST ingest API

Using the REST ingest API the num_ingested_docs returned appears to always be 1 instead of the number of docs in the request.
curl 'localhost:7280/api/v1/noaa-1m/ingest' -d @./data/noaa-10000-filtered.json
{
  "num_ingested_docs": 1
}

In this case I would have expected it to be 10,000

@kstaken I had the same issue, it works with this command:
curl 'localhost:7280/api/v1/noaa-1m/ingest' --data-binary @./data/noaa-10000-filtered.json

From the curl man page on '-d' argument:
Posting data from a file named from a file like that, carriage returns and newlines will be stripped out.

I made this same mistake and discovered the same bug as you in #1551

Grr, --data-binary, I always forget about that.


[Scanner] Use CurrentExecution instead of base one

Coverage increased (+0.04%) to 67.01% when pulling 59f4b3ce92bc05045d0b7c815931dd5fe1141b5e on mkolodezny:ref into 121ef1e61de156ad8b9a5954e229210dc115c9a4 on uber:master.


Fix sourcemap paths to use correct root

Somehow path.relative(self.options.context, process.cmd()) always seems to resolve to empty string when combining with css-loader leading to doubling the path to file: src/styles/src/styles/global.scss.
This makes debugging using Chrome DevTools and mapping to file system resource impossible for Sass files.

See #313


Test Coverage: Improve test coverage

Description
Currently, test coverage is at 90% which can surely be improved. Possibly, one of the easiest ways for someone to contribute to this library.

hi, I will be happy to help with this. I have run the coverage report. I'll start with the file tangent_between_circles.js

@giancarloGiuffra Awesome! Feel free to ping me here if you face any issue

I can pick up ternary_search.js

I can pick interpolation_search.js


Feature concert sort

Added new display functionality for concert list. Concerts are now sorted into upcoming and past concerts groups.

👷 Deploy Preview for comfy-lebkuchen-abb06a processing.

Name
Link

🔨 Latest commit
ea98be8ef72a80ade0bedbd7132189233fa5d692

🔍 Latest deploy log
https://app.netlify.com/sites/comfy-lebkuchen-abb06a/deploys/663b8382ccfbea0008b4fa46


Improvement remove option

We ask users what they want todo with webserver and php. We cant expect users using only rpicam alone! Maby they no want uninstall webserver himself...
What we do with webroot? I personally think we mast set it /var/www/ and leave it there. In forum i read people not like webroot set in subfolder and they cant use more websites in different subfolders.
Is that makes problems in PHP programming side if we deside abadon weebroot set into subfolder?
roberttidey you are agee with me? If you agree i programming installer that way.

Good to ask question on those during remove.
There are two ways to handle multiple sites. One is to include subfolder paths in the URL and the other is to use different port addresses.
E.g. in first case it would be http://host/folder1 and http://host/folder2
In the second case it would be http://host:port1 and http://host:port2 where if the port is 80 then it can be left out of the url. In this method the Apache config has a separate set up for each port number. This is a bit more complex to set up but does have some advantages.
Originally it used to be scheme 1 (subfolders) then someone submitted a change to port method. So far one person has objected.
Personally I don't care as I use all my cameras as dedicated apps, but I put a question on the forum to see if there are any preferences.
It makes no difference as far as the camera php is concerned as the root effectively becomes the original url as entered. It does affect the motion.conf set up. In the subfolder scheme the netcam_url has to be adjusted to include the subfolder.

scheme 1 (subfolders) - more universal
scheme 2 (pors) - more complicated
I explain why. Do not forget routers and firewalls. If webserver located inside local network then using scheme 2 requires port forwards. Biggest problem is where you want access your websites. In home you can configure router most of time but what happens if you want access you websites when you behind strong firewall!? Example banks... There only 2 ports opened standard http and https.... and thats all!
So i vote for scheme 1 as it is more universal and less possible problems.


UPSTREAM: : Add OpenShift OWNERS

Add OWNERS file for approvals via ci-operator

/assign @dmage
/cc @bparees
I assume we'll need to green-button this?

/lgtm

/assign @bparees
It requires superpower to get merged.

/cherrypick image-registry-3.11-distribution-48294d9


index.js - Generate the ast before exiting the core processing phase.…

I ran into this when fixing markdown-it-hierarchy. After looking at the approach of modifying content during the core phase I switched back to having the plugin operate at the rendering phase.
This plugin adds numbers to headers, like "1. Some header", and "1.1 Some nested header" for a header nested under the first etc.
What was occurring was that markdown-it-hierarchy (the new version I haven't pushed out yet), was adding "1." to the first entry in my markdown, making it "1. Table of contents". Then, the next token was the toc token which this plugin would process. In the act of processing the ast would be built up which would consist of:
1. Table of contents
...
The next header after the table of contents
The next header after that

And the toc would contain an odd first entry like:
1. 1. Table of contents
2. The next header after the table of contents
3. The next header after that

So I was thinking a fix for this would be to capture the ast after the core phase (although I'm not sure how to ensure we are doing that), and before my plugin altered the tokens during rendering.
It may make sense for my plugin not to modify the tokens during rendering but I'm not sure how best to do that at the moment.
Thoughts on this change?

Pull Request Test Coverage Report for Build 24

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 23:
0.0%

Covered Lines:
62

Relevant Lines:
62

💛  - Coveralls

Pull Request Test Coverage Report for Build 24

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 23:
0.0%

Covered Lines:
62

Relevant Lines:
62

💛  - Coveralls

Pull Request Test Coverage Report for Build 24

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 23:
0.0%

Covered Lines:
62

Relevant Lines:
62

💛  - Coveralls

@nagaozen, alright, I was able to modify my plugin to save and restore the token content value which removes the conflict with this plugin and hopefully all other plugins. If this PR does look like a good improvement then great but if its in some way flawed it looks like the fixes to my plugin have resolved the issue. Thoughts?


[Only War (Enhanced)] Psyker Sheetworker resolved

Changes / Comments
resolved a script-breaking bug in the sheetworker calculating Effective Psy Rating and Psychic Phenomena
added output that shows the PP modifier
adds 5*EPR to focus power tests
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
yes: the previous release's autocalc field for "attr_effective_psy_rating" read from incorrect values, creating a misleading result.
[ ] Does this add functional enhancements (new features or extending existing features) ?
yes: the EPR is now handled by a sheetworker, making it easier to reference in other macros, and the Psychic Phenomena modifier is now calculated and displayed automatically, courtesy of the same sheetworker.
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
Removed the disclaimer from the Psykana tab, replacing it with a new "Phenomena" box
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

the lines being changed in this PR suggests I may have done something wrong with this branch. Will revise and resubmit.


Does hound search issues?

Hey just a quick question: does hound perform searches in issues? Or just the code

If not may I know if there is any tool that search in issues within multiple repos?

Hey, Hound is purely a source code search. I don't know of an alternative, aside from GitHub's own search.


Finding the MongoDB URL on Kubernetes

If we install into Kubernetes (e.g. through docker-for-desktop on a Mac), the application itself fails to connect to mongodb (trying to use localhost, incorrectly).
Specifically:
initialized option at server/routers/mongo.js:78:10
Connection established with mongodb
Connection details: mongodb://localhost/comments
{ MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED <IP_ADDRESS>:27017]

Instead, I think it should be talking to it using the internal (in Kubernetes) iP address and port. I get past the connection error...
This is how we could get the hostname out:
const mongoURL = process.env.MERNEXAMPLE_MONGO_SERVICE_SERVICE_HOST || 'localhost'; which is a change that can be made in mongo.js.
But my connection still times out.
The environment variable here can be seen if we kubectl exec into the mongodb pod and do the following (we see the cluster IP it's gone to, as well as any other env variables:
root@mernexample-mongo-deployment-7798fc6f9b-gdmqk:/# env | grep MONGO
...
MERNEXAMPLE_MONGO_SERVICE_SERVICE_HOST=<IP_ADDRESS>
MERNEXAMPLE_MONGO_SERVICE_SERVICE_PORT=27017
...

@joyychang @jkingoliver FYI, I can create a pull request for this if you like, the reason it's MERNEXAMPLE is because that's the name of the chart in our Chart.yaml file.
If this is incorrect, please advise: I've tried following the readme, modifying bindings.yaml but I don't want to use localhost: I want the dynamically resolved cluster IP.

Actually I think this is due to mongodb not being up just yet, and the service name for mongo is something massive.
So I can do this before my mongoose.connect statement:
	let seconds = 30
	var waitTill = new Date(new Date().getTime() + seconds * 1000);
	while(waitTill > new Date()){}

And in values.yaml, I have the url for mongo set to just "mongo".
Then in mongodb.deploy.yaml, the service is named
metadata:
  name: {{ .Values.services.mongo.url }}

Everything then works and connects fine. https://github.com/a-roberts/MERN-app/commit/4c717951f363e0e6c9cf124f32c432584f46edf3 changes here

@a-roberts Question here for you:
https://github.com/a-roberts/MERN-app/commit/4c717951f363e0e6c9cf124f32c432584f46edf3#r31048376

@a-roberts can you not poll for mongo being available until a timeout instead of arbitrarily waiting almost 17 minutes doing nothing?


Icd handler

Initializes ICD handler to handle and parse check in messages from the server.
Fixes #28232

I think you might have merged some submodules update in this pr... Worth double checking @thivya-amazon

@thivya-amazon after refresh key, please do RegisterClient with key and verificationKey, the verification key is the old key.


feat(objects, attributes): added automated support for full schema with docstrings

Edward raised a good point about runtime type feedback (where we have users who don't even have IDEs that can parse docstring hints), but I think that's a separate issue.  @mwfarb did you figure out what the deal was with the weird escaped HTML?

@mwfarb did you figure out what the deal was with the weird escaped HTML?

Yes, this was  used in the documentation, which had no close bracket keyword and so it messed up the html parsing, so I just removed the brackets.

@mwfarb did you figure out what the deal was with the weird escaped HTML?

Yes, this was used in the documentation, which had no close bracket keyword and so it messed up the html parsing, so I just removed the brackets.

Cool, LGTM then


Restriction on number of tags

Whats change

Restrict the number of tag being read; only first 10 tags will be recorded.

AddCommand/EditCommand.java

Update MESSAGE_USAGE that only 10 tags will be restricted.

ArgumentMultimap.java

Add getAllTagsValue(): only get first 10 tags.

AddCommandParser/EditCommandParser.java

Replace getAllValue() on tag to getAllTagsValue()

While this implementation works to prevent overloading the GUI with too many tags, Do you intend to prevent the user from adding more than 10 tags? eg. by throwing an exception

No going to have an exception, as this may affects the user experience. For example, user type more 10 tags but program throws an exception which would need them to retype all the tags.

I believe that user experience would be equally affected if you were to allow users to add more than 10 tags but not display them. A user who does not read the user guide would not understand the behavior. Requesting input from @chia-yh @cmang12 @nus-jeff so we can decide on a suitable implementation.

I believe that user experience would be equally affected if you were to allow users to add more than 10 tags but not display them. A user who does not read the user guide would not understand the behavior. Requesting input from @chia-yh @cmang12 @nus-jeff so we can decide on a suitable implementation.

I update the changes to throwing exception, I realised the input text will be retained in the text field even when the program throws exception. @dillongoh Thanks for the suggestion.


Use a "/scan" topic on Cartographer

http://wiki.ros.org/navigation/Tutorials
http://wiki.ros.org/navigation/Tutorials/RobotSetup/TF
http://wiki.ros.org/robot_state_publisher/Tutorials/Using the robot state publisher on your own robot
http://wiki.ros.org/cartographer
https://github.com/googlecartographer/cartographer_ros
https://google-cartographer-ros.readthedocs.io/en/latest/
source /opt/ros/kinetic/setup.bash
cd catkin_ws
source install_isolated/setup.bash

# Launch the 2D backpack demo.
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

https://answers.ros.org/question/252104/using-cartographer-for-creating-map-how/

http://turtlebot3.robotis.com/en/latest/teleoperation.html

Rejected by LEAN


[material-ui][Radio Group] Classnames on the API page are incorrect

Related page
https://mui.com/material-ui/api/radio-group/#classes
Kind of issue
Other
Issue description
Incorrect naming of CSS Classes on RadioGroup API page:
No matter how I try (and even on your own demo page - https://mui.com/material-ui/react-radio-button/ ) the RadioGroup component does NOT have the class .MuiRadioGroup-root applied to the root. Rather it has .MuiFormGroup-root. same for theme targeting via component - it's not MuiRadioGroup, it's MuiFormGroup. Please update or add further explanation.
The same thing is true for the other class listed if the row prop is true - .MuiRadioGroup-row does not ever show up; it's .MuiFormGroup-row
Context
Please update the "CSS classes" area of this documentation page for RadioGroup to be correct (for obvious reasons).
Search keywords: MuiRadioGroup-root, MuiRadioGroup, MuiFormGroup

Can I work on this?

I believe the CSS classes are correct; we're just not applying those classnames to the Radio Group component.


Fix Startup before rehydration

Please verify the following:

[x] Everything works on iOS/Android

Fix 340
Check if redux persist is not active and then fire startup action.
Else... The rehydration service will fire the startup action after complete.

🙌   Golden!
Welcome to the Ignite contributors list!


Approx multihit percentages

Approximate multihit percentages more accurately.
Should be within 1% for most calculations.

This should be finished now and ready for review.


Remove powershell example for retrieving roleDefinitionIds

The powershell command Get-AzRoleDefinition does not show the full resource identifier.

@camillemarie : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


webhooks/bitbucket: Account for missing user info.

According to our logs, some BitBucket enterprise payloads may
not contain the name of the user who pushed all the commits.
@timabbott: FYI :)

Merged, thanks @eeshangarg!


Shopify Client

Shopify needs the client_id and client_secret inside the body see https://shopify.dev/tutorials/authenticate-with-oauth#step-3-confirm-installation
This is also rfc compliant https://tools.ietf.org/html/rfc6749#section-2.3.1

Is the failure my fault? I have to say that I can't follow the log errors

Hi @sbu-WBT, thank you for the PR!
I like the idea, I just have a couple observations:

Instead of using a boolean parameter, I think it could be better to use an enumerated value, that currently can take only 2 values (conveying the "pass credentials in the header" and "pass credentials in the body" meanings), but in the future could be extended to support other values (for example "pass credentials in the querystring" - I know it sounds silly but there are many non-standard servers out there...). In this case I think a better name for the parameter could be credentialsLocation or something like that. The values could be codified as constants in the OAuth2Client class (CREDENTIALS_LOCATION_HEADER and CREDENTIALS_LOCATION_BODY?)

IMHO that parameter could be a property of the Auth2Client class, meaning that we could pass it directly in the client constructor, so that it could be seen as a "configuration" of the client. Something like:

OAuth2Client(
      {@required this.authorizeUrl,
      @required this.tokenUrl,
      this.refreshUrl,
      this.revokeUrl,
      this.credentialsLocation, //Sets the location of the credentials for the whole client
      @required this.redirectUri,
      @required this.customUriScheme}) {
...
}

This way we don't have to pass the parameter to the OAuth2Helper and from there on to all the client methods.
Your Shopify client could then be changed to:
import 'package:meta/meta.dart';

import 'oauth2_client.dart';

class ShopifyOAuth2Client extends OAuth2Client {
  ShopifyOAuth2Client({
    @required String shop,
    @required String redirectUri,
    @required String customUriScheme,
  }) : super(
          authorizeUrl: 'https://$shop.myshopify.com/admin/oauth/authorize',
          tokenUrl: 'https://$shop.myshopify.com/admin/oauth/access_token',
          redirectUri: redirectUri,
          credentialsLocation: OAuth2Client.CREDENTIALS_LOCATION_BODY,
          customUriScheme: customUriScheme,
        );
}

What do you think? If it sounds good to you, are you willing to update your code and update the PR?

I didn't thought on other possible ways to authenticate because only these are mentioned in the rfc. Bu if you want, I can transform it to an enum.
I thought the same of putting it inside the client. Then I saw the enablePKCE option in the helper and thought that these are kind of the same type of configuration. I will move it to the client

Fine, thank you!

Codecov Report

Merging #68 (2726f87) into master (ec988eb) will decrease coverage by 0.56%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master      #68      +/-   ##
==========================================
- Coverage   90.43%   89.86%   -0.57%
==========================================
  Files          11       11
  Lines         439      444       +5
==========================================
+ Hits          397      399       +2
- Misses         42       45       +3

Impacted Files
Coverage Δ

lib/oauth2_client.dart
88.33% <57.14%> (-2.11%)
:arrow_down:

Continue to review full report at Codecov.

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

I tried adding a test but failed😅 I have no clue why NoSuchMethodError: The getter 'statusCode' was called on null. gets thrown. I just copied an existing test

Thank you @sbu-WBT!
No problem for the tests, I added a couple of methods myself...


Receiver service instead of TV ?

Hello,
Is it possible to change in the future the type "service" declared in Homekit, as there is a "AV receiver" service
Instead of a TV ?
It would be great :-)
Kind regards

I second that


Move accel into it's own Library

Accel functions should be a library that is optionally brought in, similar to SD

Not sure this is needed. Closing for now.


chore: add README, nox support for MQTT example

Fix for #188

Discussed offline, closing the loop here; see example on adding temporary OwlBot changes to make it happy but also continue receiving template updates when needed.


Listview images have a black background in TR2.

With images that don't have a 1:1 scale like album covers a black background is shown and looks ugly.
When using a movie poster/cover image with a scale 3:4 both left and right side of the image have a black bar. With fanart/screen capture images that are 16:9 both top and bottom are presented with black bars.
When presenting images in the listview that have a scale of 1:1 it's not visible as the black background is 1:1 as well. (1:1 = square)

Thanks for the details. Looks like an issue with transparency of images but on the Brain firmware side not on the SDK side.

I can set some of these images as channel favorites, just to see what happens. would this be beneficial?

No need, I think we already know what the problem is. The images for the remote are preprocessed (resized, optimized, ...) as part of that we should have transparent background if the resized image doesn't fit the final target.
I'll keep this open for now in case we have a work around for it on the SDK side, if it's on the Brain side I'll close this as we're already tracking the bug internally.


Adding code to open in colab in new tab

Added code to open in colab in a new tab instead of the current tab.
Reads notebooks from "tutorial/{directory}/student/{notebook}".
Fixes the attribute of anchor tag from target=_parent to target=_blank.
Writes the new notebook in the same directory.

ah, missed this PR before merging in the branch. Can you rebase off of master?


Online examples not working

Video/Audio: http://<IP_ADDRESS>:3009
Text: http://<IP_ADDRESS>:3008
Both require a working webmonetization-enabled wallet as of now, so the only ways to run the demos now are:

Subscribe to Coil
...run them locally

Preferably we should create our own webmonetization simulator right in the frontend without any requirement for a separate browser extension.


affected/package: go mod

What version of Go are you using (go version)?
go version go1.20.4 darwin/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOHOSTARCH="amd64"
GOHOSTOS="darwin"

What did you do?

go mod tidy/vendor/ etc. returns the following error when there is trailing whitespace in the path to main.go
github.com/.... : malformed import path "github.com/.... ": invalid char ' '
What did you expect to see?
successful go tidy
What did you see instead?
github.com/.... : malformed import path "github.com/.... ": invalid char ' '

working as intended.
as the error indicates, spaces aren't allowed.


Add collaborative repositories to the dashboard

Remove some unused code from the Dashboard func
Fixes #2114

LGTM

LGTM

One more thing - integration test for this would be great

Make LG-TM work

Fixed

@Bwko do you have time to fix this PR?

@lunny  Done

@Bwko do you have time to fix this?

Since #2285 has refactored the dashboard and fix #2114. This PR will only affect others places. I will  move this to v1.3

Trusted LGTM

@lunny @lafriks @andreynering @Bwko Hi, don't know if I am doing something wrong, but it looks like this PR actually removed all collaborative repositories instead of adding any (nice paradox :D) and doubled some feeds. Did anyone test it?


[Bug] mlc_llm serve error on Mac M1 (git clone failed with error 128)

🐛 Bug
see title
To Reproduce
Steps to reproduce the behavior:

follow instructions to install mlc from nightly (NOT using conda, just in my venv)
run mlc_llm serve HF://mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC

Expected behavior
should work

Environment

Platform Mac M1 Max
Operating system - MacOS Sonoma 14.2.1
How you installed MLC-LLM (conda, source):
Ran this with my venv activated (did NOT use conda, not sure if that matters)

python -m pip install --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cpu mlc-ai-nightly-cpu

How you installed TVM-Unity (pip, source):
did not install this

Python version (e.g. 3.10): 3.11

Additional context
error trace:
[2024-09-24 09:45:08] INFO auto_device.py:88: Not found device: cuda:0
[2024-09-24 09:45:09] INFO auto_device.py:88: Not found device: rocm:0
[2024-09-24 09:45:10] INFO auto_device.py:79: Found device: metal:0
[2024-09-24 09:45:10] INFO auto_device.py:88: Not found device: vulkan:0
[2024-09-24 09:45:11] INFO auto_device.py:88: Not found device: opencl:0
[2024-09-24 09:45:11] INFO auto_device.py:35: Using device: metal:0
[2024-09-24 09:45:11] INFO download_cache.py:227: Downloading model from HuggingFace: HF://mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC
[2024-09-24 09:45:11] INFO download_cache.py:29: MLC_DOWNLOAD_CACHE_POLICY = ON. Can be one of: ON, OFF, REDO, READONLY
[2024-09-24 09:45:11] INFO download_cache.py:56: [Git] Cloning https://huggingface.co/mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC.git to /var/folders/dx/39xz0fk938zftc3djhbm78bc0000gn/T/tmpjpli117j/tmp
Traceback (most recent call last):
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/support/download_cache.py", line 57, in git_clone
    subprocess.run(
  File<EMAIL_ADDRESS>line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'clone', 'https://huggingface.co/mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC.git', '.tmp']' returned non-zero exit status 128.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/pchalasani/Git/langroid/.venv/bin/mlc_llm", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/__main__.py", line 49, in main
    cli.main(sys.argv[2:])
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/cli/serve.py", line 204, in main
    serve(
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/interface/serve.py", line 55, in serve
    async_engine = engine.AsyncMLCEngine(
                   ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine.py", line 896, in __init__
    super().__init__(
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 590, in __init__
    ) = _process_model_args(models, device, engine_config)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 171, in _process_model_args
    model_args: List[Tuple[str, str]] = [_convert_model_info(model) for model in models]
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 171, in <listcomp>
    model_args: List[Tuple[str, str]] = [_convert_model_info(model) for model in models]
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 125, in _convert_model_info
    model_path = download_cache.get_or_download_model(model.model)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/support/download_cache.py", line 228, in get_or_download_model
    model_path = download_and_cache_mlc_weights(model)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/support/download_cache.py", line 180, in download_and_cache_mlc_weights
    git_clone(git_url, tmp_dir, ignore_lfs=True)
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/support/download_cache.py", line 70, in git_clone
    raise ValueError(
ValueError: Git clone failed with return code 128: None. The command was: ['git', 'clone', 'https://huggingface.co/mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC.git', '.tmp']
Exception ignored in: <function MLCEngineBase.__del__ at 0x127f94540>
Traceback (most recent call last):
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 654, in __del__
    self.terminate()
  File "/Users/pchalasani/Git/langroid/.venv/lib/python3.11/site-packages/mlc_llm/serve/engine_base.py", line 661, in terminate
    self._ffi["exit_background_loop"]()
    ^^^^^^^^^
AttributeError: 'AsyncMLCEngine' object has no attribute '_ffi'

@rickzx yes the git clone works. Can we use mlc_llm serve and directly point it to the local cloned model, rather than the HF... argument?

@pchalasani you may be missing the dependencies in step 1 here

@pchalasani you may be missing the dependencies in step 1 here

Thanks but I'm not using it on iOS. Please let me know if these deps are needed for my scenario
(I followed the docs precisely and this was not mentioned).

Ahhh apologies, I received a similar error and installing lfs is what worked for me but sounds like not applicable to you.

Can we use mlc_llm serve and directly point it to the local cloned model, rather than the HF... argument?

@pchalasani Yes of course! You can do the following
git clone https://huggingface.co/mlc-ai/Qwen2.5-32B-Instruct-q4f32_1-MLC
mlc_llm serve ./Qwen2.5-32B-Instruct-q4f32_1-MLC

Hello guys, I believe this issue is caused by Git LFS. Just install it and see if that resolves the problem.
sudo apt-get install git-lfs
git lfs install


Add label support to TotalNumberOfQueuedAndInProgressWorkflowRuns metric

The TotalNumberOfQueuedAndInProgressWorkflowRuns metric relies on ListWorkflowJobs method https://github.com/google/go-github/blob/fa34afad23649db61eff69fecba7c48a3839e891/github/actions_workflow_jobs.go#L70 which is a wrapper to https://docs.github.com/en/free-pro-team@latest/rest/reference/actions/#list-jobs-for-a-workflow-run. You can see in the response that a list of all labels in the workflow is included.
Labels in the response are just grouped together rather than mapped to their corresponding job, as a result there will be some significant limitations to labels with this metric.
We can't know how many self-hosted runners we need to scale exactly. We would have to assume that if there is a label match then we need a runner from that match for every job in the workflow.
There are 2 implementations of this that could be done (bronze and gold):

Bronze - Check that the RunnerDeployment / RunnerSet has the matching labels before deciding if it needs to scale up. At the moment we scale all RunnerDeployments / RunnerSets to the depth of the queue (within the replica constraints). This would, in addition, to scaling only on workflows that actually have some jobs that target self-hosted runners, prevent overscaling when running multiple controllers as at the moment if both controllers have runners against the repository they will both scale up even if the second controllers runners don't have a relevant label.
Gold - Between all of the RunnerDeployments / RunnerSets that match only scale enough to cover the depth of the queue. In the case of multiple RunnerDeployments / RunnerSets matching and the queue depth being less than the maxReplica count between all the matching sets, pick a runner group randomly (with Default being preferred if that can fulfil the label requirements) and opting to scale that one up over the other so we don't overscale.

The Bronze variant of this has been implemented in #1373


Support feature modules

We have an implementation of instant app that uses feature modules instead of library modules. Currently, we have a workaround where the feature module inherits the library module that utilizes the apollo plugin. However, this has increased the build time and has increased complexity of the project. It would be nice to add plugin support for the feature module type.

I'm not terribly familiar with what this would take. Would love suggestions or more information from community. @marwanad was gracious enough to write the current gradle plugin, not sure if he's familiar with changes needed. @ivans do you instant apps?

I'm not entirely familiar with feature modules.
By the looks of it, it seems like another Gradle plugin that's applied so simply adding a check: project.plugins.hasPlugin("com.android.feature")  before applying the plugin here should do the trick.

@marwanad just tried to apply such and added the plugin locally:
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: compileSdkVersion is not specified.

Odd since compileSdkVersion is definitely being specified in the feature module. Also tried updating the Android gradle plugin version, but no luck :/

@theyhoang Is this the error you see when applying it to the feature module?

closing due to inactivity, pls post comment if someone knows what is wrong or what we need to do to fix it :-)

Hello there. I've been looking into the code to find out what is causing the bug with android feature module. After searching with the error message "Apollo plugin couldn't be applied. The Android or Java plugin must be configured first", I've find the class ApolloPlugin.groovy of the package "com.apollographql.apollo.gradle" inside the apollo-gradle-plugin folder.
The method apply wasn't checking the Android Feature plugin :
@Override
  void apply(Project project) {
    this.project = project
    if (project.plugins.hasPlugin(AppPlugin)
        || project.plugins.hasPlugin(LibraryPlugin)
        || project.plugins.hasPlugin(JavaPlugin)
        || project.plugins.hasPlugin(JavaLibraryPlugin)) {
      applyApolloPlugin()
    } else {
      throw new IllegalArgumentException(
          "Apollo plugin couldn't be applied. The Android or Java plugin must be configured first")
    }
  }

Can we just add a statement to check for Android Feature like this :
project.plugins.hasPlugin(InstantAppPlugin)
I read Android SDK to find the InstantAppPlugin class, I think it's the correct class for Android Feature.

Can you reopen the bug ticket please ? Or if you don't want to, could you indicate how can I test the code for gradle plugin without creating a new repo. Thanks.

I'd recommend opening a new ticket with a demo project demonstrating the issue

@agicquel My team is also experiencing this issues. It's frustrating, so I just made a PR for it.

@agicquel Hey, make sure to watch #1069 and #1070. Once merged in, you should be able to test the most recent snapshot and confirm that your personal issue is resolved.
Same for you, @yenkenobi, if this still applies to your team. :)

@16BitsOfAwesome I will take a look, thanks a lot for your contribution ;)


Use element data vs. attributes for space-pen attach trigger hints.

Like issue #2, this keeps space-pen attributes out of the markup, but for attach triggers. This does a few things.

Stores the "spTriggerAttachEvent" string in data(). Uses a "sp" prefix for space-pen to avoid conflicts.

It changes triggerAttachEvent() to work with the data attribute. Note this function also has a subtle change where it has an extra existential operator at the beginning if element? since I found that in some odd cases where my dom sublists were empty the append was passing undefined. Could not track down by, so thought the extra guard was just OK.

All tests pass.

Oops. I commented on your commit instead of the pull request.

I am really persnickety about modern JavaScript applications not polluting the markup for a few reasons. I think it markup attributes is just a throw back to the days of old. Even data-id="12" is something to avoid. I find that when rendering templates that I just associated model data with elements using jQuery's data() method. I picked up this habit using Spine.JS with ECO templates from some code Alex had written https://github.com/maccman/spine/blob/master/src/tmpl.coffee
As far as the performance concern, I am not sure. I would propose that any template system not add to the markup to achieve its job. That should be the higher order bit. That aside, I do know jQuery is optimized and data() is used for non native CSS animation tweens. I also feel that given the nature of how views are used, that we are dealing with discreet fr fragments of HTML, so we should not look at this from a performance standpoint of one would think of the whole page. Thoughts?

Thinking about this more, if I trigger any SP overridden method like append, I only have to worry about the traversal of it's nodes and view fragments are small and appending is a one time operation. Hope this makes sense. Been a long day :)

I am going to close this issue since #7 takes precedence and uses the old attar method. Once that gets applied, I will make another patch for this feature and supply benchmarks.


unknown_user_type: Unknown User Type

I am trying do the non-interactive login against Azure AD B2C, but I am getting error
unknown_user_type : Unknown User Type

Hi, please provide more details. Is this a B2C tenant. What exactly is the code that is breaking?


Golang Patch Release: [security] Go 1.20.2 and Go 1.19.7 are released

Test issue: Duplicate of #887

Closing duplicate issue. Trigger worked for ops tool.


Enabling FFM

I've been looking around but I have not yet found my answer:
How do you enable focus follows mouse?
Thanks

You just need to load the ffm plugin
chunkc core::load ffm.so

and it should work.

This doesn't act how focus_follows_mouse acts in kwm, I have to click to focus the window.

Did you install the ffm plugin?
By default, brew and port only install chunkwm-tiling, and chunkwm-border, as stated in the README.

That would do it. Apologies.


implement vite

The vite example is building and running fine. Only I'm not sure how to instead of console logging the remote components, display them on the screen. Could you provide an example of it?

Thanks @zhangHongEn for your contribution.

Looks great @zhangHongEn, the vite example is building and running fine. Only I'm not sure how to instead of console logging the remote components, display them on the screen. Could you provide an example of it?

Ok, I'll add it

That's a great piece of code 👏
I'm wondering if we can include module-federation-vite code inside the repository rather than using the dependency (see image below)

@gioboa https://github.com/module-federation/vite/pull/28/commits/e5e37ece2b5b25f95105527b84ef93215cd7dbc9

@gioboa would still be good to include your original native-federation wrapper under either /module-federation/vite/packages/native-federation or /module-federation/native-federation  once this merged. This repo will have best of both worlds literally then: Module Federation for vite and Native Federation for Vite.
Thank you

@zhangHongEn thanks for rocking with this PR. I'm wondering if we can use
'@module-federation/esbuild' code in this implementation? #27 tried to implement the functionality but it's abandoned I guess

@zhangHongEn thanks for rocking with this PR. I'm wondering if we can use '@module-federation/esbuild' code in this implementation? #27 tried to implement the functionality but it's abandoned I guess

Vite's temporary dev mode uses esbuild. I have tried configuring @module-federation/esbuild in vite.config.js optimizeDeps.esbuildOptions.plugins, but it seems to conflict with vite's pre-built

@zhangHongEn thanks for rocking with this PR. I'm wondering if we can use '@module-federation/esbuild' code in this implementation? #27 tried to implement the functionality but it's abandoned I guess

While it might be useful to look into https://www.npmjs.com/package/@module-federation/esbuild?activeTab=code this for reference, I would not recommend using that library as Vite wraps esbuild/rollup and tries to provide unified interface, so best approach to use vite holistically.

@zhangHongEn thanks for rocking with this PR. I'm wondering if we can use '@module-federation/esbuild' code in this implementation? #27 tried to implement the functionality but it's abandoned I guess

While it might be useful to look into https://www.npmjs.com/package/@module-federation/esbuild?activeTab=code this for reference, I would not recommend using that library as Vite wraps esbuild/rollup and tries to provide unified interface, so best approach to use vite holistically.

Yes, the vite plugin and esbuild plugin are independent of each other

@gioboa is there anything else blocking this PR's merge. Will be great to get this out to keep momentum on.

@husayt this is a good POC, but I can't release a new version of the library with this code.
I'll try to adapt this code to and cut a new release.
I also need to convert most of the files to TypeScript because right now are in pure JavaScript.

@husayt this is a good POC, but I can't release a new version of the library with this code. I'll try to adapt this code to and cut a new release. I also need to convert most of the files to TypeScript because right now are in pure JavaScript.
I tried to use this code and the module-federation-vite package too in this repo vue-microfrontend-demo but I can't get it to work. @zhangHongEn Can you open a PR in that repo to show me how replace the old code with the new one pls?

It's a good test scenario indeed.
https://github.com/gioboa/vue-microfrontend-demo/pull/8

https://github.com/gioboa/vue-microfrontend-demo/pull/8

Thanks 🚀

@gioboa Please create a new branch and merge the code first. I received some issues and PRs.
https://github.com/zhangHongEn/module-federation-vite/pull/4

gioboa/vue-microfrontend-demo#8

Thanks 🚀

Thanks for your commitment.
I tested your PR in the Vue mfe example and it's not working, I have multiple errors during the build process.
I would like to have a fully working application here -> https://github.com/gioboa/vue-microfrontend-demo/pull/8
before going on with this new implementation.

gioboa/vue-microfrontend-demo#8

Thanks 🚀

Thanks for your commitment. I tested your PR in the Vue mfe example and it's not working, I have multiple errors during the build process. I would like to have a fully working application here -> gioboa/vue-microfrontend-demo#8 before going on with this new implementation.

Done, this is not a plugin issue, but I will fix it in the plugin
 manualChunks(id) {
  if (id.indexOf("/@module-federation/runtime") > -1) {
    return "mfruntime";
  }
}

@gioboa Please create a new branch and merge the code first. I have received some issues and PRs and need to synchronize the code. Please give me permission so that I can quickly merge in the new non-trunk branch. Before the complete merge, I will publish the npm module-federation-vite package for use
zhangHongEn/module-federation-vite#4

@gioboa  Can we create a new non-main branch and work together first?

I created a new-config branch

I created a new-config branch

@zhangHongEn you can create a new PR for follow up changes.
But here are some fixes which would save you time
in pnpm-workspace.yaml
packages:
  - 'examples/*'
  - '.'

Replace 'module-federation-vite' to '@module-federation/vite' everywhere
Replace import path from 'path'; to   import {join} from 'path';
remove export default federation; as only named export should be there

@husayt #29

@zhangHongEn Awesome! Do we need to publish a new version and update doc to provide the latest configuration?

@zhangHongEn Awesome! Do we need to publish a new version and update doc to provide the latest configuration?
I will solve these two important problems tonight. #66 #40
Currently still publishing @module-federation/vite@next to npm

@zhangHongEn Thank you for your effort! Looking forward to the release of version 1.0.


Dispatch function implementation to dtype

This PR splits off the implementation of top-level operations for the string and boolean dtypes from the numerical dtypes. Previously, this was all more or less monolithically together in _impl.py for legacy reasons. With this refactoring, we gain a few things:

We get clean errors more consistently when operations don't make any sense. For instance ndx.sin(ndx.asarray(["a", "b"])) now gives the error message: UnsupportedOperationError: Unsupported operand type for sin: 'Utf8' which slipped through the cracks (closes https://github.com/Quantco/ndonnx/issues/36).
It reduces the complexity involved with ensuring we dispatch to the right ONNX operator.

In making this more explicit, it also becomes apparent that especially the creation functions could not be implemented by custom dtypes. While this may seem unrelated, it follows pretty directly on the theme of dispatching via the dtype. Happy to split a new PR if it's needed for reviewing purposes although I would try and review the two together if it is reasonable to do so (I can help).
In a subsequent PR, we will reduce the complexities when interoperating user-defined dtypes with dtypes exported by ndonnx stemming from type-promotion etc by validating the input dtypes more systematically.

Intuitively, I'd say we should be able more or less directly call into the spox opsets from the _ops members. Am I missing something?

If you ignore constant propagation then mostly yes. You could do that inline but it's a lot of code duplication. There are also some functions like static_map or getitem that do more than a single operator but I think your point is about the single operator ones.

Could you also summarize again why we want to return NotImplemented in some places rather than relying on raising something?

We always want to return NotImplemented when we don't know what to do with a data type. NotImplemented is a Python special value that indicates the operation is not implemented with respect to the type provided, used by the interpreter to go from __add__ to __radd__ etc for binary dunder methods. We repurpose this to route our implementations in a similar way. An exception would indicate a user error or something where we immediately break out of the current frame.

Are you aware that this changes behaviour of some operations? For example
ndx.asarray(1) + ndx.asarray('a')

now results in an error
TypeError: Cannot promote non string scalar to string type

Before, it would succeed with the result Array(1a, dtype=Utf8)
To prevent this, we need some validation in the numeric impls that returns NotImplemented when it encounters a non-numeric type.

Yes it also meant that you could do things like:
>>> ndx.sin(ndx.asarray(["1"]))
Array(['0.84147098'], dtype=Utf8)

I don't think your addition example was intentional behaviour either and was an example of the (accidental) implicit casting mentioned here.

I missed this part in the changelog

ndx.utf8 and ndx.nutf8 cannot be promoted with any other dtypes.

It makes sense now
(I deleted the comment right before you replied)


Two THREE.BoxGeometry intersect error.

The example code is as follows.
import { BoxGeometry, BufferGeometry, PlaneGeometry } from 'three'
import { Brush, Evaluator, INTERSECTION } from 'three-bvh-csg'

const intersection = (
  geometry1: BufferGeometry,
  geometry2: BufferGeometry,
): BufferGeometry => {
  const brush1 = new Brush(geometry1)
  const brush2 = new Brush(geometry2)

  const csgEvaluator = new Evaluator()
  const result = csgEvaluator.evaluate(brush1, brush2, INTERSECTION)

  return result.geometry
}

const geo1 = new BoxGeometry(10, 10, 10)
const geo2 = new PlaneGeometry(10, 10)
geo2.translate(0, 0, 5)
const geo3 = new BoxGeometry(10, 10, 10)
geo3.translate(0, 0, 10)

const intersection1 = intersection(geo1, geo2)
const intersection2 = intersection(geo1, geo3)
console.log(intersection1.getAttribute('position'))
console.log(intersection2.getAttribute('position'))

The bottom surface of geo3 is the same as geo2, but when the two BoxGeometry intersect, the result is null. However, when BoxGeometry intersects with PlaneGeometry, the result is correct.
The result is as follows.
BufferAttribute {
  isBufferAttribute: true,
  name: '',
  array: Float32Array(18) [
    -5, 5,  5, -5, -5, 5,  5,
     5, 5, -5, -5,  5, 5, -5,
     5, 5,  5,  5
  ],
  itemSize: 3,
  count: 6,
  normalized: false,
  usage: 35044,
  updateRange: { offset: 0, count: -1 },
  gpuType: 1015,
  version: 1
}
BufferAttribute {
  isBufferAttribute: true,
  name: '',
  array: Float32Array(0) [],
  itemSize: 3,
  count: 0,
  normalized: false,
  usage: 35044,
  updateRange: { offset: 0, count: -1 },
  gpuType: 1015,
  version: 1
}

Please provide a live example with something like jsfiddle and pictures of the issue

Again - please provide pictures and explain what you expect. If you look at this there's nothing incorrect about the result. The result of an intersection of two shapes in a just-touch configuration has no volume and therefore no shape.

However, when BoxGeometry intersects with PlaneGeometry, the result is correct.

Using PlaneGeometry is not valid since it is not two manifold and has no volume.


Only retrieve study modes of course options with vacancies

Resolves sentry error caused by candidate ending up on location selection page with no locations rendered due to the selected study mode not having any sites with availability.
https://sentry.io/organizations/dfe-bat/issues/2297226890/?project=1765973&referrer=slack
A new method is introduced as the existing available_study_mode_from_options is used on Make Offer, on the provider side, where availability should not be taken into account.

@stevehook thanks for pointing this out. Looking more into it I think all course option retrievals in the pick_* forms should be updated to ensure that they satisfy the conditions specified in available_study_modes_with_vacancies.

@stevehook thanks for pointing this out. Looking more into it I think all course option retrievals in the pick_* forms should be updated to ensure that they satisfy the conditions specified in available_study_modes_with_vacancies.

💯 — I think there are two spots where we need additional available scopes:
https://github.com/DFE-Digital/apply-for-teacher-training/blob/master/app/forms/candidate_interface/pick_course_form.rb#L48
https://github.com/DFE-Digital/apply-for-teacher-training/blob/master/app/forms/candidate_interface/pick_study_mode_form.rb#L9

@stevehook retested with the latest updates using the details you provided and things seem to work now.


Fix rebase against main for Pull request #41

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

122 of 161 (75.78%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+3.04%) to 50.578%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

topo/node/ceos/ceos.go
1
2
50.0%

topo/node/cptx/cptx.go
121
159
76.1%

Files with Coverage Reduction
New Missed Lines
%

topo/node/ceos/ceos.go
1
69.95%

Totals

Change from base Build<PHONE_NUMBER>:
3.04%

Covered Lines:
744

Relevant Lines:
1471

💛  - Coveralls


Isar vs Hive (what should we be using now?)

I am confused on what to use. On Isar faq page I find this.
Isar vs Hive
The answer is easy: Isar was started as a replacement for Hive and is now at a state where I recommend always using Isar over Hive.

On the hive quick start page I find this:
Before you start: Consider using [Isar](https://isar.dev/) a Flutter database by the author of Hive that is superior in every way!

And in the github page of hive I find this:
🐝 To bee or not to bee: Hive or Isar?
It's not always black and yellow! 🖤💛 Both Hive and Isar have their sweet spots. Hive is a lightweight wrapper around Isar so if you are looking for a simple key-value store, Hive might be enough. Isar is the way to go if you need queries, relations, and more advanced features.

I am building a shopping list/ todo list. Super simple. What should I be using? I would think hive because it is just a key value store. But after reading the other pages I am not sure anymore. Can we have clarification on this?

Hive, in my opinion is better for clean architecture because you don't have to use the generator and all the annotations in your core model classes.
consider this product model using dart_mappable package to generate toMap and fromMap
@MappableClass(discriminatorKey: 'type')
sealed class Product with ProductMappable {
  const Product(this.id, {required this.isAvailable});

  final int id;
  final bool isAvailable;
}

@MappableClass()
class AvailableProduct extends Product with AvailableProductMappable {
  const AvailableProduct(super.id) : super(isAvailable: true);
}

@MappableClass()
class UnAvailableProduct extends Product with UnAvailableProductMappable {
  const UnAvailableProduct(super.id) : super(isAvailable: false);
}

using this code at your core folder of your app is a good practice because it depends only on dart_mappable and not on your services (Hive, Isar, Sqflite) or logic (Bloc, Riverpod) ....
then you add the following code to make it compatible with Hive
class ProductAdapter extends TypeAdapter<Product> {

  @override
  Product read(BinaryReader reader) {
    final map = reader.readMap().map((key, value) => MapEntry(key.toString(), value));
    return ProductMapper.fromMap(map);
  }

  @override
  int get typeId => 10;

  @override
  void write(BinaryWriter writer, Product obj) {
    writer.writeMap(obj.toMap());
  }

}

If you want now to change, lets say to Sqflite, you don't need to change your core prodcut models.

To bee or not to bee:

I suggest you find the most recent version of either hive or isar that works for your requirement.  Do not bank on any future functionality being delivered to bail  you out. Now if you're able to fork and self maintain go crazy.  I use hive for exactly the reasons @CardosoShlomo cites.  But don't have much faith in future support.


added content related to Labels in Project

Updated documentation about the Project Scheduling API to include details about how Labels are created in projects.

Closing this PR as changes must be made in the private repo. I have created PR 1596 in the Project Operations private repo. I will merge the PR and publish the changes.


🐛 Bug: The Project description is dummy text

Bug Description
The Description of all the Projects is same and dummy text
Expected Behavior
The description of projects, is need to be fetched using GitHub API

search for the repository using API.
From the response get the repository description
update the project description respectively

Actual Behavior
The Description of all the Projects is same and dummy text
Record

[X] I agree to follow this project's Code of Conduct
[ ] I want to work on fixing this bug

Hello @murtazajoo! Congratulations on creating your first issue! 🎉 We appreciate your contribution and want to assure you that we're on it. We'll do our best to resolve the issue promptly. If you have any additional information or details to share about the issue, please let us know. We're here to help! Thanks again for taking the time to report this issue. We value your feedback and look forward to working together to address it. Best regards, Your Project TeamWe will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our contributing guidelines


add 'halt' method to RE

Transitions from 'paused' state directly to 'idle', only unstaging and stopping, not letting the plans do any clean up.
Use case is a dscan that is paused and returning to the start position may not be safe.

Closed by #504


Clarification on TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_EMA, Ema) Unstable Period in EMA Calculation

Description:
I am reviewing the implementation of the EMA (Exponential Moving Average) function in your code and came across the following line in the TA_EMA_Lookback function:
return optInTimePeriod - 1 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_EMA, Ema);

I would like to understand more about the purpose and effect of TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_EMA, Ema) in this calculation. Specifically:

What is the purpose of the "unstable period" introduced by this macro?
Is it meant to account for initialization in the EMA calculation? If so, could you clarify what this unstable period is doing in the context of the EMA and how it affects the first few periods of the calculation?

Is this unstable period necessary in all cases?
In certain use cases where there is sufficient historical data (or in situations where we do not need to account for the initialization phase), can this part of the code be safely removed without impacting the stability or accuracy of the EMA computation?

Does removing or modifying the unstable period affect the quality of the result?
What would be the expected impact on the accuracy of the EMA if this adjustment was removed or modified, especially in real-time trading systems where immediate responses are important?

Additional Context:
I understand that some technical indicators like EMA require a "warm-up" period or initialization phase due to their recursive nature, but I would appreciate further clarification on this specific implementation. If possible, could you provide any references or reasoning behind the design choice of including this specific unstable period in the EMA calculation?
Request for Guidance:
Could you provide a more detailed explanation of when and why this unstable period is used, and whether removing it could lead to issues in the calculation accuracy or stability?

Thank you for your time and support!

@gitctrlx In short, it allows the library user to control having a "warm-up" period or not.
A design decision of TA-Lib is that, by setting the "warm-up" period of EMA you are also affecting all other TA-Lib functions using EMA in its algo.
Therefore, it is important to include the "warm-up" in the lookback logic to keep things consistent. As an example the lookback for TA_MACD uses the EMA lookback:
return   LOOKBACK_CALL(EMA)( optInSlowPeriod   )
+ LOOKBACK_CALL(EMA)( optInSignalPeriod );


refactor: added custom port wait config for lighthouse validator

In this PR https://github.com/kurtosis-tech/kurtosis/pull/534 we are going to release the automatic ports wait feature which checks all the service's ports with a default 15 seconds timeout, this value is not enough for the Lighthouse validator, so this PR is for increasing the wait timeout just for this service.

@h4ck3rk3y The build and CircleCi are failing now because the automatic port wait feature does not release yet, but it will work when we release this feature, I've already tested it on my local.


SignaturePad getBitmap not working in OnSignedListener

@Override
public void onSigned() {
Bitmap signatureBitmap = mSignaturePad.getTransparentSignatureBitmap();
This bitmap shows a very small signature

Hello,
The size of the signature depends on the size of the view on the phone screen. You can then apply any type of transformation to adapt it to your needs. What I can suggest is to get the SVG version, so you won't lose in terms of quality, when resizing.


Option to enable/disable captcha on different forms dynamically

I'm working on a project where the user have the option to enable/disable captcha on different forms. i have found a work around but it be nice to do it like (https://github.com/aryehraber/statamic-captcha?tab=readme-ov-file#advanced).

Hi @lamuye, I remember your previous issue (and tagged you after releasing the new "Advanced" feature).
Are you asking whether your use-case is possible, or are you asking for help getting it set up?


tests: provide mode to run on various architectures

This feature request is a suggestion that might be very helpful: this repository is critical to many infrastructure projects and we are getting to the point where it would be beneficial to have code tested on various architectures to avoid surprises such as:

https://github.com/census-instrumentation/opencensus-go/issues/587
https://github.com/census-instrumentation/opencensus-go/issues/865
which were reported after users' programs crashed. Those issues manifest from bugs in Go themselves but it would be nice to catch this during development beforehand and not from users

Go allows us to test on various architectures out of the box by using GOARCH for say

amd64
386
arm
arm64
etc

For example both #587 and #865 could have trivially been caught during development and by CI, by running:
GOARCH=arm go test ./...

and
GOARCH=386 go test ./...

respectively, but also perhaps on the various architectures if we can get access to real hardware.

Big +1
We should definitely do GOARCH=386, I think that will work on the existing CI hardware.


UnicodeError in parler_tags

We get this error specially when BINGbot visits us, so it's not that it happens all the time, yet it triggers quite a lot of 500 errors. Any ideas?
UnicodeDecodeError at /ru/xxxxxx/
'ascii' codec can't decode byte 0xc3 in position 12: ordinal not in range(128)
Request Method:	GET
Request URL:	https://www.xxxxx.com/ru/xxxxx/?search_term=%C3%90%C5%B8%C3%91%E2%82%AC%C3%90%C2%BE%C3%91%E2%80%9E%C3%90%C2%B8%C3%90%C2%BB%C3%90%C2%B0%C3%90%C2%BA%C3%91%E2%80%9A%C3%90%C2%B8%C3%90%C2%BA%C3%90%C2%B0&specialty_id=20
Django Version:	1.8.11
Exception Type:	UnicodeDecodeError
Exception Value:
'ascii' codec can't decode byte 0xc3 in position 12: ordinal not in range(128)
Exception Location:	/XXXXX/site-packages/parler/templatetags/parler_tags.py in _url_qs, line 168

@danialt-cm thanks for reporting. I wrote a preliminary test for this and I can confirm it's a real issue

hi @yakky, any updates on this?

@danialt-cm I have a PoC to demonstrate and a fix for this, but I've been quite busy. Early next week i should be able to post both and solve this issue

@danialt-cm PR opened, not sure if final for merging, yet


In email notifications better to show all failures and skipped at the beginning. And add TestRailIds if they present.

Description
If we have a lot of tests (100+) and waiting for email notification (if Zebrunner is not accessible for example) it is better to see all failures at the beginning (for example sorting failures and skips at the beginning of email). And with added TestRails ids (if they present).
Value
It will help to recognize all failures quicker and in urgent cases will help the Manual team find test cases by visible testrail id.
Additional context

done in 1.9


helmfile-wrapped: 0.166.0 -> 0.167.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/helmfile/helmfile/releases.
meta.description for helmfile-wrapped is: Declarative spec for deploying Helm charts
meta.homepage for helmfile-wrapped is: https://helmfile.readthedocs.io/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.167.0 with grep in /nix/store/i2wl144iq54qlv0amsc6v14n9qisz2qz-helmfile-0.167.0
found 0.167.0 in filename of file in /nix/store/i2wl144iq54qlv0amsc6v14n9qisz2qz-helmfile-0.167.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

helmfile
helmfile-wrapped

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/i2wl144iq54qlv0amsc6v14n9qisz2qz-helmfile-0.167.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A helmfile-wrapped https://github.com/r-ryantm/nixpkgs/archive/bc3dd04976314c100b4047b0b4e518d9d2feed1a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bc3dd04976314c100b4047b0b4e518d9d2feed1a#helmfile-wrapped

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/i2wl144iq54qlv0amsc6v14n9qisz2qz-helmfile-0.167.0
ls -la /nix/store/i2wl144iq54qlv0amsc6v14n9qisz2qz-helmfile-0.167.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

helmfile
helmfile-wrapped

Maintainer pings
cc @kliu128 @yurrriq for testing.

Prefer #331440. @r-ryantm, can we somehow prevent PRs like this one?