Optionally trust CA certificates in GUI for SSL client actions (e.g. updates)

pfSense can be configured to use a proxy server, but if it is a man-in-the-middle SSL proxy, there has been no GUI way to add trusted root certificates for HTTPS client actions like updates, URL alias downloads, etc.
This patch adds a "Trusted" checkbox (default False) to CAs in the GUI that will add the certificate to /etc/ssl/certs. An environment variable is set at boot-time that causes libfetch (eventually libssl) to look for root certificates in that directory.

Suggest squash some of these commits to create a cleaner history?  Especially those that are just changes to the changes.

Hey Overhacked.  Thanks for doing this.  Really appreciate it.  This has been a thorn in my side for a long time.  I've given quite a few suggestions here.  Most of them stem for what I've been doing for my own config to trust self signed certs.  Please take them as constructive input.  Again thanks.

Let me toss another thing your direction to consider.  Removing revoked CA certs.

Re @NOYB commenting above about removing revoked CA certs:
Isn't that something that OpenSSL takes care of when it is properly configured with a CRL? If a user configures one in the GUI, won't or couldn't it already be loaded into the validation via:
/* Load CRLs into the `X509_STORE` */

X509_STORE *x509_store = SSL_CTX_get_cert_store(ctx);
X509_STORE_add_crl(x509_store, crl);

/* Enable CRL checking */
X509_VERIFY_PARAM *param = X509_VERIFY_PARAM_new();
X509_VERIFY_PARAM_set_flags(param, X509_V_FLAG_CRL_CHECK);
SSL_CTX_set1_param(ctx, param);
X509_VERIFY_PARAM_free(param);

(via https://stackoverflow.com/questions/4389954/does-openssl-automatically-handle-crls-certificate-revocation-lists-now)

Haven't study out how pfSense clients will handle that.  But if the cert is not there then it won't be trusted.  If you, or someone, can verify that all pfSense clients, cURL, SMTP, etc. will utilize the CRL then yeah it would matter then.

Just pushed fixes to changes directly requested above, except:

No handling of CRL's in this code. Should I trust OpenSSL (aka other clients) to check CRLs, or should I check CA certificate validity here?

So now that you've made those changes.  Thank you.  Here is another thing to look into.
Have only played with this on 2.3 (not 2.4) but are you sure that PHP's curl_exec will look in /etc/ssl/certs for certs?
Maybe the PHP config is different in 2.4 but in 2.3 it does not.  Have to add the CURLOPT_CAPATH option.  Among things that could be affected are URL table downloads and check ip for custom DynDNS and RFC 2136 clients.
Again thanks for doing this.

Sadly, you're right about curl_exec(), @NOYB. CURLOPT_CAPATH has to be set for it to look at the certs directory at all, and worse, there is no php.ini variable to configure it. Going to sleep on this problem and see if I can come up with a solution. I had so hoped that all libssl-using parts of PHP would honor the environment variables.

Fortunately I think there are only a few places the CURLOP_CAPATH is needed.  I'll provide a list of the places I found below.
Look into openssl.capath/cainfo it may be usable for this but I don't know.
Another thing I was thinking is maybe create a PHP var with the same path as being set in the environment variable.  Then CURLOPT_CAPATH where needed could be set from the var instead of hard coded a string everywhere like I did for testing.  It would probably have to be a global var.
Maybe someone knows an even cleaner way.  If so that would be great.
There are some other places than these below where verify host/peer is used but they are for services that should be in the CA bundle already.
diff --git a/src/etc/inc/dyndns.class b/src/etc/inc/dyndns.class
index c88fecacdd..1203ac6697 100644
--- a/src/etc/inc/dyndns.class
+++ b/src/etc/inc/dyndns.class
@@ -674,6 +674,7 @@
 						}
 						if ($this->_curlSslVerifypeer) {
 							curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
+							curl_setopt($ch, CURLOPT_CAPATH, '/etc/ssl/certs');
 						} else {
 							curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 						}

diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc
index 075306f01d..d5da2cf9b2 100644
--- a/src/etc/inc/pfsense-utils.inc
+++ b/src/etc/inc/pfsense-utils.inc
@@ -1823,6 +1823,7 @@ function download_file($url, $destination, $verify_ssl = true, $connect_timeout
 	curl_setopt($ch, CURLOPT_URL, $url);
 	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $verify_ssl);
 	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $verify_ssl);
+	curl_setopt($ch, CURLOPT_CAPATH, '/etc/ssl/certs');
 	curl_setopt($ch, CURLOPT_FILE, $fp);
 	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $connect_timeout);
 	curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -1878,6 +1879,7 @@ function download_file_with_progress_bar($url, $destination, $verify_ssl = true,
 	curl_setopt($ch, CURLOPT_URL, $url);
 	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $verify_ssl);
 	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $verify_ssl);
+	curl_setopt($ch, CURLOPT_CAPATH, '/etc/ssl/certs');
 	curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
 	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 	curl_setopt($ch, CURLOPT_WRITEFUNCTION, $readbody);

diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index 021fb7e562..6a53378681 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -2035,6 +2035,7 @@ function dyndnsCheckIP($int) {
 		$ip_ch = curl_init($hosttocheck);
 		curl_setopt($ip_ch, CURLOPT_RETURNTRANSFER, 1);
 		curl_setopt($ip_ch, CURLOPT_SSL_VERIFYPEER, $verifysslpeer);
+		curl_setopt($ip_ch, CURLOPT_CAPATH, '/etc/ssl/certs');
 		curl_setopt($ip_ch, CURLOPT_INTERFACE, 'host!' . $ip_address);
 		curl_setopt($ip_ch, CURLOPT_CONNECTTIMEOUT, '30');
 		curl_setopt($ip_ch, CURLOPT_TIMEOUT, 120);

Liking what you are doing.  Keep it up.

Most recent commits pushed address this issue in curl_*() calls in the pfSense code base. All future code wanting to use the PHP cURL extension should get their cURL handle from get_curl_handle(…) in pfsense-utils.inc instead of calling curl_init() directly.
I deliberately omitted simplepie.inc from these changes, as it is an external library.

FYI, I submitted a PR to the PHP project that would address this issue in php.ini: https://github.com/php/php-src/pull/2399

Thanks all for the feedback. I'm going to close this PR and submit another. (I will mention commenters above in the new PR.)
I've discovered after doing further testing that the way webConfigurator spawns pkg, curl, or calls curl_* functions varies too widely for any of the above solutions to address. The hardest obstacle to overcome is that nginx fastcgi sanitizes the environment variables. It is possible to set fastcgi_param in /var/etc/nginx-webConfigurator.conf (generated by /etc/inc/system.inc), but those environment variables don't seem to make it all the way through to the exec() call that spawns pkg (or curl).
If you have any suggestions about whether it is worth implementing what amounts to kludges for each different way that pfSense spawns TLS-using processes, please chime in. Otherwise, my plan is to use the GUI code I've written and submit a PR that appends to the existing /etc/ssl/cert.pem while retaining the original /usr/local/share/certs/ca-root-nss.crt to use as the base file every time new CAs are added or removed.


wrong dependencies in package.json?

Hello :),
maybe I'm wrong, but I think these dependencies
"angular-mocks": "^1.5.5",
"gulp": "^3.9.1",
"gulp-jshint": "^2.0.0",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^1.5.3",
"jasmine-core": "^2.4.1",
"jshint": "^2.9.2",
"karma": "^0.13.22",
"karma-jasmine": "^0.3.8",
"karma-phantomjs-launcher": "^1.0.0",
"karma-spec-reporter": "0.0.26",
"phantomjs-prebuilt": "^2.1.7"
should be devDependencies because only angular is needed. Jspm fails with some fetching errors because it tries to fetch all dependencies, which aren't used at runtime :).

Man, I was wondering why my npm install was taking so long -- these should 100% be moved to devDependencies.


[BUG] Nanobody models — EMPTY

