Icechunk store

Fixes #628
This is a proof of concept/draft for a store_icechunk function that uses Cubed callbacks to do the Icechunk store merging. The tests pass locally, but not in CI yet. I'm not sure where this code should live.

I'm not sure where this code should live.

After chatting to @rabernat, @jhamman, @TomNicholas we think Icechunk integration can live in this repo - as an optional dependency. There may be further changes once Xarray supports pluggable writers, but this PR can go in once tests are passing.

This is amazing!
Note that the Python API is getting a major refactor in https://github.com/earth-mover/icechunk/pull/470 which will almost certainly break this.

Note that the Python API is getting a major refactor in earth-mover/icechunk#470 which will almost certainly break this.

@rabernat thanks for the heads up. I'll keep an eye on that PR.
I think the best place to run the Icechunk tests here is in the Zarr v3 tests workflow in CI.


Reference error: process is not defined

I am trying to load<EMAIL_ADDRESS>as a systemjs formatted module from a jspm.io CDN, as floating-ui/react is a dependency @mantine/core.
Unfortunately, the systemjs formatted floating-ui/react module is throwing a reference error related to 'process' not being defined.
See below:
ERROR
process is not defined
ReferenceError: process is not defined
    at Object.execute (https://ga.system.jspm.io/npm:@floating-ui/react@0.26.12/dist/floating-ui.react.mjs:1:56708)

I think the fix may be to use a pollyfill for process or a webpack define plugin, to remove references to process. As I understand it, 'process' should only be references in a nodejs environment, not in the browser.
This probably isn't an issue for most users as they are bundling floating-ui into their react app as part of a build-time process, but we are loading the module at runtime.
In fact, I see rollup is being used here: https://github.com/floating-ui/floating-ui/blob/master/packages/react/rollup.config.mjs
And it looks like the output configuration is set to not support browsers.
https://github.com/floating-ui/floating-ui/blob/master/config/src/defineRollupConfig.mts#L141
^ Yeah, see above, it reads like rollup won't bundle a browser-compatible version of the floating-ui library, as the config is set to false; please advise.

The UMD distribution file supports browsers, but not the ESM ones. Can I ask why you're not using a build step with React? Is it only a developer test env where tree-shaking/dead code elimination isn't a problem? Because the bundle size would be huge.
As a workaround, you can shim process.env in your HEAD tag before the scripts run so it won't error at runtime.

I think most React libraries assume you're in a build step where process.env is replaced by a bundler. This allows us to add warning/error messages without affecting the production bundle size. Trying to guard for process ends up breaking DCE in many bundlers and the other solutions aren't fully foolproof like esm-env either IIRC. So shimming is the easiest solution.


Support edges as a DataFrame including the type as a column

This simplifies the construction of a StellarGraph with multiple edge types: one can now pass a single DataFrame with a "type column", instead a dictionary of separate DataFrames for each type.
Many datasets we've worked with come in this format, with all edges in a single file, with the labels either as a column within that file or as a separate file. Previously, one would have to separate the edges into a dictionary of DataFrames (for instance, using a groupby) to construct the StellarGraph, but now one can just pass in the DataFrame as is.
This new construction form is activated by passing the edge_type_column parameter to StellarGraph(...). If this argument is passed, the edges parameter must be a single DataFrame, not a dictionary.
This makes constructing graphs with many edge types faster, too. For instance, the FB15k dataset has almost 600k edges across 1345 types. The time to load it goes from 5.36 s ± 104 ms to 2.04 s ± 13.3 ms (2.6× speedup). Measured by:
import stellargraph as sg
%timeit -n 3 -r 5 sg.datasets.FB15k().load()

I think we haven't got quite the right approach for this data conversion yet, as making changes like this is always a bit clunky.
TODO:

file follow up issue for updating basics/ demos
file follow up issue for using this in StellarGraph.subgraph

See: #1183

To be sure that this doesn't slow down normal/existing construction times, I ran the test_benchmark_creation micro-benchmark, and all numbers were very close/within error bounds (e.g. for None-1000-5000, before 20.2903ms ± 9.6640, after 20.1598ms ± 9.4465). Similarly for https://gist.github.com/huonw/630907bf02f4ff443bb3d83139bb32aa, there's no particular change for any of the three datasets measured there.
Follow-up issues:

https://github.com/stellargraph/stellargraph/issues/1300 Support 'StellarGraph(..., node_type_column=...)' in addition to 'edge_type_column' for convenient heterogeneity
https://github.com/stellargraph/stellargraph/issues/1301 Update basics/ demos to use StellarGraph(..., edge_type_column=...) as appropriate
https://github.com/stellargraph/stellargraph/issues/1302 Use 'StellarGraph(..., edge_type_column =...)' in StellarGraph.subgraph


Training error on M1 Mac: failed assertion `Source and weight input channels mismatch'

Full output below(错误信息如下):
Training at rate of 0.003 until step 100000
Preparing dataset...
100%|████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00,  2.32it/s]
  0%|                                                                                | 0/100000 [00:00<?, ?it/s]
/AppleInternal/Library/BuildRoots/810eba08-405a-11ed-86e9-6af958a02716/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Runtimes/MPSRuntime/Operations/GPUConv2DOps.mm:214: failed assertion Source and weight input channels mismatch
./run_webui_mac.sh: line 13: 74318 Abort trap: 6           python webui.py --precision full --no-half --use-cpu Interrogate GFPGAN CodeFormer $@ --disable-safe-unpickle
/Users/szy/miniconda/envs/web-ui/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
 warnings.warn('resource_tracker: There appear to be %d '
Additional Info:
I'm running on MacBook Pro with M1 Pro and 32 GB RAM (macOS Ventura). When I initially tried DreamArtist extension, the error I got is not the one above, instead it is something similar to #1 , output something like "Input Type of MPSTensor and weight type should be the same". After that my regular textual inversion training seemed broke, and I tried to completely reinstall webui at a different location. The above error message is what I have now. Other than that txt2img and regular training works fine.(简单来说我一开始得到的错误讯息像是 #1 , 不过Input type 是MPS Tensor。重装webui后得到的是如上的错误信息。不知道两者之间有没有关联)

Is it solved?


Bump to 0.2.2 and push to bower repository

https://github.com/angular-translate/bower-angular-translate-interpolation-messageformat depends on old version 0.1.6.
The current version on bower is quite broken.    but with the existing master and https://github.com/SlexAxton/messageformat.js/pull/71 the combo works again.
would be great if you could pull #71 and bump messageformat's version and into bower repo.

I'm not sure if there's anything else to do for this. If you run bower install messageformat it installs the latest version and things seem to be in order. Closing but feel free to reopen if i've missed anything.

No, this is obsolete.    Thanks.


Adds functionality to observe/subscribe to authentication status

This pull request primarily adds the ability to observe the user's authentication status, and assumes unauthenticated by default. Additionally, administrator access checks have been changed to assume default being false, to avoid non-administrator account lock-out.
Additionally, this pull request also modularizes navigation logic and the SettingsScreen, as well as updating the README. This isn't exactly related to the functionality this pull request promises, but eh.

@258030, take a look over your code and look for problems. I've quickly merged, and it compiles, but there may be things that are missing and haven't had time to do a deep inspection. I know some @param usages are missing and some docstrings need to be added. But I needed to merge quickly because I'm leaving in a few.


#15517 Migrate Chat GPT endpoint to package

Pull-request for issue https://github.com/slingr-stack/platform/issues/15517 created by @pasaperez-slingr
What it does?
Creation of the chat gpt api package. Equivalence to what would be the endpoint.
How to test it?
Register the package on developer portal and from one app install and make some request according to the api.
Implementation notes
Create a the tag v2.0.0 and push.
Deployment notes
Register on local, idea2, tarzan and later on prod.

Did you run the tests? Do you have credentials to share? How can I test the package if a tag hasn't been created yet?

ChatGPT uses the same implementation than Dall-E, are only separated to differentiate the services. You can test with Dall-E package.


Add septic hermite basis function as well

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #20   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         303    336   +33
=====================================
+ Hits          303    336   +33

Impacted Files
Coverage Δ

src/hermite.rs
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


PoC: modular contract wizard

This is what the functionality of the potential contract wizard could look like
Also a video on how it works and explanation behind each of the parts
https://thirdwebdev.slack.com/files/U07AS88DXLJ/F07GGFPSBPS/contracts_wizard.mp4

PR-Codex overview
This PR introduces draggable and droppable components using @dnd-kit/core for the contract wizard layout in the dashboard app.
Detailed summary

Added Droppable component for drag and drop functionality
Added Draggable component for drag and drop functionality
Updated dependencies including @dnd-kit/core
Defined core and modular contracts data structures
Added new contract wizard layout and page components

The following files were skipped due to too many changes: apps/dashboard/src/app/(dashboard)/contract-wizard/page.tsx, pnpm-lock.yaml

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

closing for now, keeping it as reference


Fixes

# Changes Made

improved TestFileReaddirnames test
fixed test that failed due to the existence folder file
implemented folder renaming /w tests
Added readme on how to test using minio locally

Closed until needed


Make shortResult sort work without active filter + gulp-uglify v3 fix

Make shortResult callback sorting trick work without requiring a filter to be active at the time of sorting. (see https://github.com/jiren/filter.js/issues/122)
Update gulp-uglify preserveComments parameter to use new naming (see https://github.com/terinjokes/gulp-uglify/releases/tag/v3.0.0)

Thanks @rkok


Added and done changes

Accept my PR

Can you share in detail what changes you have made?

i have tried some css changes in log in and signuo layout and tried to add about page and added a small footer

There are deployment issue w your pr. kindly have a look, and re-send in your PR w proper description and issue templates


Add string interning to user and group names

What changes are proposed in this pull request?
Use intern() on frequent strings like user/group names. This should change the string memory allocation from the heap into the internal string pool by an extent so we allocate fewer objects (and subsequently friendly to GC).
Why are the changes needed?
In a heap analysis I see many duplicate Strings. For example when I run a cluster on AWS with ec2-user as both user and group, I see many duplicate "ec2-user" strings from a heap analysis:

My heap size is 15G and 1.7G are allocated  to user/group name strings. I have around 25 million files. Note that the 50K String objects are the live objects. There should have been many more and GC-ed from the heap.

If I'm reading correctly, each string retains 56 bytes in heap.
Using intern() should avoid many new String allocations. https://blog.codecentric.de/en/2012/03/save-memory-by-using-string-intern-in-java/
Does this PR introduce any user facing changes?
The string intern table brings in a trade off in CPU time because there's now an explicit seek overhead. Using intern() is not a no-brainer.
https://blog.codecentric.de/en/2012/03/save-memory-by-using-string-intern-in-java/ This suggests that the default string intern table size has changed to 60013 in Java 8+ so we should be able to put our user/group names in the intern table without too much seek time overhead, without extra JVM options.
However there are contradicting complaints on performance like https://stackoverflow.com/a/10628759/4933827 This is from 2017 so maybe later version java has improved significantly.
This means we need to benchmark the performance with a little care than just reasoning if interning makes sense or not.

#Before

#After

String interning reduced String instances by around 30% and around 20% in the retained heap size. The difference can be spotted in both the String row and the char[] row. Note that there's the same number of files (MutableInodeFile and MutableInodeDirectory), and both clusters are just started from the journal (no operations).

alluxio-bot, merge this please

@jiacheliu3 Awesome improvements!
Better to double check if any performance tradeoff.
@apc999 FYI, a good knowledge sharing topic and a lesson i am interested to learn

do we have a test can know how much memory we can improve from this PR?
or whether a benchmark exist?

@dbw9580 Do you need this in 2.7?


[Feature Request] Ability to include/exclude entity in logbook, history and recorder from entity registry

Currently, if you want to exclude an entity from the recorder, the logbook or the history tab, you have to modify the configuration in Yaml. That's fine and work as expected but it would be cool to be able to do this using the GUI. See my (beautiful) mockup.

/move to home-assistant-polymer


Fixed compilation issue with UnrealEngine 5.2 UE_LOG() being incorrectly passed a tchar array

would be good if there was a 5.2 branch as it was released yesterday
https://www.unrealengine.com/en-US/blog/unreal-engine-5-2-is-now-available

closed because FMOD integration for 5.2 is now available


EntangledPair fixed

(closed cus I didn't push the commit to origin before starting the PR)

(closed cus I didn't push the commit to origin before starting the PR)


[HOLD] Rewrite sitemaps

refs https://github.com/TryGhost/Ghost/issues/9601
Rewrite sitemaps "service" (it's not really a service yet).
We've refactored the url service. The sitemaps module does no longer need to fetch the resources. It can listen on the url events. This is super important, because only the url service knows which urls are valid.

listen on url events

do not fetch resources

the urlservice is the only component who knows which urls are valid

ES6 adaptions

keep caching logic -> only regenerate xml if there is a change

update tests

checked test coverage (100%)

[x] do not generate the xml on bootstrap, cache the data

[x] use proper classes / ES6

[x] update tests

[x] more tests

[x] final manual tests

Closing in favour of https://github.com/TryGhost/Ghost/pull/9596. If we merge dynamic routing, we will create one feature commit. If we have to revert, we only need to revert one commit.
https://github.com/TryGhost/Ghost/pull/9596 contains this commit.


Refactor unwrap() with Match

First attempt to refactor unwrap() with Match
Related PRs
#1144

Thx a lot for the effort, looks good to me. And if the main purpose of this task was not to exit or panic, then we would use match (or ? operator) to return the error to caller (or handle the error) instead of expect/unwrap which stops the program in case of error. FYI.


Minor typo fixes

Hey,
@wolffg, @MarkDaoust and @yashk2810 kindly review it.

Hey, @shivaylamba I've done some changes to resolve the conflicts kindly review it now.

Hey, @shivaylamba I've done some changes to resolve the conflicts kindly review it now.
@abhinavsp0730 There are still merge conflicts.

Hey, @shivaylamba I reverted my previous commit and just corrected some words.
And not able to find what is causing merge conflicts. @shivaylamba would you please help me
figuring out what is causing merge conflicts, so that I'll resolve it.

@abhinavsp0730  Can you fix the merge conflicts?

Closing this PR because it has already fixed.


fix: add zaira

resolves #1110
Checklist for profile addition

[x] Name the PR fix: add <your-username>.
[x] You've added file named your-username.json in the profiles directory.
[x] You've linked the PR to the correct issue.

Other additions/changes

[x] Changes made in this PR are mentioned below
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.
[x] I've read the contributing guidelines

This PR adds/fixes

Notes

@vikasganiga05, thank you for suggesting the change, I missed that.


Api integration

Additions in this PR:

Uses API as the data source for all metadata displays.
Forms Post data to the API, display errors to the user on failure, redirect to associated metadata object on success.
Some code refactoring to remove hard coded links.
Adds some abstraction. I made a conscious effort here to repeat code blocks so that needed refactoring will be more apparent down the road. I didn't want to commit to too many abstractions early on while the data model is still changing.

This code depends on the changes in introduced in: https://github.com/SolarArbiter/solarforecastarbiter-api/pull/51

are you going to make static-design the master branch after this?

are you going to make static-design the master branch after this?

Yes, I think merging this back into master is a move in the right direction. I don't think we'll have a functional dev-api spun up until we get the auth and database sorted out, which would be my only concern about having it in the master branch.
Do you want to review this before it is merged? Now that the bulk of the conversion is done, I can work in smaller PRs.

Alright, I fixed the timedelta parsing with if/elif/else for minutes/hours/days and factors of 1/60/1440 respectively with a default of 'NaT'. Added ac/dc loss factor to the Site form and metadata display. Fixed the leftover Observation labels in the forecast upload templates, and corrected the indentation.


update 2.14 release node

Description
Update 2.14 release notes to include recent ITs and bug fixes.
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Title should be release notes
release node -> release notes

Title should be release notes release node -> release notes

updated.


Which ssd model to use to generate the smallest tflite for a lite>experimental>micro project?

Hi, I have asked this question on stack overflow and I am going to ask the same thing here; Furthermore I would like to know if the lite>experimental>micro project is still under developing; In particular:

I cannot execute the MUL operation, will it be ever available for the micro sub-project?
If not, can I rely on previous ssd mobilenets (v1 or v2)  in order to execute an object-detection?
Which ssd model do you suggest to generate the smallest object detection model?
And more important, I would ask you if there is something that I have missed on the documentation/process that I have done (more details on the posted question) in order to generate the .cc file to be run on the microcontroller.

Thank you for your attention.

The micro project is still under development and ops are still being added.  The MUL op hasn't been added yet, but it is on the todo list.  Maybe @MeghnaNatraj can offer some advice with respect to SSD models.

The micro project is still under development and ops are still being added. The MUL op hasn't been added yet, but it is on the todo list. Maybe @MeghnaNatraj can offer some advice with respect to SSD models.

Thank you for your reply.

The TensorFlow Object detection model zoo has many pre-trained models and is the best resource to get started with SSD models. Most users pick a pre-trained model and use transfer learning to customize it (similar to your use-case). Unfortunately, even the smallest ones (mobilenet V1/V2/V3 models) target mobile devices (few MBs) and not embedded. So currently, there are 3 options:

Experimenting with the smallest pre-trained mobilenet models - (eg: ssd_mobilenet_v1_0.75_depth_quantized_coco, ssd_mobilenet_v1_ppn_coco, ssd_mobilenet_v2_quantized_coco, ssdlite_mobilenet_v2_coco, ssd_mobilenet_v3_small_coco)
Have you tried using the v1 and v2 models and do any of them fit your memory constraints? (Will discuss v3 in the next section)
Training your own model  or using embedded mobilenet config. Unfortunately, this would require a lot of effort.

For ssd_mobilenet_v3_small_coco, I visualized the model.tflite file  to check all the ops which are required. They are listed below:
index	builtin_code	  custom_code	version
0	ADD	          None	        1
1	AVERAGE_POOL_2D	  None	        1
2	CONCATENATION     None	        1
3	CONV_2D	          None	        1
4	DEPTHWISE_CONV_2D None	        1
5	DEQUANTIZE	  None	        1
6	MUL	          None	        1
7	RESHAPE	          None	        1
8	HARD_SWISH	  None	        1

When we compare this to the list of currently supported ops, we can see that the unsupported ops are: CONCATENATION (work in progress), MUL (work in progress) and HARD_SWISH (will be prioritized).
Now back to your questions:

I cannot execute the MUL operation, will it be ever available for the micro sub-project?

It's a work in progress, we'll update this thread once it's complete. #TODO

If not, can I rely on previous ssd mobilenets (v1 or v2) in order to execute an object-detection?

Yes!

Which ssd model do you suggest to generate the smallest object detection model?

Answered above in 1) Experimenting with the smallest .....

And more important, I would ask you if there is something that I have missed on the documentation/process that I have done (more details on the posted question) in order to generate the .cc file to be run on the micro controller.

There are no issues in your process, however, you can try visualizing/inspecting the tflite model to check what ops are required and ensure they are all supported before converting them. This can save your time as you can ensure all ops are supported at once vs trying to convert it to a cc file and finding a new unsupported op error every time. eg: Here, the conversion failed for one op (eg: MUL), and you would've missed that the model also requires 2 additional unsupported ops.

Received no response; Marking issue as closed.

Hi, MeghnaNatraj, I have a question related to this issue. I am working on object detection using TFLite micro + SSD model. For ssd_mobilenet_v3_small_coco, the last operator is TFLite_Detection_PostProcess. I couldn't find the support for this operator in TFLite micro. Could you give me some guide?

Hi, MeghnaNatraj, I have a question related to this issue. I am working on object detection using TFLite micro + SSD model. For ssd_mobilenet_v3_small_coco, the last operator is TFLite_Detection_PostProcess. I couldn't find the support for this operator in TFLite micro. Could you give me some guide?

Hi @alisonwh! We do have support for this operation in TFLite Micro:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/kernels/detection_postprocess.cc
We haven't yet created an example, documentation, or end to end test cases for it yet though, but hopefully you should be able to use it by just exporting your model and loading it into the interpreter. Drop us an email at<EMAIL_ADDRESS>if you do hit problems.

Hi @alisonwh! We do have support for this operation in TFLite Micro:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/kernels/detection_postprocess.cc
We haven't yet created an example, documentation, or end to end test cases for it yet though, but hopefully you should be able to use it by just exporting your model and loading it into the interpreter. Drop us an email at<EMAIL_ADDRESS>if you do hit problems.

@petewarden Thank you very much for your reply. I will try to use this operator and send you an email if I meet problems.

@petewarden Thank you very much for your reply. I will try to use this operator and send you an email if I meet problems.

@petewarden I tried to send an email to<EMAIL_ADDRESS>but it failed with the information that "We're writing to let you know that the group you tried to contact (micro) may not exist, or you may not have permission to post messages to the group. "

@petewarden I tried to send an email to<EMAIL_ADDRESS>but it failed with the information that "We're writing to let you know that the group you tried to contact (micro) may not exist, or you may not have permission to post messages to the group. "

@petewarden My question is as below:
I am working on object detection based on Arm Cortex-M7 + TFLite Micro. The model I used is SSD mobilenet v1 quantized.
Using https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/kernels/detection_postprocess.cc, the previous issue about operator DETECTION_POSTPROCESS is not registered has been fixed. Thanks for your help.
Now the application runs to interpreter invoke function. It fails at operator LOGISTIC invoke function. The reason is the input tensor type is UINT8. It is not supported yet as below.
// TODO(b/141211002): Also support other data types once we have supported
// temporary tensors in TFLM.
TF_LITE_KERNEL_LOG(context, "Input %s, output %s not supported.",
TfLiteTypeGetName(input->type),
TfLiteTypeGetName(output->type));
May I ask when will you add this support? Or do you have some suggestions for this problem?

@petewarden My question is as below:
I am working on object detection based on Arm Cortex-M7 + TFLite Micro. The model I used is SSD mobilenet v1 quantized.
Using https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/kernels/detection_postprocess.cc, the previous issue about operator DETECTION_POSTPROCESS is not registered has been fixed. Thanks for your help.
Now the application runs to interpreter invoke function. It fails at operator LOGISTIC invoke function. The reason is the input tensor type is UINT8. It is not supported yet as below.
// TODO(b/141211002): Also support other data types once we have supported
// temporary tensors in TFLM.
TF_LITE_KERNEL_LOG(context, "Input %s, output %s not supported.",
TfLiteTypeGetName(input->type),
TfLiteTypeGetName(output->type));
May I ask when will you add this support? Or do you have some suggestions for this problem?

@petewarden My question is as below:
I am working on object detection based on Arm Cortex-M7 + TFLite Micro. The model I used is SSD mobilenet v1 quantized.
Using https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/kernels/detection_postprocess.cc, the previous issue about operator DETECTION_POSTPROCESS is not registered has been fixed. Thanks for your help.
Now the application runs to interpreter invoke function. It fails at operator LOGISTIC invoke function. The reason is the input tensor type is UINT8. It is not supported yet as below.
// TODO(b/141211002): Also support other data types once we have supported
// temporary tensors in TFLM.
TF_LITE_KERNEL_LOG(context, "Input %s, output %s not supported.",
TfLiteTypeGetName(input->type),
TfLiteTypeGetName(output->type));
May I ask when will you add this support? Or do you have some suggestions for this problem?

Hello. I am also working on ssd with stm32. Have you solve the problem ?


Possible speed improvement for PMC files

PMC files with additional delta encoding can cause slow decoding with some malformed files like this one: id%3A000068,src%3A000370,time%3A12372812415,execs%3A7946655230,op%3Ahavoc,rep%3A5.zip
The LH decompressor chickens out very quickly, but since there is no communication about the incomplete decompression, the delta step will process the entire output stream. If a PMC file claims to have a very large output (several hundred MB) but is only a few bytes large, the delta step will dominate the time to unpack the file. Maybe this could be improved so that the delta step only processes as much data as has been unpacked.

Well, short streams are legitimate in the lh.library, thus they can't be immediately ruled out.
I simplified the processing and reduced the limits to allow only 128M files, which still should be plenty.
But yeah. Fuzzing found a real decompression bomb


Fall back to AQHI forecast

Uses the next hourly forecast value if a current observation is not available.

Maybe? With these tweaks to the the library and the sensor, I don't think we need to disable the AQHI by default.
Is it possible to use a named function for the fallback instead of the lambda?

I've change the PR to draft until we get this done. It shouldn't take long, just don't what is there accepted only to change it again.


Jesse: Watch caba.in

Jesse requests the watch of the watch_keyword caba\.in. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

caba\.in has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Setup files

In  this pull request :

[ ]     Created a new project using rails new command with PostgreSQL as the database.
[ ]     Set up the linter for improved code quality and consistency.
[ ]     Updated the README file to provide clear instructions and information about the project.

Status: Approved :tada: :heavy_check_mark:

@mohashyne,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights

Good README file. :heavy_check_mark:
Correct Gitflow. :heavy_check_mark:

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me (@rudicarrilloypr) in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Fixed a few typos and a bug

I added a missing word in a paragraph, corrected the name of a file to stay consistent with the previous sections of the guideline, and I fixed a typo in the class name which provoked a webpack compilation error during the deployment process (i.e., "error  'dynamoD' is not defined no-undef").

Good catch! Thanks!


Finance level 1 can request modifications to fixed-price invoice

Additional context
This is part of epic #2352.
User story

As a finance user Level 1 I need to request changes to a contractors invoice when it's incorrect, so that I can approve a valid invoice, and the contractor can get paid.

Describe the solution you'd like in Hypha
In Hypha the Finance Level 1 needs to:
Notifications
Priority

High (keeping you from completing day-to-day tasks)

UI Designs
Demo
https://user-images.githubusercontent.com/1899506/125954777-56529004-40d2-4334-9a68-fa554f398340.mp4
Wireframes
7.1

When the Finance Level 1 user logs in, they’ll see the list of invoices ready for approval. In this case, they want to approve Maya Summit 58 invoice.
7.2

When the invoice “Maya Summit number 58” opens they see the invoice information, they see the invoice embedded in the Hypha page.
On the right hand side in the actions to take panels, they see the deliverables that the PM has already assigned to the invoice. If they agree with what the PM has done, they don’t have to do anything with the deliverables.
They review the rest of the invoice, and see the Total amount in the top area of the invoice says $1,111.00, whereas the PDF invoice says $8,000. This error needs to be corrected before they can approve the invoice.
So finance user must update the invoice status to “request changes”.
7.3

When the finance level 1 user has pressed “Update invoice status” the modal opens and here they can choose what state to update the invoice to. They can also write a message to explain what change they’re requesting. This message will be sent to the PM.
The PM will then communicate with the Partner to request the changes.
7.4

/user-images.githubusercontent.com/1899506/125954859-37c770f9-1e7f-4913-b241-415647f6c0da.png)
Because there is a mistake in the invoice, they choose Request changes. There are other options - “Approved by finance 1, and Declined” which are available to them.
Approved by Staff and Approved by finance 2 are not available to them as they do not have those permissions.
7.5

Once they’ve chosen Request changes, they can then write their message.
7.6

The message they write is addressed to the PM - listed in the “OTF Lead” field in the upper portion of the invoice tab. The message explains what changes they are requesting.
7.7

Once they press update status, the message is sent to the PM. The finance level 1 user then sees the invoice status updated to “requested changes”.
Affected roles

Staff
Applicants
Finance

Ideal deadline
June 2021

@frjo @ei8fdb,
This is to confirm what happens after finance 1 requests the changes addressing pm and they receive the notification.
E.g. How do they(pm) communicate with the contractor?
Assuming this would follow the same initial flow b/w the PM/contractor. Where PM will have to again request changes addressing the contractor and when contractor resubmits, PM approves..and the invoice again shows up as review for Finance1.
To conclude the complete process has to be reversible..unless Finance approves the invoice..i.e. even when a pm has approved an invoice, once they are asked by finance 1 to request changes, they should have the possibility to request changes again.

@sks444 I agree with the [workflow you described ] (https://github.com/HyphaApp/hypha/issues/2454#issuecomment-998347051) in the above comment.
Finance 1 & 2 have the knowledge and training to identify issues with the invoice that the PM might have missed when they initially approved the invoice.

When Finance 1 or 2 ask for changes to an invoice it goes to the PM. The PM can fixit themselves if possible or sent it on to the applicant.
When the changes are done I think we should let the invoice go through the work flow again, just as if it was a new invoice.
This makes it easy to implement and it is a safe bet for now. Everyone will need to approve stuff all the time, no one left out.
I imagine that people with time will find this cumbersome. When we have pin pointed the issues we can fix them by making the workflow smarter. But for now stick with the easy and safe option.


Another Stab At Fixing The Cursor Jumping Issue

I went off #148 by narkeeso, which was trying to fix #121. I took his logic, put it in it's own method, reversed the order so value is set then cursor position is updated. Also, selectionStart, and selectionEnd are both set to stop highlighting of characters on paste. This way I was able to add the new logic to reFormatNumeric without poor results, and remove the blacklist.
This seems to work on my end, and passes tests on my local, but some feedback would be appreciated.

Added a commit that fixes a few related issues.
Not all inputs support the property 'selectionStart', so added a try catch for them on finding cursor position.
If someone filled out one input very quickly, tabbed to the next the update cursor event could fire after they where to the next input, which means they would focus back to the pervious input. So, added a check to make sure before cursor set that $target is focused.

@jamesreggio what do you think?

Any update on this?

@rovermicrover, thank you for this.
This solution is not perfect cross-platform, but it certainly helps the 80% case.
Because this is difficult to test, I'm going to update the minor version for this (so people have some sense that it may regress them).

What platforms are you seeing issues on? I am still actively working on related issues on our application.

I'm not seeing issues, per se, but I can tell you that selectionStart is only supported beginning in IE9.
http://help.dottoro.com/ljtfkhio.php

Ah, our IE9 support strategy is that if it works it only works by accident, so anything pre IE9 was far from my mind. So, I was working from that perspective. I can review everything and submit new commits based on keeping wider browser support in mind. What IE versions are supported, and are opera, opera-mini, and android stock browsers all supported?

I wouldn't prioritize < IE9. The cursor-jumping issue is a nuisance, but not a blocker, so it's fine to not fix it for older versions of IE. In fact, I would recommend against fixing it, since it would likely just add another layer of scar tissue to this library.


[How-to guide]: Change default proxy configuration

We provide an appSettings.json file which stores default configuration for the proxy, we should add a How-to guide which shows how developers can update the default configuration, so that developers don't need to remember the command line operations to configure the proxy to their needs.

Great addition! We should definitely cover this in our docs.


[BUG]: Flow Admin | Sync Template v2 (Model Driven Apps) - Wrong Environment name

The flow fails for all environments that are located in Europe (and maybe other regions too).
Not all environments have a Linked Metadata Host Name Suffix of name.crm.dynamics.com. Some of them (f.e the ones located in Europe) have a suffix of name.crm4.dynamics.com.
There are actually two flow steps that work with hardcoded strings building the environment that fail for these environments (404):

List Model Driven Apps, and

Get MDD App Creator.hardcoded

The formula could be replaced by the following formula to build a dynamic value:
concat(   body('Get_Environment_as_Admin')?['properties']?['linkedEnvironmentMetadata']?['uniqueName'],    '.',   substring(     body('Get_Environment_as_Admin')?['properties']?['linkedEnvironmentMetadata']?['hostNameSuffix'],      0,      indexOf(body('Get_Environment_as_Admin')?['properties']?['linkedEnvironmentMetadata']?['hostNameSuffix'], '.')   ) )
This code can be posted in a Compose Action placed below step Get Environment as Admin.

Thank you for providing such detailed notes. We will investigate.

Could this be an issue for other flows ? eg Flow Admin | Sync Template v2 (Canvas Apps)

I'm not 100% sure, but all the other Admin | Sync Templates v2 ... flows are running fine with me.
The patch I suggested has to be adapted for environments (e.g. Preview) for which no database has been created. For these cases indexOf() will actually throw an error.

This only repros for objects that dont have a supported connector (model driven apps, PVA), it doesnt repro for calls about canvas apps as they have a supported connector to use, and so we dont have to go through these CDS entities to fetch information.
From my investigation so far, the new PVA and Delete flows did this correctly (though differently).
I have this local fixed for the MDA flow and am running testing.

We have just released this fix with 1.54 of core . aka.ms/CoEStarterKitDownload

Hi Jenefer
Can I assume that 1.54 = 1.53 + the two fixes you released earlier ?
Regards
Nigel
From: Jenefer Monroe<EMAIL_ADDRESS>Sent: 24 July 2020 17:01
To: microsoft/powerapps-tools<EMAIL_ADDRESS>Cc: Nigel Price<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [microsoft/powerapps-tools] [BUG]: Flow Admin | Sync Template v2 (Model Driven Apps) - Wrong Environment name (#380)
We have just released this fix with 1.54 of core . aka.ms/CoEStarterKitDownload
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/powerapps-tools/issues/380#issuecomment-663609969, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACAXJUC7OHSAHTIQT37K2RTR5GVZ5ANCNFSM4PBGQ4CQ.

There are 3 fixes in the new version:
Fix to a bug in Admin | Sync Template v2 (Power Apps User Shared With), which caused fetching user permissions in Default environment to fail.
Fix to a bug in Admin | Sync Template v2 (Model Driven Apps), which caused environments with crm urls not ending in .crm to fail to sync. Example impact are environments like those with .crm4 in the url.
Fix to a bug in Admin | Sync Template v2 (PVA), which caused a failure when syncing a PVA Component’s flow, when that flow has not yet been added to the Flow entity.


Fix #287

Should fix #287
Also added some comments which you can remove :)

@vyshnav-vinod thanks for the contribution! :)


Add 3rd party content warning

Closes https://github.com/kubernetes/website/issues/22962
Related: https://github.com/kubernetes/website/issues/20232
This PR creates a new shortcode, 3rdparty-content.html which uses a reusable, translatable message to add warnings on pages that list third party content.
This PR and issue are a result of ongoing discussions in SIG Docs as we implement the 3rd party content KEP. The KEP itself is a good start, but there is a need to warn contributors in a clear, ongoing basis about what kinds of projects are acceptable to list on pages like these.
Feedback I'd like to see

What other pages should we add the warning to?

Preview link
Cluster Networking

Pages where this shortcode could be useful:
https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/
https://kubernetes.io/docs/concepts/cluster-administration/addons/

@celestehorgan also, feel free to propose revisions to the KEP text as well.

Thanks for the feedback all!
I'm going to put a WIP hold on this - I'm KubeConEU-ing this week.
/work-in-progress

/retitle "[WIP] Add 3rd party content warning"

Whoops, no quotes needed:
/retitle [WIP] Add 3rd party content warning

/retitle Add 3rd party content warning
/remove work-in-progress
Aside from some further revision of wording requested by @kbhawkey, this PR is ready to review from an implementation perspective.

Preview: https://deploy-preview-23107--kubernetes-io-master-staging.netlify.app/docs/concepts/cluster-administration/addons/
I like it. 👍 Leaving /lgtm to another reviewer, but this PR looks like it's headed the right direction.
/approve

BTW, you can (pretty much outright mis)use Hugo's numbering support for shortcodes to pass in a value into a localization string so you can render it within the localization string as {{ . }}.
If we want that behavior in order to make life easy for localization teams, we could log a feature request against Hugo to make it so that's a supported way of working. I'll be happy to explain more about what I mean here if anyone's interested.

I’m interested!

I’m interested!

OK, I'll write it up as an issue. Might be a few days (or longer).

@kbhawkey @zacharysarah – My latest push changes the warning {{< note >}} to {{< caution >}}.
Unsure if like.
Preview: https://deploy-preview-23107--kubernetes-io-master-staging.netlify.app/docs/concepts/cluster-administration/addons/

I left a note in the issue about using the "alert" shortcode. Any interest in that?

https://deploy-preview-23107--kubernetes-io-master-staging.netlify.app/docs/tasks/administer-cluster/declare-network-policy/


System font not accessed through proper APIs causing Times New Roman

Times New Roman is used as the font for the subtitle, rather than the default San Francisco font. The font used for the main title is a sans-serif font, although it does not look like San Francisco.

The following error is displayed in the console.
CoreText note: Client requested name ".SFUI-Regular", it will get TimesNewRomanPSMT rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[UIFont systemFontOfSize:].
CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.
CoreText note: Client requested name ".SFUI-Semibold", it will get TimesNewRomanPSMT rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[UIFont systemFontOfSize:].

Occurring on both Simulator and iPhone X both running iOS 13.4.

fixed in PR https://github.com/apasccon/SearchTextField/pull/199


setup CI

done: https://github.com/openwhyd/openwhyd-react/commit/86d057b3f886fc186fc0b13742ea9e2649912040


Icons are only visible on Hovering on the SCM view.

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Added icons in SCM view but it's only visible when hovering on that view. But if we move the cursor outside SCM view icons will not be visible
when hovering on the SCM view it is visible like this

If we move cursor from SCM view  icons will not visible

How to make this icons visible all the time.

/needsMoreInfo
What version and platform? What source control extension?

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

I am using vs code version 1.73.
And this SCM extension we are developing it.
creating source control like this

And in package.json adding icons like this

And created some views in SCM like this

How can we make icons visible all the time in SCM view

@ThejasJainMJ, inline action can be made visible all the time by toggling the scm.alwaysShowActions setting.
You can also enable the scm.alwaysShowRepositories setting so that a row is being shown for the repository with all the actions.

@ThejasJainMJ, I will go ahead and close this issue for now but please feel free to reopen it in case you still have any questions or concerns. Thank you very much!


test: use ISO strings for dates

Fixes the tests for Node 8.
Ref: https://github.com/nodejs/citgm/issues/466

@targos to confirm, this still works with older node versions right?

I confirm. Just ran the tests on 0.8, 0.10, 0.12, 4, 6 and 8 ;)

ping @mscdex. Could you please check this?

Still seeing failurs on 8.x
ping @mscdex

ping

Seems like this resolves the issue.
Why this has not landed? @targos  @mscdex

I didn't get any answer, so I closed this during a personal PR cleanup.
Happy to reopen if it can be merged and released by someone.


Error creating Array with Google Sheets

Hi there,
I'm getting an error creating an array. I've tried using strings and int dataTypes and I've used tabs, comma's and comma's with one space to seperate my data in my google sheet but nothing seems to work when I download the sheet.
Here's the error:
GDataDB Serialization Exception: Value is not a convertible object: System.String to System.String[] ListEntry LocalName: arraytest
UnityEngine.Debug:LogError(Object)
GDataDB.Impl.Serializer1:Deserialize(ListEntry) (at Assets/QuickSheet/GDataPlugin/Editor/GDataDB/GDataDB/Impl/Serializer.cs:71) GDataDB.Impl.Table1:Find(FeedQuery) (at Assets/QuickSheet/GDataPlugin/Editor/GDataDB/GDataDB/Impl/Table.cs:99)
GDataDB.Impl.Table1:FindAll() (at Assets/QuickSheet/GDataPlugin/Editor/GDataDB/GDataDB/Impl/Table.cs:52) testEditor:Load() (at Assets/Editor/Data/testEditor.cs:67) UnityQuickSheet.BaseGoogleEditor1:OnInspectorGUI() (at Assets/QuickSheet/GDataPlugin/Editor/BaseGoogleEditor.cs:97)
testEditor:OnInspectorGUI() (at Assets/Editor/Data/testEditor.cs:35)
UnityEditor.DockArea:OnGUI()

I was able to resolve this issue myself using the following code in the try catch in the Deserialize function in Serializer.cs:
try
{
if (property.PropertyType.IsArray) {
object[] array = c.Value.Split('\n');
property.SetValue(r, array, null);
} else {
var value = ConvertFrom(c.Value, property.PropertyType);
property.SetValue(r, value, null);
}
}

Sorry late for the reply, I've been heavily busy on these days.
Oops, forgot to update google side though excel's one correctly works. :-) Thanks for pointing it out.
By the way, your modification seems to only work for string type. It needs a few more lines to convert various array type (e.g. float, int, long etc.) See ExcelQuery.Deserialize function which can be found in the  ExcelQuery.cs file. You can find how it deals with various array type.
Let's me dig it out. It may takes a few days to fix the problem.
Secondly, yes, reflecting array type on the Inspector view is not supported yet. Frankly saying, the reflecting code was written long time ago even with Unity 3.x version so it needs to be entirely changed with SerializedObject and SerializedProperty which are native object of UnityEditor not with ExposeProperty custom attribute. And it also needs some nice approach for reflecting array type though it is not difficult. Not sure when I can get some free time for that work. So until that fix will be arrived, you may need to have some patient. :-)
Any suggestions or ideas are always welcome.
Cheers,
-Kim

Thanks for replying. Better late than never :)
Since my last comment I was able to get all types of array working, It's a bit hacky but it works.
This goes in the Deserialize function in Serializer.cs:
try
{
if (property.PropertyType.IsArray) {
                        if (property.PropertyType.GetElementType().IsEnum) {
                            var values = c.Value.Split('\n')
                            .Select(s => s.Replace(" ", string.Empty))
                            .Select(i => Enum.Parse(property.PropertyType.GetElementType(), i))
                            .ToArray();

                            Array array = (Array)Activator.CreateInstance(property.PropertyType, values.Length);

                            // copy the object values to the array
                            int l = 0;
                            foreach (var value in values) {
                                array.SetValue(value, l++);
                            }

                            property.SetValue(r, array, null);
                        } else {
                            object[] temp = c.Value.Split('\n');
                            Array array = (Array)Activator.CreateInstance(property.PropertyType, temp.Length);

                            for (int i = 0; i < array.Length; i++) {
                                array.SetValue(Convert.ChangeType(temp[i], property.PropertyType.GetElementType()), i);
                            }

                            property.SetValue(r, array, null);
                        }
                    } else {
                        object value = new object();
                        if (property.PropertyType.IsEnum) {
                        {
                            value = c.Value.Replace(" ", string.Empty);
                            value = Enum.Parse(property.PropertyType, value.ToString());
                        } else {
                            value = ConvertFrom(c.Value, property.PropertyType);
                        }

                        property.SetValue(r, value, null);
                    }

By the way, could you show me the spreadsheet which was tested for the above code snip?
-Kim

ID	Name	ProductsRequired	TaxIncomePP
0	Settler	"Fish
Linnen Garments
Cider"	10

That's enough. I just wonder how you set the array elements in the spreadsheet.
Thanks.
-Kim

Fixed and applied now in the googledriver-fix branch.

merged into master.


Update GCP DM tempale for .8

Update the dm template for .8 release

this change does not account for pre-istio .8 releases (the differences between them makes the install script/DM pretty complex).
using helm to generate the DM file
removed static kubectl version
download .tar.gz of helm, kubectl
staged DM template is on my git repo here

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: salrashid123
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
Assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @salrashid123. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

closing; will refile against
https://github.com/istio/istio/tree/release-0.8


Pull Request Preview Environments for increasing maintainer productivity

I would like to make life easier for Illa maintainers by implementing Uffizzi preview environments.
Disclaimer: I work on Uffizzi.
Uffizzi is a Open Source full stack previews engine and our platform is available completely free for Illa (and all open source projects). This will provide maintainers with preview environments of their PRs in the cloud, allowing them iterate faster and reduce time to merge. You can see the open source repos which are currently using Uffizzi over here
Uffizzi is purpose-built for the task of previewing PRs and it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors.
I can go ahead and create an Initial PoC for you right away if you think there is value in this proposal.
TODO:

[ ] Intial PoC

Hey there:
Thanks for your self-recommendation! You guys are building a great product over there, and we will check it out soon. You can also join our Discord Community to communicate with our team more efficiently.
Best,
ILLA Team


gd run example pong on Windows gives a error

AT. log here:
D:\Workspace2\testGrow\eg-master>cd 2d/pong
D:\Workspace2\testGrow\eg-master\2d\pong>gd run
go: downloading grow.graphics/gd v0.0.0-20240512032421-6cab2dce2af5
go: downloading grow.graphics/xy v0.0.0-20240129002912-5a525950a952
go: downloading golang.org/x/text v0.15.0
go: downloading runtime.link v0.0.0-20240510041921-494aa7fd7f63
go: downloading grow.graphics/uc v0.0.0-20240128001120-57fde712a2f4
-buildmode=c-shared requires external (cgo) linking, but cgo is not enabled
exit status 1
D:\Workspace2\testGrow\eg-master\2d\pong>gd run
-buildmode=c-shared requires external (cgo) linking, but cgo is not enabled
exit status 1
D:\Workspace2\testGrow\eg-master\2d\pong>go version
go version go1.22.3 windows/amd64

Thanks for the report, can you try CGO_ENABLED=1 gd run to see if this helps?

That was fast reply. I'm pretty new to golang. CGO_ENABLED=1 gd run in command line gives me a error says "CGO_ENABLED" is not a command.

oh, of course, sorry you are on Windows, you will need to set CGO_ENABLED=1 as an environment variable, a quick web search suggests, that you can set CGO_ENABLED=1 and then on the next command gd run. If this fixes the issue, I should be able to  update the gd command to do this automatically.

Looks like cgo or gd depends on gcc. We don't usually install gcc on windows, since most game developer use msvc.
D:\Workspace2\testGrow\eg-master\2d\pong>set CGO_ENABLED=1
D:\Workspace2\testGrow\eg-master\2d\pong>gd run
runtime/cgo
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%
exit status 1

Not sure whether MinGW's gcc will work. I will try it later.

I see, yes you can configure Go to use a different C compiler by using the CC and CCX environment variables but I am not sure that Go supports MSVC (see https://github.com/golang/go/issues/20982). You will most likely have better luck using GCC, Clang, or Zig as the C compiler. If you can get something working, do let me know, as it would be helpful to document or help to automate the steps needed to setup the build on windows.

Okay, finally got it to work on Windows. There are some weird things to overcome, but yeah, I will record it here for anyone who comes later.
The gcc thing on Windows always looks weird. First, I tried to install MinGW, but CGO complains it's not a 64-bit compiler. There are too many options in MinGW, and I can't figure out if there's a compatible 64-bit version in it in a short time.
So I switched to TDM-GCC. Downloaded the 64-bit version, and finally, cgo works. It tried to run Godot to open the project, but it fails with the log below,
`D:\Workspace2\testGrow\eg-master\2d\pong>gd run
Godot Engine v4.2.2.stable.official.15073afe3 - https://godotengine.org
Vulkan API 1.3.224 - Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 2060
ERROR: Unable to open file: res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.ctex.
at: (scene/resources/compressed_texture.cpp:41)
ERROR: Failed loading resource: res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.ctex. Make sure resources have been imported by opening the project in the editor at least once.
at: (core/io/resource_loader.cpp:274)
ERROR: Failed loading resource: res://ball.png. Make sure resources have been imported by opening the project in the editor at least once.
at: (core/io/resource_loader.cpp:274)
ERROR: Unable to open file: res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.ctex.
at: (scene/resources/compressed_texture.cpp:41)
ERROR: Failed loading resource: res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.ctex. Make sure resources have been imported by opening the project in the editor at least once.
at: (core/io/resource_loader.cpp:274)
ERROR: Failed loading resource: res://paddle.png. Make sure resources have been imported by opening the project in the editor at least once.
at: (core/io/resource_loader.cpp:274)
ERROR: res://main.tscn:45 - Parse Error: [ext_resource] referenced non-existent resource at: res://ball.png
at: _parse_ext_resource (scene/resources/resource_format_text.cpp:163)
ERROR: res://main.tscn:56 - Parse Error: [ext_resource] referenced non-existent resource at: res://paddle.png
at: _parse_ext_resource (scene/resources/resource_format_text.cpp:163)
ERROR: res://main.tscn:67 - Parse Error: [ext_resource] referenced non-existent resource at: res://paddle.png
at: _parse_ext_resource (scene/resources/resource_format_text.cpp:163)
exit status 0xc0000005`
I suspect it's because projects need to be opened once before running them since the engine needs to import everything like Unity. So I manually opened the project with the engine. And boom, it works. I closed the engine, tried gd run, and it also works without errors.

Oh I fogot to mention need set CGO_ENABLED=1 of course.

I've added a change to the gd command to set CGO_ENABLED=1 by default and to automatically import the godot project without having to open Godot. You can update the gd command by running go get grow.graphics/gd/cmd/gd@master. Let me know if this improves your experience and if you have any further ideas on how the experience can be improved for Windows users. I've updated the readme with a hint about setting up CGO. Also you, haven't mentioned how you installed Godot, do you think it would be helpful for the gd command to download Godot automatically?
Again thank you very much for reporting your experience here, if you find that the project continues to meet your needs, please consider financially supporting us, even a small amount helps!

I tried go get grow.graphics/gd/cmd/gd@master
Afterward, I deleted the .godot folder for testing purposes. However, I continue to encounter the same engine errors when running GD.
Apart from this issue, everything seems to be functioning as anticipated. While I have some minor suggestions for life quality improvements from a game development perspective, I might submit them at a later time.
I'm definitely willing to offer financial support if my game launches successfully with your excellent plugin! 😄

Also you, haven't mentioned how you installed Godot, do you think it would be helpful for the gd command to download Godot automatically?

I don't require such assistance personally, as the error log provides me with the necessary information. However, I do have a preference regarding GD: I would appreciate the ability to specify the path where Godot is stored on my PC. I believe many users visiting this repository already have Godot installed elsewhere, for valid reasons.

I would appreciate the ability to specify the path where Godot is stored on my PC

Thanks, do you think an environment variable would be suitable for this?

I would appreciate the ability to specify the path where Godot is stored on my PC

Thanks, do you think an environment variable would be suitable for this?

I'm not sure. Since the go project need specific version of godot. Maybe take a parameter for advance usage or read from local config file will do.


update man.py

man.py needs several updates.
-read water vapor variable
-return angstrom interpolated AOD at 412, 470, 660. this is similar to what aeronet.py does, makes comparisons with MODIS simpler

Addressed in PR #10 authored by @patricia-nasa.


[Automation] 1. Issue Reminders

Send reminders about internally mirrored client library repo bugs to improve our ability to meet SLAs.

This is not necessary for Perl.


fix: don't override validation errors

Handle 400 statusCode in the error handler.
Closes #209

@wyozi I ended up just using the status code as a condition to check for validation errors, I think it should be enough.

lgtm thx 🚀

:tada: This PR is included in version 4.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix Settings crash on clearing FancyZones Hex Input

Summary of the Pull Request
What is this about?
This PR fixes a crash that occurs in Settings on clicking the clear button in the WinUI ColorPicker element in FZ Settings.
PR Checklist

[X] Applies to #6022
[X] CLA signed. If not, go over here and sign the CLA

Info on Pull Request
What does this include?

Since there was no exception trace for this crash (the only available information was the exit code was 0xc000041d, which is not documented) I checked with the Xaml Island sample by adding a ColorPicker element to validate if it was a Xaml Island bug, but I could not repro the error. After deleting several code files/updating nuget packages to identify the differences between the two projects I found that declaring the ColorPicker element without the muxc: prefix fixes the issue. The muxc namespace is not required because of this code in the App.xaml file:
https://github.com/microsoft/PowerToys/blob/0349383d082e604a6111e79f1253645ae7bb0473/src/core/Microsoft.PowerToys.Settings.UI/App.xaml#L10
I was able to repro this on the Xaml Control Gallery repo as well, so it is most likely a WinUI bug. An issue has been created on their repo and it is linked in the above issue. The current changes are a workaround until the bug is fixed in the WinUI nuget package.

Validation Steps Performed
How does someone test & validate?

Launch PowerToys Settings and open the FancyZones page.
Try to clear all the input boxes in the ColorPicker drop downs to ensure it does not crash on any of them.

@ryanbodrug-microsoft I've converted this to draft for now, since the next WinUI prerelease is in a couple of weeks, and the fix could be shipped with that if it is reviewed in time. If the fix is not shipped with the WinUI prerelease in time for 0.23, we can merge this in


Extra Credit #2 maintaining document order after sorting

make the sorted output maintain the visual document order.

done.


[overlord] DGO load cancel is not supported

There's some code to "cancel" an in progress DGO load.  When porting OVERLORD, I mistakenly thought it was never called based on the C++ DGO loader to used to load the kernel.  But, there's a separate DGO loader in GOAL that will use the cancel command.
The DGO loads are pretty fast in the PC port so it's not super easy to trigger, but if you start a load and then quickly move the camera through a different level's load boundary while the first is still loading the DGO, it will send a cancel command which makes something hit an assert.

This seems to work now. Note that there is a separate issue of changing both levels at the same time that triggers two Load DGO's at the same time, which would crash IOP in the original game.


VSCode: Remove 'tab target' in SQL code blocks

When you add a SQL code fence using the 'slash commands' in the VS Code extension, there are three "tab targets" (not sure of the naming): one for the name of the query, one for inside of the query, one for after the query. We should remove the one inside the query and the one after the query.

And also data tables have a similar issue I believe


Special variable $¢ (Cursor) is not documented

Only https://design.perl6.org/S05.html mentions it.

Uhm..it also states that the match object and the cursor start the same in the beginning of the closure, but apparently I'm not able to get it:
> '123' ~~ / (\d) { say $0; say $¢; } \d+ /;
｢1｣
Nil

Also I'm not sure if such variable has to be documented at all, since it seems to me a little too much "magical" and the documentation for the Cursor states:
A user-space program usually doesn't need to deal with Cursor objects, just with their relatives, Match objects.

They might be useful in Grammars, for instance. So it might be necessary to document them, at least. However, it might also be necessary to find now what they actually do in the current implementation.

It does not seem to move:
 '123' ~~ / (\d) { say $/; say $¢; } (\d+) { say $/; say $¢; }/;

yields
｢1｣
 0 => ｢1｣
Nil
｢123｣
 0 => ｢1｣
 1 => ｢23｣
Nil

Is it maybe a not-yet-implemented feature?

In fact, Cursor is initalized like Match: https://github.com/rakudo/rakudo/blob/b07e7b1d0ffcafc1f9dfbb3d56eff59c8eaddbf8/src/core/Cursor.pm#L1
Nothing else. Looks to me NYI

Or maybe even won't be implemented; https://github.com/rakudo/rakudo/blame/b07e7b1d0ffcafc1f9dfbb3d56eff59c8eaddbf8/src/core/Cursor.pm#L1
The commit line talks about "Cursor/Match unification"

Hmm. Maybe this means that it should be removed or a deprecation warning added and then removed? If it's not documented/used anywhere.

This variable does appear in a 6.c-errata test file.

Behavior now is different, BTW:
 m:  '123' ~~ / (\d) { say "» / »", $/; say "» ¢ »", $¢; } (\d+) { say  "» / »", $/; say  "» ¢ »", $¢; }/;
 jmerelo, rakudo-moar a71e370bb: OUTPUT: «» / »｢1｣␤ 0 => ｢1｣␤» ¢ »｢1｣␤ 0 => ｢1｣␤» / »｢123｣␤ 0 => ｢1｣␤ 1 => ｢23｣␤» ¢ »｢123｣␤ 0 =>  ｢1｣␤ 1 => ｢23｣␤»

Are we all satisfied with the docs? I thought $¢ is now identical to just $/ after TimToady++'s recursor work. Am I wrong? Also, didn't we have a plan to remove $¢?

No, it's not the same as $/. Outside the regex, $/ contains the match object, $¢ is nil. Can add that to the documentation if needed.


If the source tree has a/b.cc and a_b.cc the cache files could collide in the cache dir.

If the source tree has a/b.cc and a_b.cc the cache files could collide in the cache dir.
This happens due to cache path normalization.
a/b.cc => cache/a_b.cc
a_b.cc => cache/a_b.cc

One way to fix the issue is to make the cache directory mirror the source directory. One gotcha to be aware of here are symlinks.

What about using $ for escape characters, a/b/c$.cc => a$b$c$$.cc?

sg, that is a nice simple solution. What about continuing to use '_' though? So 'a_b.cc => cache/a__b.cc' (hopefully I'm not overlooking a problem here).

One thing I think would be worth mentioning is to deal with backslash also in Win32 environment. In *nix it is legal to have backslashes in file names, but in Win32 neither backslashes nor slashes is legal.


Read Tenant wide Extensions - Component Properties

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version
SPFx version (1.15.2)
Node.js version (16.15.0)
etc

Issue description
Is it possible to read Tenant Wide Extensions - component properties directly from spfx application customizer solution?
if yes, how? :)

You can simply call this.properties.[propertyname] in the code as shown in the following tutorial - https://learn.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/using-page-placeholder-with-extensions
as long as you have the matching property names defined in the tenant wide extension list and in the component. When component loads based on the definition in the tenant wide deployment list, instance properties will be mapped based on the Component Properties values in the Tenant Wide Extensions list.
Example JSON in the Component Properties field in the list
{"tenantId":"", "defaultPath":"/library/documents", "isTenantWideDeployed":true}

This would assume that you have tenantId, defaultPath and isTenantWideDeployed properties in your SPFx component - as the component is instantiated runtime - those values in the list would be mapped for the instance.


FancyZones - Allow PowerPoint Slide Show to split across Zones

Provide a description of the new feature / enhancement
Would be good when using Slide Show from PowerPoint that when in full screen the user presentation section could be in one zone and the presenters section with all your notes, next slide, etc. could be in another zone. Particularly useful for ultra-wide 21:9 and 32:9 monitors or even single screen 16:9 and laptops when doing video calls.

Already tracked in https://github.com/microsoft/PowerToys/issues/279


Future migration improvements

Keeping track of these nice-to-have thoughts:

[ ] [Possible Option] Create script/query to report on any terms that are in the gistDeprecated file
[ ] [Possible Option] Create script/query to report on any terms in the gist namespace that are not in the current version of gist

@Jamie-SA @rjyounes
Do we want to move forward on this?

Yes, I think we should leave this open. It's up to developer bandwidth how soon they get implemented.


Update GitHub page to point website at https://pub.dartlang.org/packages/sass_builder

Tis convention

what GitHub page are you talking about?

The page URL that shows when you open the GitHub repo
From mobile. Sorry for brevity and/or spelling.
On Thu, Nov 16, 2017, 10:34 Luis Vargas<EMAIL_ADDRESS>wrote:

what GitHub page are you talking about?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-league/sass_builder/issues/9#issuecomment-345015966,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCikfQSy0zE3q_U5JppFTtLx1GbZfYks5s3IAngaJpZM4PxNRH
.

I still don't understand what page you refer to.

ahh got it

done

Thanks!
On Fri, Nov 17, 2017 at 6:30 PM, Luis Vargas<EMAIL_ADDRESS>wrote:

Closed #9 https://github.com/dart-league/sass_builder/issues/9.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-league/sass_builder/issues/9#event-1348225417,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCiry-E6fqt7SndISsuCKnw5iFsNJSks5s3kE3gaJpZM4PxNRH
.


Player Structure

Create the Player structure to store the CollisionState, MotionState, MotionSpeed, and the sf::Sprite of the player.

git fetch origin
git checkout 37-player-structure


Replace IsCyrillic with unicode range

IsCyrillic, a char class, is not available for java.util.regex on
Android and when a regex contains it is passed as an argument of
java.util.regex.Pattern#complie, the method throws
IllegalArgumentException.
To avoid this, replaced \p{IsCyrillic} with \u0400-\u04ff
http://unicode.org/charts/PDF/U0400.pdf
Following issues may be related to this PR.
#139 #111

@YutaSakata Thanks for sharing this 👍
I'll be running it through all our tests and shipping it with version 1.14.3 if all goes well.


How to validate if the field has been changed using valiForm$?

I am making Qwik app that uses modular-forms with valibot.
I have tried to make valibot schema that validates if the field of the form has been changed.
But the Qwik doesn't permit the use of local variables, the valibot schema should be located at the module scope.
So I think there is no way to provide the initial value to the schema, that is needed for that validation.
Is there a way to inject the initial value to the valibot schema?

I don't think this is currently possible. 😐

I see. Finally I have solved my issue like this.
    validate:$<ValidateForm<Inquiry>>(async values => {
      const {issues} = await safeParseAsync(
        SomeSchema, values, {abortEarly:true});
      const formErrors: Record<string, string> = {};
      if (issues) {
        for (const issue of issues) {
          formErrors[getDotPath(issue)!] = issue.message;
        }
      }
      const {body} = values;
      if (body === loaded.value.body) {
        formErrors.body = "Not changed";
      }
      return formErrors;
    }),

I think it is not rare case that the validation on relationship between the initial (current) values and input values.
How about to add the second argument to the valiForm$ to provide custom validator QRL like above?
As using that, the above to be like this;
    validate:valiForm$(SomeSchema, $(({body}, errors) => {
      if (body === loaded.value.body) errors.body = "Not changed";
    }),

I need more context. What is loaded? Why it is necessary to access this object? Can you send me a minimal reproduction via StackBlitz?

I sent a PR. pls look at that.

@fabian-hiller Currently the modular-form couldn't treat the validation that need to refer the initial value of the form, so I couldn't show it on the stackbliz.
The context as follows:
I needed to check the update of a field of the form.
I wanted if it is not changed, show error to the form.
The initial values are loaded by using routeLoader$ of the Qwik.
If I use the valiForm$ as the validater of the form, there is no way to validate the change/update of a field of the form.
The only way to do it is using custom validater QRL including the validation steps of the validForm$'s.
But it is hassle, I would like to add the function to the valiForm$.

Giving a real example, suppose the edit form of the blog post.
We have to avoid to submit without the change.
The current blog text is the initial value of a field of the form, this is loaded by the routeLoader$.
I think this situation is common, but current valiForm$ is not useful for such cases.

I don't quite understand the use case. Do you want to send the form only when it is "dirty" and contains changes?

@fabian-hiller Partially Yes. The dirty state should exist not only for the entire form but for the certain field or fields.
For the case of the editing a blog post, it is not valid if the change is consists of only hidden fields such as CSRF token.

There is a dirty state for each field. If I have a minimal StackBlitz reproduction, I can check if what you want is already possible. At the moment I am not interested in extending the functionality of Modular Forms because Valibot has a higher priority and the moment and I may rewrite Modular Forms anyway.

@fabian-hiller The problem is a bit complicated for making example on the StackBlitz.
So I provide a real example that is using the modular-forms with valiForm$ (with my patch applied)
https://twpro.jp/twprofile
I couldn't make this form validation without my PR #240
The part relating with the validation goes like this:
  const [form, {Form, Field}] = useForm({
    loader:{value: {
      id:undefined as number|undefined,
      form_id:app.account?.form_id ?? undefined,
      body:app.account?.form_body,
      email:undefined as string|undefined,
      email_ok:undefined as boolean|undefined,
      privacy:false as boolean,
    }},
    validate:valiForm$(InquirySchema, $(async (
      {body, email, privacy}:Partial<Inquiry>, errors:FormErrors<Inquiry>
    ) => {
      if (body === app.account?.form_body) {
        errors.body = "フォームに内容を記入してください";
      }
      if (email && !privacy) {
        errors.privacy = "プライバシーポリシーに同意頂く必要があります。";
      }
    })),
  })

Sorry for not getting back to this at the same pace I usually do, but at the moment I can't find the time to investigate this further. I will try to come back later.

@fabian-hiller Partially Yes. The dirty state should exist not only for the entire form but for the certain field or fields. For the case of the editing a blog post, it is not valid if the change is consists of only hidden fields such as CSRF token.

Yes a method such as "setDirty" for a field would be a godsend

Ok so, apparently, you can set a field to "dirty" manually with:
form.internal.fields[your field name]?.dirty.set(true);

I have found a workaround.

Put a clone hidden field for the field that requires changed value.
pipe the check to the form schema to confirm they are not equal.


Fuzzy search in 'open database object' dialog

Same request as https://github.com/dbeaver/dbeaver/issues/435 but for the "open database object" search

Could you please provide a bit more info? Steps to reproduce and actual result would be helpful.

@kseniiaguzeeva updated the description with a link to the feature implemented somewhere else

for now, masks could be used in open database object search.


[Frontend][OpenAI] Add support for OpenAI tools calling

This PR updated from #3237 , supported latest version of vLLM (v0.4.2), added more flexibility and fixed some issues.

@Xwdit thanks for taking my feedback!

I have a couple ideas to add, that I can take a crack at this weekend if you would be open to it!

It might be be worthwhile to allow using jinja templating for defining the tool call system prompt to simplify and allow more flexibility and customization
It might be worthwhile to allow a user to specify somehow if they want guided generation ("outlines") to be used for tool calls. Some models (e.g. the Hermes 2 Pro Models by Nous Research, which this PR seems to default to in terms of the default templates) don't require guided generation for tool output, and guided generation can introduce overhead if the output choices (tool calls) are complex JSON objects. Notes on this from the vLLM discord here and here
The Hermes 2 models also use system prompts for the tool calls - this PR does not allow you to request/enforce that, but simple adds the tool call to the first message regardless of the role. it is probably a good idea to check if there is a system-role message and if so add the tool call stuff to it, and if not, then add the tool call stuff as a system-role message

I have a couple ideas to add, that I can take a crack at this weekend if you would be open to it!

It might be be worthwhile to allow using jinja templating for defining the tool call system prompt to simplify and allow more flexibility and customization
It might be worthwhile to allow a user to specify somehow if they want guided generation ("outlines") to be used for tool calls. Some models (e.g. the Hermes 2 Pro Models by Nous Research, which this PR seems to default to in terms of the default templates) don't require guided generation for tool output, and guided generation can introduce overhead if the output choices (tool calls) are complex JSON objects. Notes on this from the vLLM discord here and here
The Hermes 2 models also use system prompts for the tool calls - this PR does not allow you to request/enforce that, but simple adds the tool call to the first message regardless of the role. it is probably a good idea to check if there is a system-role message and if so add the tool call stuff to it, and if not, then add the tool call stuff as a system-role message

Hello, sorry I just saw this message; thank you very much for being willing to contribute to this PR and VLLM. If you are willing, I would greatly appreciate it

What is the preferred way to contribute to a PR? Should I create a new one with all the changes in this one and additions, or create a PR into your branch on your fork?

What is the preferred way to contribute to a PR? Should I create a new one with all the changes in this one and additions, or create a PR into your branch on your fork?

It's fine with me either way, do as you prefer

What is the preferred way to contribute to a PR? Should I create a new one with all the changes in this one and additions, or create a PR into your branch on your fork?

I have rebased the PR to the latest commit on vllm, don't forget to sync before you start working ;)

I have been thinking about this a lot and I have a few more thoughts:
1. Ensuring that tools are in a system prompt
I think that this would be a good change to make.  I added it in the branch that I'm making, and will PR it into this branch on your fork @Xwdit  - then if/when it's merged, it will be reflected in this PR
2. Guided Generation / Outlines
After digging through the code some more, I realized that guided output is only forced if you use tool_choice, and isn't forced otherwise if you set it to auto - so my performance concerns shouldn't be an issue.
3. Tool Choice System Prompt Formatting
I was thinking more about how to handle tool usage and tool calling, and I think that it's probably just easiest and best to let people provide a jinja template for the tool usage system prompt, with a tools parameter that receives the list of tools specified in the OpenAI API - their template can specify how to process it.
Familiarity
Users are in many cases familiar with Jinja already, since it is commonly used for chat message formatting including in this framework. (for OpenAI API-compatible chat completions, see the --chat-template TEMPLATE CLI argument
Additionally, many models in hugging face specify a chat prompt jinja template in their tokenizer_config.json - if tool-using open models proliferate, we might expect that they may do the same for tool usage, in which case it would be easy to support in vLLM with minimal refactoring.
Flexibility & Future-Proof
Allowing vLLM users to specify their own Jinja template for the tool usage system prompt, similar to allowing them to specify a Jinja template for the chat prompt formatting, is flexible and allows for a wide variety of models and templates.
Users would not be locked in to the assumptions that we currently make about the tool usage system prompt instruction that are apparent in the structure of thetool_params argument that we currently use. It would be easy to add support for new open function-calling models that use a radically different format for the tool calling system prompt instruction by adding a new jinja template, instead of having to refactor core code.
Version Control
Using Jinja template for function calling system prompt formatting makes it easier for people to contribute additional jinja templates for their favorite models & have those be tracked in version control for easy usage, similar to how popular chat model templates are tracked as jinja templates (e.g. examples/template_chatml.jinja)
Please let me know what you think @Xwdit and if you agree or disagree. I haven't finished the implementation yet since it won't be a small amount of work, and I don't want to waste effort on it if you feel like jinja templates for tool usage system prompts isn't the right path forward.

If you agree that it's a good idea, I will be happy to take a crack at doing the jinja implementation myself :)

If you agree that it's a good idea, I will be happy to take a crack at doing the jinja implementation myself :)

Sorry for any late response 😢; All these ideas look great. Thank you very much for taking the time to work on this, I have no problem with them😉

Any updates on this PR?

work in progress still; I will try to knock this out in the next few days - got busy with some life stuff.

WIP on implementing the changes in #5649

hi @Xwdit this is closed by #5649 I think :)


Use $select query parameter

This issue is for the Frontend aspect of getodk/central#205. @lognaturel writes:

it won’t make a noticeable difference with small forms and fast connections but it will with big forms and slow connections

Now that getodk/central-backend#494 is merged, the next step is to think about Frontend. I'll use this issue for related notes. The $select query parameter will be used in two components:
SubmissionShow (submission details page)
From the submission OData, I think SubmissionShow just uses __id, __system, and meta/instanceName.
However, things aren't as simple as requesting $select=__id, __system, meta/instanceName. I believe that some forms don't have a meta/instanceName field. For such a form, requesting $select=meta/instanceName would result in a 400.23 Problem response from Backend.
Another idea might be to $select all of meta rather than just meta/instanceName. If the resulting meta group has an instanceName field, then we'll use it; otherwise we'll know that there isn't an instanceName field. However, I also think it's possible that some forms won't have a meta group. For such a form, requesting $select=meta would again result in a 400.23 Problem. Backend also doesn't currently support $select=meta: right now, the only ComplexType that can be $selected is __system.
Question: does the OData spec require that $selecting a field that doesn't exist result in an error response? Could we have Frontend request $select=__id, __system, meta/instanceName, and if meta/instanceName doesn't exist, Backend will ignore the $select or select just __id and __system?
When SubmissionShow sends a request for the submission OData, it also sends a request for the form fields. We could serialize those requests such that we request the form fields first, then request the submission OData once there's a response, $selecting meta/instanceName or not depending on whether it is among the form fields. However, that would require two round trips to the server before rendering the page, so I don't think we should take that approach.
Maybe the easiest thing would be to pull the instance name off the latest submission version, which SubmissionShow also requests, rather than off the OData.
Navigation to SubmissionShow will often happen from SubmissionList (the submissions page). By the time it renders a link to SubmissionShow, SubmissionList will know whether the form has a meta/instanceName field. It could add a query parameter to the link if the form has a meta/instanceName field (something like ?instanceName=true). We could then have SubmissionShow send a request with $select=__id, __system, meta/instanceName if instanceName=true, send a request with $select=id, __system if instanceName=false, and send a request without $select if instanceName is not specified (for example, if the user navigates directly to SubmissionShow).
SubmissionList (submissions + draft testing pages)
SubmissionList has a dropdown to select the fields to view. By default, this is the first 10 fields (excluding repeat groups). It'd be great if when we request the submission OData, we $select just those 10 fields (+ __id and __system). However, as with SubmissionShow, right now we request the first chunk of submission OData at the same time as we request the form fields. We could serialize those requests, but that doesn't seem ideal.
One approach might be to not specify $select for the first chunk of OData, but then specify it for later OData requests: for later chunks in the infinite scroll, when the field selection changes, or when a filter changes. Only the first OData request wouldn't specify $select.
Somewhat separately, I think we could also considering saving the column selection in a Frontend query parameter. Right now, when a filter changes, that change is reflected in the Frontend URL: a query parameter changes. That allows users to bookmark a filtered view of the submissions page. If we added the column selection to the Frontend URL as well, then users could bookmark a view of the submissions page with the columns that they wish to see. We could have SubmissionList look to that Frontend query parameter when it sends the request for the first chunk of OData: if the query parameter is specified, then Frontend will pass it along to Backend via $select. (Something to consider: the query parameter could be quite long. Could we encode or compress it somehow?)
@lognaturel also asked:

issue request using most recently available selected fields falling back to no $select; cancel and reissue if fields come in and list doesn’t match?

I think something like that would work well once we start storing user preferences in Backend. (Though possibly wouldn't be needed if we make the other changes above?) We've also talked about adding saveable views of the submissions table, which I think would intersect with this.

One approach might be to not specify $select for the first chunk of OData, but then specify it for later OData requests: for later chunks in the infinite scroll, when the field selection changes, or when a filter changes. Only the first OData request wouldn't specify $select.

That certainly seems like a reasonable, valuable approach to me. Maybe it's just a first step but it should really help a lot for very wide forms on a slow connection.

once we start storing user preferences in Backend.

I was trying to communicate an idea that would be frontend-only to possibly use select on the first OData request but only if it takes a long time without the select. I don't think it's necessary, though. Focusing on subsequent queries seems sufficient.

Somewhat separately, I think we could also considering saving the column selection in a Frontend query parameter.

If we did this, we would need to figure out how to represent a selection of no columns. For the "Submitted by" and "Review State" filters, if you select none, then it falls back to all, because actually selecting none would necessarily result in zero rows. For these filters, the absence of query parameters (the default) means that all options are selected, not none. For the column selection dropdown, I think the absence of a query parameter should likewise fall back to the default behavior, selecting the first 10 fields. However, unlike with the filters, there are cases for this dropdown where it can be desirable to select none. Even if you deselect all the columns in the column selection dropdown, you will still see the fixed columns, including "Instance ID" and "State and actions". If we want that to continue to be the case, and we want to add a query parameter for the column selection, then we will need to think about how to represent a selection of no columns in the query parameter.

Maybe the easiest thing would be to pull the instance name off the latest submission version, which SubmissionShow also requests, rather than off the OData.

It looks like SubmissionShow actually requests the first submission version, not the latest. We could also request the latest, but it seems preferable to avoid the additional request.

Another idea might be to $select all of meta rather than just meta/instanceName. If the resulting meta group has an instanceName field, then we'll use it; otherwise we'll know that there isn't an instanceName field. However, I also think it's possible that some forms won't have a meta group. For such a form, requesting $select=meta would again result in a 400.23 Problem. Backend also doesn't currently support $select=meta: right now, the only ComplexType that can be $selected is __system.

As of getodk/central-backend#717, Backend now supports $select=meta, so this approach is appealing. How likely is it that a form won't have a meta group? If it's quite unlikely, I think we should just specify $select=__id,__system,meta. If it's a possibility that we want to account for, then we could try to send a request with $select, then if that fails with a particular Problem code, resend the request without $select. (But if we can avoid that logic, that would be nice.)

I answered this somewhere else but for completeness: it's safe to assume a form has a meta group. It's also safe to assume it has instanceID but it may or may not have instanceName.


Forget password

Dev Summary
This is the first part fo the Password Reset Flow issue (I didn't link it because this PR shouldn't close that issue as it will only be half completed)
client - front end files
ForgetPassword.tsx - created file, based on Login.tsx - prompts for email, once it gets an email should display a snackbar saying message is sent and remove field to enter password. This response should not let the user know this the email was found in the database.  Routes form data (email) to pi/users/reset_password on backend
Routes.tsx - modified Routes to go to ForgetPassword.tsx when user clicks Forgot Password link from login.tsx page
SimpleSnackbar.tsx - modified this as it had a hardcoded message. Now it takes in a message to be displayed (but defaults to "You Claimed This!" so as not to effect the other page that uses this function
server - backend files
src/users/users.controller.ts - importer Request and created a route for Post('reset_password'). It takes the email and attempts to find the users using already created function from user.serve findByEmail.
If it finds the user. Right now it doesn't do anything (though I tested that it knows if it finds the user via console.log's - but I commented those out.
NEXT STEPS
Need to send an email to the user if the user is found. This email will need to have a token so it can send that along to the change password page (not created yet).
The frontend change password page needs to be created as well as backend route to do that process.
Some of my research shows that I think we might need to create  a table to hold these tokens temporarily. So when they are created they are stored and can be compared when the password update request comes in. These tokens should be removed after a time as well as rermoved if the password is updated.
Test Plan
On the front end you can click Forgot Password (from the login screen) and be taken to a new page to enter your email. Regardless of what email you entered you should get the same result.
(backend should only find the user if you enter an email that exists in your database - but right now that does not chnage functionality)
Resources
This is for node.js but I think a similar methodology will be needed for nest.js
https://blog.logrocket.com/implementing-a-secure-password-reset-in-node-js/

Ok, because of the restructuring I just created a new branch - forget_password_restructured
then I re-made all my changes there
Now I am goign to make the requested fixes to that branch and I'll create a new pull request for that I suppose?
This Pull Request and Branch will need to be deleted after that I support. Let's wait until I make all the above changes and re-submit a pull request.

Closing this pull request - it should NOT be merged


Download hungs without any error if old download path does not exist

version 1.8 (also on 1.7)
Problem:

Connect removable storage
Select path on the removable storage as a download path
save settings, close Udeler, disconnect removable device
start Udeler download something

Result:
Download hangs, without an error

Yes that's correct.  It would prevent it from downloading unless you reset the path. I guess it is the expected behaviour, but displaying an error pointing the exact problem would be nice (Will work on it)


Install NodeJS and npm with the core helper

Since the app fell to level 1, I noticed all the warnings about NodeJS version, and it looks like it is not install the "proper" way, with the helper. Let's try that.
PR Status

[ ] Code finished and ready to be reviewed/tested
[ ] The fix/enhancement were manually tested (if applicable)

Automatic tests
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

!testme

Thanks for trying to fix this! I'm currently looking into this now. I think there is a way to tell ArchiveBox where to look for the node binary it needs.

!testme

!testme

Thanks for trying to fix this! I'm currently looking into this now. I think there is a way to tell ArchiveBox where to look for the node binary it needs.

Ah nice! I concede that I tried that a bit blindly, it's nice to see they at least offer a setting.
🤞

Cool, it looks like your fix, plus also using ynh_node_load_PATH for archivebox commands fixed the issue. There is another issue in the upgrade part I will check out now.

seeing this error in the logs,
npm ERR! fatal: write error: Disk quota exceeded
wonder if thats something about CI running out of space

!testme