Usage without Axios

Hey @ecyrbe, this is fantastic!
In my org, we recently moved off axios and started using a small custom fetch-wrapper. We really want to use this but we don't want to go back to axios. It would be awesome if we could provide a custom fetcher to this lib. Is this something you may consider?
I understand if this is out-of-scope for this lib.
Thanks!!

hello @donferi ,
I'm sorry.
Native fetcher is really out of scope. This would break all the interface of zodios and plugins.
But Zodios has a fetch adapter to not use xhr if that's the concern of your org. cf fetch adapter in the docs.
If that does not fit, what could be fone is have a @zodios/fetch implementation separate from @zodios/core that would still use zodios endpoint api description to at least have that in common, but would not be compatible with @zodios/plugins.
But i don't have time for this, so if you are up to fork zodios and redo all the error handling and plugin interface, go for it.

cf fetch plugin to see if that fits your needs


Remove DEMO Business Manager extension

Hi,
What's the purpose of the DEMO Business Manager extension?
Shouldn't it just be removed?

Hi @bahagiga ,
With the "bm_adyen" cartridge, you will be able to see some custom fields on the payment page in the order.
Kind regards,
Bas Maassen


how scale up kafka-backup?

Hi!
Currently, I am testing the kafka-backup, but I have seen that the kafka-backup works in standalone kafka-connect mode, with only one task. If my Kafka cluster has a lot of topics and some of them have a lot of data, is there some way to scale-up?
Can I create multiples kafka-connect nodes that shared the same backup directory file-system (ex: Azure File Share) and run the kafka-backup connector in distributed mode? How is the recommendation to scale up the kafka-backup?
Thanks,
Andrés

Hi @itadventurer,
I see that check inside the code:
https://github.com/itadventurer/kafka-backup/blob/3f5bde8b665c3f157fff809558ccd4a0b3f4392b/src/main/java/de/azapps/kafkabackup/sink/BackupSinkConnector.java#L27-L29
Does this mean that is not possible to scale-up the connector? Which is the motivation of this check?