Hi @brennanaba
I wanted to use NanoBodyBuilder2 on my local server, but it looks like the deep learning models in the GitHub repo are empty. See the location: ImmuneBuilder/trained_model/nanobody_model_1
I only noticed this because torch.load was throwing an error. Please see below.
$ python
Python 3.9.18 | packaged by conda-forge | (main, Dec 23 2023, 16:33:10)
[GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ImmuneBuilder
>>> from ImmuneBuilder import NanoBodyBuilder2
>>> predictor = NanoBodyBuilder2()
ERROR: nanobody_model_1 not downloaded or corrupted.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/CONDA/v23.9.0/envs/immunebuilder/lib/python3.9/site-packages/ImmuneBuilder/NanoBodyBuilder2.py", line 108, in __init__
    raise e
  File "/home/CONDA/v23.9.0/envs/immunebuilder/lib/python3.9/site-packages/ImmuneBuilder/NanoBodyBuilder2.py", line 105, in __init__
    model.load_state_dict(torch.load(weights_path, map_location=torch.device(self.device)))
  File "/home/CONDA/v23.9.0/envs/immunebuilder/lib/python3.9/site-packages/torch/serialization.py", line 1004, in load
    with _open_zipfile_reader(opened_file) as opened_zipfile:
  File "/home/CONDA/v23.9.0/envs/immunebuilder/lib/python3.9/site-packages/torch/serialization.py", line 456, in __init__
    super().__init__(torch._C.PyTorchFileReader(name_or_buffer))
RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

And help in getting these models re-uploaded would be great!
Many thanks,
Kacper

Never mind!  I found the model files on Zenodo, which I believe is where you uploaded them @brennanaba. The software runs and completes predictions perfectly now.
https://zenodo.org/records/7258553
If these were supposed to get downloaded automatically, then that didn't work in my case.


GPU OOM when multi-gpu training

Hello, I run the train.py with one 3090 GPU with 24G memory, it works well.
However, when I run multi-gpu training with two GPUs, I met OOM problem.
Like,

RuntimeError: CUDA out of memory. Tried to allocate 58.00 MiB (GPU 0; 23.70 GiB total capacity; 16.76 GiB already allocated; 2.44 MiB free; 16.9
4 GiB reserved in total by PyTorch)
If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYT
ORCH_CUDA_ALLOC_CONF

It seems that there is enough memory to allocate, but it still met the problem.
I tried to set os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:32", but it doesn't work.
For single GPU, with train_batch_size=2, gradient_accumulation_steps=4, the training works well.
However, for two GPUs, with train_batch_size=1, gradient_accumulation_steps=1, the training will met the OOM problem.

Hi, @flamehaze1115! I tried running train.py or finetune-unet.py with a single 24 GB 3090 GPU using the default args, but it also resulted in an OOM problem. Could you please provide me with some tips?

Hi, @flamehaze1115! I tried running train.py or finetune-unet.py with a single 24 GB 3090 GPU using the default args, but it also resulted in an OOM problem. Could you please provide me with some tips?

Hello. I found the OOM problem I met is due to some issues of GPU itself. Rebooting the system solve my problem. Hope it can help you.

Hi, @flamehaze1115! I tried running train.py or finetune-unet.py with a single 24 GB 3090 GPU using the default args, but it also resulted in an OOM problem. Could you please provide me with some tips?

Same here.


Comment fixes which are left behind after the API update.

JerryScript-DCO-1.0-Signed-off-by: Robert Sipka<EMAIL_ADDRESS>

Please also fix the documentation.

@zherczeg: I think the documentation is fine, these are missed when these were updated after the API changes.

Hm, these notes are not copied to the documentation. Fine then,
LGTM

LGTM

Thanks,I've rebased it with master.


Please add support for named route

Can you explain more about what is a named route?

A named route is as same as path route
in path route we give path like /login or /home and for named route we also give a unique name to the route like for /login we name it login this will seem unnecessary for single route but it is very usable for nested route https://router.vuejs.org/guide/essentials/nested-routes.html look at this one it very useful

Sorry but I don't get it, PreCompose does support login (without the slash at the beginning) as a route, is there anything I missing?


Added v0.1 BDKStandardmaterial GUI

It seems to work, both when using as a package from disk, and as a package from github (that I altered locally).
Could you give it a spin and see if it breaks the moment someone else tests it? It'll appear on any material using the BDK Standard shader by default.

Hmm, denne burde forresten ikke gå rett inn i main

Attempting pull, hope it doesn't explode.


Workspaces window should auto-populate local connection if exist

https://github.com/Microsoft/RTVS/commit/fff25f88abe22f5a6df42ca02e4b7c298fcf4a2f


Nuxtjs faster response when preload font and extract css

Versions

nuxt: v2.14.5
node: v12

I try to load test nuxt SSR app(universal mode). I found that If I add nuxt config preload font and extract css It improve the throughput number. I'm not sure what NuxtJS do about font loading and css in SSR process when we request to the nuxt app.
Result load test

Nuxt config that improve performance

When using the default configuration, the html file served from the server will include the globally available css and the scoped css for the components rendered on the requested page.
If you use the default config and inspect the source code of the page ( right click on a page and look for an View page source ), you will see everything that has been included.
Since this is being serialized by the server in order to be included in the html file served by the server, it reduces the throughput of your server, as it increases the contents that need to be serialized. When you switch to preloading the styles, the server will not include them in the bundle, since preloading only works in the browser.
So, as soon as the initial page hits the browser, its going to request the styles. This might cause your page to not be styled for some time, as only the raw html has been served and no styles.
Since you are reducing the size of the initial file, you should also be experiencing improvements in TTFB ( Time To First Byte )
None of these are facts and come solely from observations and some minor research, so you might want to wait until somebody from the team responds.
The reason for this answer is, I am as well interested in optimizing this part of the rendering process and I'm not sure how I should proceed, as the serialization also includes the initial state send from the server to the client ( which, if not careful, is the entire Vuex state ).
How should one approach this? Should I be careful with rendering svg icons on the server, as they are lengthy, keep Vuex state sent to the client to the bare minimum and skip parts of the page server-side, that are not essential?

I created a simple app that has the below code.

And look at the build result. Nuxtjs could take time to push a scoped css in every request as @klausXR said.

But in extract css mode. There is no code to push a scoped css. The scoped css will be extract to a file and it will be include in client.menifest.json (Not sure what the file made for).

I doubt that why Nuxtjs not build each page of app as a html template like a index.spa.html and attach scoped css at .
It could be reduce the server task (to push css).

Did you run Nuxt generate or Nuxt start and looked at the HTML rendered by the browser?

All things I talk about I run only nuxt start.

@Atinux can one opt out of this mode and serve styles through cdn or whatever. It will cause a FOUC, but if it impacts in a dramatic way the throughput of the server, it might be worth it for a lot of people.


New preset for blackwidow keyboards

This preset uses 3 layouts.

Normal for quick casts
Space for self casts
' (and M4) for smart casts

All 3 layouts have different chatwheels.
[ (M4) for shop
] (M2) for taunt
; (M3) for action item

Space+, (Space+M5) for mic toggle.
F5 for summon selection toggle.
F6 for right click repeat toggle.
J for HP marker.

All cycles have sound/texts for notifications.
M1-M5 functionalities are duplicated. This is because original blackwidow keyboards (2012) can not map M1-M5 to F13-F17.
To use this layout with those keyboards, go to Synapse and configure
M1 to [
M2 to ]
M3 to ;
M4 to '
M5 to ,

Additionally, you can configure M1 to a macro which presses [ and then v.
This will open this shop and highlight searchbox so you can directly type.

I'm not sure about the name of the preset. Many keyboards have a macro key row. I'd suggest changing it to something more personal, like your username or something which describes this layout in 2-3 words (if that's even possible).
When you change the name to something more descriptive I'm happy to merge this though. Couldn't test it since I'm not at home and only got my iPad Pro, but looks alright judging from the json. Only thing I noticed is that you're using the shop key binds to buy items. While this may work in this patch without any problems it will break if they add another item to that row. I suggest trying to set the stickybuy slot to the item, execute the buy sticky command and setting it back to TP scroll. That should be future proof and only needs a change if a user doesn't use TP scroll in sticky, which TBH is rare.
Also something seems to be misconfigured in your GitHub account, since the commits are made by a different user. You might want to check your git config's email-address and the ones known to GitHub.

Renamed.
hud_sticky_item_name command doesn't work (or I cant get it to work)
Thanks. I don't use GitHub much. Fixed.

Other things:
4. force preload command has been changed in reborn; updated.
5. All of those multicore commands (except one) are invalid in reborn and the one available is a cheat. Should remove it altogether (have set false in this preset).

Yeah I noticed that multicore issue in my logs already. Guess they just forced these things to be always on. Will see what I can do about that.

Will update npm in some days. I will also see if I can improve the CLI. When I improved it you should be able to install this preset easily on any system.


AVS coredump when show calendar

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:

When using "Show my calendar", AVS will coredump suddenly when calendar is display
What is the expected behavior?

AVS should not coredump
What behavior are you observing?

AVS coredump
Here is INFO log
coredump_info.log
Here is Coredump trace
Program terminated with signal SIGSEGV, Segmentation fault. #0  0x6c616368 in ?? () [Current thread is 1 (Thread 0xa13e91e0 (LWP 25624))] (gdb) bt #0  0x6c616368 in  () #1  0xb1bef840 in APLClient::AplCoreConnectionManager::send(APLClient::AplCoreViewhostMessage&) (this=this@entry=0x991520d8, message=...)     at /home/pi/alexa/sssdk2_4/apl-core-library/build/rapidjson-prefix/src/rapidjson/include/rapidjson/allocators.h:79 #2  0xb1bf2e30 in APLClient::AplCoreConnectionManager::<lambda(const TimersPtr&)>::operator() (__closure=<optimized out>)     at /home/pi/alexa/sssdk2_4/alexa-smart-screen-sdk/modules/Alexa/APLClientLibrary/APLClient/include/APLClient/AplCoreViewhostMessage.h:71 #3  0xb1bf2e30 in std::_Function_handler<void(const std::shared_ptr<apl::Timers>&), APLClient::AplCoreConnectionManager::addPendingEvent(unsigned int, const apl::Event&, bool)::<lambda(const TimersPtr&)> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<apl::Timers> &) (__functor=..., __args#0=...) at /usr/include/c++/8/bits/std_function.h:297 #4  0xb1c19230 in std::function<void (std::shared_ptr<apl::Timers> const&)>::operator()(std::shared_ptr<apl::Timers> const&) const ()     at /home/pi/alexa/sssdk2_4/ss-build/modules/Alexa/APLClientLibrary/APLClient/src/libAPLClient.so #5  0xb1c158c8 in apl::Action::terminate() () at /home/pi/alexa/sssdk2_4/ss-build/modules/Alexa/APLClientLibrary/APLClient/src/libAPLClient.so #6  0xb1d38e9c in apl::DelayAction::DelayAction(std::shared_ptr<apl::Timers> const&, std::shared_ptr<apl::Command> const&, bool)::{lambda(std::shared_ptr<apl::Timers> const&)#1}::operator()(std::shared_ptr<apl::Timers> const&) const () at /home/pi/alexa/sssdk2_4/ss-build/modules/Alexa/APLClientLibrary/APLClient/src/libAPLClient.so #7  0xb1d39d84 in std::_Function_handler<void (std::shared_ptr<apl::Timers> const&), apl::DelayAction::DelayAction(std::shared_ptr<apl::Timers> const&, std::shared_ptr<apl::Command> const&, bool)::{lambda(std::shared_ptr<apl::Timers> const&)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<apl::Timers> const&) ()     at /home/pi/alexa/sssdk2_4/ss-build/modules/Alexa/APLClientLibrary/APLClient/src/libAPLClient.so
Then, frame 1 and info args
`(gdb) frame 1
#1  0xb1bef840 in APLClient::AplCoreConnectionManager::send (this=this@entry=0x991520d8, message=...)
at /home/pi/alexa/sssdk2_4/apl-core-library/build/rapidjson-prefix/src/rapidjson/include/rapidjson/allocators.h:79
79	    static void Free(void *ptr) { std::free(ptr); }
(gdb) info args
this = 0x991520d8
message = @0xa13e81f8: {mDocument = {<rapidjson::GenericValue<rapidjson::UTF8, rapidjson::MemoryPoolAllocatorrapidjson::CrtAllocator >> = {
static kDefaultArrayCapacity = 16, static kDefaultObjectCapacity = 16, data_ = {s = {length = 3, hashcode = 16, str = 0xabd7a960 "\004"}, ss = {
str = "\003\000\000\000\020\000\000\000\251\327\253\000"}, n = {i = {i = 3, padding = "\020\000\000"}, u = {u = 3, padding2 = "\020\000\000"}, i64 =<PHONE_NUMBER>9,            u64 =<PHONE_NUMBER>9, d = 3.3951932656926554e-313}, o = {size = 3, capacity = 16, members = 0xabd7a960}, a = {size = 3, capacity = 16, elements = 0xabd7a960}, f = {           payload = "\003\000\000\000\020\000\000\000\251\327\253\000", flags = 3}}}, static kDefaultStackCapacity = 1024, allocator_ = 0xabd1a5e0, ownAllocator_ = 0xabd1a5e0,
stack_ = {allocator_ = 0x0, ownAllocator_ = 0x0, stack_ = 0x0, stackTop_ = 0x0, stackEnd_ = 0x0, initialCapacity_ = 1024}, parseResult_ = {
code_ = rapidjson::kParseErrorNone, offset_ = 0}}}`
Provide the steps to reproduce the issue, if applicable:

Show my calendar

Tell us about your environment:

What version of the AVS Device SDK are you using?
  <1.21.0>

Tell us what hardware you're using:

[ ] Desktop / Laptop
[x] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[ ] Linux
[ ] MacOS
[x] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Have you tried the same use case with AVS Device SDK SampleApp?

[ ] The issue is not applicable to the AVS Device SDK SampleApp.
[x] The issue is not reproducible on the AVS Device SDK SampleApp.

Hey @oscar1372,
Seems like events are getting erased before finishing other tasks in the callback. Can you please try cutting this line: https://github.com/alexa/alexa-smart-screen-sdk/blob/v2.4.0/modules/Alexa/APLClientLibrary/APLClient/src/AplCoreConnectionManager.cpp#L1097
and putting it after this: https://github.com/alexa/alexa-smart-screen-sdk/blob/v2.4.0/modules/Alexa/APLClientLibrary/APLClient/src/AplCoreConnectionManager.cpp#L1104

Hey @oscar1372,
Seems like events are getting erased before finishing other tasks in the callback. Can you please try cutting this line: https://github.com/alexa/alexa-smart-screen-sdk/blob/v2.4.0/modules/Alexa/APLClientLibrary/APLClient/src/AplCoreConnectionManager.cpp#L1097
and putting it after this: https://github.com/alexa/alexa-smart-screen-sdk/blob/v2.4.0/modules/Alexa/APLClientLibrary/APLClient/src/AplCoreConnectionManager.cpp#L1104

Hi @zsubas ,
After modification, the crash doesn't reproduce when showing calendar. It is worked fine now.
Thanks your support.

No worries! Closing this ticket for now, feel free to open again if you encounter the same issue.


feat: Recursively pin identity map directly

What this PR does 📖

Pin the whole identity map recursively instead of individually.
Fetch metadata from user

Which issue(s) this PR fixes 🔨

N/A

Special notes for reviewers 🗒
Additional comments 🎤

Closing for a future change due to internal changes in warp


Bugfix/config error

@srossross @malev this addresses issue #157

LGTM

:ok_hand: Only the linux tests failed from not being in a queue.


Router Parameter in Path Matching Fixed Path Too

I'm using react-router v. 1.0.0-rc3 and I have a route configuration as follows:

<Route path="/" component={App}>
    <IndexRoute component={Home} />
    <Route path="track/:id" component={Track} />
    <Route path="track/new/" component={NewTrack} />
</Route>

When I navigate to track/new/, it is matching the track/:id path and the component Track gets used. This didn't happen before. Do I need to change my paths or is there any way to keep this path format?
PS. I also posted this issue here in Stack Overflow.

just swap them around:
<Route path="/" component={App}>
    <IndexRoute component={Home} />
    <Route path="track/new" component={NewTrack} />
    <Route path="track/:id" component={Track} />
</Route>


Running Ollama outside of Docker

I'm not a specialist. But in the Readme.md, you suggest that ollama/mistral is very slow in docker. So I'd like to use it outside of Docker.
But I see only
ollama pull mistral
And not a command to run the model.
I tried with ollama run mistral
But when I run docker-compose --profile dev up
I get: AttributeError: 'Ollama' object has no attribute 'model_id'

@dardjiskien Unfortunately there is a bug with the use of Ollama.  I have fix the code. Could you retry ?
Thanks in advance


example of pytorch job has error value about rank num

@jiaqianjing hi, it's a known issue and I will fix it soon.

ok, 3q. And why not use the community's  pytorch operator directly?
Now it looks like you've rewritten it（pytorch crd and controller）

@jiaqianjing It's a known issue and has been fixed in code, however it seems that the docker image is not up to date, I'll re-build-and-push it soon.

ok, 3q. And why not use the community's pytorch operator directly?
Now it looks like you've rewritten it（pytorch crd and controller）

we have not regenerate the crd or rewrite the controller, we refactor the original controllers implementations in kubebuilder style and redesign the framework, hence we are able to deliver new generic/pluggable features, if there will be some extensions, it will be totally backward compatible.

Could you give your DingDing num? U can send an email to this<EMAIL_ADDRESS>

fixed.


Itp method

reopening the pr

@ChrisRackauckas the ci tests miraculously passed here.

@ChrisRackauckas This one is also ready for review in case you missed it?

I made a few last edits, this looks good to go.

I realize this is post merge, but since ITP is an acronym, should it be ITP rather than Itp?

https://github.com/SciML/SimpleNonlinearSolve.jl/pull/71


fix bug when applying defaults

Warning: First parameter must either be an object or the name of an existing class in vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php line 261

to reproduce:
<?php

use JsonSchema\Constraints\Constraint;

include_once __DIR__."/../vendor/autoload.php";

$validator = new \JsonSchema\Validator();

$data = [];
$schema = (object)[
    "type" => "array",
    "items" => (object)[
        "required" => [],
        "type" => "object",
    ]
];

$validator->validate($data, $schema, Constraint::CHECK_MODE_APPLY_DEFAULTS);

according to the spec:

The value of "items" MUST be either a schema or array of schemas.

but here the code supposes it's an array of schemas and it fails when it's trying to use [] (the value of required) as a schema

Nice catch! Appreciate you finding / fixing this :-).
It's 2:15am here, but your bug report has made me think - if minItems is set, and items is a schema, then we should probably set the default as many times as needed to fulfil that. Thoughts?
The comment on test #21 needs fixing, it says the same thing twice.
I'll review this properly in the morning when I'm not half asleep ;-).

It's 2:15am here, but your bug report has made me think - if minItems is set, and items is a schema, then we should probably set the default as many times as needed to fulfil that. Thoughts?

yes we could :)

