[ISSUE #3325] To optimize the shenyu webfilter unit test.

[fix #3325 ]optimize the shenyu webfilter unit test.

Codecov Report

Merging #3329 (517c2ec) into master (716cfdb) will decrease coverage by 0.19%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3329      +/-   ##
============================================
- Coverage     65.43%   65.23%   -0.20%
+ Complexity     5197     5190       -7
============================================
  Files           745      745
  Lines         20999    20995       -4
  Branches       1918     1917       -1
============================================
- Hits          13741    13697      -44
- Misses         5976     6011      +35
- Partials       1282     1287       +5

Impacted Files
Coverage Δ

...va/org/apache/shenyu/web/filter/ExcludeFilter.java
62.50% <0.00%> (-37.50%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
69.10% <0.00%> (-14.64%)
:arrow_down:

...a/org/apache/shenyu/web/filter/FallbackFilter.java
85.71% <0.00%> (-14.29%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
70.00% <0.00%> (-13.34%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
54.25% <0.00%> (-5.32%)
:arrow_down:

...ng/rocketmq/rocketmq/RocketMQLogCollectClient.java
68.00% <0.00%> (-4.00%)
:arrow_down:

...yu/common/dto/convert/rule/Resilience4JHandle.java
71.60% <0.00%> (-3.71%)
:arrow_down:

...henyu/register/client/http/utils/RuntimeUtils.java
51.72% <0.00%> (-3.45%)
:arrow_down:

...henyu/admin/service/impl/UpstreamCheckService.java
70.14% <0.00%> (-1.50%)
:arrow_down:

... and 4 more

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 716cfdb...517c2ec. Read the comment docs.


[T3A3][T17-A3]Chia Zhe Min

Used Ctrl + Shift + F to reindent code. However, I realised some of the comments were rearranged or changed lines. Is this a problem?

Ready for review


perf(sort): optimistically re-shuffle array to increase chance of success

uses optimistic re-shuffling algorithm to increase the chance that a sort operation succeeds
increases performance: best-case of O(n^2), and n^2 > n so performance is increased by a factor of n
uses modern for-loop instead of while loop

LGTM 🔥🚀


Updated typings

Summary
Add missing sourceContentType and targetContentType in interface of transformEntriesToType params + enable undefined as a return value in deriveEntryForLocale.
Description
contentType: string;  was replaced with
sourceContentType: string;
targetContentType: string;

undefined was added as accepted return value in deriveEntryForLocale.
deriveEntryForLocale: (
    inputFields: ContentFields,
    locale: string
  ) => { [field: string]: any } | undefined;

Motivation and Context
Make current functionalities consistent with the typings.

Not that I necessarily disagree with your styling changes, but it seems like a pretty sure way to get this PR rejected/ignored. I would love to see this change incorporated since the current interface is wildly incorrect compared to the docs.

sorry for the automated formatting, is now gone. The linked interface TransformEntryToType could work if we also enable string as a return type from identityKey, so
identityKey: (fromFields: any) => Promise<string> | string. Then we could import that and reuse in index.d.ts for consistency reasons

what is the status with that? we would also need correct typings.


Version [1.8.4] - 2024-04-20 Get Failure

Board ESP32-S3 N8
\Arduino\libraries\Wire\src/Wire.h:125:13: note: candidate 2: 'uint8_t TwoWire::requestFrom(uint8_t, uint8_t)'
uint8_t requestFrom(int address, int size);
// Previous definition using 'int' (not optimal for this application):
// const int EEPROM_ADDRESS = 0x50;  // EEPROM address
// Updated definition using 'uint8_t' (optimal for 8-bit addresses):
const uint8_t EEPROM_ADDRESS = 0x50;  // EEPROM address
// Create an EEPROM object for a 24LC512 chip using the corrected address type
I2C_eeprom EEPROM_24LC512(EEPROM_ADDRESS, I2C_DEVICESIZE_24LC512);

Thanks for reporting these issues, will have a look at it today.

Cannot replicate,
Can you post a minimal sketch that shows the issue?

@ClaudiusVi
OK, think I found the cause, and created a develop branch with the fix.
Can you verify the develop branch works for you?

@Rob
I've already made the changes in the ESP32 code. Initially, I wasn't sure where to look, so I checked your library code to find where the issue occurs. Since I'm currently writing libraries for the Raspberry Pi 5 with the new GPIO chip, it made the process straightforward.
Incorporating an example in the documentation like the following would clarify things:
const uint8_t EEPROM_ADDRESS = 0x50;
I2C_eeprom EEPROM_24LC512(EEPROM_ADDRESS, I2C_DEVICESIZE_24LC512);
Our program is quite extensive and includes LoRa, various sensors, and control modules, which is why the I2C addresses are declared as constants, or mistakenly as integers in some cases.
Thanks for your help,
Claudius

You're welcome,
The problem is not in the constructor I2C_eeprom EEPROM_24LC512(EEPROM_ADDRESS, I2C_DEVICESIZE_24LC512); or its parameters, so an additional example would not help or being educative.
The error is introduced by the last PR which allows the I2C buffer to be larger than 256 bytes, making low level calls with 16 bit variables instead of 8 bit. This causes an ambiguity in the library call requestFrom(). By casting the parameters of that function explicit to int this ambiguity is solved.
If you have time, please verify the develop branch,


feat: bump okhttp to 4.11.0

This PR bumps our dependency on the okhttp library to the most recent 4.x release (4.11.0).

:tada: This PR is included in version 9.18.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


LDR smoothing

Linear smoothing of LDR values can help if LDR readings are unstable.
On the Options page, the number of historic values to be used for smoothing can be specified.
E.g. "30" means: "perform linear smoothing over the last 30 LDR readings and take the linear average".
"0" means: "take current reading from LDR"

Thanks!


[WIP] feat: adds support for multiple frontend frameworks and implements Vue

This is a stab at implementing #15. The most notable change being removing the react-app from the templates folders and abstracting it into framework specific components and generating the app on the fly instead with its respective framework. The flow is as follows:

User can provide --framework and --template flags or if none are provided a select list is presented to set those values.
If the default template is chosen, it is pulled directly from github (either cea-template for React or buidler-waffle-typechain-oz-vue for Vue)
If any other template is chosen, then the chosen framework's CLI (either create-react-app or @vue/cli) is used to scaffold the project.
After a project is scaffolded, the template's contracts and front end components (based upon what framework was chosen) are extracted from the template tar and put into /contracts and /src/components respectively.

There's still some work to be done (mainly implementing the components now) and ideally the default templates will be abstracted into framework specific components, then the CLI can generate the default app on the fly.

With this being such a large PR, am obliged to hop on a call sometime this week to step through 😄

Wow, this is a big PR 🤯 Thank you for contributing!
I'd love to jump on a call and understand more about what you did here. Can you ping me on Telegram to find the best time?

@PaulRBerg any feedback here? perhaps should be implemented in smaller pieces?

Gosh I feel terrible for my delay here! Believe it or not, I am still doing my taxes. It turns out that my dual residency + having to track three fiat currencies + being an early adopter of DeFi projects is a recipe for a monstrously complicated tax report.
I was meaning to review this properly by overlaying your work with my suggestion to use handlebars, but I guess I should resort to just feedback and speed things up.
Bottom line is that CEA needs a variety of frontend librabries to choose from. I'm committed to make it happen and keep maintaining this repo.

Hey @proofoftom! I took an in-depth look at this and, sadly, I decided not to build on top of this PR for the moment.  I went for a lighter approach and released v1.2.0, which implements the multi-frameworks feature and accepts a new --framework command-line argument.
The rationale:

Scaffolding the UI apps dynamically with CRA and the Vue CLI is more scalable than the current approach, which is to keep a lot of duplicated code in version control, but I think it should be implemented as a separate PR, independent of the multi-framework feature
Similarly, what you suggested by keeping only the template-specific components in version control is a great idea, again much more scalable, but it'd be good to see it implemented as a separate PR (this is also where I was suggesting to use handlebars to reduce the complexity of the code that has to be maintained)
I wanted to keep React and the default template as implicit choices if no custom framework or template is provided
https://github.com/raid-guild/buidler-waffle-typechain-oz-vue is dope (I heard a lot of good things about Buidler and Waffle), but it's a bit overwhelming for the current scope of CEA, which is to be an easy to use frontend dev environment

I'm not closing this PR because many proposals from here are welcome. It's just a matter of rebasing and reimplementing each proposal as a small-scale PR, to make reviewing easier and avoid the introduction of bugs.

Hey @PaulRBerg, no worries! I totally agree with the rationale and am stoked to see Vue support, either way. Will submit some smaller PRs to incrementally introduce these other features.

I'm sorry to do this, but I have to close this PR as the codebase has diverged significantly from it.
We moved to a handlebars.js-based architecture since v1.2.0, which is working well.


error with pip install

Describe the bug
I am trying to install Bagua with Pytorch Lightning but I'm getting the following error:
ERROR: Could not find a version that satisfies the requirement bagua-cuda113 (from versions: none)

Environment

Your operating system and version:  Red Hat 4.8.5-44
Your
python version:
Your PyTorch version: 3.9
How did you install python (e.g. apt or pyenv)? Did you use a virtualenv?: conda
Have you tried using latest bagua master (python3 -m pip install --pre bagua)?:  no

Reproducing
Please provide a minimal working example. This means the runnable code.
Please also write what exact commands are required to reproduce your results.
Additional context
Add any other context about the problem here.

@cmlakhan Can you install any other python packages using the command pip install xxx?


Regenerate with latest gir/gir-files

Looks good to me, just need to get gobject-introspection fixed.

@bilelmoussaoui This is ready now?

Yes, should be all good

Nice, will review some time later today :)

This is marked needs-backport but contains breaking changes (dropping of the Display impls at least). Needs special care when backporting to only include the OK changes.

I'll update this and then merge

@bilelmoussaoui can you make a backport PR of this with the things that should be included?

@sdroege i don't think there is much to backport actually, the time i put the label i thought remove display was not a breaking change :P

Yeah I was wondering which changes you wanted to backport. Let's not do that then :)


I can help to make the home page more professional

Here is my sample work

Hello @SuyashRajput! Welcome to Relief Connect. Yeah we would like to work closely with you in building a great landing page but we want something similar to this design- https://disasterrelief.webflow.io/
Follow the above design and stay in touch here with any queries related to to!

But we want you to not work on Footer of our website @SuyashRajput for now. Complete the rest on time.

@arcVaishali Can you close the issue now since the PR is merged
And if you need help with any other pages just pin me


fastify-vite-vue:useServerAPI Cannot read property 'appContext' of null

He guys. Could you please help me?
Today I faced the issue
TypeError: Cannot read property 'appContext' of null
    at Proxy.useServerAPI (***\node_modules\fastify-vite-vue\client.js:47:41)

Looks like the internal method getCurrentInstance() returns null.
As a workaround I have to use try catch for useServerAPI method, but my page does not get data from SSR.
Just in case, list of my project's dependencies
"dependencies": {
    "@mgcrea/fastify-session": "^0.14.1",
    "@mgcrea/fastify-session-redis-store": "^0.9.1",
    "@popperjs/core": "^2.9.2",
    "@vueuse/head": "^0.6.0",
    "async": "^3.2.0",
    "awilix": "^4.3.4",
    "bootstrap-icons": "^1.5.0",
    "fastify": "^3.18.0",
    "fastify-api": "^0.2.0",
    "fastify-awilix": "^1.1.0",
    "fastify-config-loader": "^1.1.2",
    "fastify-cookie": "^5.3.1",
    "fastify-plugin": "^3.0.0",
    "fastify-sensible": "^3.1.1",
    "fastify-static": "^4.2.2",
    "fastify-vite": "^2.2.0-beta.2",
    "fastify-vite-vue": "^2.2.0-beta.2",
    "ioredis": "^4.27.6",
    "ipaddr.js": "^2.0.1",
    "vite": "^2.3.8",
    "vue": "^3.1.2",
    "vue-router": "^4.0.10"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.2.3",
    "@vue/compiler-sfc": "^3.1.2",
    "bootstrap": "^5.0.2",
    "cross-env": "^7.0.3",
    "eslint": "^7.29.0",
    "eslint-plugin-import": "^2.23.4",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-vue": "^7.11.1",
    "sass": "^1.35.1"
  }

I found reasons, why this error happens for me, maybe for someone else it will be helpful.
The root cause is Vue version, for 3.1.2 the error is happens, but when I downgraded back to 3.1.1 the error is gone.
The changelog can be found here

@SuslegStyle fixed in the latest release, see https://www.youtube.com/watch?v=ybCMaNDcb1s

Thank you for the update.
I made the appropriate changes, but it does not work me.
TypeError: Cannot read property 'appContext' of null
    at useGlobalProperties (***\node_modules\fastify-vite-vue\client.js:111:30)
    at Proxy.useHydration (***\node_modules\fastify-vite-vue\client.js:35:23)
    at setup (***/pages/index.vue:73:34)

The error points to useGlobalProperties method. getCurrentInstance returns null and I don't know why.
function useGlobalProperties () {
  return getCurrentInstance().appContext.app.config.globalProperties
}

I tried to use different combination of Vue and Vite versions, but no luck.
The current list of my dependencies
"dependencies": {
    "@popperjs/core": "^2.9.2",
    "@vueuse/head": "^0.6.0",
    "async": "^3.2.0",
    "awilix": "^4.3.4",
    "bootstrap": "^5.0.2",
    "bootstrap-icons": "^1.5.0",
    "fastify": "^3.19.2",
    "fastify-api": "^0.2.0",
    "fastify-awilix": "^1.1.0",
    "fastify-config-loader": "^1.1.2",
    "fastify-cookie": "^5.3.1",
    "fastify-plugin": "^3.0.0",
    "fastify-sensible": "^3.1.1",
    "fastify-session": "^5.2.1",
    "fastify-vite": "^2.2.0-beta.5",
    "fastify-vite-vue": "^2.2.0-beta.5",
    "fluent-json-schema": "^3.0.1",
    "vite": "^2.4.3",
    "vue": "^3.1.5",
    "vue-router": "^4.0.10",
    "vue3-resize": "^0.2.0"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.2.5",
    "@vue/compiler-sfc": "^3.1.5",
    "chai": "^4.3.4",
    "cross-env": "^7.0.3",
    "eslint": "^7.31.0",
    "eslint-plugin-import": "^2.23.4",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-vue": "^7.14.0",
    "faker": "^5.5.3",
    "mocha": "^9.0.2",
    "sass": "^1.35.2"
  }

A small update,
I tried to call directly
    const internalInstance = getCurrentInstance();
    console.log(internalInstance);

    const ctx = await useHydration({getData});

And I can see an object in console, but still have an issue inside useHydration
TypeError: Cannot read property 'appContext' of null

Can you put up a reproduction repository?

Yeah, it is great idea.
Here you go, https://github.com/SuslegStyle/fastify-vite-hello-world
I will be really appreciate if you can help me to understand what exactly is wrong.

@galvez any updates ? Does the example was helpful?


No authentication attempts in pool mc_worker

I am having a little difficulty authenticating a ssl connection.
mc_worker_api:connect is always successful, only not when transacting over poolboy because there is no authentication attempt being made at all, I think. My cluster runs on Version 3.6.8, so it is using the scram_sha_1_auth.
mc_worker_logic does not have any authentication methods present in the connect function, and I have added a similar from mc_worker_api but it times out at mc_connection_man:database_command mc_auth_logic.erl:63
connect(Conf) ->
  Timeout = mc_utils:get_value(timeout, Conf, infinity),
  Host = mc_utils:get_value(host, Conf, "<IP_ADDRESS>"),
  Port = mc_utils:get_value(port, Conf, 27017),
  SSL = mc_utils:get_value(ssl, Conf, false),
  SslOpts = mc_utils:get_value(ssl_opts, Conf, []),
  {ok, Connection} = do_connect(Host, Port, Timeout, SSL, SslOpts),
  {_, _, Pid} = Connection,

  Login = mc_utils:get_value(login, Conf, undefined),
  Password = mc_utils:get_value(password, Conf, undefined),
  case (Login /= undefined) and (Password /= undefined) of
    true ->
      AuthSource = mc_utils:get_value(auth_source, Conf, <<"admin">>),
      % Version = mc_worker_api:get_version(Pid),
      Version = 3.6,
      mc_auth_logic:auth(Pid, Version, AuthSource, Login, Password);
    false -> ok
  end,

  {ok, Connection}.

https://github.com/comtihon/mongodb-erlang/blob/master/src/connection/mc_worker_logic.erl#L20
I could need some help here because I don't know what is actually needed for the authentication to be successful over a ssl connection.
Cheers,
Erwin

Hi,
I haven't tested it, but according to the https://github.com/comtihon/mongodb-erlang/blob/master/src/mongoc/mc_pool_sup.erl#L27 when you start a pool via mongo_api:connect it calls mc_worker_api:connect which should perform auth if your worker args contains credentials.

If you are using your own poolboy, just use  [{worker_module, {mc_worker_api, connect}}] instead of mc_worker:start_link

Thanks for the fast reply. I am actually using https://github.com/synrc/kvs 's mongo backend, when I change the worker to  [{worker_module, {mc_worker_api, connect}}] I get
** exception exit: {noproc,
                       {gen_server,call,
                           [mongo_pool,
                            {checkout,#Ref<0.1682824338.4235722753.171501>,true},
                            5000]}}
     in function  erlang:send/2
        called as erlang:send(mongo_pool,
                              {'$gen_cast',
                                  {cancel_waiting,#Ref<0.1682824338.4235722753.171501>}})
     in call from gen_server:do_send/2 (gen_server.erl, line 445)
     in call from gen_server:do_cast/2 (gen_server.erl, line 243)
     in call from poolboy:checkout/3 (..../deps/poolboy/src/poolboy.erl, line 60)
     in call from poolboy:transaction/3 (..../deps/poolboy/src/poolboy.erl, line 76)
     in call from store_mongo:dir/0 (..../deps/kvs/src/store/store_mongo.erl, line 38)

OK, some reports were accidentially omitted. This is the result that starting {mc_worker_api, connect} brought:
{error,{{{badmatch,{error,{'EXIT',{<<"Can't pass authentification">>,
[{mc_auth_logic,scram_sha_1_auth,4,[{file,"...../deps/mongodb/src/connection/mc_auth_logic.erl"},{line,55}]},{mc_worker_api,connect,1,[{file,"...../deps/mongodb/src/api/mc_worker_api.erl"},{line,69}]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,379}]},{supervisor,handle_call,3,[{file,"supervisor.erl"},{line,404}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,661}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,690}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}}}},[{poolboy,new_worker,1,[{file,"...../deps/poolboy/src/poolboy.erl"},{line,293}]},{poolboy,prepopulate,3,[{file,"...../deps/poolboy/src/poolboy.erl"},{line,309}]},{poolboy,init,3,[{file,"...../deps/poolboy/src/poolboy.erl"},{line,151}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,374}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,342}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]},{child,undefined,mongo_pool,{poolboy,start_link,[[{name,{local,mongo_pool}},{worker_module,{mc_worker_api,connect}},{size,10},{max_overflow,20},{hostname,"cluster0-shard-00-00-t9sx7.mongodb.net"},{database,"mws"},{username,"Flaming"},{password,"Q24rFYMvXOp4Dp!"}],[{database,<<"mws">>},{login,<<"Flaming">>},{password,<<"Q24rFYMvXOp4Dp!">>},{w_mode,safe},{host,"cluster0-shard-00-00-t9sx7.mongodb.net"},{port,27017},{ssl,true},{timeout,50000},{auth_source,<<"admin">>}]]},permanent,5000,worker,[poolboy]}}}

Please don't post your credentials and host here...

In case of  {noproc, {gen_server,call,  [mongo_pool, - have you started mongo app? application:ensure_all_started (mongodb).

Ok that was where the issue is. I had misplaced the code to start the child processes, so it started before ensure_all_started. Second, the worker was changed to {mc_worker_api, connect} which works but I've got some other issues to sort out due to deprecated dependencies on an older third-party library.
Thanks a lot!


Update Dockerfile

Added tzdata so that user can set timezone with TZ variable.

@kajeagentspi
Sorry about the delay in getting back, totally missed it somehow.
Can you please explain a bit about where do you exactly intend at using the timezone value?


JBPM-7798 After login, loading screen localized message is messed up

@cristianonicolai  I just want try add feature for inject script. Please review it.
It's just a temporary  code.

Build finished. 2761 tests run, 5 skipped, 0 failed.

Build finished. 2761 tests run, 5 skipped, 0 failed.

Build finished. No test results found.

@cristianonicolai  I think the PR's way is better way for fix the issue. But
according to your comment, I think I can keep it firstly, if we have enough time, I can try to improve it.
Is it make sense ?

@bxf12315  I would defer that review to @tiagobento as more experienced in Errai code base, from what I see https://github.com/errai/errai/pull/366 is enough to fix the issue.


What is the status of v2.5.0?

Hello!
I'm using CommaFeed for a really long time so thanks a lot for your work!
I see that there are quite a lot of changes since version 1.5.0-beta1 was published: https://github.com/Athou/commafeed/compare/2.5.0-beta1...master
I have 2 questions:

What is the status of 2.5.0?
Would that be possible to at least release a new beta one of these days? (having access to a precompiled binary is neat!)

I know what it is to carry such projects over the years, so I would totally understand if you don't have the time to work on it.
Have a nice day!

Hey,
Thanks for the kind words. I'll try to release 2.5.0 in the next few days, it is stable enough :)

Any news about the release?

https://github.com/Athou/commafeed/releases/tag/2.5.0 !

Thanks a lot!


Add datamodel doc.

Combines datamodel and structure docs from the docs repo.

One comment and then LGTM


NNBD. No error for the class with the const constructor having late field

According to the recent change in NNBD specification

It is an error for a class with a const constructor to have a late final field.

But not there is no error in analyzer in this case.
class C {
  static late final int s = 42;
  late final int i = 42;
  const C();
}

main()  {
  C();
}

dartanalyzer version 2.7.0-dev.2.1 finds no issues in the code above

This was fixed in 3de7487a2cfec15eeb262159cd0a789a50666b2c.


How to query the last-focused windows id on a specific space

To make the system setting more simple, I am going to use yabai without disabling SIP. Most things works fine, just one issue:
Now I use BBT to switch to another desktop, it has some problems.
If I have two monitors, like monitor A has space 1,2 and monitor B has space 3,4, it works fine when I switch between 1 and 2, with the focused windows also also switched between these two spaces, but if monitor B already shows space 3, if I use hot-key to switch from space 2 to space 3, the focused windows still on space 2. That's why I am trying to use yabai -m query --windows --space 3 +??? command to get the last-focused windows id on space 3.
I don't know whether it can be done, if cannot I can only do  yabai -m query --windows --space 3 | jq '.[0].id' to get the first windows and focus to it. If possible I want to still focus to the windows I last focused on that space.
Any advice?

The query you suggested will output the last focused window on that space; the list is ordered that way by macOS.


Error installing on Windows 11

Installation progressed normally up until I was asked to reboot. Upon rebooting and attempting to resume installation, the installer began failing.
Initially, it failed when trying to rename files which had already been extracted to the %appdata%/Programs/DiskuvOcaml folder.
After deleting this folder entirely, the installation was able to progress to the phase where it attempts to clone and build inotify-win. This failed after cloning the repo, when attempting to call compile.bat, which does not exist anywhere on my system (checked via the search tool everything.exe).
After following the steps outlined in #45 (uninstalling through "Add or remove programs", repairing Visual Studio Build Tools 2019) and deleting the %appdata%/Programs/DiskuvOcaml to be safe, the same error occurs:
[3 of 11]: 2023-06-16T05:08:35.717Z Install inotify-win
2023-06-16T05:08:35.755Z [Win32] C:\Program Files\Git\cmd\git.exe -C D:\Temp\PAB553~1\0 clone https://github.com/thekid/inotify-win.git
Cloning into 'inotify-win'...
2023-06-16T05:08:36.623Z [Win32] C:\Program Files\Git\cmd\git.exe -C D:\Temp\PAB553~1\0\inotify-win -c advice.detachedHead=false checkout 36d18f3dfe042b21d7136a1479f08f0d8e30e2f9
HEAD is now at 36d18f3 Merge branch 'master' of github.com:thekid/inotify-win
2023-06-16T05:08:36.813Z [Win32] C:\WINDOWS\system32\cmd.exe /c call "D:\Temp\PAB553~1\0\inotify-win\compile.bat"
'\"D:\Temp\PAB553~1\0\inotify-win\compile.bat\"' is not recognized as an internal or external command,
operable program or batch file.
Setup did not complete because an error occurred.
Win32 command failed! Exited with 1. Command was: C:\WINDOWS\system32\cmd.exe /c call "D:\Temp\PAB553~1\0\inotify-win\compile.bat".

at Invoke-Win32CommandWithProgress, D:\Temp\7zAD68E4BC\sg\network-ocamlcompiler\windows_x86_64\setup-userprofile.ps1: line 771
at <ScriptBlock>, D:\Temp\7zAD68E4BC\sg\network-ocamlcompiler\windows_x86_64\setup-userprofile.ps1: line 914
at <ScriptBlock>, <No file>: line 1
at <ScriptBlock>, <No file>: line 1

Bug Reports can be filed at https://github.com/diskuv/dkml-installer-ocaml/issues
Please copy the error message and attach the log file available at
  C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\setup-userprofile.full.log

FATAL [a0d16230]. A transient failure occurred.

Root cause: The conformant command had exit code 1:
                                           D:\Temp\7zAD68E4BC\sg\network-ocamlcompiler\windows_x86_64\setup-userprofile.bat
                                             -AllowRunAsAdmin
                                             -InstallationPrefix
                                             C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1
                                             -MSYS2Dir
                                             C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\tools\MSYS2
                                             -OpamExe
                                             C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\bin\OPAM-R~1.EXE
                                             -DkmlPath
                                             D:\Temp\7ZAD68~1\sg\NETWOR~1\WINDOW~1\dkmldir
                                             -GlobalCompileDir
                                             D:\Temp\7ZAD68~1\sg\STAGIN~1\generic
                                             -NoDeploymentSlot -DkmlHostAbi
                                             windows_x86_64 -TempParentPath
                                             D:\Temp\PAB553~1 -SkipProgress
                                             -SkipMSYS2Update

>>> A transient failure occurred. <<<

dkml-package.bc: [ERROR] FATAL [5f927a8b].
                         A transient failure occurred.

                         Root cause: The command had exit code 20:
                                       D:\Temp\7zAD68E4BC\bin\dkml-install-user-runner.exe
                                         install-user-network-ocamlcompiler --verbosity=info
                                         --color=always --prefix
                                         C:\Users\Bobbias\AppData\Local\Programs\DiskuvOCaml
                                         --staging-files D:\Temp\7zAD68E4BC\sg

                         >>> A transient failure occurred. <<<

Press "y" and ENTER to exit the installer.

C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\setup-userprofile.full.log:
2023-06-16T05:08:35.743Z [Win32] C:\Program Files\Git\cmd\git.exe -C D:\Temp\PAB553~1\0 clone https://github.com/thekid/inotify-win.git
Cloning into 'inotify-win'...
2023-06-16T05:08:36.606Z [Win32] C:\Program Files\Git\cmd\git.exe -C D:\Temp\PAB553~1\0\inotify-win -c advice.detachedHead=false checkout 36d18f3dfe042b21d7136a1479f08f0d8e30e2f9
HEAD is now at 36d18f3 Merge branch 'master' of github.com:thekid/inotify-win
2023-06-16T05:08:36.805Z [Win32] C:\WINDOWS\system32\cmd.exe /c call "D:\Temp\PAB553~1\0\inotify-win\compile.bat"
'\"D:\Temp\PAB553~1\0\inotify-win\compile.bat\"' is not recognized as an internal or external command,
operable program or batch file.

The compile.bat has likely been quarantined by your anti-virus (or Windows Defender). Can you temporarily pause your anti-virus during the installation?

Also, just to confirm ... what download link are you using? (To check the version you are installing)

I turned off realtime scanning, no change. Rerunning the installer requires deleting the appdata folder each time, or it fails during renaming, and once the folder has been deleted it fails at the same step, attempting to call compile.bat which appears to be missing.
The filename is setup-diskuv-ocaml-windows_x86_64-1.2.0
The exact download link as per firefox is:
https://objects.githubusercontent.com/github-production-release-asset-2e65be/449429925/a4377a07-3825-4c0d-b145-5ebedf4ad966?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230616%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230616T031934Z&X-Amz-Expires=300&X-Amz-Signature=d75e1572d6cc96fe92e2b9b6e46b973a21b5e5aa2cb9c604438f05f2086d93ae&X-Amz-SignedHeaders=host&actor_id=1689975&key_id=0&repo_id=449429925&response-content-disposition=attachment%3B%20filename%3Dsetup-diskuv-ocaml-windows_x86_64-1.2.0.exe&response-content-type=application%2Foctet-stream

(Random aside: Your profile says Barrie. I used to live in Roches Point across the Lake from you when I was much much younger)
Since I think you can handle looking at some code, here is where your computer is tripping up:
https://github.com/diskuv/dkml-component-ocamlcompiler/blob/691fc60d3ec3fc9f0985077485a2392ac15e0022/assets/staging-files/win32/setup-userprofile.ps1#L875-L878
The compile.bat is being created ... either your PowerShell executable is not writing the file (file permissions on your D: drive?), or some process on your machine is erasing that file. And I have seen at least one other person's AV stop right at that point, but sounds like you have that covered.
Perhaps ... can you try running the installer as Administrator if you aren't already doing that? If not, I'll have to schedule a remote (Zoom/Teams) session with you to see exactly why it is breaking down.

Oh neat, I actually originally grew up in Midland, but have been living in Barrie for the past several years :)
I checked the setup-userprofile.ps1 file myself just to doublecheck what was going on when this first happened, but I wasn't feeling like digging through the whole source looking to see where it might be creating the bat file and such.
Running from an elevated console doesn't seem to help. I'm getting too tired to continue working on this tonight, but I see what's going on (I'm not particularly familiar with powershell, so I had to look up Set-Content).
I see now that it's supposed to be creating the batch file with that command, and when the file fails to materialize it's failing on the next line. Is there some way to manually inject a pre-built copy of the batch file (I see it conveniently deletes the temp folder before attempting this process, which suggests that won't be so easy), or some way to patch the contents of setup-userprofile.ps1 to work around this issue temporarily? (Ideally without needing to build the entire installer from source)

As long as you don't press a "y" at Press "y" and ENTER to exit the installer. your temporary directories should stay around (well, at least the parent temporary directory will stay around). Then you can rerun the last command you see in the log file.

Is there some way to manually inject a pre-built copy of the batch file ...

Your machine is failing early in the install. It is very likely it will just fail at a subsequent step even if you could manually inject a copy of the batch file. You can be at that for days playing whack-o-mole.
That code in that area isn't tricky. PowerShell should be able to write a file; kinda the most basic thing any shell can do. The list of possibilities is:

Anti-virus or some other Win32 process is removing the file. That is the likeliest because I've seen it happen, and it is the likeliest because there was no error from PowerShell that it couldn't create the file. (On my machine that turning off real time scanning is not sufficient to stop AV. But there are also a zillion Win32 programs that can interfere with unrelated Win32 programs). The foolproof but expensive way to rule out another Win32 process is to restart your computer in Safe Mode, kill any other processes with the Task Manager, and then run the installer.
Permissions. But if it were permissions then the Set-Content command would fail. The compile.bat is being created inside a folder that C:\Program Files\Git\cmd\git.exe -C D:\... clone is creating. Git might be doing something unusual. Doing a 3 version bump (ex. 2.38 downgraded to 2.35, or 2.30 upgraded to 2.33) of Git would eliminate that possibility.
Asynchronous drive. Your D: drive is a regular SSD or hard drive, right? Not a network drive? If it is a network drive, the Set-Content can take some time to appear on your drive. In the meantime, the next call ...compile.bat command will fail.
Windows Group Policy. If you are on a corporate managed PC, well ... you may want to talk to your domain administrator to see what policies are present (especially policies affecting where PowerShell and Command Prompt can execute).

I have no AV beyond windows defender, since this is a personal PC.
I don't see any chance it's permissions in this case, as  all accounts have full rights to that folder now, and the installer was being run from an elevated command prompt that time. I think it's safe to rule that one out.
My D: drive is a standard spinning disk. I moved my temp folder there because my C dive (which is an SSD) is somewhat small, and getting very full. So there's no networking to potentially mess with things.
Since this is a personal system, I don't have any grip policy settings beyond a few tweaks I made to keep windows update from being such a pain.

Okay, that is not good. Even hopping on a video call isn't going to make a difference. I'll make a pre-release installer within two weeks (if you can wait) that pre-bundles the binary for that step (rather than compile the binary using compile.bat).
Thanks for your patience whatever you decide to do. (I'll keep this issue open until the pre-bundling step is complete.)

I recently tried installing it on Win10 and have the exam same error with the compile.bat file missing, hopefully there'll be a fix

You can try the Windows 64-bit Installer at https://gitlab.com/diskuv-ocaml/distributions/dkml/-/releases/1.2.1-10 which completely removes the compile.bat step.

After trying the new installer, I ran into some issues.
While trying to compile flexdll the following error occurred.
[ERROR:winsdk.bat] Windows SDK 10.0.18362.0 : 'C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um' not found or was incomplete
[ERROR:VsDevCmd.bat] *** VsDevCmd.bat encountered errors. Environment may be incomplete and/or incorrect. ***
[ERROR:VsDevCmd.bat] In an uninitialized command prompt, please 'set VSCMD_DEBUG=[value]' and then re-run
[ERROR:VsDevCmd.bat] vsdevcmd.bat [args] for additional details.
[ERROR:VsDevCmd.bat] Where [value] is:
[ERROR:VsDevCmd.bat]    1 : basic debug logging
[ERROR:VsDevCmd.bat]    2 : detailed debug logging
[ERROR:VsDevCmd.bat]    3 : trace level logging. Redirection of output to a file when using this level is recommended.
[ERROR:VsDevCmd.bat] Example: set VSCMD_DEBUG=3
[ERROR:VsDevCmd.bat]          vsdevcmd.bat > vsdevcmd.trace.txt 2>&1
System.Management.Automation.RemoteException
FATAL: VsDevCmd.bat failed to find a Visual Studio compiler.
System.Management.Automation.RemoteException
Setup did not complete because an error occurred.
MSYS2 command failed! Exited with 1. Command was: C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\tools\MSYS2\usr\bin\env.exe MSYSTEM=CLANG64 MSYSTEM_PREFIX=/clang64 HOME=/home/Bobbias PATH=/clang64/bin:/usr/bin:/bin C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\tools\MSYS2\usr\bin\env.exe PATH=/c/Program Files/Git/cmd:/clang64/bin:/usr/bin:/bin DKML_TMP_PARENTDIR=/d/Temp/PA2431~1/0 C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\tools\MSYS2\usr\bin\env.exe DiskuvOCamlVarsVersion=2 DiskuvOCamlHome='/c/Users/Bobbias/AppData/Local/Programs/DISKUV~1' DiskuvOCamlBinaryPaths='/c/Users/Bobbias/AppData/Local/Programs/DISKUV~1/usr/bin:/c/Users/Bobbias/AppData/Local/Programs/DISKUV~1/bin' DiskuvOCamlMSYS2Dir='/' DiskuvOCamlDeploymentId='v-1.2.1-10;ocaml-4.14.0;opam-2.2.0~alpha0~20221228;msys2-F45581C12EA79770;docker-99C8BC9860D703EB;bins-DADAB1EE1DF61322;stubs-4E6958B274EAB043;toplevels-80941AA1C64DA259' DiskuvOCamlVersion='1.2.1-10' WITHDKML_ENABLE=OFF OCAMLLIB= TOPDIR=/d/Temp/7Z04E1~1/sg/NETWOR~1/WINDOW~1/dkmldir/vendor/drc/all/emptytop C:\Users\Bobbias\AppData\Local\Programs\DISKUV~1\tools\MSYS2\usr\bin\sh.exe /d/Temp/7z04E1AA70/sg/network-ocamlcompiler/windows_x86_64/install-ocaml.sh /d/Temp/7Z04E1~1/sg/NETWOR~1/WINDOW~1/dkmldir 15553b77175270d987058b386d737ccb939e8d5a windows_x86_64 /c/Users/Bobbias/AppData/Local/Programs/DISKUV~1 --disable-imprecise-c99-float-ops

at Invoke-MSYS2Command, D:\Temp\7z04E1AA70\sg\network-ocamlcompiler\windows_x86_64\dkmldir\vendor\drd\src\windows\UnixInvokers\UnixInvokers.psm1: line 165
at Invoke-MSYS2CommandWithProgress, D:\Temp\7z04E1AA70\sg\network-ocamlcompiler\windows_x86_64\setup-userprofile.ps1: line 805
at <ScriptBlock>, D:\Temp\7z04E1AA70\sg\network-ocamlcompiler\windows_x86_64\setup-userprofile.ps1: line 1050
at <ScriptBlock>, <No file>: line 1
at <ScriptBlock>, <No file>: line 1

When I ran the installer, it installed some VS2019 build tools packages to C:\DiskuvOCaml, including the Windows 10 SDK 10.0.18362.0. I looked to see if perhaps the missing folders were somewhere in there but that doesn't appear to be the case.
I decided to manually install that version of the Windows 10 SDK for VS2022 instead using the Visual Studio Installer, but that also did not create the required folder, although I have several other versions visible in there:
Bobbias@DESKTOP-BOBBIAS C:\Program Files (x86)\Windows Kits\10\Include
❯ dir

    Directory: C:\Program Files (x86)\Windows Kits\10\Include

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----    Mon., 2020-09-21  2:11 AM                10.0.14393.0
d----    Wed., 2020-12-30  7:25 AM                10.0.17763.0
d----    Wed., 2023-06-21 12:40 PM                10.0.19041.0
d----    Sun., 2023-06-25  5:43 PM                10.0.22621.0

You need the exact Windows SDK 10.0.18362.0 component version.

Run Visual Studio Installer
Select Visual Studio Build Tools 2019
Open the tab Individual Components
In the search box type 18362 and select Windows 10 SDK (10.0.18362.0)

Then you will see C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0

It is installed:

That is the VS2019 Build Tools which were added by your installer.

Oh, so both VS 2019 and VS 2022 think they own the 10.0.18362.0 directory. Sounds like a bug that the VS installer lets you do that.

Get rid of the VS 2022 Windows SDK 10.0.18362.0 component (or better yet, get rid of the entire VS 2022 installation if you are not using it).
In the main screen of the Visual Studio Installer select "Repair" for Visual Studio 2019 Build Tools:

If that doesn't get you past the immediate issue, please open a new issue and I'll paste in details so we can video-conference what is happening.

I'm using VS2022 for other things, so I'm not downgrading back to VS2019. I have however uninstalled the Windows 10 SDK version in question from 2022.
I have run Repair on the VS2019 Build Tools installation.
I have some ideas I'd like to try before starting a new thread. I've had issues related to Visual Studio for quite some time, most of which seem to stem from something that happened a while ago.
I had originally installed Visual Studio on a hard drive transplanted to this computer from an old laptop. That laptop drive subsequently died, and left the installation in a very broken state, unable to repair, unable to install to a new location, and such. As a result, many registry keys have been left in a somewhat orphaned state, and I suspect that orphaned registry keys may be at play here. In addition to that, I had at one point installed several versions (including version 10.0.18362.0) of the Windows 10 SDK to C:\WINDOWS SDK\ which at some point got deleted without properly uninstalling, leaving yet more orphaned registry keys.
I might be able to get things working by clearing out orphaned registry keys that no longer point to reasonable locations and reinstalling the SDK once more.

Great!


fix: migrate from shiki v0.14 to v1.3.0

fix: #101  migrated from shiki v0.14 to v1.3.0
updates:

organized all components related to demoing code into a folder

./src/components/code
├── Code.tsx
├── CodeGroup.tsx
├── CodeGroupFromFile.tsx
├── ComponentPreview.tsx
└── PreviewCodeGroup.tsx

enables support of demoing code using backticks (inline and multiline), RawCode (equivalent of backticks), Code, CodeGroup, CodeGroupFromFile, PreviewCodeGroup, and ComponentPreview
still uses shiki css-variables defined in src/styles/tailwind.css
syntax highlighting is performs in src/lib/codeToHtml.ts
removed all unnecessary and/or old components related to demoing code

build faliure:

did you try npm run build locally?

There was an issue in the demo page import that I didn't fix, just fixed this and it built

Still failing:

I removed the ComponentPreview from the demo page. The build should work now.

Change you made in pricing/page.mdx is breaking the UI. do check the previews of files you are making changes of :)

remove the unused code in src/mdx/rehype.mjs

revert this copy change and please avoid making any change which is unrelated the PR title

there is no need to add this in showcase src/showcase/hooks/useMediaSizes.tsx

remove .vscode for now, no usage atm

Change you made in pricing/page.mdx is breaking the UI. do check the previews of files you are making changes of :)

Fixed! I did not realize how broken this looked. Thanks for the comment!

will do this in next iteration, current one looks better than this one

Fixed! I am not sure why this wasn't fixed. I guess I didn't stage a change properly in git or something.

remove the unused code in src/mdx/rehype.mjs

Fixed! Residual comments removed.

revert this copy change and please avoid making any change which is unrelated the PR title

Fixed! This was my attempt to make the cards align better, but clearly was not the correct solution.

there is no need to add this in showcase src/showcase/hooks/useMediaSizes.tsx

Fixed! Leftover file from testing CodeGroupFromFile. I had meant to remove this. Good catch!

remove .vscode for now, no usage atm

Fixed! I am not sure why this was added. I can add it to our .gitignore in another pr.


supported by electron?

hello, is browser-serialport supported by electron?
I tried to use the package, but the list ports  are null.
Maybe the trouble is permission.

As far as I know, it will not work with Electron because it does not provide access to the chrome.serial API. You can use it in NW.js though which is similar to Electron.


How to build mynewt-nimble for linux platform by newt commands ?

hello,
Can i build mynewt-nimble for linux platform by newt commands ? When i am trying to create a target (for blehr), If i set the target.bsp field as 'bsp/native' in the target.yml, it requires a ble driver ?
The demo on linux can only be built by makefile under apache-mynewt-nimble/porting/examples/linux currently.

tried method1:
newt build -l DEBUG  @apache-mynewt-nimble/porting/targets/linux
repos/apache-mynewt-core/kernel/os/include/os/os_time.h:65:10: fatal error: os/os_arch.h: No such file or directory
~~ missing many files after fix some marco defines.

method2:
change apache-mynewt-nimble/porting/targets/linux/target.yml to:
target.app: "porting/targets/dummy_app"
target.bsp: "@apache-mynewt-core/hw/bsp/native"
target.build_profile: "debug"

newt build -l DEBUG  @apache-mynewt-nimble/porting/targets/linux
dummy app didn't building porting/npl/linux files, the ble feature is not really available.

so i think the linux porting missed mewt package defines. It should be added.  and a runable demo should be created base on porting/example/linux if we want to build it by newt commands (currently it can be built by makefile and works fine).

Yes, although you may tune configuration by editing include/syscfg/syscfg.h


fix: use nc -G option for timeout

The netcat implementation on Darwin has the -G option setting the tcp
connection timeout, whereas the -w option sets the STDIN idle timeout.

Thanks.

Released as v2.82.13.


Tileset LOD parent and child render at the same time

Hi,
I followed the tileset example and fall into this problem. No matter how do I set the SSE or bounding volume, the refinement act strangely that either parent node and child node render at the same time or they don't show at all.
My data contains 2 level tiles. A single parent and it's children.
Data ### https://drive.google.com/open?id=1wdHxCpFgjPZMMjngMgLDUSRJoisrutDT
code
3D Tiles Photogrammetry szyl.html.zip
PS, is there any tile set generator for converting existing LOD .obj tiles to cesium tilesets?

Hi @riematrix, your tileset.json file specifies ADD in the refine field, when it seems like what you want is REPLACE. Take a look at the specification here: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#refinement
The spec and 3d-tiiles-tools projects are also a place to start for converting existing obj tiles to tilesets, but Cesium ion is also going to have the ability to tile large photogrammetry models.

The same problem !

@riematrix and @a0026 does setting tileset.skipLevelOfDetails = false make the problem go away?
@likangning93 @lilleyse could this be related to #7011 (or perhaps another bug introduced in the recent traversal changes?)

@riematrix sorry for closing prematurely! I took a deeper look, and I noticed that the tileset provided isn't spec compliant. According to the current 3D Tiles specification, when a tile points to an external tileset it cannot have children. See here: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#external-tilesets
You may have to refactor your tileset transforms a bit. Remember that transformations in a 3D Tileset are chained, so it may be easiest to have one transformation that puts the tileset where it needs to be on the Earth in the root and have either very small or nonexistent transformations for each tile.
@a0026 please let us know if you have the same problem in https://github.com/AnalyticalGraphicsInc/cesium/issues/7026.

@lilleyse since it seems like this might be something that users encounter frequently, should Cesium check and throw some kind of exception for this case?

@likangning93 Yeah it seems like that is the problem. The root tile is refining to both the level 5 tile and the level 6 tiles simultaneously. The problem occurs in previous version of Cesium too (tried 1.48 and 1.45).
Debugging demo I've been using for testing

@lilleyse since it seems like this might be something that users encounter frequently, should Cesium check and throw some kind of exception for this case?

Hard to say, I haven't seen this problem until now. We try not to do too much validation and prefer to offload that to the 3D Tiles validator, well once it's ready.

I would strongly suggest that anything that is simple to check for, is a fairly common mistake, and does not affect performance is something we spit out a console warning for. (unless unrecoverable, then a RuntimeError).
Not everyone is going to run the validator and not everyone is even in control of generating the tileset.  It will create a lot of noise in our issue tracker and the forum if we have to continual help people debug their tilesets for things that Cesium could have easily checked for.
That being said, it sounds like this might not be a common mistake, so maybe just put it on the radar and see if it pops up again?

@riematrix sorry for closing prematurely! I took a deeper look, and I noticed that the tileset provided isn't spec compliant. According to the current 3D Tiles specification, when a tile points to an external tileset it cannot have children. See here: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#external-tilesets
You may have to refactor your tileset transforms a bit. Remember that transformations in a 3D Tileset are chained, so it may be easiest to have one transformation that puts the tileset where it needs to be on the Earth in the root and have either very small or nonexistent transformations for each tile.
@a0026 please let us know if you have the same problem in #7026.

Hello. I do have the same problem in #7026, and I will try as you mentioned before. Thanks!


Inconsistent assembly names in NuGet package

NuGet package Pkcs11Interop.4.0.0.nupkg does not use consistent assembly names across the different platforms. This is causing assembly loading issues described in #65.
Currently the package structure looks like this:
lib
├───monoandroid2.3
│       Pkcs11Interop.Android.dll
├───net20
│       Pkcs11Interop.dll
├───net40
│       Pkcs11Interop.dll
├───net45
│       Pkcs11Interop.dll
├───netstandard1.3
│       Pkcs11Interop.NetStandard.dll
├───sl5
│       Pkcs11Interop.Silverlight.dll
└───xamarinios1.0
        Pkcs11Interop.iOS.dll

Assembly names need to be unified so the package structure looks like this:
lib
├───monoandroid2.3
│       Pkcs11Interop.dll
├───net20
│       Pkcs11Interop.dll
├───net40
│       Pkcs11Interop.dll
├───net45
│       Pkcs11Interop.dll
├───netstandard1.3
│       Pkcs11Interop.dll
├───sl5
│       Pkcs11Interop.dll
└───xamarinios1.0
        Pkcs11Interop.dll

Already fixed in master branch. I'll keep this issue open until updated nuget package gets released.


Proposal for a no-data flag

Implements #31 - let me know what you think.
cc @pjhartzell @gadomski

Bump to 1.2.0 then?

Also discussed in the STAC call. No one objected to it and I think we already were more or less in agreement to merge this? @drwelby


GetFromDocker is broken for cgroups v2

I think this is now fixed?

https://github.com/vishvananda/netns/pull/49

Oh yes. Sorry, I forgot to close the issue after the PR was merged.


Added debug bool and some cleaning of code.

modified:   config.yaml
modified:   data/options.json
modified:   envoy_to_mqtt_json.py
Code cleaning, added debug

Hi Helder, I tested your  debug changes on my V5 system using a test HA internal addon. I noticed if I enabled the Debug switch there was no output mqtt - turning it off worked. Is this expected on a v5 system? Here are my logs - the first is with debug off.
I'll wait your advise before merging - thanks

First sorry about the mess in this last commit, reverted the repository.yaml to your repo, still struggling how to work with github.
In the last commits I corrected a behavior not needed, if FW 5 is detected no need for generation of a token.
Now to the problem you are having when debug is on, I don't see the connection to mqtt. I made some messages in the function wait to see if it is stuck on connect,

Hi Helder, thanks for the work - I also struggle with Github as I have not much experience with it :(
I've merged your changes and immediately saw when debug was on that my v5 mqtt stream still didn't work. I narrowed it down to one line that is causing the issue - if I comment the following line then the mqtt output stream works and the log file quickly fills with 1 second readings. I think it can't print the stream because it's a stream, ie, it never ends so it's caching the data ready to print it when the stream ends, and it never ends and so the script "locks up" waiting for the end of streaming which never happens.
    while True:
        try:
            url = 'http://%s/stream/meter' % ENVOY_HOST
            if DEBUG: print(dt_string, 'Url:', url)
            stream = requests.get(url, auth=auth, stream=True, timeout=5)
#            if DEBUG: print(dt_string, 'stream:', stream.content)
            for line in stream.iter_lines():
                if DEBUG: print(dt_string, 'Line:', line)
                if line.startswith(marker):
                    if DEBUG: print(dt_string, 'Line marker:', line)
                    data = json.loads(line.replace(marker, b''))
                    if DEBUG: print(dt_string, 'Data:', data)
                    json_string = json.dumps(data)
                    client.publish(topic= MQTT_TOPIC , payload= json_string, qos=0 )
        except requests.exceptions.RequestException as e:
            print(dt_string, ' Exception fetching stream data: %s' % e)

Since the logs fill so quickly, I've also commented these extra lines as with them also enabled the log gets big very fast:
    while True:
        try:
            url = 'http://%s/stream/meter' % ENVOY_HOST
            if DEBUG: print(dt_string, 'Url:', url)
            stream = requests.get(url, auth=auth, stream=True, timeout=5)
#            if DEBUG: print(dt_string, 'stream:', stream.content)
            for line in stream.iter_lines():
#                if DEBUG: print(dt_string, 'Line:', line)
                if line.startswith(marker):
                    if DEBUG: print(dt_string, 'Line marker:', line)
                    data = json.loads(line.replace(marker, b''))
#                    if DEBUG: print(dt_string, 'Data:', data)
                    json_string = json.dumps(data)
                    client.publish(topic= MQTT_TOPIC , payload= json_string, qos=0 )
        except requests.exceptions.RequestException as e:
            print(dt_string, ' Exception fetching stream data: %s' % e)

I've just published this version and I'll ask the few guys on v7 who are having problems to turn on debug and let us know what they see.
Thanks again! Cheers Ian


Which plugin provides this scope matching indicator?

I'm referring to the cool purple curved arrow.
Sorry for spamming your issues.

It looks like it may be https://github.com/shellRaining/hlchunk.nvim

https://github.com/LintaoAmons/CoolStuffes/blob/main/nvim/.config/nvim/lua/plugins/ui/hlchuck.lua
yes


Source code for libAndHook.so and libAndHookCompat.so

Are the sources for libAndHook.so and libAndHookCompat.so available anywhere?

No, only partial source codes (native hook) is available. If you're curious about the implementation of java hook, have a look at frida.


Report, failure aspects showing strange counts

Describe the bug
The test report, failure aspects, shows wrong numbers of tests failed, skipped, passed
To Reproduce
Steps to reproduce the behavior:

Run test suite.
Look for failure aspects

Expected behavior
numbers shown in failure aspects should reflect what is shown under each aspect.
Actual behavior
Numbers in the failure aspects view differ from the aspect detail view
Screenshots
If applicable, add screenshots to help explain your problem.
Test
If applicable, add a simple testcase to show us how to target the bug by code.
Environment(please complete the following information):

OS: TAP MMS
Browser Chrome
Testerra Version  1.6

Additional context
Overview:

"Nullpointers" details:

"RuntimeException: Could not create instance of page class MyAccountModalPage" details view

So you expect to see 49 failed tests for NPE instead of 21 and 15 failed RuntimeExceptions instead 8?
Can you enable "Show configuration methods" to see if this does the trick?

Yes in fact that does the trick. Thank you.  But that might be different for others.
I wish you a good evening and thank you for the quick help.

Usually, when only configuration methods fail, this switch will automatically turn on to show them.
Otherwise, you see failing configuration methods in the dependencies tab.


File names of newly created component seem inconsistent

Maybe there should be some guidelines on how to best/properly name components (didn't find any in nitro.md yet).
If you create a component with the name "My Component" for example, you'll get the following naming:

Component name: My Component
Component directory: MyComponent
Component file name: mycomponent
CSS selector: my-component
JS module: MyComponent

The inconsistency lies in the file name, in my opinion it should be my-component as well, it even says so in the inline commentaries: file: this.name.replace(/[^A-Za-z0-9-]/g, '').toLowerCase() // Component filename, eg. main-navigation (https://github.com/namics/generator-nitro/blob/master/component/index.js#L150).
But as you can read from the regex, a white space will just be removed instead of replaced with a dash, I think we could simply use _.kebabCase(this.name), which is used for the CSS selector as well.
I could make a PR for this, if you approve.

This is how it should work.
Spaces should be ignored. See the Test: https://github.com/namics/generator-nitro/blob/master/spec/componentSpec.js#L205
No change required.

This isn't even worth some discussion? What's the exact reason for removing white spaces instead of replacing them with dashes in the sense of kebab-case (which seems more intuitive to me)?

i'll call you


How to use hloc sfm to get cams_meta.npy

Firstly really appreciate for your job and share of the project !
I was training  f2nerf on my custom dataset collected by my phone，but the images have float blur just like the result in the https://github.com/Totoro97/f2-nerf/issues/51
So I guess the reason is also incorrect camera poses.
Could you please introduce how to get pose by using hloc sfm or add it in the repo?
Looking forward to your reply.

you can check nerfstudio dataprocess tools， then modify slightly

Hi, I have updated the repo and now hloc can be used for pose estimation. https://github.com/Totoro97/f2-nerf#train-f2-nerf-on-your-custom-data


Terrain cracking

Noticed this while testing #3706

Here's the code:
    var viewer = new Cesium.Viewer('cesiumContainer', {
        baseLayerPicker: false,
        terrainProvider: new Cesium.CesiumTerrainProvider({
            url: '//assets.agi.com/stk-terrain/world'
        })
    });

    var rect = Cesium.Rectangle.fromDegrees(-85.0, 35.99, -84.99, 36.0);
    viewer.camera.setView({destination: rect});

    Sandcastle.addToolbarButton('Bug', function () {
        viewer.scene.groundPrimitives.add(new Cesium.GroundPrimitive({
            geometryInstances : new Cesium.GeometryInstance({
                geometry : new Cesium.RectangleGeometry({
                    rectangle : rect
                }),
                attributes: {
                    color: Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1.0, 1.0, 0.0, 0.5))
                }
            }),
            asynchronous : false
        }));
    });

Entering 110 45 in the Geocoder also reproduces cracking, as reported in #4698

Also reported here: https://groups.google.com/d/msg/cesium-dev/Iucanef6sBQ/KF3TE91wBAAJ

I thought this might occus in the specific browser because of the handling of the Globe in webgl. But this is not the case. I did test this in all possible browsers: firefox / IE / Chrome.
Strange thing is at a specific project this is not happening. But I can't get on this project now. (it's on a cruiseship out of internet region). So hopefully I can access this server tomorrow so I can see why this does not happen on that specific server.
Thanks!

see #3411 (comment)

Reported here: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/lRQ1vBmrSnM

I can confirm that #5021 fixes the original cracking problem, but entering 110 45 in the geocoder exposes some major culling issues with terrain, (which may possibly be fixed by #4969)

The terrain cracking is fixed. Going to 110 45 with the geocoder loads fine when using the EllipsoidTerrainProvider for me. If I switch it to use STK Terrain, some of the tiles are missing.


Only look for loadable types when doing reflection

This was causing some esoteric errors with our application that selectively loads/uses assemblies, etc. when running on Windows 7 vs. Windows 10, -- the cause being an ignored ReflectionTypeLoadException.
This change shouldn't impact the functionality at all, but prevents this nasty bug!

According to the AppDomain.GetAssemblies() documentation, it only returns whatever is loaded (https://docs.microsoft.com/en-us/dotnet/api/system.appdomain.getassemblies?view=netframework-4.7.2). Is that not the case for you? Can you paste an example exception stack to see if it is a .NET bug.

So, since I can only reproduce it on Windows 7 machines, I have to get the trace from Event Viewer:
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Reflection.ReflectionTypeLoadException
   at System.Reflection.RuntimeModule.GetTypes(System.Reflection.RuntimeModule)
   at System.Reflection.RuntimeModule.GetTypes()
   at System.Reflection.Assembly.GetTypes()
   at NBug.Settings.<.cctor>b__1(System.Reflection.Assembly)
   at System.Linq.Enumerable+<SelectManyIterator>d__17`2[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Linq.Enumerable.ToDictionary[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,System.__Canon>, System.Func`2<System.__Canon,System.__Canon>, System.Collections.Generic.IEqualityComparer`1<System.__Canon>)
   at NBug.Settings.<.cctor>b__0()
   at System.Lazy`1[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CreateValue()
   at System.Lazy`1[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]].LazyInitValue()
   at System.Lazy`1[[System.__Canon, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Value()
   at NBug.Settings.AddDestinationFromConnectionString(System.String)
   at <My Application>.Program.Main()

Which seems to support the fact that the culprit is the lazily-loaded available protocols.
As you can see, it happens in the first interaction with NBug, in AddDestinationFromConnectionString.
The exception makes sense -- if I catch the exception and log the inner exceptions like this:
try
{
    NBug.Settings.AddDestinationFromConnectionString(System.Configuration.ConfigurationManager.ConnectionStrings["CrashReport"].ConnectionString);
}
catch (System.Reflection.ReflectionTypeLoadException e)
{
    foreach (Exception inner in e.LoaderExceptions)
    {
        Console.WriteLine(inner.Message);
    }
}

I get:
Could not find Windows Runtime type 'Windows.Devices.Bluetooth.BluetoothLEDevice'.
Could not find Windows Runtime type 'Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult'.

Because we reference that assembly but intentionally do not ever trigger code paths that would load/use it when running on Windows 7 vs. Windows 10.

I'll try this on a fully updated Win 7 vm and try. Otherwise if I don't have the time, I can just merge the PR since it's rather harmless. Thanks for the contribution any way!


Whitespaces in project path do not work

Describe the bug
When the directory path in which the project is located contains whitespaces, the compilation fails with one of the two following errors:
// Directory path: /Users/me/Static Page/SomeProject
error: Found argument 'Page/SomeProject/web-app/.rsw/crates/gaelic/pkg' which wasn't expected, or isn't valid in this context

// OR

// Directory path: /tmp/with space/vite-plugin-rsw
Error: crate directory is missing a `Cargo.toml` file; is `space/vite-plugin-rsw/examples/react/.rsw/crates/@rsw/hey/pkg` the wrong directory?

To Reproduce
Steps to reproduce the behavior:

Create a directory with a whitespace in its path in e.g. /tmp/with space
Clone this project into it
Go to the react example and run yarn && yarn dev
See error
Optionally, cancel the previous command and try yarn rsw:build which yields the same effect

Expected behavior
It passes the crate path as a quoted string so that rsw, wasm-pack or whatever tool is downstream actually finds the directory.
Screenshots

Desktop (please complete the following information):

OS: macOS
Version 1.22.11

It appears that the --out-dir flag added to wasm-pack over here is causing the problem as it is parsed as two arguments instead of one. See the screenshot below for the debug output:

Thanks for the feedback, I should use a string as the output path. You can use a path that does not contain spaces for the time being to avoid this problem.

It appears that the same issue applies to the sister-package rsw-node where the same type of argument concatenation is happening here.

I've made the change to the other project as well and created PRs for both. However, it appears that this is not the only location where this issue crops up (I'd hold off on merging just yet).
With the changes from both PRs, the wasm build completes. After that finished, the build process throws again though with the following error which suspiciously looks like yet another whitespace issue:

When running the dev server, the error is thrown from this code location. I unfortunately do not have the time right now to investigate a potential fix with the TypeScript type enum being passed in.

Thanks. I will release a fix version later

When running the dev server, the error is thrown from this code location. I unfortunately do not have the time right now to investigate a potential fix with the TypeScript type enum being passed in.

The file path needs to be escaped, you can install v1.9.1 and try again.
https://github.com/lencx/vite-plugin-rsw/blob/2bcd46997f/src/utils.ts#L29-L37

Hello.
I am not sure why single quotes were chosen over double qoutes for quotation, but window's cmd.exe doesn't like single qoutes

(sorry for localized error, but it is error indeed)
And as node spawns new processes with default shell it just throws error

Replacing single qoutes with double (or removing them as i didn't use paths with whitespaces) fixed this problem
Another fix is providing another shell to spawnSync options
let p = spawnSync(`${wpCmd}`, args, {
  // shell: true,
  shell: "C:\\Program Files\\Git\\bin\\bash.exe", // !works
  cwd: cmdCwd,
  stdio: 'inherit',
});

or setting default shell via npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe" (though it breaks yarn - issue)

On why it was chosen in my PR: Honestly, I totally forgot that Windows dislikes single quotes and due to the limited availability of devices I only tested it on a UNIX machine.
Probably a good contribution to change it once more to double quotes 🤷

@StireArLankar Please install v1.9.2 version, try again.

@StireArLankar Please install v1.9.2 version, try again.

I am not sure why you added return here

but it breaks linking and vite can`t start dev server

removing return resolves issue and everything else works perfectly

Sorry, the path problem is really daunting, please try again v1.9.3.

Sorry, the path problem is really daunting, please try again v1.9.3.
Seems to work flawlessly now, thank you very much 👍


disabled(only for Tab) not work!

react-native, react and native-base version
React Native: 0.56.1.
Native Base: 2.12.1.
Code
<Tab heading={予約} disabled={true}>
I can still click even though I disabled it.

Please try v2.13.4, it works fine.

Please try v2.13.4, it works fine.

thank !

Tried both 2.13.4 and 2.13.8 and 'disabled' is not even a prop for 'Tab' for me... any idea why?

Try sending "undefined" in place of "false" in your condition. That did work for me!


[BUG] useMutation Result type has wrong return names

Describe the bug
If I send a mutation with useStepsForm, the return key is given automatically.
For example, if I have a page like 'alarm',
return { alarm: { id: result.insertedId.toString() } };

It should return as . However, the values returned on the client side are captured directly as data.id
If I use a type converter like https://www.the-guild.dev/graphql/codegen/plugins/typescript/typescript-react-query codegen, on the client side, the type checker asks me to use data.alarm.id.
Because my Graphql schema is designed in the desired structure in useStepsForm. Codegen converter also converts accordingly.
Expected behavior
If there is an automatically created parent object name, it should also be written on the client side.

Hey @emehmet ,
Thank you for contacting us! I'm not sure this is a bug. If possible, can you create a new one with the FEAT issue template?

Hey @omeraplak,
In this case, I created two types for the expected object structure in return and overcame it by using the subtype in the client. Yes, it may not be a bug.
export type AlarmResultData = {
  id: Scalars['String'];
};

export type AlarmResult = {
  alarm?: Maybe<AlarmResultData>;
};

and i use it like this
useStepsForm<AlarmResultData>()

Hey @emehmet ,
We would love to support this use case, but we cannot consider it a bug. Could you please create an issue by selecting the "Feature" type? Thank you very much for your understanding and patience 🎯


Using as docker compose file

So I created this as a docker-compose.yml file, but for some reason when I add the volumes, the docker restarts constantly.
version: "3.3"
services:
  mcmyadmin:
    image: bymatej/minecraft-server
    container_name: mcmyadmin
    environment:
      PUID: 1000
      PGID: 100
      EULA: 1
      JAVA_MAJOR_VERSION: 8
      MINECRAFT_FLAVOR: Forge
      MINECRAFT_VERSION: 1.16.5
      MCMA_PASSWORD: <password>
      JAVA_MEMORY: 12000
      DIFFICULTY: hard
      #ALLOW_FLIGHT: "true"
    volumes:
      - /home/<user>/Docker/mcmyadmin/Minecraft:/McMyAdmin/Minecraft
    ports:
      - 8080:8080
      - 25565:25565
    stop_grace_period: 30s
    network_mode: bridge
    restart: unless-stopped

I did notice that Volumes:
VOLUME /McMyAdmin/
WORKDIR /McMyAdmin/

Is at the bottom of the Dockerfile, would you need to declare it at the top?

Hi @danielmarkavis! It's been a while since I used this to spin up a new server.
First question - does it work if you just create a container using one of my docker run commands from the Readme? If it doesn't, it might be an issue with my image. It downloads MC flavors (in your case Forge) by scraping them. If URLs or DOM elements changed the scraping won't work. So I'd try without using docker-compose first.
Second thing - there is only one volume declared. As far as I know, there is no rule that volume should be declared at the top.
Third - so it doesn't work only when you add volumes? Do you get any errors? What does the docker log say? Also, does the path on your local machine exist?
I am not on my computer, so I cannot try your docker compose file right now. If I find the time I'll do it later. :)


Fix timeouts and re-indexing issues

@wesleytodd Per your comment https://github.com/expressjs/discussions/issues/92#issuecomment-578868525

It is not, I had to turn off the indexing because it was timing out the GH action. I will take a look at manually re-running it this week and see if it still times out. I brought this up int he last package maintenance WG call, but I will mention it here as well, if anyone is interested in fixing the @pkgjs/statusboard so that it does not re-index all projects at once that would be awesome. If you are interested in doing this work let me know and we can discuss the ways to do it.

Let's start a discussion about this here. I have cruised through this codebase and run it locally a few times, so I have some context as to how it works.
If I can't find the time to help, at least we'll have some record here of what should be done or is happening.

I'm thinking now that the biggest perf gains would be in running some of this code concurrently.
Currently the control flow iterates over each org and repo, doing work sequentially and essentially blocking until each repo is completed, then moving on to start over with the next org. I'm not sure how to switch to concurrency with the async generators.
I think this could build out a statusboard for all three express orgs in as little as a few minutes if we were able to do run some of this code concurrently.
I'm probably overthinking things, I'll come back to look at the code with fresh eyes on monday.

So funny enough I had to do something almost exactly like this at work but on a much larger scale (around 8k projects) and it got me thinking about the next steps here.  There is a very clear limit, the per process memory limit, at which doing things in parallel breaks and I think the express version of this would exceed this threshold.  Up until that limit, you are absolutely right, it greatly speeds things up.
FWIW, storing in leveldb is what I used to get past this limit here, and it is also what I did for my task at work.  The downside in both cases is, to get past the memory limit the best way is go multi thread or multi process, but leveldb is neither of these.  That brings me to my next plan, which is to split into multi leveldb instances where we shard based on repo to enable mult-process.
One other option would be to write the json to disk directly and use worker threads for the parallelism (same with sharding by repo).  The downside here is managing the writes to disk in a resilient and efficient way.  This is more complicated than it seems and leveldb does this well.
On a side note, check out this api for this kind of measurement: https://nodejs.org/api/perf_hooks.html

I wrote a comment last week that I never sent bc it was too long lol. Here’s an abbreviated version.
I realized that the shortest path w/ biggest speed gain atm was to parallelize the network requests on a per org basis.
What I coded was ugly, imo, but kicking off all network requests for an org got the three express repos down to a 4 minute and change build time. Idk how close I got to the memory limit, which is an important point.
I fetched the data for each repo then handed it off the the generators for iteration.

That sais, with the graphql work down to 11 minutes or so, if it doesnt time out in a github action, we’re probably good to go on our MVP.

Yeah that sounds good.  The goal is get it functional, no one cares as long as the information is in front of people!  I did a review of #10 yesterday, so once we get that merged we can update on https://github.com/expressjs/statusboard and merge that initial work PR


DOCK-2170: Fix tools and DAG generation problem

Description
This PR fixes some bugs in the CWL "tool list" and DAG generation code.
While testing the previous PR (https://github.com/dockstore/dockstore/pull/5063), Charles found a workflow for which the list of tools and DAG were generated incorrectly:
https://qa.dockstore.org/workflows/github.com/sevenbridges-openworkflows/Broad-Best-Practice-Data-pre-processing-CWL1.0-workflow-GATK-<IP_ADDRESS>/GATK_4_1_0_0_data_pre_processing_workflow:master?tab=info
The problem was that the workflow ID included slashes, which messed up the workflow step ID and dependency parsing algorithms.  This PR changes the algorithms to be more robust.
Yes, that one function takes a ridiculous number of arguments, and now, it's even ridiculous-er, because I added an argument.
Alas, there's not an obviously-better alternative, unless we rewrite large chunks of the code (which we might if we ever implement multi-level DAG generation).
Review Instructions
Clone the repo of the above-mentioned workflow, register the cloned workflow, and confirm that the resulting list of tools and DAG are equivalent to those referenced by the original link.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-2170
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Alas, there's not an obviously-better alternative, unless we rewrite large chunks of the code (which we might if we ever implement multi-level DAG generation).

Can  you link to this, I think I'd like to read up on this and wonder if its a reference to a previous ticket/discussion

Alas, there's not an obviously-better alternative, unless we rewrite large chunks of the code (which we might if we ever implement multi-level DAG generation).

Can you link to this, I think I'd like to read up on this and wonder if its a reference to a previous ticket/discussion

I would add a link, but I don't have one. :)  The "not an obviously-better alternative" part is my software-engineering opinion, the multi-level DAG is an idea for a DAG that renders the steps in the subworkflows (rather than represent each subworkflow as a single node, as we have historically).

multi-level DAG generation

was mainly curious what this meant, thanks!


Loading and hosting existing PowerShell installation dynamically inside native application

Summary of the new feature/enhancement
This issue is linked to Native Host using existing PowerShell 7 installation that was originally opened in dotnet/runtime. However, all solution paths in the core runtime are now exhausted, leaving only a possible solution implemented on the PowerShell side instead.
Native applications can interact with PowerShell through the command-line interface (pwsh.exe), but this approach is very limited as opposed to using (Microsoft.PowerShell.SDK) in a .NET application. The goal of this feature request is to expose an SDK-like interface to native applications written in C/C++ or Rust using only an existing PowerShell 7 installation, loaded and hosted dynamically at runtime, with no additional files outside of PowerShell.
A working proof-of-concept was already completed, but it requires an additional assembly file that needs to be distributed outside of PowerShell. This assembly file contains a single helper function used to load the real Microsoft.PowerShell.SDK native-to-managed function bindings in memory. Many solution paths were explored with the .NET team in the original issue, but none appears acceptable at this point. Since the .NET team won't provide a way to load additional assemblies in-memory from the hostfxr APIs, the proposed solution would be to expose the required helper function inside PowerShell.
Proposed technical implementation details (optional)
The PowerShell native host proof-of-concept does the following:

Find the PowerShell installation path (directory where pwsh.exe is)
Find the corresponding hostfxr native library (libhostfxr.so)
Load the hostfxr library + hostfxr API functions dynamically
Load the pwsh.dll runtimeconfig.json file with hostfxr APIs
Load managed assembly containing SDK bindings in memory
Call PowerShell SDK functions from native code through bindings

The loading of the managed assembly containing the SDK bindings is currently done using a helper assembly file containing a single function:
        public static void LoadAssemblyData(IntPtr ptr, int size)
        {
            byte[] bytes = new byte[size];
            Marshal.Copy(ptr, bytes, 0, size);
            Stream stream = new MemoryStream(bytes);
            AssemblyLoadContext.Default.LoadFromStream(stream);
        }

This LoadAssemblyData function could be exported by any of the PowerShell assemblies, and would be accessible to native applications seeking to load their own bindings in-memory. The hostfxr APIs are relatively small and only allow calls to functions with primitive data types. Native applications can call any managed functions given the proper bindings, but bindings can currently only be loaded from files, making it impossible to embed as resources inside an application or a library.
On the native application side, the build process would look like the following:

Generate C# bindings
Generate C/C++/Rust bindings
Compile native code
Embed managed bindings

At runtime, the native application only has to load its managed bindings in-memory before calling the native wrapper functions that use them. Exposing a function meant to load managed bindings in-memory is preferred over exposing a larger set of native wrappers, because it only has to be done once without modifying PowerShell ever again, making it a very simple, highly decoupled change.
Imagine publishing a "pwsh_host" Rust library on crates.io, where any Rust application could magically load and execute PowerShell with no link-time dependencies, this is what this feature would unlock. We're 99% there, I just need a fix for the last step!

We're 99% there, I just need a fix for the last step!

I suggest you to pull the PR (with prototype at least).

We're 99% there, I just need a fix for the last step!

I suggest you to pull the PR (with prototype at least).

@iSazonov it should be a relatively minor change, but it always helps to ask where people would want to see this function added. I think the best place to put it would be inside System.Management.Automation.dll because it would be available in the following use cases:

Existing PowerShell installation (the primary goal of this issue)
Redistribution of Microsoft.PowerShell.SDK from nuget packages

The other thing that is subject to discussion besides the assembly file, is the namespace in which to place the native helper functions. The "LoadAssemblyData" can be anywhere inside System.Management.Automation.dll as long as it is static.

@iSazonov it should be a relatively minor change, but it always helps to ask where people would want to see this function added. I think the best place to put it would be inside System.Management.Automation.dll because it would be available in the following use cases:

Existing PowerShell installation (the primary goal of this issue)
Redistribution of Microsoft.PowerShell.SDK from nuget packages

The other thing that is subject to discussion besides the assembly file, is the namespace in which to place the native helper functions. The "LoadAssemblyData" can be anywhere inside System.Management.Automation.dll as long as it is static.

@SteveL-MSFT @joeyaiello feel free to ask any questions, all I need is that LoadAssemblyData static function inside System.Management.Automation.dll and I can expose PowerShell SDK-like functionality to any native language with zero link-time dependency, loading and hosting it PowerShell entirely at runtime from its install location, no additional installation packages required. It would be trivial to get it all to work as a Rust library, or any other native language that isn't .NET.

@SteveL-MSFT @joeyaiello feel free to ask any questions, all I need is that LoadAssemblyData static function inside System.Management.Automation.dll and I can expose PowerShell SDK-like functionality to any native language with zero link-time dependency, loading and hosting it PowerShell entirely at runtime from its install location, no additional installation packages required. It would be trivial to get it all to work as a Rust library, or any other native language that isn't .NET.

it always helps to ask where people would want to see this function added

I guess public sealed class UnmanagedPSEntry is for this code. Do you need PowerShell ConsoleHost?

it always helps to ask where people would want to see this function added

I guess public sealed class UnmanagedPSEntry is for this code. Do you need PowerShell ConsoleHost?

@iSazonov the only thing I need is this single function, somewhere in the PowerShell DLLs, such that I can load and call it from there using the hostfxr APIs. This LoadAssemblyData function will be used to load my real assembly in-memory containing a much larger set of native-to-managed bindings to the PowerShell SDK functions. Once I can do that, I can make wrappers to pretty much anything available to managed code, so I guess this potentially includes the PowerShell ConsoleHost.

@iSazonov the only thing I need is this single function, somewhere in the PowerShell DLLs, such that I can load and call it from there using the hostfxr APIs. This LoadAssemblyData function will be used to load my real assembly in-memory containing a much larger set of native-to-managed bindings to the PowerShell SDK functions. Once I can do that, I can make wrappers to pretty much anything available to managed code, so I guess this potentially includes the PowerShell ConsoleHost.

Looking at the structure of System.Management.Automation.dll, I'm thinking one place that could make sense would be to expose the native loader helpers alongside the classes dealing with the AssemblyLoadContext:
https://github.com/PowerShell/PowerShell/tree/master/src/System.Management.Automation/CoreCLR

Looking at the structure of System.Management.Automation.dll, I'm thinking one place that could make sense would be to expose the native loader helpers alongside the classes dealing with the AssemblyLoadContext:
https://github.com/PowerShell/PowerShell/tree/master/src/System.Management.Automation/CoreCLR

PowerShellAssemblyLoadContext is internal :-( Utils.cs too. I suggest to start the prototype with public sealed class UnmanagedPSEntry. Later we can change this if MSFT team points better place.

PowerShellAssemblyLoadContext is internal :-( Utils.cs too. I suggest to start the prototype with public sealed class UnmanagedPSEntry. Later we can change this if MSFT team points better place.

PowerShellAssemblyLoadContext is internal :-( Utils.cs too. I suggest to start the prototype with public sealed class UnmanagedPSEntry. Later we can change this if MSFT team points better place.

You mean this class containing the Start() function inside Microsoft.PowerShell.ConsoleHost.dll?
I'm not so familiar with that part of the code, but is it the only place exposing functions that appear to be meant to be called from unmanaged code specifically? That's the only logical link I can see with the function I need to expose (meant strictly to be called from unmanaged code).

PowerShellAssemblyLoadContext is internal :-( Utils.cs too. I suggest to start the prototype with public sealed class UnmanagedPSEntry. Later we can change this if MSFT team points better place.

You mean this class containing the Start() function inside Microsoft.PowerShell.ConsoleHost.dll?
I'm not so familiar with that part of the code, but is it the only place exposing functions that appear to be meant to be called from unmanaged code specifically? That's the only logical link I can see with the function I need to expose (meant strictly to be called from unmanaged code).


Create Client Side Entities building block diagram and explanation

T271948

Indeed, Client Side Entities Edits refers to data bridge,
Closing this because none of it is useful.

Indeed, Client Side Entities Edits refers to data bridge,
Closing this because none of it is useful.


mm_malloc.h missing on Raspberry Pi V2/B

We probably need to detect ARM or 32bit better.

Fixed in #77


chore: backports anticipating nightly-2024-05-19

This backports some changes that fill in a few implicit arguments.
nightly-2024-05-19 has trouble with these and the bug fix in https://github.com/leanprover/lean4/pull/4206, and needs some fixes.
I think all these changes are not actually problematic, and perhaps even improve readability.
If a maintainer agrees, let's just do this on master. If any of these look at all bad, please just say so and I'll remove it from this PR and consider doing a minimization to understand if/why it is really necessary.

Thanks :tada:
bors merge


pyo3 v0.22.0 has been released

Hi.
Looks like pyo3 v0.22.0 has been released, making the usage of this library no longer possible.
Do you plan to do something about it? Best regards,
Christian

See #51.


Add Media preload defaults to metadata Sample

@japacible @mounirlamouri,
Here's the sample for Media preload defaults to metadata.
If that looks good to you, I'll merge it once https://chromium-review.googlesource.com/c/chromium/src/+/596623 is pushed.

Drive-by comments:
The preload attribute's "hint" is ignored per spec when a MediaSource is attached to the media element (https://www.w3.org/TR/media-source/#mediasource-attach). This might deserve mention in this sample. WDYT?
@japacible @mounirlamouri Similar note might be a good thing to include in https://www.chromestatus.com/feature/5682169347309568

Thanks @wolenetz!
Fixed in https://github.com/GoogleChrome/samples/pull/539/commits/d5a3f5308cc8ddc6de4b40b21427324aa01b5f1f
I've also updated https://www.chromestatus.com/feature/5682169347309568 and filed https://github.com/GoogleChrome/chromium-dashboard/issues/496

lgtm :+1:

I'll merge for now and will update sample availability if it does not land in M62. Thank you folks!

Try it live at https://googlechrome.github.io/samples/media/preload-metadata


Migrate to UBI8 base layer

Note this work is based upon the existing PR for migrating to GitHub Actions and passing clang linting.

Ahhh I guess annocheck isn't available in ubi8. I don't think it's worth trying to figure out what repos might exist that allows for it to be installed on ubi8 when really it's just a build and verify check. I suppose we could try doing that in the future though.

Closing this in favour of #18


There seems to be no way to set the service account back to NT SERVICE\PBIEgwService

Hello,
There seems to be no way to properly switch the account the on premise data gateway windows service runs under back to NT SERVICE\PBIEgwService, after switching it to a domain account. I have tried the following to get this to work.

Instead of using the on premise data gateway software to switch the service back i just updated the windows service itself back to NT SERVICE\PBIEgwService and restarted the service. But the gateway is then no longer able to connect and is in a broken state.

Tried to use the on premise data gateway software to switch the service back but it only accepts domain accounts. Obviously i don't know what the NT SERVICE\PBIEgwService password is, nor should I. But i'd like to switch the service back to what it was originally.

I've tried uninstalling the gateway software and reinstalling it. this does change the service back to using NT SERVICE\PBIEgwGateway but the gateway never comes back online until i switch it back to the domain account.

@ThirstyAdmin Thanks for your feedback. For product related issues and ideas, visit https://ideas.powerbi.com/forums/265200-power-bi?category_id=161724.
Closing the issue.


How to save output?

It's great tool and it worked for me, but I don't know how to direct the output to a file. While using vt2geojson https://a.tiles.mapbox.com/v4/housingdemony.x8xatou7/2/11/22.vector.pbf?access_token={token} I have the console output only. I can't see any additional arguments.

I've managed it, just added the overriding function to vt2geojson file
`var fs = require('fs');
var util = require('util');
var log_file = fs.createWriteStream(__dirname + '/debug.log', {flags : 'w'});
var log_stdout = process.stdout;
console.log = function(d) { //
log_file.write(util.format(d) + '\n');
log_stdout.write(util.format(d) + '\n');
};