Hey,
Thanks for your answer and enjoy your holidays :) !!
I try an architecture using distributed kafka-connect with an AzureFiles storage. I mount the same azurefile storage inside all kafka-connect workers. How the partitions all distributed across all workers (using tasks), each task manages a determinate number of files based on the topic-partitions assignments, so all the task can write inside the same distributed storage, making a solid Kafka backup.
I changed some code (https://github.com/Telefonica/kafka-backup/commit/a804d8a17fba3348f88677814be9a30c6cfee191), to support increase the tasks in the sink connector, also modify the offsets backup process. Now, the offsets backup process is only performed by task with id=0.
What do you think?? Does this make sense for you??

This approach should work but obviously only with shared storage as in your case. Your way of addressing the issue in the meantime makes sense to me but I would avoid it to merge this approach upstream as I think it would be nicer to do it as described in #31


TooltipConfig is not defined

i'm using stwui v18.0 then got the following error hence i'm not even using tooltip
logs:

Error: Parse failure: Export 'TooltipConfig' is not defined (7:18)
At file: /node_modules/.pnpm/stwui@0.18.0-next_@sveltejs+kit<EMAIL_ADDRESS>Contents of line 7: export { tooltip, TooltipConfig, clickOutside, forwardEventsBuilder, useActions, SvelteActionReturnType, SvelteHTMLActionType, HTMLActionEntry, HTMLActionArray, SvelteSVGActionType, SVGActionEntry, SVGActionArray, ActionArray, clipboard, floatingUI };

Thank you. I will dig into it this morning and get this resolved. There must be a conflict between tippy.js and something else as I just updated some dependencies.

There is a problem with how STWUI is being packaged where types are not being stripped out as they were prior to v0.18.0-next. I am still investigating what caused this issue as I have reverted back to an old build but still have the same problems. It is advised to roll back to v0.17.4-next until this is resolved.

Understandable, thanks for your hardwork. I'd like to contribute if i had enough experience in svelte

V0.18.4-next is a temporary patch that fixes this issue. Still working on a permanent patch but it is usable for now.

Okay thank you, one more thing..can you also check for the Datepicker behaviour? when i wrap it inside form after picking date, it just like submit and appending the picked date to url..and i'm still figuring out what's wrong with my implementation so i cant wrap it inside a form

Makes total sense. I will open a separate issue. I know what the issue is and it should be relatively easy to resolve. Should be fixed today.

@MrWildanMD the DatePicker auto submission when wrapped in forms should be fixed with the latest update v0.18.4-next.


Cleanup the Gallium specific FlutterView

https://b.corp.google.com/issues/122746428. cc @matthew-carroll, to whom the Google issue is assigned.

Internal issue has been fixed


GCHP on AWS cloud

This is a long-term goal. Just put it here for record. Will focus on GC-classic right now.
TODO:

Compile and run GCHP with gfortran.
Make the performance acceptable. MAPL is in favor of the latest ifort and doesn't seem to like older versions or other compilers.
Run large-scale MPI jobs with CfnCluster (see also #6)

Hi,

I'm following the tutorial to run GCHP on EC2 using GCHP container image (container_geoschem_tutorial_20181213). I'm using singularity container. I ran into the following error, as shown in the attached screenshot. Anybody else had the same problem? Thanks

@Jun-Meng Could you upload the complete log file? It seems a memory issue and might be solved by using a bigger instance with more memory.
That GCHP container image is too old so I don't recommend using that for serious research purpose. I am working on the cloud-GCHP paper; once it is done I will update the image accordingly, likely in early next year.

@Jun-Meng I highly recommend waiting until CMake and Continuous Integration are implemented for GCHP (geoschem/gchp#36). That will avoid many debugging hassles.

Thanks Jiawei. I will try to use a larger memory instance. It's not on a serious research purpose so I think I will just wait the new GCHP to be released.

@WilliamDowns has been making lots of progress in getting GCHP to run on the cloud since this issue was posted.  I will close out this issue so that we can open new issues.  GCHP has changed a lot since 2018.


12 cicd pipelines

Description: ✍
*Created pipeline for JSON file to be created automatically on push
Issue(s): 🎟

#12

monthly is fine, we can always change it


[Test Case] Form Validation does not clear error on type="file" input instantly

Here's a test case: http://jsbin.com/vavulugaju/edit?html,js,output
The error will be removed after clicking on it again after adding an item. It does not get cleared unlike the others which get cleared on type if a text input, or on select if a dropdown.

There is no input type=file in the provided bin.

Hi @xxRockOnxx, I’m also confused, can you please elaborate?

I'm closing this as even I myself already forgotten about it. It's been months already also.


[RFC]: add @stdlib/assert/is-nonpositive-finite

Description
This RFC proposes adding the package @stdlib/assert/is-nonpositive-finite.
The package should be similar in structure to @stdlib/assert/is-nonpositive-number and should have a similar implementation except negative infinity should evaluate to false.
function isNonPositiveFinite( value ) { ... }

Package: @stdlib/assert/is-nonpositive-finite
Alias: isNonPositiveFinite
Related Issues
None.
Questions
No.
Other
No.
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

I would like to work on this, can I be assigned this issue?

Heyy @kgryte I think I have figured this out, please assign me this task. Thank You.

function is-nonpositive-finite(value) {
return typeof value === 'number' && !isNaN(value) && value <= 0 && isFinite(value);
}

@dainik10 The solution outline should work; however, it is not likely to be accepted as is. Instead, you should use stdlib functions, not built-in globals. E.g., see https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/assert/is-nonpositive-number/lib/primitive.js.
Instead of isFinite, you can test directly against @stdlib/constants/float64/ninf.

I'll go ahead and assign you this task. Please feel free to submit a PR.


merging latest changes from master to branch-1.6

Current coverage is 76.81%

Merging #392 into branch-1.6 will increase coverage by +0.38% as of 674944d

@@            branch-1.6    #392   diff @@
==========================================
  Files               42      47     +5
  Stmts             4359    4698   +339
  Branches           382     418    +36
  Methods              0
==========================================
+ Hit               3332    3609   +277
- Partial            165     180    +15
- Missed             862     909    +47

Review entire Coverage Diff as of 674944d

Powered by Codecov. Updated on successful CI builds.


docs(samples): Adding samples for instance from template creation

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)

Kurtis, before you point out that the samples should be in separate files - I know :P The refactor is coming sometime next week and I'll reorganize all samples in this repo to follow the new structure. For now I'm keeping it the way it was done so far.


[Acceptance Test] Export CSV

Description and Goal of Test
Be able to export different tables to CSV format
Acceptance Criteria

[x] Can export the log to a CSV
[x] Can export the devices table to a CSV
[x] Can export a device details to a CSV
[x] Can export device processes to a CSV
[x] Can export the devices that are only filtered out

all the tasks in this issue have been completed


Updated the mapping of the Get-AzureADUserExtension

@DerrickJKimani, this is the update we discussed. Please review and approve.


Cicada / Tukan firewall muted-text fix

@fichtner fix colors for firewall muted-text for both themes

Merged, thanks!


small fixes

This PR cobbles together a few small fixes based on code inspection:  a misnamed variable which is less clear than it should be, a simple comment typo, and a bug in normally-not-run (due to "-short") testutil results channel timeout unit tests.

Coverage increased (+0.01%) to 66.696% when pulling 25d0b41dcc5f1c42335a2a4ee1b5b7cb8510e613 on tpepper:resultschan_debug into d1f6cd5e1f6d579f666357cdda3e91fc7f234cbd on 01org:master.

Coverage increased (+0.01%) to 66.696% when pulling 25d0b41dcc5f1c42335a2a4ee1b5b7cb8510e613 on tpepper:resultschan_debug into d1f6cd5e1f6d579f666357cdda3e91fc7f234cbd on 01org:master.


node used by widgets not sent in the analysis list

steps:

replicate this

(notice the intersection is done with clients table not B0)

add a histogram to customer_value on B0

Maps api raises an exception:
Request to Maps API failed: Node with `source.id="b0"` not found in analyses for dataview "5e683703-bf1f-415b-8aaf-ca3bd920348f"

This is fixed at Maps API level. Ref https://github.com/CartoDB/Windshaft-cartodb/issues/528.


I'm not able to add an other version of node (windows 10)

I'm working under Windows 10 and I can't change my version of node.
$ nodist
  (x64)
> 6.3.0  (global: v6.3.0)

If I try, I have this message:
$ nodist + 0.10.42
Could not read response for https://nodejs.org/dist/index.json
Could not read response for https://iojs.org/dist/index.json
Version spec, "0.10.42", didn't match any version.
Sorry.

Note:
I did try to install it with chocolate and directly from the exe.
I did try to install 0.8.8 and 0.8.1 (this is one version which working for one of my co-worker under windows 7)

which nodist version are you using?
In my computer nodist work fine.

I'm using the version 6.3

I remember having similar issue when I upgraded from nodist 0.8.1 (or earlier) to 0.8.8.
I was not able to install any newer version. What I discovered (and I can see in your console output), old version of nodist was using "v" prefix to point to version used globally - part (global: v6.3.0).
New version of nodist use just version number - currently I have (global: 7.10.0).
So steps which I ended up with were:

Having still installed old version of nodist, I removed all installed versions of node
I've upgraded nodist to 0.8.8 and reinstalled any still required previous versions of node.

After that I was able (and still am) to install newer (or older) versions of node, including 0.10.42.
Hope that will sort your problem as well. Good luck.

Same problem here. nodist version 0.8.8 installed with chololatey
I'm working behind a proxy, so I had to export the environment variables. I'm able to reach https://nodejs.org/dist/index.json with curl, but nodist showing the error described here.
$ env | grep -i proxy
HTTP_PROXY=myproxy
FTP_PROXY=myproxy
ALL_PROXY=myproxy
HTTPS_PROXY=myproxy
RSYNC_PROXY=myproxy

$ nodist + 8
Could not read response for https://nodejs.org/dist/index.json
Could not read response for https://iojs.org/dist/index.json
Version spec, "8", didn't match any version.
Sorry.

Same error since 2017... I'm closing this issue.


Initial mount timeout should be configurable

https://github.com/juicedata/juicefs/blob/a612e0896e8a4e83e4ed77b2e3e3989ba6a860ae/cmd/mount_unix.go#L43
I've encountered an issue with YugabyteDB, a PostgreSQL-compatible distributed database. It generally works well but has a quirk: its system tables respond slowly without human optimization, e.g. https://github.com/yugabyte/yugabyte-db/issues/7745
Specifically, the 10-second timeout in JuiceFS is insufficient for XORM to retrieve table metadata from Yugabyte using this complex query with multiple joins. (I know XORM has moved to GiTea, but this part hasn't changed much)
I anticipate that YugabyteDB will perform adequately once it overcomes the initial table metadata retrieval hurdle. Could you introduce a new parameter or environment variable to extend the hard-coded 20 x 0.5s = 10s timeout, allowing for longer durations as needed?

We could add an environment variable as a temporary workaround, which could be JFS_MOUNT_TIMEOUT=10.


validate

Because the definition of contract and the definition of validate-rule have great similarity, the definition of contract in the current version will simply generate the corresponding validate-rule. The specific use of 'ctx.rule.' plus the Model name directly introduced .
The above model, you can use the following method when doing verification (use egg-validate)
ctx.validate(ctx.rule.createResource, ctx.request.body);

I understand that currently it is not ready for production for instance , see https://github.com/node-modules/parameter#string
When I set format as a regex value , it loose test method , As you do JSON.parse(JSON.stringify(contract));
https://github.com/Ysj291823/egg-swagger-doc/blob/master/lib/swagger_rule.js#L5
Why you do this?

Contract is a referenced object. This is done to avoid modifications to the original object.
'When I set format as a regex value , it loose test method.' Because the current version does not support regex

Ok


Installation / Experiment Instructions

Add very basic Installation instructions along with sandbox URLs.
Both Expo Snack and CodeSandbox point to the Sandbox Repo.
Also added "Use this Template" Button on the Sandbox Repo.

I added a reference to the create-cubes project and on how to get started using expo-cli and  npx in feature/improve-docs branch. Once this PR is merged, I'll open the PR for feature/improve-docs.


[Bug]: Jest reports different URL objects as PASS.

Version
29.6.2-dev
Steps to reproduce
test('url test', () => {
    expect(new URL("https://jestjs.io/")).toEqual(new URL("https://jestjs.io/docs/getting-started"));
});

Expected behavior
I expect this test to FAIL.
Actual behavior
Jest reports this test as PASS.
Additional context
I have fixed this bug in this pr(https://github.com/jestjs/jest/pull/14398) which happens primarily in Node.js environment.
Environment
System:
    OS: Linux 6.4 CachyOS Linux
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700H
  Binaries:
    Node: 20.5.0 - /usr/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 9.8.1 - /usr/bin/npm
  npmPackages:
    jest: ^29.6.2 => 29.6.2

which happens primarily in Node.js environment.

Hm.. Are you sure? The following fails as expected:
/**
 * @jest-environment node
 */

test("url test", () => {
  expect(new URL("https://jestjs.io/")).toEqual(
    new URL("https://jestjs.io/docs/getting-started"),
  );
});

But this will pass (and that is wrong):
/**
 * @jest-environment jsdom
 */

test("url test", () => {
  expect(new URL("https://jestjs.io/")).toEqual(
    new URL("https://jestjs.io/docs/getting-started"),
  );
});

By the way, if you are happy about the solution in the fix you suggested, why not to compare only href properties in the test?
/**
 * @jest-environment jsdom
 */

import { expect, test } from "@jest/globals";

test("url test", () => {
  expect(new URL("https://jestjs.io/").href).toEqual(
    new URL("https://jestjs.io/docs/getting-started").href,
  );
});

The thing is that what you suggest is a breaking change. Users might be interested to compare the whole object and that should be possible.
For example, if Error object is passed to current .toEqual() implementation, only message props will be compared. Unfortunately that does not satisfy all use cases. E.g. see #13232 (and there are more similar complains).

Hm.. Are you sure? The following fails as expected:

Just tried it, it results PASS for me in node.js

By the way, if you are happy about the solution in the fix you suggested, why not to compare only href properties in the test?

That's the workaround im doing for now, but still its a bug if it reports PASS when its actually not.

Just tried it, it results PASS for me in node.js

Does not reproduce for me. Could you create a reproduction repo so I could see the whole setup? Or just wait and perhaps someone else will figure out what is going on.

It really depents on the node version, for me on node 20 it allways passes and on node 14 the tests fail because the url/hrefs don't match.

I ran into this on Node 20 with the toStrictEqual matcher: https://github.com/jestjs/jest/issues/14668. Repro: https://github.com/haines/jest-url-strict-equality.


feat: monitoring accuracy and latency of reported information in KCNR

What type of PR is this?

What this PR does / why we need it:
feat: monitoring accuracy and latency of reported information in KCNR
Which issue(s) this PR fixes:
Fixes: #161
Special notes for your reviewer:

Grafana and Prometheus results:

PTAL and Thanks for all your suggestions 😄


License

As far as I'm aware you cannot change ANY existing copyright line in the MIT license. And when you add to an existing license you should stack on top of the existing copyright line (and not below it). As such, nothing in this world is ever set in stone. I'm simply relaying what I've read and researched on opensource.stackexchange.com and on the web. Lastly you may want to update your modifications copyright line to include something like and contributors if you plan to accept pull requests in this repo.
Thanks for picking an MIT license. Even if you did go with Apache 2.0 (which you possibly still could do if you wanted, though that's just a hip shot statement) both the MIT and Apache 2.0 are GPL-compatible licenses.

@vhscom Just curious, why'd you open this issue & then close it?

In hopes of adding a little value without causing a distraction.

In hopes of adding a little value without causing a distraction. I believe Discussions will be of great value in that regard. Thanks again for this creative work.

Current license is not recognized by GitHub which means other parsers may have problems scanning it. It's best if the license can be seen in the repo homepage to save the user time and ensure the license text is fully intact.

Current license is not recognized by GitHub which means other parsers may have problems scanning it. It's best if the license can be seen in the repo homepage to save the user time and ensure the license text is fully intact. It should say MIT License in this image.

Current license is not recognized by GitHub which means other parsers may have problems scanning it, not to mention us humans. When formatted properly the license will appear as MIT License in the area pictured above.

Ok, I finally fixed this. Thanks for the nudge. Originally I had tried using multiple copyright lines, but the GH license detection didn't work. Turns out every copyright line needs to begin with Copyright for GH to parse it correctly.
I added the "and contributors" line per your suggestion, though I'm not too concerned about the order of the copyright lines--there's nothing in the license that says they have to be in a particular order, just that the original copyright line is preserved.


node.js: It is not possible to define include paths when loading proto files

At the moment, it is not possible to indicate include paths. For this reason, it is likely that import statements fail. Even standard protobuf types such as timestamp do not work:
import "google/protobuf/timestamp.proto"
It seems that grpc for node.js does not even deploy these files.

@murgatroid99 Is this is known limitation?

We are facing the same issue, for any proto file which has import statement like import "google/protobuf/timestamp.proto", grpc node fails to load it with file not found error.
Is there any known workaround?

This is a problem for me as well. I wish there was a way of specifying multiple "root" directories.
My current workaround is to link the google include path into my protobufs directory, and call grpc.load({ file: <filePath>, root: ROOT_PROTO_PATH})

My problem was solved using the @grpc/proto-loader package.
// server.js
import grpc from 'grpc';
import * as protoLoader from '@grpc/proto-loader';

/**
# my_package.proto
package my_package;
service MyService {
    rpc Test() returns (TestResponse);
}
**/

const PROTO_PATH = __dirname + '/protos/my_package.proto';
let protoDefinition = protoLoader.loadSync(PROTO_PATH, {});
let packageDefinition = grpc.loadPackageDefinition(packageDefinition);

console.log(packageDefinition); // { my_package: { MyService: fn() } }

Yes, that was one of the reasons we added this package.

Is there any way to use "@grpc/proto-loader"'s include paths feature when I don't have a gRPC service defined, but just protobufs importing other nested protobufs?
I find that protoDefinition returns an empty object if there is not gRPC service.

@grpc/proto-loader can only be used to load grpc services. It's not designed to do anything else.

Thanks for the reply @nicolasnoble. I found a workaround for my issue and documented the solution here: https://github.com/grpc/grpc-node/issues/444#event-1743423441


so files were loss?

this is app-release.aab

this is reschiper-app.aab

lib dir was dismiss
build.gradle is defult config

comment out abi in fileFilterList
fileFilterList = [ // file filter rules

//                       "/armeabi-v7a/",
//                       "/arm64-v8a/",
//                       "/x86/",
//                       "/x86_64/",
"META-INF/*"
]

When utilizing a fileFilterList, files within the directories specified in the list are excluded from the app bundle.
comment out abi dir in fileFilterList
    fileFilterList = [ // file filter rules
//                       "*/armeabi-v7a/*",
//                       "*/arm64-v8a/*",
//                       "*/x86/*",
//                       "*/x86_64/*",
                       "META-INF/*"
    ]

thanks， i resolved the issue。fileFileterList is useless

Good to hear you resolved issue your own :)
fileFilterList becomes particularly useful when a library includes unnecessary files that are not used or required by your app in the final app bundle. When used correctly,
fileFilterList is instrumental in reducing the app bundle size, ensuring that only essential files are included. This optimization is crucial for improving download and installation times, enhancing performance, and minimizing storage space requirements in Android device.

Good to hear you resolved issue your own :)
fileFilterList becomes particularly useful when a library includes unnecessary files that are not used or required by your app in the final app bundle. When used correctly,
fileFilterList is instrumental in reducing the app bundle size, ensuring that only essential files are included. This optimization is crucial for improving download and installation times, enhancing performance, and minimizing storage space requirements in Android device.

Got it, thanks you again.


feat: relax url validation

Changes
Salesforce are likely changing their URLs and we already couldn't use desired URLs with one customer even though they were valid.
Instead of checking if the URL matches a regex we check it's a URL.
Checklist

[x] Tests for new code

reimplemented at https://github.com/PostHog/salesforce-plugin/pull/4


failing sync generator webhook test

going to merge this into #443 because it's easier to fix once that one works


Generation time

Hi, I couldn't see the generation time for your method. Could you please give some estimates / bounds?

Inference+optimization takes approximately 1 hour on an A100 from what I've heard (source https://twitter.com/Eng_Hemdi)

Around 1 hour on an 16G v100 with preprocessed foreground segmentation, depth map, and textural inversion.
We will provide the preprocessed files for all examples we tested on.
For a new image, the foreground segmentation and depth map extraction takes seconds, but the textural inversion takes 2 hours on a 32G v100. Textural inversion is the bottleneck, you might need faster textural inversion if there exists any. Or simply using a pure text prompt with reduced texture consistency.

the GPU requirement is too high, and the infer time is too long.
I want to modified it.


Upgrading to cucumber version 3 and resolved resulting DataTable issues

Upgraded cucumber version to 3.0.2
Introduced new dependency for datatable
(see https://cucumber.io/blog/2018/05/19/announcing-cucumber-jvm-3-0-0)
Fixed unit tests

My pleasure! By any chance do you plan on doing a release soon with the latest commits since 1.0.0 ?


az storage entity query function error on fedora 36

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az storage entity query
Errors:
The command failed with an unexpected error. Here is the traceback:
'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python3.6/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 556, in execute
    self.commands_loader.load_arguments(command)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 516, in load_arguments
    loader.load_arguments(command)  # this adds entries to the argument registries
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/command_modules/storage/__init__.py", line 31, in load_arguments
    load_arguments(self, command)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/command_modules/storage/_params.py", line 683, in load_arguments
    get_permission_help_string(t_account_permissions)),
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/command_modules/storage/_validators.py", line 837, in get_permission_help_string
    return ' '.join(['({}){}'.format(x[0], x[1:]) for x in allowed_values])
TypeError: 'NoneType' object is not iterable

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az storage entity query --help

Expected Behavior
Environment Summary
Linux-5.17.5-300.fc36.x86_64-x86_64-with-glibc2.35, Fedora Linux 36 (Workstation Edition)
Python 3.10.4
Installer: RPM

azure-cli 2.36.0

Extensions:
aks-preview 0.5.68

Dependencies:
msal 1.17.0
azure-mgmt-resource 20.0.0

Additional Context

storage

Duplicate of https://github.com/Azure/azure-cli/issues/22235
Installing python3.6 should fix the issue. We have plan to build RPM for Fedora: https://github.com/Azure/azure-cli/issues/22278


Saving fails when called from pythonw

Saving a chart from Python as png or svg fails when the process has no stdin. This can happen when Python is embedded in another application, or when running a script using pythonw instead of python.
OS: Windows
Python version: 3.11
Altair version: 5.4.1
vl-convert version: 1.6.1
To reproduce this issue run the following script using pythonw (not python) on Windows. The logging is necessary since pythonw won't log to stdout/stderr:
import logging
logging.basicConfig(filename="vl-test.log", level=logging.INFO)
log = logging.getLogger(__file__)

try:
    import altair as alt
    import pandas as pd

    df = pd.DataFrame({"X": [1,2,3], "Y": [1,2,3]})
    chart = alt.Chart(df).mark_line().encode(x="X", y="Y")

    chart.save("vl-chart.png")
    log.info("Chart saved")
except:
    log.error("Error saving chart", exc_info=True)
    raise

This fails with the following error:
Traceback (most recent call last):
  File "vl-test.py", line 17, in <module>
    chart.save("vl-chart.png")
  File "C:\Users\tony\miniconda3\envs\py311\Lib\site-packages\altair\vegalite\v5\api.py", line 2092, in save
    save(**kwds)
  File "C:\Users\tony\miniconda3\envs\py311\Lib\site-packages\altair\utils\save.py", line 224, in save
    perform_save()
  File "C:\Users\tony\miniconda3\envs\py311\Lib\site-packages\altair\utils\save.py", line 175, in perform_save
    mb_png = spec_to_mimebundle(
             ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\tony\miniconda3\envs\py311\Lib\site-packages\altair\utils\mimebundle.py", line 134, in spec_to_mimebundle
    return _spec_to_mimebundle_with_engine(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\tony\miniconda3\envs\py311\Lib\site-packages\altair\utils\mimebundle.py", line 244, in _spec_to_mimebundle_with_engine
    png = vlc.vegalite_to_png(
          ^^^^^^^^^^^^^^^^^^^^
ValueError: Vega-Lite to PNG conversion failed:
Failed to retrieve conversion result: oneshot canceled

The error is because of the worker thread failing with this error:
ERROR : thread '<unnamed>' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\deno_runtime-0.166.0\worker.rs:701:7:
ERROR : Bootstrap exception: Error: null or invalid handle
ERROR :     at guessHandleType (ext:deno_node/internal_binding/util.ts:38:16)
ERROR :     at _guessStdinType (ext:deno_node/_process/streams.mjs:105:10)
ERROR :     at initStdin (ext:deno_node/_process/streams.mjs:132:38)
ERROR :     at Object.internals.__bootstrapNodeProcess (node:process:653:22)
ERROR :     at initialize (ext:deno_node/02_init.js:34:15)
ERROR :     at bootstrapMainRuntime (ext:runtime_main/js/99_main.js:873:7)

Possibly related to #181?

This used to work and I've narrowed down when it stopped working to between vl-convert-python 1.1.0 and 1.2.0.
vl-convert-python 1.1.0 works, 1.2.0 fails.

Thanks for the report @tonyroberts. The differnece between 1.1.0 and 1.2.0 is almost certainly the update from deno 1.37.2 to 1.38.4. Deno is due for another update, so we can see if that makes a difference. I wonder if this is reproducible outside of windows (which would make it easier for me to debug).
Are you in a situation where you have a requirement to use pythonw?

Hi @jonmmease,
Yes I think you're right about it being a difference in the Deno version.
I don't have a non-Windows environment set up I can easily test this on right now... Actually the problem is not only using pythonw, that was just the easiest way to reproduce the issue. The actual problem for me is when calling this code from Python embedded in another Windows application (Excel) that doesn't have a console (so no stdin).
I was just using the pre-built binaries from pypi, but I can try building from source with a newer Deno version and see if that helps. If you could please leave this open for now I will update you once I've had a chance to try that.
Thanks!

vl-convert 1.7.0 uses the latest version of Deno, so it's worth another try!

I just tried with the latest version and got the same error, unfortunately :( I will look at writing a test and raise a PR.

I've submitted PR #197 that shows the issue in the Windows test job. It fails with the same error as reported
vl-convert-python\tests\test_specs.py:217: AssertionError
=========================== short test summary info ===========================
FAILED vl-convert-python\tests\test_specs.py::test_svg_pythonw[True-circle_binned] - assert 'Traceback (m...ot canceled\n' == 'ok'

  - ok
  + Traceback (most recent call last):
  +   File "D:\a\vl-convert\vl-convert\vl-convert-python\tests\test_specs.py", line 191, in pythonw_func
  +     test_svg(name, as_dict)
  +   File "D:\a\vl-convert\vl-convert\vl-convert-python\tests\test_specs.py", line 177, in test_svg
  +     vg_spec = vlc.vegalite_to_vega(vl_spec, vl_version=vl_version)
  +               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  + ValueError: Vega-Lite to Vega conversion failed:
  + Failed to retrieve conversion result: oneshot canceled

Thanks, that's very helpful!


DNS Serial number private dns zones

It is not possible to change the serial number in azure private dns zones. It looks like you can change it in the gui but it won't actually change. Also when I import a zone with a higher serial number it will not change.
I would suggest the serial increases every time the zone gets updated like DNS is supposed to work.

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

ID: 38109b47-d859-83f2-3a46-e207cfcc5c3f
Version Independent ID: fb0c04d2-4f39-1a5e-7666-d20a16a582bd
Content: DNS Zones and Records overview - Azure DNS
Content Source: articles/dns/dns-zones-records.md
Service: dns
GitHub Login: @rohinkoul
Microsoft Alias: rohink

Thank you for your feedback! We will review and update as appropriate.

Hello @Sebas1337,
Updating the serial number of a SOA record is not supported in Azure Private DNS Zone. The documentation linked to this issue is related to Azure Public DNS Zone where you can update the serial number of a SOA record.
If you wish to have this as a feature in Azure Private DNS Zone, you can create a feature request for this on our feedback portal. We will now proceed to close this issue out, please tag me in your response if you have any additional questions.


feature: backup/sync to a name given with parameter to specify ip address

on my system the ip address of the remarkable web interface is not always the same. Maybe it would be nice to specify a directory for the backup/meta/rendered data and optionally add an ip address for the ssh access for it. By this changing ip addresses would have no impact

So maybe an option like rmirro.py --name=myremarkable 123.456.7.89 that overrides the directory name from 123.456.7.89_backup to myremarkable_backup etc.?


Fix CI fails because symfony/flex is blocked

Problem:
When running the workflow, it fails at the "Install symfony/flex" step with the following error:
Error: symfony/flex contains a Composer plugin which is blocked by your allow-plugins config. You may add it to the list if you consider it safe.
Cause:
A newer version of Composer has introduced a strict check whereby all plugins have to be explicitly allowed for security reasons.
Fix:
Explicitly allow the global plugin before installing it.

This is used to restrict Symfony versions with SYMFONY_REQUIRE

ok but why do we need that outside of what composer does?

Composer does not have a built-in way to restrict symfony/* packages to the LTS version (as 6.1 is a higher version number than 5.4). This requires using a plugin to filter the pool (which is one of the features of symfony/flex).

@stof I'll bother you on slack about this, I'm totally in the dark as to why this is necessary / isn't something can be done with composer

Thanks @Chekote


Hot reloading based on changes in SC is affected by the nature of its import/export

Environment

System:

OS: Windows 10 10.0.19042
CPU: (16) x64 AMD Ryzen 7 2700X Eight-Core Processor
Memory: 2.19 GB / 15.92 GB

Binaries:

Node: 14.16.0 - C:\Program Files\nodejs\node.EXE
npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD

npmPackages:

styled-components: ^5.3.0 => 5.3.0

Reproduction

I've setup a simple example here: https://codesandbox.io/s/young-sea-i5i8n. It mimics the thing I am trying to do in my project.
Steps to reproduce
Expected Behavior
After making a change in Foo and saving the file, the change should appear on the screen - both in my project (bootstrapped with create-react-app) and on codesandbox.
Actual Behavior
The changes are not being made until I refresh the page - both in my project and here on codesandbox. And the file save on codesandbox can be loosely interpreted as hot reloading in react apps - not the same thing, but most of the time works the same. And by the way, I think the hot reload happens - I can see it when I work on my project: Ctrl+S -> and body and html tags flash in Dev Tools.
Now for the fun part:

I've added FooInTheSameFile - making changes causes the changes to appear instantly
I've also added and commented out FooCss - it also works

So the only problem was that the option with Foo and Bar1 didn't work. But when I was creating this example, I've stumbled upon something odd. When I was exporting Foo as the only thing from Foo.tsx  - so a default export via export default Foo - it didn't work. As soon as I've added FooCss and exported it as well - export {Foo, FooCss} - suddenly, the changes made to Foo started working without a refresh.
Now I don't know if that's an issue of default export or import, but I am pretty damn sure it's one of them.
Please check it yourself - don't event use FooCss, just uncomment it and export in alongside Foo, like export { Foo, FooCss }. This change alone makes it so changing Foo automatically updates the view. And another funny thing - if FooCss were to be a styled.<something> - exporting it doesn't help. It seems like exporting a css variable makes the difference here - or actually anything, I've even created a dummy react component. The only thing that doesn't work is exporting the styled.<something> alone - doesn't trigger the updates.
Do you guys know how to handle this? Cuz I love my hot reloading when I develop React apps

Sorry, I'll have to close this for now due to inactivity. In general, this is also an issue that's unrelated to the codebase in this repository itself, so there's not really any way forward to resolve this. In other words, no change in this repository has any chance of resolving this, as it's unrelated, which makes this issue open-ended potentially.


[RHOAIENG-4501] Model Registry Integration Tests with Jupyter Notebook

Scope of this test is to capture the integration of Jupyter Notebook with Model Registry.
Following steps:

Create a Model Registry by applying db samples from https://github.com/opendatahub-io/model-registry-operator/tree/main/config/samples (Downloading locally to make it work with disconnected cluster as well.
Run a workbench with a data connection with a onnx model file to be stored on the model registry.
accessing the metadata of this model from the workbench to verify that the model was registered successfully with model registry.

Tests Passed in local, Can not be tested in Jenkins currently due to 'No Components Found" issue in ODH as well as the change in Notebook versions. Would need these two extra changes to do a complete run in Jenkins. Attaching the screenshot of a local run.
${DEFAULT_NOTEBOOK_VER} =    2023.2
to
${DEFAULT_NOTEBOOK_VER} =    2024.1

Jenkins Result: https://qe_jenkins.com/job/rhods/job/rhods-ci-pr-test/3069/TestReport/

/lgtm

Hi @bdattoma and @tarilabs , the sugeested changes will be done in subsequent PRs, the purpose of this is to just unblock Tony

Hi @bdattoma and @tarilabs , the sugeested changes will be done in subsequent PRs, the purpose of this is to just unblock Tony

ok, but could you at least apply this one https://github.com/red-hat-data-services/ods-ci/pull/1320#discussion_r1661046417? it would avoid future rebase/conflicts/file moves

ok, but could you at least apply this one #1320 (comment)? it would avoid future rebase/conflicts/file moves
@bdattoma Done now and created a separate directory. Thanks


Fix houndd server location output line

When running houndd the output status line doesn't handle --addr with a hostname included.
I've never written any go before, so this might be complete nonsense :)
Before
./bin/houndd
All indexes built, running server at http://localhost:6080...
./bin/houndd --addr <IP_ADDRESS>:6800
All indexes built, running server at http://localhost<IP_ADDRESS>:6800...
AFTER
./bin/houndd
All indexes built, running server at http://localhost:6080...
./bin/houndd --addr <IP_ADDRESS>:6800
All indexes built, running server at http://<IP_ADDRESS>:6800...

Thanks!

No problem, it's a cool project!


Improve native filters to account null values

Problem:
When filters are pushed down from Flink, unary filters compare literals without checking null.
Value in data buffer may not be initialized.
This will also lead to bugs returning wrong rows.

Close this one since we decide to add isNull filter in Flink layer.


Bump @supabase/auth-helpers-sveltekit to typescript 5

Chore
Describe the chore
Bump @supabase/auth-helpers-sveltekit to typescript 5
Additional context
npm create svelte@latest creates a project with typescript 5. Running npm install @supabase/auth-helpers-sveltekit results in following error:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/typescript
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/ts-node
npm ERR!     peerOptional<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/postcss-load-config
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!       1 more (svelte-preprocess)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional<EMAIL_ADDRESS>|| ^4.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/svelte-preprocess
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Apologies, this issue was due to some other dependency that was lingering along in my package.json


Exceptions in my training script don't cause it to die.

Probably because of the wrapping we're doing.
When this occurred for me I had commented out all of the @normalize_exceptions lines in api.py

This behaves better now after earlier changes. User script exceptions are printed normally, but we attempt to sync afterward. The user can abort the sync with ctrl-c


Provide a mechanism to discover newer versions of dependencies

Original issue: https://issues.gradle.org/browse/GRADLE-774
Expected Behavior
Dependency management report task indicates if new version exists for declared or transitive dependencies. The information should only be resolved and rendered on request. Either we introduce a new command line option or a new type of task would need to introduced to avoid performance impacts. The project report plugin reflects the same kind of information.
The functionality does not have any impact on project dependencies and is only relevant for module dependencies. For composite builds only new versions for module dependencies are resolved and rendered.
Current Behavior
Retrieving the information about new versions requires implementing custom functionality or the use of an external plugin.
Context
Often times users are interested in the fact if there's a new version of a library they can upgrade to. Dependency management is a core portion of Gradle and should be enhanced to enrich the user experience.

@ben-manes has developed https://github.com/ben-manes/gradle-versions-plugin
which determines which plugins have updates, and @fkorotkov has developed https://github.com/fkorotkov/gradle-libraries-plugin which can be used for automatic update. I recommend these be used.
Given these and the relative priority of this and the available workarounds, I expect we'll hold off addressing this in core in the short-term. Happy to get new information to help us better prioritize, though.

Short term, I would appreciate it if the Gradle team fixes #1297 (Gradle Plugin Portal is an invalid Maven repository) to support plugin update checks.
Medium term, the Gradle team should decide what the Gradle-way for managing dependency updates is. An alternative to the report is a lock file approach (e.g. gradle-dependency-lock-plugin).
Long term, I would like to improve the bus factor by not constraining the community due to my inactivity. Ideally Gradle would view update management as core functionality and replace the duplicated efforts (Android, IntelliJ, Netflix, etc each implemented a workaround).

☝ relevant for @ljacomet and perhaps @melix

Please keep this open and provide a roadmap for native support.


left carousel-control and right carousel-control elements are not visible in the carousel example

left carousel-control and right-carousel are not visible in http://v4-alpha.getbootstrap.com/examples/carousel/#.
The carousel slides are vertically aligned. So, there should be "up carousel-control" and "down corousel-control" classes.

i was wondering about this myself, in the middle of coding a carousel site in bootstrap3, i decided i wanted to upgrade to version 4 to take advantage of relative units.
the handling of the carousel changed dramatically - notably the indicators have moved locations and changed from horozontal orientation to vertical.
even worse left and right arrow glyphs are gone!
after scrubbing the css i was losing my mind wondering where they were hiding...
perhaps this may help explain things...Glyphicons front was dropped from bootstrap v4

after some more investigation, i have some insight and a fix.

manually replace the fonts folder with the glyphs in it

jack a bunch of the glyph code from the old v3 bootstrap.css
notably @font-face, .glyphicon, and the many many individual glyph associations.
and add this jacked code to the new v4 bootstrap.css (*I just tossed mine at the bottom)

after switching the css in the html from bootstrap.min.css back to bootstrap.css the arrow glyphs showed up again. hooray! the arrows appear.

*note: this does appear to a bug, and a difference between the minimzed and full version of the bootstrap css. I did glance at the .min code but couldn't identify the cause.

dismay! the arrows are now in the wrong location, and need to be updated to a responsive solution

I found a stack thread with this working fiddle solution
*there is a line in this solution that resets the font properties; i instead use font-size to control the size of the arrow, and i believe the situation inherits the proper responsive font and line-height properties from other parts of the bootstrap code.

after appying this working solution to the v4 bootstrap.css and carousel html, the carousel looks as it did in v3.

afterthought: there was an even better working fiddle solution, later in that stack thread. it handles case situations where images fall out of their container when the container shrinks too much.


Bug in render when adding Shadda and Fatha

hi
i've notest for font Amiri when i add Shadda  first and then Fatha it add sapace between the chats
https://i.stack.imgur.com/xJzNC.jpg
but when i change the order to Fatha  then Shadda   it render ok
he is a like for question posted in unity forum that has images
https://forum.unity.com/threads/unity3d-rtltmpro-text-rendering-with-some-fonts.1068857/

This is due to the replace of ShaddaWithFathaIsolatedForm , this can be fixed by editing the font char 0xFC60
and removing the space


Additional custom objective methods

I was making myself a custom objective and wanted to use more customized displays/quest progress since I'm tracking multiple mobs at once.
I'm aware I'm using the custom objective outside their designed boundaries but it does the trick and will keep working with the old methods and maybe some other people are able to find a use for it as well.
Let me know if there are any further issues/questions.
Graycat

Thanks for the submission.
What is the purpose of this? It seems there is just a second display variable now?

Well I use this for my custom objective the getDisplay with arguments is so I can get the proper set values from the objective to set the display properly as getData() returned the default ones. Then I also added the FinishDisplay to set a summary message instead of the full list of all mobs. Basically because my module keeps track of multiple entities at once making me have to 'get creative' as mentioned by the mods in the Discord.
Graycat

#getData will return default values but you should be able to work with #getDataForPlayer? Sorry, but even with multiple entities I'm not seeing why this is needed. Perhaps some example code would help clarify?
Thank you for finding that NPE, it was just resolved in #2182

#getData will return default values but you should be able to work with #getDataForPlayer? Sorry, but even with multiple entities I'm not seeing why this is needed. Perhaps some example code would help clarify?
Thank you for finding that NPE, it was just resolved in #2182

I'm using getDataForPlayer now however I was unable to use this in the default getDisplay since it requires the player and quest.
here the code note that I haven't cleaned it up yet so might look messy but it does the trick atm. https://pastebin.com/JmPHfFXZ

After some thought, what I think would be preferable is the ability to set multiple count prompts. However, I'm not sure of how to best ensure a given count is associated with the desired string prompt. Maybe some sort of unique prompt ID? Unfortunately, I haven't the time to explore that further.
A quicker solution might be for you to offer multiple objective classes with the same purpose. Your pastebin expired, but let's say MyObjective1, MyObjective2, etc. which all have the same purpose but would of course have their own counts. I realize it's not the prettiest on your end, but it should work without issue on the current release. If a single class is truly necessary, working in your own I/O is the alternative.


api format error (run from main_spot_script.py)

successful when run from main.py
but returns "api format error" when run from main_spot_script.py
how to solve it?

pls check your api-key and api-secret, you may have str '\n' at the end of your api key or secret. you can check the api at your-project-directory/howtrader/connect_xxxxx.json file.


Two form authentication using LDAP and google authenticator

Hello Ad,
Following our recent conversation on forums, I'm making a request using GitHub. Could you please provide 2FA, using an external LDAP and google authenticator?
Thanks again for your time and effort.
Kind regards,
Michalis

This https://github.com/opnsense/core/blob/master/src/www/system_authservers.php#L475-L612 including read/write config data needs to be wrapped into getConfigurationOptions() first to be able to inherit from the LDAP connector. I'll keep it on the list, but don't have the time to fix this now. The actual connect should be easy.

Hi,
as some time had passed I wanted to ask if this feature is still on the ToDo list. Any updates planned for 18.7?
Thx
Ingo

Hi Ingo,
It’s still on the todo list, but no promises for 18.7, it’s just very busy.
Best,
Ad

Hello, this would be a fantistic feature to add. Please consider this as a +1 from me. Thanks.

Yes please on this as well. Google 2FA + LDAP/AD would be fantastic.

Any update on if this is being worked on? Would love this.

done, originally I wanted to refactor the settings page (system_authservers.php) as well, but maybe it's better to make it functional first, since the authentication code itself won't really change.


Create subscribeToKey method

As a developer
I want to listen only to a particular key
So that I will not get notified when `trigger()` was called.

Solution
Create subscribeWithKey() method that will be called only when someone triggers with the specified key.
Example

// a.js
this.store.subscribeWithKey(myCallbackFunc, 'myKey');

// store.js

startup() {
  this.trigger('myKey'); // this will announce a change on that key and myCallbackFunc will be called
  this.trigger() // this will announce a change but myCallbackFunc will not be called.
}

Isn't that same as using subscribe() with second parameter?
https://github.com/Microsoft/ReSub/blob/master/src/StoreBase.ts#L239

If a store supports keys, it should generally not call "trigger()" without specifying a key. The only time this is appropriate is in the (rare) case where a store update affects all keys.


Compatibility error with Enchanting Tweaks mod made by kpzip.

crash-2023-11-04_11.47.43-client.txt
Caused by: java.lang.NullPointerException: Cannot read field "enableLootingForRangedWeapons" because "io.github.fourmisain.axesareweapons.common.AxesAreWeaponsCommon.CONFIG" is null

Fixed via d4e41c222dfb75febd4b5ca8746779f9455588b9, new version 1.7.2 is up!

Fixed via d4e41c2, new version 1.7.2 is up!

Thanks!


k8s 1.29 support for csp-adapter

Add k8s 1.29 support for csp-adapter

All the changes have merged and has been tested.


Matrix Notification

Closes #229
Success Message:

Error Message:

Signed-off-by: Somtochi Onyekwere<EMAIL_ADDRESS>

Not sure if this would make things more complicated, but the matrix provider could use shoutrrr too: https://containrrr.dev/shoutrrr/v0.5/services/overview/

matrix provider could use shoutrrr too

I missed that. I will update it so that it used shoutrr instead

@dholbach I am currently having an issue using the current version of  shoutrrr with matrix so I am looking into it. But, I have opened another PR that makes it easier to add notification providers supported by Shoutrr


"ERROR MdnsBroadcaster Error: send EHOSTUNREACH ff02::fb:5353" on macos

On my Macos I get the above error in log
Full log see https://github.com/mfucci/node-matter/issues/181#issue-1524591273

The MDNS server tries to broadcast to the MDNS address but seem to fail on one interface.
In MdnsServer can you add a log in announce() method to log the netInterface name?
Can you also list the interfaces on your system with "ifconfig" or "ipconfig" from a terminal?
We should probably ignore some interfaces...

i added catch in the "send" queue in announce to get all catches (and not only the first):

en5 : Error: send EHOSTUNREACH ff02::fb:5353
utun2 : Error: send EMSGSIZE ff02::fb:5353

my ifconfig looks like:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
	inet <IP_ADDRESS> netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether ac:de:48:00:11:22
	inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x4
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect (100baseTX <full-duplex>)
	status: active
ap1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
	options=400<CHANNEL_IO>
	ether aa:66:5a:44:3c:4c
	media: autoselect
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=400<CHANNEL_IO>
	ether 88:66:5a:44:3c:4c
	inet6 fe80::1c30:855c:9d80:6e0c%en0 prefixlen 64 secured scopeid 0x6
	inet <IP_ADDRESS> netmask 0xfffffc00 broadcast <IP_ADDRESS>
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active
awdl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	ether 92:08:b6:53:ab:9b
	inet6 fe80::9008:b6ff:fe53:ab9b%awdl0 prefixlen 64 scopeid 0x7
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 82:cb:98:e1:18:01
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x0
	member: en1 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 10 priority 0 path cost 0
	member: en2 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 11 priority 0 path cost 0
	member: en3 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 12 priority 0 path cost 0
	member: en4 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 13 priority 0 path cost 0
	nd6 options=201<PERFORMNUD,DAD>
	media: <unknown type>
	status: inactive
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=400<CHANNEL_IO>
	ether 92:08:b6:53:ab:9b
	inet6 fe80::9008:b6ff:fe53:ab9b%llw0 prefixlen 64 scopeid 0x9
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=460<TSO4,TSO6,CHANNEL_IO>
	ether 82:cb:98:e1:18:01
	media: autoselect <full-duplex>
	status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=460<TSO4,TSO6,CHANNEL_IO>
	ether 82:cb:98:e1:18:00
	media: autoselect <full-duplex>
	status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=460<TSO4,TSO6,CHANNEL_IO>
	ether 82:cb:98:e1:18:05
	media: autoselect <full-duplex>
	status: inactive
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=460<TSO4,TSO6,CHANNEL_IO>
	ether 82:cb:98:e1:18:04
	media: autoselect <full-duplex>
	status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
	inet6 fe80::8d24:8519:c616:4114%utun0 prefixlen 64 scopeid 0xe
	nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
	inet6 fe80::b048:f434:61bd:1fbe%utun1 prefixlen 64 scopeid 0xf
	nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
	inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x10
	nd6 options=201<PERFORMNUD,DAD>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
	inet6 fe80::7993:d322:acf2:3e7%utun3 prefixlen 64 scopeid 0x11
	nd6 options=201<PERFORMNUD,DAD>
utun4: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
	inet6 fe80::a77f:939e:3cf1:533b%utun4 prefixlen 64 scopeid 0x12
	nd6 options=201<PERFORMNUD,DAD>
en9: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=400<CHANNEL_IO>
	ether a0:ce:c8:6c:40:cf
	inet6 fe80::cc:8e3f:675:e7d2%en9 prefixlen 64 secured scopeid 0x16
	inet <IP_ADDRESS> netmask 0xfffffc00 broadcast <IP_ADDRESS>
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect (1000baseT <full-duplex>)
	status: active

How do you have some many interfaces? :-)
I have only two, lo and en, on my machine...
utun2: the configuration of this interface seems incorrect.
Per Matter specs: 4.4.4, "the expected supported MTU is 1280 bytes, the minimum required by IPv6"
Since this is an IPv6 interface, the MTU should be at least 1280 and this explains the EMSGSIZE
I don't see any way to get access to MTU from node.js so I cannot ignore interfaces with an unsupported MTU...
en5: not sure why it is not possible to broadcast MDNS messages on this interface.
Do you have any idea what is this interface? Seems to be a 100Mps wired ethernet...
Is this directly your ISP connection? In this case, that might explain why MDNS is not accepted...

I've got a similar set of (confusing) interfaces on my Macbook. Must be an OSX thing.  Physically, it's currently hooked up via a USB to Ethernet device through a switch, router, and then out to the Internet.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet <IP_ADDRESS> netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:00:11:22
inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x4
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (100baseTX )
status: active
ap1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether f2:18:98:2a:d3:0f
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether f0:18:98:2a:d3:0f
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether 0a:86:15:6d:25:b5
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether 0a:86:15:6d:25:b5
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:fb:3f:23:cc:05
media: autoselect
status: inactive
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:fb:3f:23:cc:04
media: autoselect
status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:fb:3f:23:cc:01
media: autoselect
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:fb:3f:23:cc:00
media: autoselect
status: inactive
en10: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6467<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether e8:ea:6a:24:a3:76
inet6 fe80::1ca8:37ba:e240:d543%en10 prefixlen 64 secured scopeid 0xd
inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (1000baseT <full-duplex,flow-control>)
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 82:fb:3f:23:cc:01
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x0
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 11 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 12 priority 0 path cost 0
member: en3 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 9 priority 0 path cost 0
member: en4 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 10 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media:
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::1ba2:65dc:c5f9:d120%utun0 prefixlen 64 scopeid 0xf
nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::7496:f730:82b0:806b%utun1 prefixlen 64 scopeid 0x10
nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x11
nd6 options=201<PERFORMNUD,DAD>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::3126:b7c1:2a4e:313f%utun3 prefixlen 64 scopeid 0x12
nd6 options=201<PERFORMNUD,DAD>
utun4: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::a0:251b:b018:94f8%utun4 prefixlen 64 scopeid 0x13
nd6 options=201<PERFORMNUD,DAD>
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00

No idea where all these interfaces come from. It is also in my case for the above list hooked with an usb-c dock and an apple monitor (both with 1g Ethernet options, monitor used) ... but have the same error when only usb-c hub is used. And I think same if I only use Wi-Fi - but need to re check.

m interface list is kind of the same even if no USB-C is connected ... but tere is Cisco VPN client installed and also such ... so no idea ... (and no, no direct internet provider connection or such)

Installing docker or other virtualization components usually creates many virtual network components. I see these type of interfaces on all my VMs (on QNAP or Proxmox or similar platforms).

Yes I also see that on my mac as stated ... the Github version will just logbut ignore this. It seems we need to do a better job in selecting "the right" interface to announce and which not to ... but for now it is no real issue


Replace String.format with string interpolation

Speak your minds.
Problems spotted so far:

https://github.com/antkorwin/better-strings well this has <20 stars :laughing: so guys you know what to do :star:
no IntelliJ support: no syntax highlighting for the interpolated strings + local vars referenced only from the interpolation are dimmed as if they were unused (https://github.com/antkorwin/better-strings/issues/4)
https://github.com/antkorwin/better-strings/issues/3 xD

That is something I've always missed in Java

Yeah... hats off to the author of this tool... it's freaking impossible that nobody thought of that earlier (given that annotation processors with the ability to revamp Java's AST are supported for very long already AFAIK)


cryptopp:x86-windows-static installs, but doesn't appear to work

I want to have a static linked CRT project [/MT(d)] that uses cryptopp.
I’ve got what I think is the correct package installed without any apparent issue:
vcpkg list cryptopp
cryptopp:x86-windows-static                        8.2.0

However it’s not being picked up by Visual Studio, the compiler can't find the cryptopp headers.
If I install the non-static cryptopp package:
D:\vcpkg>vcpkg list cryptopp
cryptopp:x86-windows                               8.2.0

Then my project will compile, but won’t link:
Error LNK2038     mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug' in …
If I change my project settings to use the DLL run-time, it will link and work OK – but ultimately that’s not what I want.

OS: Windows 10
Compiler: Visual Studio 16.6.0 Preview 6

Steps to reproduce the behavior:

./vcpkg install cryptopp:x86-windows-static
Create a C++ console application in Visual Studio and #include a cryptopp header, for example #include <cryptopp/osrng.h>
Try to compile - the header isn't found.

My mistake. I've been reminded that I needed to manually add:
<VcpkgTriplet>x86-windows-static</VcpkgTriplet>
To the PropertyGroup element in the vcxproj file - otherwise it defaults to the non-static version.
Thanks Billy.


Make recently-updated more useful

Without world IDs, this list only fills its purpose of filling out a legacy UI panel on mogboard. A new endpoint should be added (maybe with a more intuitive name like most-recently-updated) that reflects the least-recently-updated endpoint.

Mostly done with https://github.com/Universalis-FFXIV/Universalis/commit/2932497e7b819b19b15c1c332b6a68242c13f2ce, just needs to be dropped on staging later to make sure it works as expected.

Closed with a772e9d


Incorrect example on home page

I'm trying the examples on http://www.litedb.org/, and I realized that the one about "Fluent entity mapping" is incorrect: there is no db.Mapper.Entity<T> (tried with the latest stable version, 1.0.4). I thought that maybe it was added in the upcoming 2.0.0 version, but in that version there is no db.Mapper property...

Actually, the "Stream as database" example also doesn't work... there's no LiteDatabase constructor that accepts a Stream. Which version are the examples for?

I had the same problem, So I donwloaded 2.0.0 version and it worked fine.
Are you also using nuget package? because that has old version...

Yes, I'm using the NuGet package (2.0.0-rc). I understood how to do the mapping by looking at the tests in the source code: I had to create a subclass of LiteDatabase and override the OnModelCreating method. Which is probably a better approach IMO.

Hi guys, yes, wiki is for 1.04, homepage is for 2.0. It´s out of date. I'm working in LiteDB only weekends in dev branch.
And I'm not convinced how BsonMapper instance must be setted: Passed as parameter in constructor in LiteDatabase, using OnModelCreating like EF or as a Lambda expression property like db.Configure((mapper) => { .... }).
What did you think? Any idea?

And I'm not convinced how BsonMapper instance must be setted: Passed as parameter in constructor in LiteDatabase, using OnModelCreating like EF or as a Lambda expression property like db.Configure((mapper) => { .... }).

I think the OnModelCreating is the cleanest one (because it prevents the user from changing the mapping after the LiteDatabase is constructed), but it's also a bit less flexible, because it forces you to subclass LiteDatabase if you want to customize the mapping. Another option would be to accept a delegate in the constructor:
var db = new LiteDatabase(mapper => {...})

Nice idea, but I was thinking where store this instace after created BsonMapper instance. This instance must be static or be cached to avoid every run. Using subclass I stored in a static dictionary based on this database class Type.

Mapper instance are back in LiteDatabase. Now mapper can be passed in ctor or used from a BsonMapper.Global (like in v.1.0.4). Will be in next master commit


Client's messages in callback

guys, there is a way to know whose messages arrived are they?
In callback function.
There's a way to know the client ID who had published the message.

No, the mqtt protocol doesn't provide that information.

thanks Nick O'Leary and congratulations, you've been doing a very good job!


Cannot install any icons

I'm using a fresh install of Laravel (11.34.2), Flux + Flux Pro (1.0.28) and your package (1.0.0)
The documentation does not say I should first insyall the icons I will want to include in Flux. It may seems obvious, but it's not.
I istalled the Tabler icons with
npm install @tabler/icons --save

and then run the command php artisan flux-icons:build tabler --icons home and get the following
   ArgumentCountError

  round() expects at least 1 argument, 0 given

  at vendor/ympact/flux-icons/src/Types/Icon.php:405
    401▕         $svg = $this->dom->getElementsByTagName('svg')->item(0);
    402▕         foreach($this->attributes as $key => $value){
    403▕             // if value is an array, call the function
    404▕             if(is_callable($value)){
  ➜ 405▕                 $value = call_user_func($value);
    406▕             }
    407▕             $svg->setAttribute($key, $value);
    408▕         }
    409▕     }

      +20 vendor frames

  21  artisan:13
      Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))

I also tried with Flowbite by installing the icons with
npm install flowbite

and then running php artisan flux-icons:build flowbite --icons home. This time I didn't get an error, but the icon was not installed
Checking if vendor: flowbite is installed
Start building icons 👀
Building icons for vendor: flowbite
    0 [============================]

 ┌ Do you want to start `npm run dev`? ─────────────────────────┐
 │ No                                                           │
 └──────────────────────────────────────────────────────────────┘

Icons built successfully for vendor: flowbite

And for Lucide too. I installed the icons with
npm install lucide

run php artisan flux-icons:build lucide --icons house and got the same result
Checking if vendor: lucide is installed
Start building icons 👀
Building icons for vendor: lucide
    0 [============================]

 ┌ Do you want to start `npm run dev`? ─────────────────────────┐
 │ No                                                           │
 └──────────────────────────────────────────────────────────────┘

Icons built successfully for vendor: lucide

For both Floebite and Lucide, if I don't specify the icon, I'm asked to choose which icon to install or install them all. But it says All 0 icons
Checking if vendor: lucide is installed

 ┌ Which icons do you want to build from the vendor? ───────────┐
 │ › ● Let me choose                                            │
 │   ○ All 0 icons                                              │
 └──────────────────────────────────────────────────────────────┘

Thanks for the bugreport.
The first issue for the Tabler (and probably also google mdi) is now solved in v1.0.1
For the other vendors the issue is that the command you typed is incorrect. It should have been:
php artisan flux-icons:build lucide --icons=house


Know engines to download for Void Linux

Problem
from terminal when pnpm prisma init

prisma:warn Prisma doesn't know which engines to download for the Linux distro "void". Falling back to Prisma engines built "debian".

Suggested solution
Add which engine will be downloaded when user is using Void LInux.
Alternatives
Remove warning and stay with the falling back engine "debian".

I didn't know about this distribution yet, link: https://voidlinux.org/
@danielgaban If you run cat /etc/os-release, I guess it looks like this?
https://github.com/prisma/prisma/issues/17545#issuecomment-1419758462
Also, could you tell me which version of Prisma you are using here?

@Jolg42 Yes it looks exactly. Prisma versions used:

@prisma/client 4.16.2
prisma 4.16.2

+1 on this, got this warning when setting up RedwoodJS.

I'll close this, as the fallback/default engine should work as expected, so only a report would be needed if there is an issue, let us know if that's the case.
Note that we changed the message, to make it informational only in https://github.com/prisma/prisma/pull/23243
The updated message will be part of the next release 5.11.0, next week.


Symbolize key names in required/optional/key DSL methods

Refs dry-rb/dry-validation#330

Alternatively, we could raise error if they key is not a symbol


Questions about graph design and additional features

About Graph Design
I have a question about visualizing the json file.
By referring to the chrome tracing we are currently using, we are making the screen configuration and design similar.
Using fields such as start time, run time, and so on, and representing them as bar graphs, I think there will be limitations in making them completely new designs.
So the questions I have are as follows.

Would it be a problem to make it in a similar form to chrome tracing?
From the perspective of real users, among the features of Chrome Tracing, which features would you like to have and which ones you don't really need?
What function do you want to add?

Would it be a problem to make it in a similar form to chrome tracing?

I will check this and answer later ASAP

From the perspective of real users, among the features of Chrome Tracing, which features would you like to have and which ones you don't really need?

Only limited to the features of chrome tracing,

What we really need

Seeing timeline
Seeing detailed information for each node

What we do not need

Except above things

What function do you want to add?

Seeing timeline of all operations
Seeing detailed information of each operations
Seeing detailed circle node which is corresponded to certain operation
Seeing pie graph for each type of operations

Thank you for your answer. I have an additional question.
Seeing detailed circle node which is corresponded to certain operation
-> I don't think I have enough data to provide detailed circle information in the JSON file provided, what should I do? Does the actual data include more circle information? For example, are there functions derived, related node information, etc.?
Seeing pie graph for each type of operations
-> Is the type of operations you are talking about here a level or a category? Or is it something else?

@parkjisu6239
How about closing this issue?
I think further discussion can be done at #28 :D

Yes, I think there has been sufficient discussion on the content.
Additional discussions will be made on Issue #28 , and the issue will be closed. :)


The sysbench select random limits performance is not stable

Describe the bug
Received a performance degradation with nightly-20231217. The sysbench select random limits performance is not very stable after nightly-20231206.
+-----------------------------------------------------------------+--------------+------------+---------------------+-----------------------------+
| BENCHMARK NAME                                                  | EXECUTION ID | STATUS     | FLUCTUATION OF BEST | FLUCTUATION OF LAST 10 DAYS |
+-----------------------------------------------------------------+--------------+------------+---------------------+-----------------------------+
| sysbench-select-random-limits-medium-3cn                        |        16818 | Negative   | -39.61%             | -15.56%                     |

http://metabase.risingwave-cloud.xyz/dashboard/511-sysbench-select-random-limits-medium-3cn-history?start_date=2023-11-06&namespace=daily

Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
nightly-20231217
Additional context
No response

BTW, I remember there was a discussion of changing the sysbench's generator thread number and also Risingwave's configuration, Have they been changed already?

The sysbench thread has been changed to 16 to 64. And for he RW's config, I didn't remember we have changed anything.

It Is much better now.


Boot a web server and a SlackRubyBot without an additional Thread

I've been struggling with making an instance of a slack-ruby-client without a Thread with just EventMachine. I couldn't boot a web server and a slack RTM client in the same thread successfully. It should be possible.
Currently we document to use a Thread in https://github.com/dblock/slack-ruby-bot/blob/master/TUTORIAL.md under config.ru, fix that.

Also should do Thread.abort_on_error = true.

So I'm a complete novice when it comes to programming, but it sounds like even just attempting to solve this could be fun and educational.
I know it's been a very long time since you posted this issue, but are you able to give me any details about what you've tried so far?

If you follow the tutorial at the end it says something like Thread.new ..., remove that and make it work.


CH347F support

I'm trying to use CH347F for SPI and I2C communications under Linux and Windows, but it does not work. Need your help, please!

same here, just bought another ch347t board

Oh I see your point. It does not seem to have CH347F chip selling on the market on those days while I was working on this library so I treated all CH347 chips the same way. Turns out I was wrong, only CH347T is supported by now appearently, sorry about that.
I may give an version update about adding supports to CH347F 2 months later cuz I am busy as bees these days personally. I am afraid that you will have to use CH347T during this period or consider using official driver (C Libs) by reaching WCH for technical support.
I will leave this issue open till the updated version released. ;)
BTW, feel free to contribute to this repository by making pull requests since I will always appriciate them.

https://aliexpress.com/item/1005006328049717.html


Add support for Tinyint Type in Native Parquet Reader

Currently, Native Parquet reader does not support reading tinyint type data, The following steps can be reproduced
presto:tpch_velox> create table test (id tinyint) with (format = 'PARQUET');
CREATE TABLE
presto:tpch_velox> insert into test values (cast(1 as tinyint)), (cast(-128 as tinyint)), (cast(127 as tinyint));
INSERT: 3 rows

Query 20230726_074816_00009_a5y5r, FINISHED, 2 nodes
Splits: 2 total, 2 done (100.00%)
0:22 [0 rows, 0B] [0 rows/s, 0B/s]

presto:tpch_velox> select * from test;

Query 20230726_074850_00010_a5y5r, FAILED, 1 node
Splits: 2 total, 0 done (0.00%)
0:03 [0 rows, 0B] [0 rows/s, 0B/s]

Query 20230726_074850_00010_a5y5r failed:  Not a valid type for integer reader: TINYINT Split [Hive: file:/Users/wypb/data/hive/warehouse/tpch_velox.db/test/20230726_074816_00009_a5y5r.<IP_ADDRESS>_0_5_dc4c7936-20f8-4cdd-8182-55e06b4d4fcd 0 - 356] Task 20230726_074850_00010_a5y5r.<IP_ADDRESS>

presto:tpch_velox>

hi @mbasmanova could you help me review this pr? thank you.


Prerelease v3.3.0rc1

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

I would like to label it as prerelease.


How to run local privnet single consensus node?

I've read the consensus document and I think I did all that's needed, but no blocks are produced. What I did is

Set Consensus Enabled in config to true
change wallet and password
use the cli to dump the public key and set that in StandbyCommittee

./bin/neo-go wallet dump-keys -w ./examples/my_wallet.json
NbrUYaZgyhSkNoRo9ugRyEMdUZxrhkNaWB (simple signature contract):
03844856bae49236e09cee72ecc50848f27165b7e51f637a0fd3f524626747ec6e

Set ValidatorsCount to 1
set my own network magic
Set MinPeers to 1 as per
https://github.com/nspcc-dev/neo-go/blob/efbef4254a62a8d6630dd2302cba7ffb424e067e/docs/consensus.md?plain=1#L192-L195

The best I get is this
./bin/neo-go node -p -d
2023-01-12T11:21:30.602+0100	INFO	initial gas supply is not set or wrong, setting default value	{"InitialGASSupply": "52000000"}
2023-01-12T11:21:30.602+0100	INFO	MaxBlockSize is not set or wrong, setting default value	{"MaxBlockSize": 262144}
2023-01-12T11:21:30.602+0100	INFO	MaxBlockSystemFee is not set or wrong, setting default value	{"MaxBlockSystemFee":<PHONE_NUMBER>00}
2023-01-12T11:21:30.602+0100	INFO	MaxTransactionsPerBlock is not set or wrong, using default value	{"MaxTransactionsPerBlock": 512}
2023-01-12T11:21:30.602+0100	INFO	MaxValidUntilBlockIncrement is not set or wrong, using default value	{"MaxValidUntilBlockIncrement": 17280}
2023-01-12T11:21:30.602+0100	INFO	Hardforks are not set, using default value
2023-01-12T11:21:30.603+0100	INFO	restoring blockchain	{"version": "0.2.8"}
2023-01-12T11:21:30.603+0100	INFO	service hasn't started since it's disabled	{"service": "Prometheus"}
2023-01-12T11:21:30.603+0100	INFO	service hasn't started since it's disabled	{"service": "Pprof"}
2023-01-12T11:21:30.603+0100	INFO	ExtensiblePoolSize is not set or wrong, using default value	{"ExtensiblePoolSize": 20}
2023-01-12T11:21:30.787+0100	INFO	SessionPoolSize is not set or wrong, setting default value	{"SessionPoolSize": 20}
2023-01-12T11:21:30.787+0100	INFO	MaxWebSocketClients is not set or wrong, setting default value	{"MaxWebSocketClients": 64}
2023-01-12T11:21:30.787+0100	INFO	starting rpc-server	{"endpoint": ":20332"}
2023-01-12T11:21:30.787+0100	INFO	node started	{"blockHeight": 0, "headerHeight": 0}

    _   ____________        __________
   / | / / ____/ __ \      / ____/ __ \
  /  |/ / __/ / / / /_____/ / __/ / / /
 / /|  / /___/ /_/ /_____/ /_/ / /_/ /
/_/ |_/_____/\____/      \____/\____/

/NEO-GO:0.100.2-pre-12-g584675ec/

with this config in protocol.privnet.yml
ProtocolConfiguration:
  Magic: 123456789
  MaxTraceableBlocks: 200000
  TimePerBlock: 5s
  MemPoolSize: 50000
  StandbyCommittee:
    - 03844856bae49236e09cee72ecc50848f27165b7e51f637a0fd3f524626747ec6e
  ValidatorsCount: 1
  SeedList:
#    - localhost:20333
#    - localhost:20334
#    - localhost:20335
#    - localhost:20336
  VerifyTransactions: true
  P2PSigExtensions: false
  NativeActivations:
    ContractManagement: [0]
    StdLib: [0]
    CryptoLib: [0]
    LedgerContract: [0]
    NeoToken: [0]
    GasToken: [0]
    PolicyContract: [0]
    RoleManagement: [0]
    OracleContract: [0]

ApplicationConfiguration:
  SkipBlockVerification: false
  # LogPath could be set up in case you need stdout logs to some proper file.
  # LogPath: "./log/neogo.log"
  DBConfiguration:
    Type: "leveldb" #other options: 'inmemory','boltdb'
    # DB type options. Uncomment those you need in case you want to switch DB type.
    LevelDBOptions:
      DataDirectoryPath: "./chains/privnet"
  #    BoltDBOptions:
  #      FilePath: "./chains/privnet.bolt"
  P2P:
    Addresses:
      - ":20333" # in form of "[host]:[port][:announcedPort]"
    DialTimeout: 3s
    ProtoTickInterval: 2s
    PingInterval: 30s
    PingTimeout: 90s
    MaxPeers: 10
    AttemptConnPeers: 5
    MinPeers: 1
  Relay: true
  Consensus:
    Enabled: true
    UnlockWallet:
      Path: "./examples/my_wallet.json"
      Password: "qwerty"
  P2PNotary:
    Enabled: false
    UnlockWallet:
      Path: "/notary_wallet.json"
      Password: "pass"
  RPC:
    Enabled: true
    Addresses:
      - ":20332"
    MaxGasInvoke: 15
    EnableCORSWorkaround: false
    SessionEnabled: true
    SessionExpirationTime: 180 # higher expiration time for manual requests and tests.
    TLSConfig:
        Enabled: false
        Addresses:
          - ":20330"
        CertFile: serv.crt
        KeyFile: serv.key
  Prometheus:
    Enabled: false
    Addresses:
      - ":2112"
  Pprof:
    Enabled: false
    Addresses:
      - ":2113"

I tried adding localhost:20333 to the SeedList if there is some weird thing going on that requires it but all that adds to the above run log is
2023-01-12T11:21:30.921+0100	INFO	new peer connected	{"addr": "<IP_ADDRESS>:40682", "peerCount": 1}
2023-01-12T11:21:30.921+0100	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 2}
2023-01-12T11:21:30.921+0100	DEBUG	got msg	{"addr": "<IP_ADDRESS>:40682", "type": "CMDVersion"}
2023-01-12T11:21:30.921+0100	DEBUG	got msg	{"addr": "<IP_ADDRESS>:20333", "type": "CMDVersion"}
2023-01-12T11:21:30.921+0100	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:40682", "error": "identical node id", "peerCount": 1}
2023-01-12T11:21:30.921+0100	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:20333", "error": "identical node id", "peerCount": 0}

and then it still "hangs" doing nothing.
What am I missing?

ps: I don't want to use docker. I want the node to be debuggable if needed

Set MinPeers to 1 as per

0, please. You have no peers in this scenario (unless you connect some other node to it).
You may take a look at config/protocol.privnet.docker.single.yml as well, it's a single-node CN that is used for env_single. It can be used without Docker also.

As to why this is important, see https://pkg.go.dev/github.com/nspcc-dev/neo-go/pkg/network#Server.IsInSync
Consensus (and many other services) are started only after node is synchronized (they can work incorrectly otherwise), so you node with MinPeers=1 just doesn't feel confident enough to run dBFT.

Aha that works, thanks. That was totally not obvious to me given that it's in the P2P section I assumed this was only related to something P2P synchronization or connecting to nodes and didn't gave it more thought.
I think the wording of this could be a little more detailed
https://github.com/nspcc-dev/neo-go/blob/efbef4254a62a8d6630dd2302cba7ffb424e067e/docs/consensus.md?plain=1#L192-L195
e.g.

is equal to the number of additional nodes participating in consensus besides this node itself

For the current wording you could argue that there is 1 node participating in the consensus and that node is itself. Anyway, up to you to decide, just my 2 gas.
Last question;

You may take a look at config/protocol.privnet.docker.single.yml as well, it's a single-node CN that is used for env_single. It can be used without Docker also.

Can I somehow specify a config file? I know I can set the config path, but after that it seems like I can only choose -p, -t or -m
$ ./bin/neo-go help node
NAME:
   neo-go node - start a NeoGo node

USAGE:
   neo-go node [--config-path path] [-d] [-p/-m/-t]

OPTIONS:
   --config-path value  path to directory with configuration files
   --privnet, -p        use private network configuration
   --mainnet, -m        use mainnet network configuration
   --testnet, -t        use testnet network configuration
   --debug, -d          enable debug logging (LOTS of output, overrides configuration)

That's a long-standing bug/feature we have. This mode system expects some particular config file naming pattern relative to config-path and doesn't allow to have xyz.yml. So you have to use protocol.privnet.yml (or mainnet/testnet) for now. At the same time maybe we can finally add --config-file as well, overriding all of this (feel free to add an issue if that will improve your use case).

I think --config-file as suggested is a bit easier to work with. However, it's not like the current way is blocking me. The presence of multiple protocol.privnet.*.yml under /config/ in the repo made me think there might be a way to tell which one to use.


abnormal sporulation resulting in formation of azygotic ascus with more than four spores

Jacky used:
abnormal sporulation resulting in formation of azygotic ascus with more or fewer than four spores
and added the comment
60% of population have >4 spores per asci
I just checked and the >4 spored term is not visible as a descendent....could/should it be?

Don't know which term you mean my "the 4 spored term"; 4 spores would be normal.
This link is asserted, for the terms that don't specify "azygotic":
FYPO:0003263 abnormal sporulation resulting in formation of ascus with more than four spores
is_a: FYPO:0001894 abnormal sporulation resulting in formation of ascus with more or fewer than four spores
But we don't have a term that's specific to both "azygotic" and "more than four spores". I can add one if that's what Jacky needs; it would be is_a FYPO:0001893 and is_a FYPO:0003263.

Ah I misread that
so I need abnormal sporulation resulting in formation of azygotic ascus with more  than four spores

ok, in the new term queue ...

abnormal sporulation resulting in formation of azygotic ascus with more than four spores FYPO:0004760

edit file: 0f9dda8eb776ac06d7de0f4795eb1ae6da751294
release: 863e7570fe1db168c75b987dcd624cf183f18827