The comment on test #21 needs fixing, it says the same thing twice.

fixed

I'll review this properly in the morning when I'm not half asleep ;-).

👍

Thanks for fixing this bug :-).

yes we could :)

Are you intending to do the work on minItems (as part of this PR, or in another PR), or would you like me to do it? I'm quite happy either way :-).

I've added support for minItems, tell me if you think of something missing (I'll squash everything when it's ready to merge)

should be ok if I understood exclusiveMinimum correctly

Grrr.... I've sent you on a wild goose chase sorry, exclusiveMinimum applies to minimum only, not to minItems (and therefore should not be in this PR). I should not have tried to review this when I was half asleep; this is my mistake.
Eveything else looks fine; once the ExclusiveMinimum stuff goes away (sorry!) this should be merge-ready.

don’t worry, I read its definition to quickly too, it’s gone

rebased


DELETE body request ?

Hi and thanks for your API !
I'm wondering why I can't send DELETE entity body params but only URL params. When trying to do so I get a 415 (Unsupported Media Type).
Googling around makes me think it should be possible, could you please highlight me on the subject ?
The reason for this is when I want to delete a user I send its id but I also want to send a delete reason (I could add a second param but as it is text, I feel it would be a cleaner solution to send it through body ...)
Hugo

Hi Hugo,
You should be able to send a request body for any method type, and your use-case seems to be a totally valid one.
Ensure that your defined resource is configured to allow it with the correct content type (@accepts).
If you're still having problems, stick some more info into of your specific case into this issue or create a test case that fails in a pull request.
Paul.

Hey Paul !
I've made it but what is strange is I had to remove @accepts line !! Quite weird ! For informational purpose, here is how I get PUT, GET, POST & DELETE requests works :
/**
 * @uri /website
 */
class WebsiteApi extends Tonic\Resource
{
    /**
     * @method GET
     * @json
     * @provides application/json
     * @return Tonic\Response
     */
    function get()
    {
        error_log('WebsiteApi GET : ' . json_encode($this->request->data));
        return new Tonic\Response(Tonic\Response::OK, array('status' => 'success'));
    }

    /**
     * @method POST
     * @json
     * @provides application/json
     * @return Tonic\Response
     */
    function create()
    {
        error_log('WebsiteApi POST : ' . json_encode($this->request->data));
        return new Tonic\Response(Tonic\Response::OK, array('status' => 'success'));
    }

    /**
     * @method PUT
     * @json
     * @provides application/json
     * @return Tonic\Response
     */
    function update() {
        error_log('WebsiteApi PUT : ' . json_encode($this->request->data));
        return new Tonic\Response(Tonic\Response::OK, array('status' => 'success'));
    }

    /**
     * @method DELETE
     * @json
     * @provides application/json
     * @return Tonic\Response
     */
    function remove()
    {
        error_log('WebsiteApi DELETE : ' . json_encode($this->request->data));
        return new Tonic\Response(Tonic\Response::OK, array('status' => 'success'));
    }

    /**
     * Process all request's data as json : encode / decode
     */
    function json()
    {
        $this->before(function ($request)
        {
            if ($request->contentType == "application/json")
            {
                $request->data = json_decode($request->data);
            }
        });
        $this->after(function ($response)
        {
            $response->contentType = "application/json";
            $response->body = json_encode($response->body);
        });
    }
}

By the way, I have to tell you In your readme, you provide an example with a list() function : that throws me an error (at least with my version of PHP) : you can't use reserved words ...


Vickel: Watch ussmmstore

Vickel requests the watch of the watch_keyword ussmmstore. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

ussmmstore has been seen in 6 true positives, 0 false positives, and 0 NAAs.

Approved by Ryan M in Charcoal HQ


How to use graphql-iso-date in makeExecutableSchema?

How to use graphql-iso-date in makeExecutableSchema?

Like this, just like you would use any other scalar type package: https://www.apollographql.com/docs/graphql-tools/scalars.html#Using-a-package
Let me know if that helps!

Thanks, the following code can also solve my requirement:
Date.prototype.toString = function() {
  return this.toISOString();
};

Do I still need to use graphql-iso-date?

@J-F-Liu : yes, because graphql-iso-date support parses Date from the formated string.

Yep - you will get native Date objects in your resolver arguments with the custom scalar, so it is definitely nice!

Would someone like to send a PR to the docs here to add a date example? https://www.apollographql.com/docs/graphql-tools/scalars.html

You want to update https://www.apollographql.com/docs/graphql-tools/scalars.html#Date-as-a-scalar to use graphql-iso-date? Because otherwise, there is already an example there...

Oh, right I forgot there's a date example. Hmmmmmm.... is graphql-iso-date better than the example listed on that page?

Well, for me it is the standard go-to package for using dates, so it might be better than the DIY date example. On the other hand, there is already a JSON example that uses a standard package, so maybe it would be enough to just mention it there?

Yeah for sure. Might be just a small addon with a code snippet. I think we want a DIY example, maybe we can do one for Mongo ObjectIDs or something.


Update guile-gnome and g-wrap

This should fix the guile-gnome-platform build.

Closing because I need to rebase


Several analytics adapters have broken / empty documentation

This is the result of grepping for Please visit \[\]\(\) for more information.:
https://docs.prebid.org/overview/analytics.html#adomik
https://docs.prebid.org/overview/analytics.html#adxcg
https://docs.prebid.org/overview/analytics.html#concert
https://docs.prebid.org/overview/analytics.html#eplanning
https://docs.prebid.org/overview/analytics.html#marsmedia
https://docs.prebid.org/overview/analytics.html#sharethrough
https://docs.prebid.org/overview/analytics.html#sigmoid
https://docs.prebid.org/overview/analytics.html#sonobi
https://docs.prebid.org/overview/analytics.html#zeta_global_ssp

Hey @ChrisHuie, hope you don't mind, I went in and added links for all of these.

#4223

We'll set a very low bar for how much doc is required

roxot at #4593

also assertiveYield has docs but no module

The updates for the ConcertAnalyticsAdapter and ConcertBidAdapter were done in this commit as part of  #5293.

sharethrough at https://github.com/prebid/prebid.github.io/pull/5332

https://github.com/prebid/prebid.github.io/pull/5342

The updates for tercept analytics adapter are here: https://github.com/prebid/prebid.github.io/pull/5353

looking at docs website, adkernel, adxpremium, appier, asteriobid, datablocks, finteza, invisibly, konduit, livewrapped, medianet, oolo, optimon, prebid manager, pubperf, pubstack, pubwise, pubx.ai, realvu, scalable all very much underdocumented


Mention in the "Getting the Code" section of README.md that an ES6 compatible browser is required when using the default viewer with gulp server

The https://github.com/mozilla/pdf.js/wiki/Contributing article has been updated to explicitly mention that an ES6 browser is now a minimum requirement for development.
Since we recently have seen a couple of issues filed which seemed to indicate that people tried to use PDF.js in browsers without full ES6 support, it's probably a good idea to mention this more prominently in the README as well.

Good idea!


Scrollbar set to auto

Description
Set y-overflow to auto rather than scroll. This solves the issue of the cut off images, but it does not do much for extending the inventory size at this time.
Related Issue
https://github.com/delaford/game/issues/78
Motivation and Context
UX
How Has This Been Tested?

Screenshots (if appropriate):

Types of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

I am not sure how you want to go forward with increasing inventory size, but this handles things so long as the inventory stays 4X6.

Thank you for your contribution (and others)!!! You rock.
This ALSO takes care of #56 as well. Just checked it out and looks solid. THANK YOU! THANK YOU! THANK YOU!
As for the inventory, it will most likely stay 4x6 for a awhile so don't worry about it.


[e2e] recreate stack on cloud init timeout

It means the VM is no longer reachable

What does this PR do?

Recreate stack on cloud-init command timeout
Motivation

ADXT-558
Additional Notes

The error Process exited with status 2: running \" sudo cloud-init status --wait\" means the VM is no longer reachable, as other timeouts we should recreate the VM instead of insisting reaching out to a VM that does not want to talk with us anymore
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Can remote start/stop be enabled without the charger automatically charging upon being plugged in?

Title.
I'm setting up remote start/stop to allow for a user to plug in their EV, and then begin/end a charging session remotely via the RemoteStartTransaction/RemoteStopTransaction commands. Currently, the charger, when in unauthenticated mode, will begin charging as soon as it is plugged in. Is there a way to allow a user to plug in their EV, and have the charge point not initiate a charging session until receiving the RemoteStartTransaction command?

It appears as the Charge Point is configured with the user case  -  E02 - Start Transaction - Cable Plugin First (see OCPP 2.0.1 Part 2 Specification, section 2.1. OCPP transaction mechanism).
This behaviour on the Charge Point can be changed from the CSMS with a SetVariables (section 1.57.) message that modifies the 2.6.4. TxStartPoint - component name TxCtrlr, variable name TxStartPoint and value Authorized.
(see  section 1.1. Flexible transaction start/stop)
I would say at present the charge point is configured with the TxStartPoint as EVConnected - you could confirm this assumption from the CSMS with a  GetVariablesRequest (see section 1.28.1.)
I hope this helps

This issue appears to be stale, so closing for now


media-common retro fix (3/3)

Part 3 of https://github.com/k8s-at-home/charts/pull/96
Objective:

Bump all parent versions to new major version and semver match the new 2.0.0 media-common

Charts affected:

jackett
lidarr
nzbget
ombi
organizr
qbittorrent
radarr
sonarr
tautulli

Closed in favor of https://github.com/k8s-at-home/charts/pull/109


Flutter web sometimes throw exception when popping a route

Steps to Reproduce

Run code below
Open browser debugger set device to any mobile phone models
Press open search
Tap on any result card
Open search again
Press back icon on app bar
repeat 5 and 6

Expected results: No exception
Actual results: Uncaught Error: Unexpected null value.

Code sample
import 'package:flutter/material.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  runApp(const App());
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: '/',
      routes: {
        '/': (context) => const HomeScreen(),
        '/search': (context) => const SearchScreen(),
      },
    );
  }
}

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  String? _result;

  Future<void> _openSearch() async {
    final result = await Navigator.of(context).pushNamed('/search');

    if (mounted && result is String) {
      setState(() {
        _result = result;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        title: const Text('Home'),
      ),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text('Result: $_result'),
            const SizedBox(height: 8.0),
            ElevatedButton(
              onPressed: _openSearch,
              child: const Text('Open Search'),
            ),
          ],
        ),
      ),
    );
  }
}

const List<String> searchItems = ['A', 'B', 'C', 'D', 'E'];

class SearchScreen extends StatefulWidget {
  const SearchScreen({Key? key}) : super(key: key);

  @override
  State<SearchScreen> createState() => _SearchScreenState();
}

class _SearchScreenState extends State<SearchScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        leading: const BackButton(),
        title: const Text('Search'),
      ),
      body: ListView.builder(
        itemCount: searchItems.length,
        itemBuilder: (context, index) {
          final item = searchItems[index];

          return Card(
            shape: const RoundedRectangleBorder(
              borderRadius: BorderRadius.all(
                Radius.circular(8.0),
              ),
            ),
            child: InkWell(
              onTap: () {
                Navigator.of(context).pop(item);
              },
              borderRadius: const BorderRadius.all(
                Radius.circular(8.0),
              ),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text(item),
              ),
            ),
          );
        },
      ),
    );
  }
}

Logs
Error: Unexpected null value.
    at Object.throw_ [as throw] (http://localhost:54591/dart_sdk.js:5080:11)
    at Object.nullCheck (http://localhost:54591/dart_sdk.js:5399:30)
    at [_getSanitizer] (http://localhost:54591/dart_sdk.js:173260:28)
    at http://localhost:54591/dart_sdk.js:173312:42
    at http://localhost:54591/dart_sdk.js:173273:16
    at loggedHandler (http://localhost:54591/dart_sdk.js:172978:11)

[✓] Flutter (Channel unknown, 3.0.2, on macOS 12.4 21F79 darwin-arm, locale en-ID)
    • Flutter version 3.0.2 at /Users/s21/Documents/GitHub/flutter/flutter
    • Upstream repository unknown
    • Framework revision cd41fdd495 (13 days ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/s21/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.68.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 102.0.5005.115

[✓] HTTP Host Availability
    • All required HTTP hosts are available

I'm not quite sure where it break. I already set it to debug code + packages + sdk, but it doesn't jump to where it break. It seems it throws deep inside dart js sdk
https://user-images.githubusercontent.com/1574722/174941043-b4588255-6da6-4b02-9ce0-8a41c8d843cd.mov

Hi @SuperPenguin, thanks for filing the issue.
I can reproduce this issue but I see there's an open issue #105458 that had the same behavior when clicking on AppBar's left side.
Please notice that the sample works normally when using pop from ListView item (watch below demo video).

Demo
https://user-images.githubusercontent.com/104349824/174995026-d6f0f266-0ef2-475d-bf21-783a433c5196.mp4

So I close this issue as a duplication, so please follow up on it for further updates.
If you disagree, please write in the comments and I will reopen it.


Distance Matrix

Just a note that I have been able to successful figure out how to use google's Distance Matrix API (see here) to calculate travel time between two places based on longitude/latitude. I'm going to check in with our business manager to see if we can absorb the cost of doing this but I don't think it should be a big deal, and then we'd have really good info on how far these providers actually are from the K-12 schools!
See attached screenshot for the type of data we get back (it's JSON, but we can parse that, of course).

Will close this issue once I've been able to pull all distances. Not sure if it's feasible to pull all distances between every school and every provider. Maybe we just do it for providers within the same county as the school?

Excellent!
Hmmmmm. One issue with a county - a school could be very near to a provider but right on the other side of a county's border.
What if we did a coarse(r) analysis using Mahalanobis distance, and then only calculated travel distance for e.g. those less than 75 miles away?
Also, it's not like looking within counties (or maybe counties plus neighboring counties?) would give us biased results. Just thinking through this!

Yes, I actually though that exact thing after suggesting that. Basing it on a "as the crow flies" range would be better than arbitrary county lines. I'll see if I can do something like that.

Okay, I just pushed a script that creates two files, one for all providers within 100 miles of a given school, and the other for all pairwise combinations of schools and providers and the miles between them. I had to ignore the actual files because they were too large, but you can run the script and it should create them for you.
For now, I used the haversine distance, which is as the crow flies distance, but does take into account the curvature of the earth (it assumes it's perfectly round, so not perfect, but good enough).
@jrosen48, if you have time, you could do some preliminary modeling with these haversine distances. I may play around with them a bit too.

Also, I"m actually not sure it's feasible to use the google API. Even if we limit it to providers within a 50 mile as the crow flies distance, there's over 650K requests we'd have to make which, when allowing for some fudge room, would end up being ~$3K. I'm not sure it's worth that even if we can afford it. I have a request in to google to see if they'll work with me on cost some, but these may be the distances we just want to end up using.

Sorry, last thing for now. Looks like there are alternatives that are potentially (considerably) cheaper: https://gis.stackexchange.com/questions/15199/looking-for-free-web-service-that-calculates-driving-distance-between-2-addresse

sounds good about preliminary analyses with these data (and good to learn about what a haversine distance is...) - will plan to create a new script for this.
am blown away by the n of distances between providers and schools! that's wild. I agree that using these is likely sufficient. Lots of ways we could go to address this; one small one is to use the Google Maps (or a less-expensive option) for a sample of the providers-schools combinations, and check how different they are (and in what direction), to gain a sense of how bias might creep into the picture. just one idea among others.

Yeah I actually hadn't heard of the haversine distance before either, but it's pretty neat. I like the idea of using the driving directions for a small random sample. My guess is we'd end up with very similar results but that would be a good robustness check.

Just added some initial thoughts (and comments - I think we will be in business with these or can at least start to calculate values like those you want to use in analyses when we have the quality ratings. These thoughts are in:
scripts/calc-exposure.R

random thought - some scholars are arguing that this approach for calculating exposure is inferior to a newly-developed ('latent space') approach that uses a latent variable. Ran Xu (and Ken Frank) have been advocating this. Here is a nice paper from Ran: https://arxiv.org/pdf/1903.05999.pdf
Especially given that we're working with spatial data, this seems like it could be a natural fit. Ran does provide a tutorial in that paper. I will review it but welcome your input on this.

Wonderful! I'm going to close this issue for now and we can open a new one to discuss specifics on modeling.


Easy: 🤪 Create Documentation Website using Github Pages

Idea
We have a huge codebase at this point and it keeps on growing in size. So, what do we need to do? Add more documentation. If we do this, we will enable new contributors to add code to the project, and we can keep growing.
If you want to do this, leave a comment, and I will assign you to the issue!
Cheers!
Todo

[ ] Setup a Build System for Documentation using Github Pages

@William-McGonagle , I could take a stab at this.

Sure- sounds good! When you're done setting it up, I can make it live using the domain.

Also, @Nokkvi Do you want to join our organization? We would love to have you.

Sure, I'll join. One question I have regarding this issue. How does using something like mkdocs-material sound? It would provide navigation, themes(with light/dark setting) and table of contents for each page.

I just checked it out, and it seems great! I'll also invite you to the Github organization.

@Nokkvi Maybe we would be better off if I made a separate repository for the documentation- how does that sound?

@William-McGonagle If the documentation will be covering multiple projects then I think that's the way to go.

Sounds good- I'll make the repository right now and deploy it to GitHub pages.

Okay, the repository is here.
And the website is here.


Error while using grid object and reuse_alv table.

When we use alv object taken from reuse_alv_grid_display and we use color column in source table then due to fact that color field has different length than in OO ALV then in zcl_excel_converter_alv->get_color we got an error.Â  This can be corrected with following code :
https://cw.sdn.sap.com/cw/docs/DOC52403

1.5 year old issue, last commented one year ago with the original poster not knowing whether this has been fixed in the lates daily build or not.
I'll close this unless someone provides an example in 2 weeks.

No answers in 4 weeks --> Closed

Stefan,
I was not able to check it before, sorry. The issue still remains in the latest version. I will change the code in next few days. Can you reopen the issue and assign me to the task?


Team mentions don't work, even with organization member read permissions

This is not really a probot bug, but it is likely to affect probot users so I want to report it here.
In #337 it was documented that team mentions requires Read access to Organization members. I have tested this recently and it does not seem to work anymore.
Testing strategy:

Install https://github.com/pytorch/pytorch-probot on your repo
Make a team
Add the team as a CC on some label https://github.com/pytorch/pytorch/issues/24422
Trigger a bot on the label

Yes, it's still failing for me; here's an example issue where it failed to ping: https://github.com/pytorch/pytorch/issues/28771

Actually, it seems like the issue repros on your repo too. Look at https://github.com/tmp-988/testing-988/issues/9#issuecomment-539937543 : the mention is not linkified (indicating no ping occurred.)

That's strange. At the time, it was highlighted.


VMAF scores for HEVC encoding via VA-API unexpectedly low

When trying to find a CRF (or QP in this case) for VA-API accelerated HEVC encoding (following this post) I get unexpectedly bad VMAF scores making ab-av1 giving up on it:
$ ab-av1 crf-search -e hevc_vaapi -i sample.mkv --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi
- crf 32 VMAF 69.75 (4%)
- crf 21 VMAF 80.09 (29%)
- crf 10 VMAF 81.60 (143%)
  00:04:25 ########################################################################### (sampling crf 10, eta 0s)
Error: Failed to find a suitable crf

If I encode the sample by hand and let ab-av1 determine its VMAF score afterwards it gets rated much better:
$ ffmpeg \
    -vaapi_device /dev/dri/renderD128 \
    -i sample.mkv \
    -vf 'format=nv12,hwupload' \
    -c:v hevc_vaapi \
    -profile:v main \
    -rc_mode CQP \
    -qp 21 \
    sample-cqp21.mkv

$ ab-av1 vmaf --reference sample.mkv --distorted sample-cqp21.mkv
96.17253

So my guess would be that my manual encode uses different ffmpeg options compared to what ab-av1 does. I tried adding some of my options (e.g. the vfilter) but that made ffmpeg fail due to incompatible arguments.

Possibly related to the 20s samples of sample.mkv that are encoded and tested during the crf-search. How long is sample.mkv?
You can do an equivalent full encode for the crf-search by using a high number of samples (longer than the total duration) e.g. --samples 999.
It's possible the sample(s) picked by default are just a bad fit for this video, or something went wrong creating the samples or encoding them.

I realize I have used the term 'sample' in a misleading way in my original post, sorry for that!
'sample.mkv' is the actual movie which is 1h 58min long. Should have called it 'example' or 'input'.
So I've tried 5 other video files to see whether it's bad luck with sample alignment but they all seem to get really bad VMAF scores when run through crf-search compared to manual encoding.
I've also tried taking samples (this time I really mean samples i.e. short portions of the input files) to avoid mis-aligned frames between original and distorted input during VMAF rating but this didn't change anything either.
I'll try to capture the exact arguments ab-av1 is using to call ffmpeg during encoding of its samples and see if I can spot anything that is significantly different to my manual approach.

Try ab-av1 sample-encode -crf 21 --keep ...  which will create the samples, encode them and not clean them up so you can manually see if there is an issue with the samples or encoded versions.
They'll be in a dir named something like .ab-av1-xxxxxx.

Couple things come to mind:

Does the issue also occur with other encoders, like libx264? If it's not limited to just one encoder and you're using a recent git build of FFmpeg, this could be due to  #142
If this is limited to a single encoder, try using --enc fps_mode=passthrough. This should eliminate the possibility of the encoder dropping frames it considers duplicates and causing a desync during VMAF calculation.

When giving --enc fps_mode=passthrough a try I realized that I'm no longer able to reproduce the issue.
I really don't get it since there has been no (relevant) package update (ffmpeg, libva, kernel) and I'm testing with the exact same files. Anyway, I'll close this one, sorry for the noise.


Fix version error

Learn Build status updates of commit 7fdabcf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/aks/includes/servicemesh/osm/open-service-mesh-binary-install-windows.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Please take a look @turibbio

@turibbio would you like to fix what was committed on or should we close this?

@phillipgibson updated!

@phillipgibson - Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

#sign-off


Tool error reporting still buggy

$ ide mvn
[ERROR] Error executing Maven.
[ERROR] The specified user settings file does not exist: D:\d\projects\IDEasy\conf\mvn\settings.xml
Step 'ide (mvn)' failed: java.lang.IllegalStateException: Running command 'D:\projects\IDEasy\software\mvn\bin\mvn.cmd' failed: Running command 'D:\projects\IDEasy\software\mvn\bin\mvn.cmd' failed with exit code 1!
1 step(s) failed out of 3 steps.
An unexpected error occurred!
We are sorry for the inconvenience.
Please check the error below, resolve it and try again.
If the error is not on your end (network connectivity, lack of permissions, etc.) please file a bug:
https://github.com/devonfw/ide/issues/new?assignees=&labels=bug&projects=&template=bug.md&title=IllegalStateException%3A+Running+command+%27D%3A%5Cprojects%5CIDEasy%5Csoftware%5Cmvn%5Cbin%5Cmvn.cmd%27+failed%3A+Running+command+%27D%3A%5Cprojects%5CIDEasy%5Csoftware%5Cmvn%5Cbin%5Cmvn.cmd%27+failed+with+exit+code+1%21
java.lang.IllegalStateException: Running command 'D:\projects\IDEasy\software\mvn\bin\mvn.cmd' failed: Running command 'D:\projects\IDEasy\software\mvn\bin\mvn.cmd' failed with exit code 1!

The error reporting of the ProcessContext has been activated for ToolCommandlet. However, the output above is wrong:

[ ] the stacktrace and the error message is simply confusing here. There is no bug in IDEasy and none should be reported. Do we need an additional error handling for process context, or should we implement our own error handling in the runTool method instead of using ERROR for ProcessContext?
[ ] the actual output of the tool that has been invoked (here mvn) is lost and not visible to the end-user. However, this is the most important information that is missing here. Seems we capture the output for ProcessContext. There can be usages of runTool where this may be necessary but for this we have an extra argument. The default should not behave like this. ATTENTION: This point is now addressed by a separate issue #608

The user invoked mvn without arguments and that gives me an error and not successful status code also if invoked without ide as prefix command. However, the maven output is not printed and instead this stacktrace is confusing.
This is the output from maven that is missing when used via IDEasy.
[INFO] Scanning for projects...
[INFO] --------------------------------------------------------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] --------------------------------------------------------------------------------------------------------------------------
[INFO] Total time:  0.133 s
[INFO] Finished at: 2024-09-05T23:28:29+02:00
[INFO] --------------------------------------------------------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: before:clean, clean, after:clean, before:validate, validate, after:validate, before:initialize, initialize, after:initialize, before:sources, sources, after:sources, before:resources, resources, after:resources, before:compile, compile, after:compile, before:ready, ready, after:ready, before:test-sources, test-sources, after:test-sources, before:test-resources, test-resources, after:test-resources, before:test-compile, test-compile, after:test-compile, before:test, test, after:test, before:unit-test, unit-test, after:unit-test, before:package, package, after:package, before:build, build, after:build, before:integration-test, integration-test, after:integration-test, before:verify, verify, after:verify, before:install, install, after:install, before:deploy, deploy, after:deploy, before:all, all, after:all, before:site, site, after:site, before:site-deploy, site-deploy, after:site-deploy, before:wrapper, wrapper, after:wrapper. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the '-e' switch
[ERROR] Re-run Maven using the '-X' switch to enable verbose output
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException

I've tried to run mvn using the latest SNAPSHOT release using ide on an invalid project (missing pom.xml) and got the output of mvn and the misleading error message of IDEasy.

So it appears that the actual output of mvn is not omitted anymore.
We still have to fix the misleading error message though.


another editing pass over documentation

Current coverage is 98.55% (diff: 100%)

Merging #60 into master will not change coverage

@@             master        #60   diff @@
==========================================
  Files            12         12
  Lines           552        552
  Methods         491        491
  Messages          0          0
  Branches         61         61
==========================================
  Hits            544        544
  Misses            8          8
  Partials          0          0

Powered by Codecov. Last update 0547621...4bb4c9e


Catalog import plugin should support setting type

Feature Suggestion
When opening a pull request with the catalog import plugin, I should be offered a set of options based on well-known types.
Possible Implementation
If the catalog is empty, show a <select /> populated with the well-known types.
If the catalog is not empty, show a <select /> populated with the set of existing types, plus the well-known types.
A pattern like this is already in place for Entity Owner.

Context
I am trying to create a PR with some sensible settings in order to get my component into Backstage. Without this, I have to create the PR, then pull the new code, then edit the spec.type to something sensible and commit.

Related to #8113.

Makes sense! All required parameters should probably be represented one way or another through this flow.


Please help How to reloadData

I used latest version FSCalendar
When I add Database about calendar I want reload calendar to add dots I searched and used reloadData but It wasn't work
Anyone show me use something method example when I want to reload cal?

`
extension YourViewController: FSCalendarDataSource {
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
    return functionThatReturnsNumberOfEvents(for: date)
}

}
`


ISPN-7912 Prevent RocksDBStore writes blocking on full expiry queue

https://issues.jboss.org/browse/ISPN-7912

@ryanemerson I few questions:

Dan wrote: we changed the format of the expiration "table" to key = <expiration timestamp> + <key bytes>, value = <nothing>. is it an improvement or what I did is wrong?
What should I do with @Deprecated due that that config is not in use?

Thanks

@diegolovison Yes, my expiration DB format is an improvement suggestion over Ryan's suggestion.
Currently updating the expiration info for one entry is very expensive: compared to updating the entry itself, which is a single RocksDB write, updating the expiration info needs to read the existing info for all the keys with the same expiration timestamp, unmarshalling that info, adding the new expiration info, serializing the whole thing, and writing it to RocksDB again.
We "cheat" by writing the expiration info to a queue and having a separate purge thread that reads from the expiration queue and writing the expiration info. In theory that helps when we write multiple cache entries with the same expiration timestamp in quick succession, and the purge thread can batch all their expiration info with a single RocksDB write. In practice, I believe we'd need to reduce the resolution of the expiration timestamps or we won't see almost any batches.
The problem with the purge thread is that it's just one thread. Like I said, updating the expiration info is slower than a regular write, and when there are lots of threads writing to the cache the purge thread can't keep up.
Ryan's suggestion was to help the purger thread by writing the expiration info from the main write thread, but only when the expiration queue is full. That keeps the write latency low when there are few writers and degrades gracefully when there are many writers.
My suggestion was to include the cache key in the expiration info key (which is currently just the expiration timestamp). That makes every key in the expiration DB unique, meaning we can do a blind write instead of first reading the existing expiration info, making the expiration info update cheaper. Potentially that would make the expiration info update cheap enough that we can do it directly from the writer thread, without an expiration queue and purge thread.
Your change removes the expiration queue but doesn't change how the expiration info is stored. So writes are slower than with Ryan's suggestion, because they work as if the queue was full all the time, and they're also slower than with my suggestion, because you still have the expiration DB read.
WRT deprecated options, we would normally keep deprecated options until at least version 11.0.

My suggestion was to include the cache key in the expiration info key (which is currently just the expiration timestamp). That makes every key in the expiration DB unique, meaning we can do a blind write instead of first reading the existing expiration info, making the expiration info update cheaper. Potentially that would make the expiration info update cheap enough that we can do it directly from the writer thread, without an expiration queue and purge thread.

I like the sound of this, but obviously we will need make this is properly benchmarked before being merged. Another consideration (IMO not a blocker) is that it will change the stored format of the expriry db, so in the upgrade notes we will have to make it clear that when upgrading from 10.0 to 10.1 that the expiry db must be removed before cache startup.

@danberindei @ryanemerson can we configure the expiredDb to use https://github.com/facebook/rocksdb/wiki/Block-Cache ?

Also, do you have a perf scenario + cache configuration to run?
Find out the expiration time when 20000 keys will expire.
Configure the expiration time based on the scenario above.
Run a perf tests with 40000 keys.. In this case, we will have lower writes because expiryEntryQueue will block, right ?

@danberindei @ryanemerson can we configure the expiredDb to use https://github.com/facebook/rocksdb/wiki/Block-Cache ?

Isn't the cache enabled by default? I'm not at all familiar with RocksDB and its performance tuning.
I might be wrong and the extra read is irrelevant. But my thinking is either we have a collision and we have to do extra unmarshalling + marshalling to store 2 keys in the same expiration bucket, or we don't have a collision and the read is wasted.

Also, do you have a perf scenario + cache configuration to run?

I don't know how the queue got full when the issue was reported.
My first thought is to generate at least 20k unique keys and have 1 thread write to random keys as fast as it can, then add 1 more stressor thread and see if we get a better total throughput. The default expiration queue size is 10k, so 20k unique keys should be enough to fill the queue.
You'd also need different strategies for generating lifespans. I think the best strategy for the current code is to use a constant lifespan, so only entries that are one after the other may share an expiration bucket, and it would be a nice access pattern for the RocksDB cache. (I thought we drain the expiration queue into a map and we write entries with the same timestamp in one batch, but looking again at the code we don't, so without the block-cache it wouldn't matter.)
An interesting case for the current code (and with your changes too) would be to set the same expiration timestamp for all entries, with lifespan = <expiration timestamp> - <current timestamp>. It might be really bad for the current code because the ExpiryBucket will get very large and needs lots of marshalling/unmarshalling, but it might also be good because that entry is always going to be in RocksDB's cache.

When we have the following running on infinispan/master:
      cacheManager.defineConfiguration("weather", new ConfigurationBuilder()
         .persistence()
            .addStore(RocksDBStoreConfigurationBuilder.class)
            .location("target/data")
            .expiredLocation("target/expired")
         .expiration().lifespan(5, TimeUnit.SECONDS)
         .build());
      cache = cacheManager.getCache("weather");

      int max = 10001;
      for (int i=0; i<max; i++) {
         cache.put(UUID.randomUUID().toString(), UUID.randomUUID().toString());
      }

The test never ends. The max could be the following but not 10001

9999
10000

How about if we could have both of the world: When the queue is full write directly to rocksDB ?

The test took 60478ms. The max could be the following but not 10001

On which branch?
Why not 10001?
Or why not 20k? The default queue size being 10k, it's very likely to get full with only 10k insertions.

The ms values are from my local laptop not running in the perf lab. It just "show the problem".

I don't see any problem, those 20ms could very well be random noise.

1. How about if we could have both of the world: When the queue is full write directly to rocksDB ?

That was Ryan's initial suggestion in the JIRA :)

2. The problem is that I am not able to run a perf test in master because 9999 is a lower value to measure a put operation.

Not sure what you mean here, but we should definitely not test with only 9999 keys. If we do test with ~10k put operations, we should lower the expiration queue size to maybe 1k so the test has a chance to fill the queue.

I would like to test when we have more than 10.000, how many time the client will be blocked. In this case, it is 60000ms.

Isn't the cache enabled by default? I'm not at all familiar with RocksDB and its performance tuning.

I am waiting for https://github.com/infinispan/infinispan/pull/7574 to have concrete numbers.

I would like to test when we have more than 10.000, how many time the client will be blocked. In this case, it is 60000ms.

I believe every write blocks for a while, because this call is synchronous:
                    db.put(handle, marshalledKey, marshalledValue);

I am waiting for #7574 to have concrete numbers.

I already commented on #7574, but I don't think it's ok to add a generic configuration option unless you're also exposing the statistics in a store-agnostic way, otherwise you would have a documented config option but only an undocumented way to obtain the statistics.
I have never tried it, but I think/hope it's relatively easy to extend RocksDBStore and RocksDBStoreConfiguration[Builder] to add create a store with statistics enabled just for your test.

I would like to test when we have more than 10.000, how many time the client will be blocked. In this case, it is 60000ms.

@danberindei I mean, running the code from master. The entry 10.001 will be blocked for about 60.000ms.
In this PR, yes. Every write blocks for a while.

I would like to test when we have more than 10.000, how many time the client will be blocked. In this case, it is 60000ms.

@danberindei I mean, running the code from master. The entry 10.001 will be blocked for about 60.000ms.

My bad, I've been misreading the JIRA description (and the code). I got this idea that there is a special thread dedicated to writing the expiration info, and writes only block when that thread can't keep up with all the writer threads that add elements to the expiration queue.
Instead on master we reuse the expiration purge thread that wakes every 60s by default (<expiration interval="60000"/>) to delete expired entries from the stores. Since the thread only wakes up every 60s, there's nobody reading from the expiration queue, and that's why the 10k+1 write takes so long.
If we want to keep the expiration queue, we really have to fix this.
IMO we can't allocate a thread to always read from the expiration queue, because we'd have one thread for each store (and we can't take over a thread from ctx.getExecutor() because there may be more stores than threads in that executor).
Instead we'd have to submit expiration write tasks to ctx.getExecutor(), but only if there isn't already an active task writing expiration info. We can't submit a task for each expiration info we add to the queue, because the executor might have a much smaller queue, but the deciding when to submit a task so that it processes all the items in the queue is going to be a little tricky.
For performance testing, I suggest changing the expiration wakeup interval in master to 10ms so we can pretend we got the the queue handling right.

Potentially that would make the expiration info update cheap enough that we can do it directly from the writer thread, without an expiration queue and purge thread.

If we decide to remove the purge thread a do it directly in writer thread. Is it means that we during a put operation we should read all keys from the database and remove what was expired? I didn't get this point.
Thanks for all details and explanation it pretty cool!!!!!!

Move to https://github.com/infinispan/infinispan/pull/7605 It reflects the JIRA and the change


Readme typos

Two small typos in the README

Coverage remained the same at 77.049% when pulling a6adab47230dc736b5e28882886dd0cbec306ba1 on ColCarroll:patch-1 into 5ec2927f332708c76103bf199d05094c8a92badf on klen:develop.

👍


Add Kueyen, parameterize create.sh, add helm-create to initialize helm.

Don't get too fancy trying to make all this perfect, I'm working on better bootstrapping, but pretty much all of this other than the values file already exists in this repo

OK, I'll back everything but the values file out, but you need to install tiller and pals in things that aren't a GKE environment too.  The script to do so should not be hidden over in develop-gke


[Bug - Partner Center] Unable to complete Edge Developer Account Registration Form

Describe the bug
I am unable to submit the form to register for the Microsoft Edge Developer program.
Error code 2931.
Correlation ID 4b9173ac-f3b7-442a-84a8-d851208b0c47,mDvjo7bXdE6ITkfx.1.3.
To Reproduce
Steps to reproduce the behavior:

Fill out form.
Submit.

Expected behavior
A successful registration.
Screenshots

Desktop (please complete the following information):

OS: macOS
Browser: Edge for Business
Version 131.0.2903.99 (Official build) (arm64)

Hi @epage-xlink, sorry for the inconvenience caused. Could you please try to share us your seller ID so that we can verify and assist you further.


Add middleware support

After each task user should have an ability to provide list of methods that modify output of the task. For example, fit it into some function or something similar.

More flexible approach would be for the action_after to return the data. If any action does not need, it may not change the data and just return it.


feat: add NativeFunctionInvocationFixer to clean-code ruleset

Hi, thanks for PR.
What's the motivation to add it?
This rule is not related to clean-code, but rather opinonated.  Some people like it, some not :) You can include it in own local set without causing anyone troubles.

Hey there,
Indeed that’s not really a clean-code rule but since there was no optimization ruleset I thought I could add it here :)

If there would be more rules, it might make a sense.
For now, just add it locally :)


Fix positioning scroll persistance

Add integration testing (previously unit tests)
These tests exercise standard functionality and I have added tests and fixes for use-cases which I found were broken.
I was unable to update the list when using jquery scroll events, however, I was able to mock scrolling by setting the positionIndex. Need to open an issue for scrolling in the integration tests!
Added tests and fixed the following:

Fix Test: Setting a position index past the maximum top index should place the last visible item flush with the bottom of the visibleContent. Previously, it set the maximum top visible item was set flush with the top of the visible content, which could leave the final item cut-off depending on the height of the virtual-each and the itemHeight

My team and I are implementing [ember-impagination - README Pending] (https://github.com/thefrontside/ember-impagination) which is an infinite-scroll component. This implementation will continually update the immutable items array, which will fire the didReceiveAttrs hook. Therefore, we need to persists the positionIndex if the items are updated

Fix Test: persist position index if items array is updated

Persisting the index should be optional and driven by an attribute.  Otherwise, all in favor.
I will review the PR when I get back to my computer.

I was unable to update the list when using jquery scroll events, however, I was able to mock scrolling by setting the positionIndex

I figured that was going to be an issue.

This implementation will continually update the immutable items array, which will fire the didReceiveAttrs hook. Therefore, we need to persists the positionIndex if the items are updated

Disregard my previous comment.  I'm all in favor of this.

Also, you've been added as an npm owner along with Robert

Thanks jasonmit!
When we want to persist the positionIndex internally, the position index should remain 'undefined'. Therefore, if we want to reset the items array to the beginning of the array, the positionIndex should be set to zero for that instance! Should we maybe consider adding a reset attr instead?
I will add persisting functionality documentation to the README

@flexyford I don't really like the idea of a attribute to drive reset behavior.
Instead, we should be able to hook into the didReceiveAttrs to know what the user switched the position index back to 0.  In order for this to all work, we may need to implement position index as internal state and action for positionIndexChanged.  This would make this flow subscribe to DDAU.

This also fixes an issue where _visibleItemCount is greater than the number of items to display which resulted in the scroll position being negative and so screwed up the display of the list.  I've got a project that needs this fix, so would it be possible to release a version with this fix?

Just released version 0.0.12 which contains this fix. Thanks @paynen

Thanks  :+1:


CAMEL-15105: part 8

Components tested:
Total 	Tested 	Failed ❌ 	Passed ✅
1 	1 	1 	1

Flaky test on GH. We are good to merge.


Test

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/sig node

/sig node

/sig     node

/milestone v1.0

/lgtm
/approve


Integratel Terminal doesn't find commands from PATH

VSCode Version:
Version 1.3.0
Commit e724f269ded347b49fcf1657fc576399354e6703
Date 2016-07-07T16:56:12.476Z
Shell 0.37.6
Renderer 49.0.2623.75
Node 5.10.0

OS Version:
Windows 7 x64 SP1

I have installed Git for Windows with both the git and Unix commands in the PATH.
VSCode doesn't seem to find the Unix commands.

If ls is on PATH, can you print out path both the native and integrated terminal?
One of these should work:
echo $PATH
echo %PATH%

C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client
\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management
Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Co
mponents\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Pro
gram Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Wind
ows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\TortoiseGit\bin;C:\Pro
gram Files\Microsoft\Web Platform Installer\;C:\Users\Emiliano\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Fi
les\dotnet\;C:\Program Files\Microsoft DNX\Dnvm\;C:\Users\Emiliano\.dnx\runtimes\dnx-clr-win-x<IP_ADDRESS>-rc1-update2\bin;C:\Users\Emiliano\.dnx\bin
;C:\Program Files\Git\bin;C:\Users\Emiliano\AppData\Local\atom\bin;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Program Files\dotnet;C:\Progra
m Files (x86)\Android\android-sdk\platform-tools;C:\Users\Emiliano\AppData\Roaming\nvm;C:\Program Files\nodejs

Both cmd and integrated terminal shows this. It doesn't seem accurate though since I've removed the old DNX runtines for example and they are still showing up. Will try restarting.

The integrated terminal literally runs cmd.exe and pipes data back and forth. If ls is not working I suspect some other trickery is going on with your cmd window like it's running inside another program or something. If your native window is git bash you need to set that up as the shell in settings, see #7286

Restarting the pc did the trick. Sorry!

Good to hear :+1:


How to add args to upload view?

Hello!
How to use JFU for add variable in upload view?
For example, set some keys for YourUploadModel
@require_POST
def upload( request, some_key ):
    file = upload_receive( request )

    instance = YourUploadModel( some_key=some_key, sfile_field = file )
    instance.save()
...

@stelzzz i was working on the same thing, do you know how to save the data in the database in upload function after retrieval from the template?

I tried but not working


PANIC: Expected parent IDs to be set when ordering by parent ID. in query-engine/core/src/interpreter/query_interpreters/inmemory_record_processor.rs:71:18

Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v12.22.10

OS
debian-openssl-1.1.x

Prisma Client
3.11.0

Query Engine
0.1.0

Database
mysql

Logs
B%2C%5D%22%2C+%22%22%29+AS+accumulatedTradingVolume%2C++REGEXP_REPLACE%28marketValue%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+marketValue%2C+localTradedAt+from+UsaStockData+where+localTradedAt+%3D+%28select+max%28localTradedAt%29+from+UsaStockData%29%29+A+LEFT+JOIN+StockDictionary+B+ON+A.symbolCode+%3D+B.symbolCode++ORDER+BY+A.closePrice%2B0+desc+limit+%3F+offset+%3F+%2C+%5B10%2C0%5D%29%0Aprisma%3Aclient+Prisma+Client+call%3A%0Aprisma%3Aclient%3AlibraryEngine+sending+request%2C+this.libraryStarted%3A+false%0Aprisma%3Aclient%3AlibraryEngine+library+starting%0Aprisma%3Aclient%3AlibraryEngine+library+started%0Aprisma%3Aclient%3AlibraryEngine+sending+request%2C+this.libraryStarted%3A+true%0Aprisma%3Aclient%3AlibraryEngine+sending+request%2C+this.libraryStarted%3A+true%0Aprisma%3Aclient+prisma.queryRaw%28SELECT+A.*%2C+B.stockName+as+stockNameKor%2C+B.stockNameEng+as+stockNameOrigin+FROM+%28SELECT+gubun%2C+reutersCode%2C+symbolCode%2C+stockName%2C+stockNameEng%2C+REGEXP_REPLACE%28closePrice%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+closePrice%2C+REGEXP_REPLACE%28compareToPreviousClosePrice%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+compareToPreviousClosePrice%2C++REGEXP_REPLACE%28fluctuationsRatio%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+fluctuationsRatio%2C++REGEXP_REPLACE%28accumulatedTradingVolume%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+accumulatedTradingVolume%2C++REGEXP_REPLACE%28marketValue%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+marketValue%2C+localTradedAt+from+UsaStockData+where+localTradedAt+%3D+%28select+max%28localTradedAt%29+from+UsaStockData%29%29+A+LEFT+JOIN+StockDictionary+B+ON+A.symbolCode+%3D+B.symbolCode++ORDER+BY+A.accumulatedTradingVolume%2B0+desc+limit+%3F+offset+%3F+%2C+%5B10%2C0%5D%29%0Aprisma%3Aclient+Prisma+Client+call%3A%0Aprisma%3Aclient%3AlibraryEngine+sending+request%2C+this.libraryStarted%3A+true%0Aprisma%3Aclient+prisma.queryRaw%28SELECT+A.*%2C+B.stockName+as+stockNameKor%2C+B.stockNameEng+as+stockNameOrigin+FROM+%28SELECT+gubun%2C+reutersCode%2C+symbolCode%2C+stockName%2C+stockNameEng%2C+REGEXP_REPLACE%28closePrice%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+closePrice%2C+REGEXP_REPLACE%28compareToPreviousClosePrice%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+compareToPreviousClosePrice%2C++REGEXP_REPLACE%28fluctuationsRatio%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+fluctuationsRatio%2C++REGEXP_REPLACE%28accumulatedTradingVolume%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+accumulatedTradingVolume%2C++REGEXP_REPLACE%28marketValue%2C+%22%5B%2C%5D%22%2C+%22%22%29+AS+marketValue%2C+localTradedAt+from+UsaStockData+where+localTradedAt+%3D+%28select+max%28localTradedAt%29+from+UsaStockData%29%29+A+LEFT+JOIN+StockDictionary+B+ON+A.symbolCode+%3D+B.symbolCode++ORDER+BY+A.fluctuationsRatio%2B0+ASC+limit+%3F+offset+%3F+%2C+%5B10%2C0%5D%29%0Aprisma%3Aclient+Prisma+Client+call%3A%0Aprisma%3Aclient%3AlibraryEngine+sending+request%2C+this.libraryStarted%3A+true%0Aprisma%3Aclient%3Arequest_handler+Error%3A+Expected+parent+IDs+to+be+set+when+ordering+by+parent+ID.%0A++++at+prismaGraphQLToJSError+%28%2Fhome%2Fubuntu%2Fcunning-stock%2Finsider-backend%2Fnode_modules%2F%40prisma%2Fclient%2Fruntime%2Findex.js%3A33924%3A10%29%0A++++at+Object.request+%28%2Fhome%2Fubuntu%2Fcunning-stock%2Finsider-backend%2Fnode_modules%2F%40prisma%2Fclient%2Fruntime%2Findex.js%3A35748%3A17%29%0A++++at+async+Object.request+%28%2Fhome%2Fubuntu%2Fcunning-stock%2Finsider-backend%2Fnode_modules%2F%40prisma%2Fclient%2Fruntime%2Findex.js%3A39788%3A24%29%0A++++at+async+PrismaClient._request+%28%2Fhome%2Fubuntu%2Fcunning-stock%2Finsider-backend%2Fnode_modules%2F%40prisma%2Fclient%2Fruntime%2Findex.js%3A40646%3A18%29%0A%60%60%60%0A%0A%23%23+Client+Snippet%0A%60%60%60ts%0A%2F%2F+PLEASE+FILL+YOUR+CODE+SNIPPET+HERE%0A%60%60%60%0A%0A%23%23+Schema%0A%60%60%60prisma%0A%2F%2F+PLEASE+ADD+YOUR+SCHEMA+HERE+IF+POSSIBLE%0A%60%60%60%0A%0A%23%23+Prisma+Engine+Query%0A%60%60%60%0A%7B%22X%22%3A%7B%7D%7D%0A%60%60%60%0A&title=PANIC%3A+Expected+parent+IDs+to+be+set+when+ordering+by+parent+ID.+in+query-engine%2Fcore%2Fsrc%2Finterpreter%2Fquery_interpreters%2Finmemory_record_processor.rs%3A71%3A18&template=bug_report.md

If you want the Prisma team to look into it, please open the link above 🙏
To increase the chance of success, please post your schema and a snippet of
how you used Prisma Client in the issue.

    at Object.logger (/home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:35615:30)
    at /home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:35584:34
prisma:client:request_handler Error: Expected parent IDs to be set when ordering by parent ID.
    at prismaGraphQLToJSError (/home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:33924:10)
    at Object.request (/home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:35748:17)
    at async Object.request (/home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:39788:24)
    at async PrismaClient._request (/home/ubuntu/cunning-stock/insider-backend/node_modules/@prisma/client/runtime/index.js:40646:18)

Client Snippet
// PLEASE FILL YOUR CODE SNIPPET HERE

Schema
// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE

Prisma Engine Query
{"X":{}}

Hey @grandff,
Would you mind sharing a minimal Prisma Schema + client snippet so that we could reproduce your bug?
Thank you 🙏

We got the same issue.

If you want the Prisma team to look into it, please open the link above 🙏
To increase the chance of success, please post your schema and a snippet of
how you used Prisma Client in the issue.

    at Object.request (/var/task/node_modules/@prisma/client/runtime/index.js:45637:15)
    at async /var/task/dist/apps/api/.next/server/chunks/22.js:265:18
    at async /var/task/dist/apps/api/.next/server/chunks/22.js:1322:18
    at async /var/task/dist/apps/api/.next/server/chunks/22.js:1277:18
    at async PrismaClient._request (/var/task/node_modules/@prisma/client/runtime/index.js:46456:18)
    at async Promise.all (index 1)
    at async <removed due to sensitive data>) {
  clientVersion: '3.13.0'
}
END RequestId: c55cb16d-1f36-4cac-a4d3-b3f32ab46341
REPORT RequestId: c55cb16d-1f36-4cac-a4d3-b3f32ab46341	Duration: 511.10 ms	Billed Duration: 512 ms	Memory Size: 1024 MB	Max Memory Used: 226 MB```

Same question as what @Weakky posted above then for you @businessengine:

Would you mind sharing a minimal Prisma Schema + client snippet so that we could reproduce your bug?

@janpio we have invited you to access the repo with our schema and client code to reproduce the issue. Unfortunately, it is not always happened, weird!

@janpio are you going to check it?

@businessengine Hey, Can you send the invite to me?

I was out last week. Would be helpful if you indeed you invite @pantharshit00 as well @businessengine - as I will be out in a few days again for a bit longer. Thanks.

Hi @janpio thanks for the info. We did invite @pantharshit00 already. Thank guys.

G'day @pantharshit00, is there any update on this issue? Thank you!

Hello @businessengine
Sorry, yesterday was a public holiday here so I was out.
I did try to reproduce the problem but I could not do it:

Can you tell me the exact route which will trigger the panic? I think I might have missed it.

@businessengine Any chance you could point us in the right direction? 🙏

Ping @businessengine - can you help us out here? We need more information to be able to reproduce this. Otherwise we will unfortunately have to close this issue and wait until someone else reports it again. Thanks.

One more tiem @businessengine and @grandff - can you please help us out? We would really love to be able to reproduce this, but are lacking the information to do so for now. Thanks.

Closing then until someone provides more information. Please comment or open a new issue. Thanks!


not using source code formatting

Not using defined source code format defined with prettier. See npm run format above.
- For example: double quotes must be used

duplicate of issue #12


Segment pixilation at large distances from origin.

Hi BarthPaleologue, I've been testing out your shader in babylonJs to see if has any use with my Project. For the most part its amazing and quite customizable.
However my planet system is quite large and it seems that the shader is unable to correctly display the atmosphere scattering effect when the distances in question are above 10,000 units in the engine.
It seems that its the distance from origin thats the issue as rotating the arc camera causes the effect to jitter about the place. Its almost like missing float precision

.

Hello there !
Thank you for using my shader :)
I think you are right when you are talking about floating point precision issue.
When you are using an ArcRotateCamera, your camera is not at the origin of the world, hence you loose precision.
The shader is already using maximum float precision so we can't get more memory here.
To overcome this issue you should make your camera stay at the origin of the world and move the planet accordingly.
By doing this you can achieve planet scale worlds (like 1 million units each) with no problem at all (demo here: https://barth.paleologue.fr/planetEngine/ if you are interested)

Unfortunately moving everything around the camera at origin will be a very performance heavy task. The scene contains on average 600 meshed objects most of which use "freezeWorldMatrix" as well as other optimizing techniques when hidden and some path finding AI would need to update their nodes every time a meshed was moved and i also use a 3D GUI that have fixed positions on planets surfaces that are only updated when inside the camera frustum. Suffice to say it would be a daunting task to do and im not sure the engine would cope well at all in moving lots of objects.

Well it doesn't come with some performance cost sadly yes.
But you can attach all your meshes to one parent node that you will be moving. So all the problems of fixed positions and AI won't be affected when working in the space of the parent node :+1:.
The only optimization you will be loosing really is "freezeWorldMatrix" that will indeed not be possible.
The engine in itself is quite robust and it's not a few thousand meshes that will scare it haha, you can trust it.
I don't think there is a way to make this shader work without having the camera always at the origin in your case I'm afraid so making this change is necessary, and not as daunting as it may appear at first glance :wink:


Fix Responsiveness in Open-Learning Page

Make Open-Learning page responsive and improve mobile view.
Make Font size responsive.

@Its-Aman-Yadav Please check it and merge !
Thank You !

@Its-Aman-Yadav Please also check this and merge !
Thank You !

@Its-Aman-Yadav Thank You !


Parameters passed to component are not reactive

Parameters passed to component seem to be not reactive?

Can you give example code to test it? Maybe online in codesandbox?

This one -> https://codesandbox.io/s/svelte-ktippy-forked-eyu7o?file=/App.svelte

This provides no example where the reactivity is needed like changing a prop on button click. And what should be reactive. The props for the tippy wrapper or the rendered component?

Ach, ok. By pressing "press me" button an item is added to the array, that is passed down the component - the component renders the last item in the array. The array is updated, but the component does not re-render the updated array.

I guess the update() method is missing https://svelte.dev/docs#template-syntax-element-directives-use-action

Solved in 1.2.1

Works perfectly now, thank you very much for your prompt action.


This needs serious updating

I keep getting stuck on one particular part with the artifacts and how to ultimately publish this on a Linux box. I can't imagine how anyone can use this with the documentation so poor and incomplete.

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

ID: 86b2fdca-9125-9720-3d03-3c6dd336f100
Version Independent ID: b2a24e28-9858-fe1c-4527-745f1f387e4e
Content: Build and deploy JavaScript and Node.js apps - Azure Pipelines
Content Source: docs/pipelines/ecosystems/javascript.md
Product: devops
Technology: devops-cicd-ecosystems
GitHub Login: @juliakm
Microsoft Alias: jukullam

Thanks for your feedback. It looks like you're working through an issue with your scenario or implementation. Here are a couple of options you might consider:

Azure DevOps Support Bot
Azure DevOps on Stack Overflow

Also, you can submit issues related to overall site experience, or suggestions for improved site functionality or design, at https://aka.ms/sitefeedback/.


Performance Degradation with Neo4j 5.*

Expected Behavior
Performance of the OGM would be at least as fast, if not faster, with neo4j 5.* vs neo4j 4.4.*  (community editions)
Current Behavior
OGM Load performance is 20-30% worse with neo4j 5.1.0 vs neo4j 4.4.12.
Your Environment
Here's a public github repo I used for testing. One test class uses neo4j 4.4.12, the other uses neo4j 5.1.0.
https://github.com/jrsperry/neo4j-ogm-example
I saw average times for loading a cluster of peoples drop from 13ms (with neo4j 4.4.12) to ~17ms (with neo4j 5.1.0). I ran these tests on a Macbook Pro with the M1 Pro chip running native ARM builds of both neo4j versions.
The "Person" that I load in the example is connected to 4 other people, who are each connected to 4 other people. I had used this example with several relationships to highlight how much faster the OGM is than neo4j SDN (it's pretty significant) for quick background on the example loading.
Steps to Reproduce
Run the 2 tests in the repo and you can see the results and differences between the neo4j versions.
I recognize that this may not be a problem with the OGM and instead is a problem with Neo4j. Based on the release notes it's expected that neo4j 5.* is faster than neo4j 4.4.*

Thanks for reaching out. Of course I directly jumped on this to verify your problem.
For your example I get the opposite result (M1 max):
OGMNeo4JTest4_4_12 > loadTest() STANDARD_OUT
    2022-11-04 09:11:33.494  INFO 32583 --- [    Test worker] j.neo4jexamples.OGMNeo4JTest4_4_12       : time to load all 1000 complex people: 11s
    2022-11-04 09:11:33.495  INFO 32583 --- [    Test worker] j.neo4jexamples.OGMNeo4JTest4_4_12       : average time per complex person:  11.63ms

.......

OGMNeo4JTest5_1_0 > loadTest() STANDARD_OUT
    2022-11-04 09:11:49.659  INFO 32583 --- [    Test worker] j.neo4jexamples.OGMNeo4JTest5_1_0        : time to load all 1000 complex people: 10s
    2022-11-04 09:11:49.659  INFO 32583 --- [    Test worker] j.neo4jexamples.OGMNeo4JTest5_1_0        : average time per complex person:  10.94ms

I ran this multiple times and always the 5.1 test was faster (sometimes even with 11.7ms average to 9.7ms average).
I don't know how to help you analyse where this difference is rooted.

Thanks for looking straight into it as that’s very good news. I’ll look into my local environment and test in other environments.


TypeError: dispatch_model() got an unexpected keyword argument 'offload_index'

base_model='llama-7b-hf', 2 GPU, but failed.

It seems like the errors from internal packages (Maybe Accelerate?) . May you try to update these package to newest first ?
pip install git+https://github.com/huggingface/transformers.git
pip install git+https://github.com/huggingface/peft.git
pip install -U accelerate

Also please attach the full traceback for us to recognize the exact error.

yes，thank you ~