Make the control transfer buffer size actually configurable

Currently there is only a hack to double its size. Ideally the user should be able to supply their own &'static [u8] to use for control transfers - however this is easier said than done.
Design goals:

Enable the user to supply their own buffer...
...but still somehow have a default buffer that is used automatically if the user doesn't supply one.
Don't waste memory by having the default buffer allocated even when not used.

I tried to deal with "3" by using a generic argument for the control buffer type. It threaded through a lot of types and was too ugly to justify (having a generic argument on UsbDevice just for this is excessively verbose)

I suppose one idea would be to make the "custom buffer" a configuration option as it is now, but instead make it get rid of the default buffer and force the user to provide one.

Hi @mvirkkunen,
Another option might be to make the buffer size a generic argument using the typenum crate. This would still waste memory, though, when not used.
I made a quick fix in https://github.com/Windfisch/usb-device/commit/ba098f847d8cb5e1228426d2153ab02ac49cc34a where i just added control-buffer-512 and control-buffer-1024 flags.
I'm currently building a MIDI interface, and I am hitting even the 256 bytes limit with as few as 12 midi ports. :(
I really think that we should offer some way to increase the buffer size further right now, even if there might be a better option implemented later.
Would you agree to merge such a pull request (possibly with more buffer sizes; 2k, 4k and 8k, maybe with intermediate values)? In that case, I'd prepare one with the granularity we agree on.
(After all, even the cheap STM32F103 blue pill boards have 20kb of RAM, which is mainly unused in a lot of projects)

Now that we have at least some const generics support in stable Rust, maybe the generic argument could be worth looking into now. I seem to remember it being an extremely noisy addition when I looked into it last time but... I'll have to try and see.
Another idea I've been toying with before const generics is having a method in the builder to supply your own &'static mut [u8] to use as the buffer. It unfortunately requires unsafe code due to the static mut but such is life. If the slice is given, then it is used and the internal buffer is ignored (and wastes some space). There could be a configuration flag to disable the internal buffer if you want a larger buffer and you don't want to waste the 128 bytes on the unused buffer.

I don't think that passing a &'static mut [u8] is a good idea if we can just have "const generics" (which aren't really a thing yet, but can be emulated using types using typenum and generic-array).
If you like, I could try adapting the code to use typenum, and file a pull request if it works.
I made an example.

Hi,
DFU protocol (firmware upgrade via USB) uses control endpoint to transfer firmware blocks to/from the host. It works with a 128-byte transfers, looks like the only drawback is that it's slightly slower, so not a big deal. From the code point of view, it also basically just works, but a little bit awkward.
Anyway, while it's not about configurable buffer size at all, as a possible alternative, here's a proof of concept for optional "chunked" Control IN transfers. Something similar should be possible for Control OUT transfers, and maybe this path can be used to override the built-in descriptor generator if class needs something more powerful or large.
At this point the code is very experimental, I haven't tried flashing it to the actual controller to see if it really works, it just passes software DFU tests.
usb-device patch - https://github.com/vitalyvb/usbd-dfu/commit/7416c72603aa95457fee52fc6e8af0be6c0c0f56. I guess the main change is in write_in_chunk() which handles two ControlStates and three possible buffer sources. From class' perspective, API succeeds with one of the two types of successes - 1) success, we're done, and 2) success, we're transferring chunks. Distinction is useful because most likely class will need to track the transfer state itself, and class' code looks a bit cleaner compared to a few other things I tried.
Class' patch - https://github.com/vitalyvb/usbd-dfu/commit/19ebd4022bb73b2fbee0b1389a0abe48e4d873a1. Most convoluted part is in control_in_chunk() which tries to figure out when transfer should stop, and I didn't spend too much time cleaning this up...
Tests I used are focused on DFU. It's using the Control Endpoint, but not well suited to test various USB protocol errors, error handling is certainly not complete. In particular, when a chunked transfer aborts for some reason, class' implementation should be aware of that and change its internal state accordingly.
Get descriptor, string test - https://github.com/vitalyvb/usbd-dfu/blob/7c43e7b689939f3512ce2e6c9b32b801619d4d8c/tests/dfu_1k_tests.rs#L217-L251
Chunked transfer test - https://github.com/vitalyvb/usbd-dfu/blob/7c43e7b689939f3512ce2e6c9b32b801619d4d8c/tests/dfu_1k_tests.rs#L266-L296
Code branch - https://github.com/vitalyvb/usbd-dfu/tree/usbdevtest2
Is this approach worth pursuing any further?
Thanks!

Hi @vitalyvb,
do you think that your proposed change would make it possible to support "long" descriptors for other drivers without having to modify them? Or would we still need to increase the buffer size in these cases?

Hi @Windfisch, as far as I understand, control_in() in a class should be able to override usb-device's handling of descriptors, so it should be possible to craft a fully custom reply on a GET_DESCRIPTOR request. I haven't tried this yet. Perhaps in a few days I can try.

@Windfisch, unfortunately, it didn't work easily. Primary problem is that GET_DESCRIPTOR needs descriptors from all classes, but every single control_in() handler works with one class only, so this needs a new API. If there's only one class, this is how it would look with the existing API - https://github.com/vitalyvb/usbd-dfu/commit/ab601b871ad3bca563d343926eb6486d51f4849f

I think the right approach here is to follow what smoltcp does. Specifically. the user is required to supply a control pipe buffer. This eliminates the need for feature flags and const-generics to the repo. I don't see a need to provide a default buffer if the user doesn't supply one, as this just obfuscates what's going on.


Update xformers install, other small fixes

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos, doc improvements)
[ ] Did you read the contributor guideline?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Failing build. This fixes some steps, still some failure in the test.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Merging to unblock other PRs


gha improvements

schedule tests run at 1.15 every day
add docker tests workflow
fix release workflow

Merge after #33


{App Service} az functionapp list-runtimes: Hide function app runtimes with is_hidden field

Description

Testing Guide

History Notes

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[X] I adhere to the Command Guidelines.

[X] I adhere to the Error Handling Guidelines.

Still need to figure out if it's okay for the dotnet-isolated stack to no longer be available (it's marked as hidden by the API)

App Service

/azp run


Update steps for Palantir Foundry

As discussed over email with @v-hagamp

@jeevansd , I have reviewed it successfully, please sign off it to merge these changes.

#sign-off


thellier_gui phantom message window

after completing thellier auto interpreter,  the box that says "Running Thellier auto interpreter
It may take several minutes depending...."  stays open well after the auto interpreter has finished.  This is a new bug....

I've been able to get Thellier GUI to auto interpreter to run through this problem, but I'm not sure that the problem is actually solved.
Some of the relevant code, in dialogs.thellier_interpreter.run_interpreter:
pars=thellier_gui_lib.get_PI_parameters(self.Data,self.acceptance_criteria,self.preferences,s,tmin,tmax,self.GUI_log,THERMAL,MICROWAVE)
...
pars=thellier_gui_lib.check_specimen_PI_criteria(pars,self.acceptance_criteria)
...
B_anc=pars['specimen_int_uT']
....
if sample not in Grade_A_samples.keys():
Grade_A_samples[sample]={}
if s not in Grade_A_samples[sample].keys() and len(All_grade_A_Recs[s])>0:
Grade_A_samples[sample][s]=[]
            if pd.notnull(B_anc):  # I added this line to skip null values, which makes the interpreter run successfully to completion
                Grade_A_samples[sample][s].append(B_anc)

For some specimens, B_anc is null (grabbed from pars['specimen_int_uT']).  Those null values, in Grade_A_samples (which later becomes Grade_A_sorted), were causing the auto interpreter to hang.
I'm not terribly familiar with this code.  @ltauxe, @ronshaar, let me know what you think.  I can dig some more but I'd like some input first.  I've pushed my two line fix (see above).


Update install.md

addec cmake to windows pacman install, just in case. Many people do not have cmake installed by default. Just quality of life.

Thank you, but I think mingw-w64-x86_64-cmake is the correct package. Have you tried? Maybe that resolves #315 as well?

You might need to uninstall the cmake package before running cmake, not sure how these two packages link the cmake executable.

The answer is probably that mingw-w64-x86_64-cmake is used when running the MINGW64 shell.

Closing this as I saw #315 was resolved.


Microsoft.DataFactory/factories/pipelines@2018-06-01 - The definition of httpRequestTimeout in WebActivity is missing

Microsoft.DataFactory/factories/pipelines@2018-06-01 - The definition of httpRequestTimeout in WebActivity is missing
Description
The httpRequestTimeout field it not defined in the swagger, but it's a working field.
{
    "properties": {
        "activities": [
            {
                "policy": {
                    "retry": 3,
                    "retryIntervalInSeconds": 30,
                    "secureInput": false,
                    "secureOutput": false,
                    "timeout": "0.00:14:00"
                },
                "type": "WebActivity",
                "typeProperties": {
                    "authentication": {
                        "password": {
                            "type": "SecureString",
                            "value": "**********"
                        },
                        "type": "Basic",
                        "username": "username"
                    },
                    "body": "{\"key\":\"value\"}",
                    "httpRequestTimeout": "00:05:00", // not defined in the swagger
                    "method": "PUT",
                    "url": "https://localhost"
                }
            }
        ]
    }
}

Details

ARM Fully-Qualified Resource Type

Microsoft.DataFactory/factories/pipelines

API Version

2018-06-01

Swagger issue type

Swagger Correctness

OperationId

TODO
e.g., VirtualMachines_Get

Swagger GitHub permalink

https://github.com/Azure/azure-rest-api-specs/blob/61a8b1a62420c393fe5276c47373ea8dce74a985/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json#L6284

Error code

Definition is missing

Request traces

PUT https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/henglu-test-rg/providers/Microsoft.DataFactory/factories/henglu-test-df/pipelines/henglu?api-version=2018-06-01
   Accept: application/json
   Authorization: REDACTED
   Content-Length: 398
   Content-Type: application/json
   User-Agent: HashiCorp Terraform/1.2.8 (+https://www.terraform.io) Terraform Plugin SDK/2.8.0 terraform-provider-azapi/dev pid-222c6c49-1b0a-5959-a213-6608f9eb8820
   X-Ms-Correlation-Request-Id: REDACTED
   --------------------------------------------------------------------------------
{"properties":{"activities":[{"policy":{"retry":3,"retryIntervalInSeconds":30,"secureInput":false,"secureOutput":false,"timeout":"0.00:14:00"},"type":"WebActivity","typeProperties":{"authentication":{"password":{"type":"SecureString","value":"password"},"type":"Basic","username":"username"},"body":"{\"key\":\"value\"}","httpRequestTimeout":"00:05:00","method":"PUT","url":"https://localhost"}}]}}
   --------------------------------------------------------------------------------

RESPONSE Status: 200 OK
   Cache-Control: no-cache
   Content-Type: application/json; charset=utf-8
   Date: Sun, 29 Jan 2023 05:48:51 GMT
   Expires: -1
   Pragma: no-cache
   Server: Kestrel
   Strict-Transport-Security: REDACTED
   Vary: REDACTED
   X-Content-Type-Options: REDACTED
   X-Ms-Correlation-Request-Id: REDACTED
   X-Ms-Ratelimit-Remaining-Subscription-Writes: REDACTED
   X-Ms-Request-Id: 5f1f1d17-2427-4d4b-95f4-a2fccb2b600f
   X-Ms-Routing-Request-Id: REDACTED
   --------------------------------------------------------------------------------
{
  "id": "/subscriptions/{subscription_id}/resourceGroups/henglu-test-rg/providers/Microsoft.DataFactory/factories/henglu-test-df/pipelines/henglu",
  "name": "henglu",
  "type": "Microsoft.DataFactory/factories/pipelines",
  "properties": {
    "activities": [
      {
        "policy": {
          "retry": 3,
          "retryIntervalInSeconds": 30,
          "secureInput": false,
          "secureOutput": false,
          "timeout": "0.00:14:00"
        },
        "type": "WebActivity",
        "typeProperties": {
          "authentication": {
            "password": {
              "type": "SecureString",
              "value": "**********"
            },
            "type": "Basic",
            "username": "username"
          },
          "body": "{\"key\":\"value\"}",
          "httpRequestTimeout": "00:05:00",
          "method": "PUT",
          "url": "https://localhost"
        }
      }
    ]
  },
  "etag": "70007670-0000-1100-0000-63d608c30000"
}
   --------------------------------------------------------------------------------

GET https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/henglu-test-rg/providers/Microsoft.DataFactory/factories/henglu-test-df/pipelines/henglu?api-version=2018-06-01
   Accept: application/json
   Authorization: REDACTED
   User-Agent: HashiCorp Terraform/1.2.8 (+https://www.terraform.io) Terraform Plugin SDK/2.8.0 terraform-provider-azapi/dev pid-222c6c49-1b0a-5959-a213-6608f9eb8820
   X-Ms-Correlation-Request-Id: REDACTED
   --------------------------------------------------------------------------------
   RESPONSE Status: 200 OK
   Cache-Control: no-cache
   Content-Type: application/json; charset=utf-8
   Date: Sun, 29 Jan 2023 05:49:07 GMT
   Expires: -1
   Pragma: no-cache
   Server: Kestrel
   Strict-Transport-Security: REDACTED
   Vary: REDACTED
   X-Content-Type-Options: REDACTED
   X-Ms-Correlation-Request-Id: REDACTED
   X-Ms-Ratelimit-Remaining-Subscription-Reads: REDACTED
   X-Ms-Request-Id: 3a7904a6-eb57-4788-849a-456098fbfabe
   X-Ms-Routing-Request-Id: REDACTED
   --------------------------------------------------------------------------------
{
  "id": "/subscriptions/{subscription_id}/resourceGroups/henglu-test-rg/providers/Microsoft.DataFactory/factories/henglu-test-df/pipelines/henglu",
  "name": "henglu",
  "type": "Microsoft.DataFactory/factories/pipelines",
  "properties": {
    "activities": [
      {
        "policy": {
          "retry": 3,
          "retryIntervalInSeconds": 30,
          "secureInput": false,
          "secureOutput": false,
          "timeout": "0.00:14:00"
        },
        "type": "WebActivity",
        "typeProperties": {
          "authentication": {
            "password": {
              "type": "SecureString",
              "value": "**********"
            },
            "type": "Basic",
            "username": "username"
          },
          "body": "{\"key\":\"value\"}",
          "httpRequestTimeout": "00:05:00",
          "method": "PUT",
          "url": "https://localhost"
        }
      }
    ],
    "lastPublishTime": "2023-01-29T05:48:51Z"
  },
  "etag": "70007670-0000-1100-0000-63d608c30000"
}
   --------------------------------------------------------------------------------

Links

Semantic and Model Violations Reference
S360 action item generator for Swagger issues

We noticed that the same problem exists for the turnOffAsync parameter which is on the same level as httpRequestTimeout could you also add this to the spec?
Is there an estimate on when this will be complete?

Hi @smelchior , thanks! The service team will fix both of them. I'm confirming with them about the ETA.

fixed by https://github.com/Azure/azure-rest-api-specs/pull/26865


Feat/color utils

companion to https://github.com/OpenVoiceOS/ovos_utils/pull/87
relevant links:

https://en.wikipedia.org/wiki/Color_term
https://colornames.org/

why does this belong in LF?
For example, the Jale highland group in New Guinea identify the color of blood as black
Italian, Russian and Hebrew have twelve basic color terms, each distinguishing blue and light blue. A Russian will make the same red / pink and orange / brown distinctions, but will also make a further distinction between sinii and goluboi, which English speakers would simply call dark and light blue. To Russian speakers, sinii and goluboi are as separate as red and pink, or orange and brown

color dicts parsed from wikipedia pages of each language when a table with name / hex code was provided

follow up PR should migrate OPM to use these https://github.com/OpenVoiceOS/ovos-plugin-manager/blob/dev/ovos_plugin_manager/hardware/led/init.py


Change minimum ngen.init_config python version >=3.7

ngen.cal and ngen.config both support 3.7. In introducing ngen.init_config I overlooked that minimum version and set it to >=3.8. This PR makes the necessary changes to bring that down to >=3.7 and changes the minimum supported version in the package metadata.
Changes

ngen.init_config's minimum supported python version >=3.7 from >=3.8

This should fix #49's failing tests once it is merged.


Testimonial height

Before:

After:

note: precise things might has shifted slightly since screen shots taken

Would look nice to make the "Jill" quote in the middle but I'm unsure how to do so as part of this PR
@aasalazar23 able to knock out after ships?


Upgrade to cairo 0.9.1

[ ] check if starknet/cli/starknet_cli.py::declare supports configuring: sender, max_fee, and nonce.

@kasperski95 It does not


Add BYOND Engine

SteamDB app page links to a few games using this
https://steamdb.info/app/773590/
https://steamdb.info/app/593620/
Brief explanation of the change
Detect BYOND engine by it's DLLs.

After running changed rules in this pull request (this bot only tests rules.ini changes):
Changed technologies: Engine.BYOND
These apps now match: (4)<PHONE_NUMBER>20<PHONE_NUMBER>810
Please confirm that all these changed apps are correct.

not used by enough apps


Ignore target dependent -mabi compiler option.

#1673

At this point I think it would be beneficial to introduce a command-line option to Clang which turns off the unknown argument error. And CodeChecker could call Clang first with the normal argument list (and log out the unknown argument error), and if there is an error, call it with this extra flag, and it will just pass through.

yes, it would be nice to have some support for an improved argument handling from the Clang side until that we just increase our list


Support for MAUI Blazor Hybrid

I am developing a MAUI Blazor Hybrid application and would like to use Mapsui in it.  Following the quickstart guide for Mapsui.Blazor doesn't seem to work in this form.  I'm presented with SkiaSharp currently only works on Web Assembly in the console.
I have also attempted to include Mapsui.Maui in order to call UseSkiaSharp(true), but that didn't help.
If my understanding is correct, Blazor hybrid is running in a WebView, I would assume this should work like a normal web-based Blazor project?
Not quite sure if this is a feature request or a bug report, but any feedback would be appreciated.

I see.  Okay, I'll have to just make native MAUI views for these pages then.
Thanks!

So I do not understood: is it possible to use Mapsui.Blazor  ? I still have the error SkiaSharp currently only works on Web Assembly

Blazor and Blazor-Hybrid are two separate things. Blazor works, as in our samples, https://mapsui.com/samples/. Blazor-Hybrid does not because of SkiaSharp limitations.

Blazor and Blazor-Hybrid are two separate things. Blazor works, as in our samples, https://mapsui.com/samples/. Blazor-Hybrid does not because of SkiaSharp limitations.

Will it work ?

Blazor-Hybrid does not work


[Bug]: minicpmv crash on 1x1 image

Your current environment

Model Input Dumps
No response
🐛 Describe the bug
The channel dimension is ambiguous. Got image shape (1, 1, 3). Assuming channels are the first dimension.
ERROR 09-29 21:38:19 image.py:48] Failed to process image ([<PIL.Image.Image image mode=RGB size=1x1 at 0x7FF3D44B3E80>, <PIL.Image.Image image mode=RGB size=1x1 at 0x7FF3D44B22C
0>, <PIL.Image.Image image mode=RGB size=918x1850 at 0x7FF3D44B2C20>])
ERROR 09-29 21:38:19 async_llm_engine.py:58] Engine background task failed
ERROR 09-29 21:38:19 async_llm_engine.py:58] Traceback (most recent call last):
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 48, in _log_task_completion
ERROR 09-29 21:38:19 async_llm_engine.py:58]     return_value = task.result()
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 733, in run_engine_loop
ERROR 09-29 21:38:19 async_llm_engine.py:58]     result = task.result()
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 673, in engine_step
ERROR 09-29 21:38:19 async_llm_engine.py:58]     request_outputs = await self.engine.step_async(virtual_engine)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 340, in step_async
ERROR 09-29 21:38:19 async_llm_engine.py:58]     outputs = await self.model_executor.execute_model_async(
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/executor/gpu_executor.py", line 185, in execute_model_async
ERROR 09-29 21:38:19 async_llm_engine.py:58]     output = await make_async(self.driver_worker.execute_model
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/concurrent/futures/thread.py", line 58, in run
ERROR 09-29 21:38:19 async_llm_engine.py:58]     result = self.fn(*self.args, **self.kwargs)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 303, in execute_model
ERROR 09-29 21:38:19 async_llm_engine.py:58]     inputs = self.prepare_input(execute_model_req)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 291, in prepare_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     return self._get_driver_input_and_broadcast(execute_model_req)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 253, in _get_driver_input_and_broadcast
ERROR 09-29 21:38:19 async_llm_engine.py:58]     self.model_runner.prepare_model_input(
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/embedding_model_runner.py", line 142, in prepare_model_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     model_input = self._prepare_model_input_tensors(
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 1123, in _prepare_model_input_tensors
ERROR 09-29 21:38:19 async_llm_engine.py:58]     builder.add_seq_group(seq_group_metadata)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 720, in add_seq_group
ERROR 09-29 21:38:19 async_llm_engine.py:58]     per_seq_group_fn(inter_data, seq_group_metadata)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 658, in _compute_multi_modal_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     mm_kwargs = self.multi_modal_input_mapper(mm_data)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/multimodal/registry.py", line 126, in map_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     input_dict = plugin.map_input(model_config, data_value)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/multimodal/base.py", line 263, in map_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     return mapper(InputContext(model_config), data)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/multimodal/image.py", line 44, in _default_input_mapper
ERROR 09-29 21:38:19 async_llm_engine.py:58]     batch_data = image_processor \
ERROR 09-29 21:38:19 async_llm_engine.py:58]     result = self.fn(*self.args, **self.kwargs)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 303, in execute_model
ERROR 09-29 21:38:19 async_llm_engine.py:58]     inputs = self.prepare_input(execute_model_req)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 291, in prepare_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     return self._get_driver_input_and_broadcast(execute_model_req)
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 253, in _get_driver_input_and_broadcast
ERROR 09-29 21:38:19 async_llm_engine.py:58]     self.model_runner.prepare_model_input(
ERROR 09-29 21:38:19 async_llm_engine.py:58]   File "/usr/local/python3/lib/python3.10/site-packages/vllm/worker/embedding_model_runner.py", line 142, in prepare_model_input
ERROR 09-29 21:38:19 async_llm_engine.py:58]     model_input = self._prepare_model_input_tensors(

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Are you able to process the image using their image processor in HuggingFace?

Are you able to process the image using their image processor on HuggingFace? If the problem lies with their image processor, you should raise the issue to their repository instead of ours.

I'll test it later.

When the vllm server encounters this error, the system stops processing new requests. I think vllm should ignore this error and accepts and process new reqeusts normally.

@njhill how can we let LLM engine recover from such errors?

https://github.com/vllm-project/vllm/pull/9141
This pull request may fix this bug.

@njhill how can we let LLM engine recover from such errors?

@DarkLight1337 I was looking into this in general before, I will try to get back to it. There are some classes of errors where we don't need to fail the whole server and some cases not even the whole batch.


Update howto-conditional-access-insights-reporting.md

Fixed a minor error in the documentation

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

#label:"aq-pr-triaged"


linorobot2 bringup issue on Ubuntumate22.04.3

Dear Sir,
when I run below code its throwing error as shown below'. However there is no error while executing slam and navigation files, please help me.  log file is showing same content which is shown below. I think the issue may be with default_robot.launch or custom_robot.launch . this para of script have some issue with latest kernel...
""line 79-85  in the "linorobt2_bringup.launch.py"
from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription
from launch.substitutions import LaunchConfiguration, PathJoinSubstitution, PythonExpression
    IncludeLaunchDescription(
        PythonLaunchDescriptionSource(default_robot_launch_path),
        condition=UnlessCondition(LaunchConfiguration("custom_robot")),
        launch_arguments={
            'base_serial_port': LaunchConfiguration("base_serial_port")
        }.items()
    ),

""
Thank you,.
... HEM.
rock@rock:~/linorobot2_ws  $  ros2 launch linorobot2_bringup bringup.launch.py
[INFO] [launch]: All log files can be found below /home/rock/.ros/log/2023-09-19-22-16-15-735043-rock-48883
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): <launch.substitutions.launch_configuration.LaunchConfiguration object at 0x7ffb44442290>

Something similar is happening to me, only if I set LINOROBOT2_DEPTH_SENSOR to 'realsense'. I get:
ros2 launch linorobot2_bringup bringup.launch.py [INFO] [launch]: All log files can be found below /home/peres/.ros/log/2023-09-19-23-46-31-783276-novabot-7236 [INFO] [launch]: Default logging verbosity is set to INFO [ERROR] [launch]: Caught exception in launch (see debug for traceback): <launch.substitutions.launch_configuration.LaunchConfiguration object at 0xffffad6cb0d0>
If I leave LINOROBOT2_DEPTH_SENSOR blank and use only a laser sensor with LINOROBOT2_LASER_SENSOR (not the realsense), it works fine

Dear Juan Jimeno sir,
Alternatively:
Can we run bringup without real sense (by disabling  " realsense in .bashrc file) in one terminal and separate realsense launcher in another terminal . OR is there any way to rectify the existing bringup.launch . Please reply. THX
...---Hems.

can you try setting LINOROBOT2_DEPTH_SENSOR=“” ?

SOLVED: HUMBLE DISTRO :
presently the linorobo2_ws> src>launch  etc of humble version : linorobot_bringup whole directory have some issues. so I copied it from galactic distro.
its working.

Actual problem is located. Its die to addition of oakd... camera in "depth.launch.py" . Problem solved by commenting few lines of code  which arre related to oakd.


add @Nonnull to get() method in ArrayMap to avoid NPE

Arrays.binarySearch(keys, key) throws NPE when key is Null. This should be communicated in method signature.

Thank you for this addition!


Migrate VarTools from Jenkins to Github Actions

What:
Migrates Jenkins pipelines over to Github Actions. To make sure the server has necessary upgrades, they are included in the repository and installed at build time.
Why:
This will allow the workflow logs to be publicly accessible. This repository will be used as a test case to see if Github Actions can be used instead of Jenkins.

Is this PR something we want to merge?

I think so


Add initial man pages

The start of manpage generation for a few basic containerd commands.
Still needed:

[x] properly finish upstream go-md2man updates to @cpuguy83 repo (tests, linting fixes, etc.)
[x] write config.toml, containerd publish manpages in markdown
[x] write install-man target that places generated manpages in proper install dirs

Doing a [WIP] PR to make sure other constituents are comfortable with the way this is being done before finishing it off.
Fixes: #1467

This is ready for more complete review.
An annoyance that would be good to decide what's best: with the target install-man requiring sudo, that depends on whether the manpages need re-generation, can cause root owned files in ./man/ by nature of the generation then being performed under sudo. Should we disconnect the Makefile dependency so that generation and then install have to be performed separately? @containerd/containerd-maintainers @containerd/containerd-reviewers

I would split it up.  Just like binaries, make && sudo make install are separate for this reason

@crosbymichael sounds reasonable; updated with separated targets

could of nits about make usabiltiy.
What do you think about sudo make install installs the man pages instead of a separate output?
Also my first try would be to run make man instead of make manpages Just simplifying things a little

make man is a good simplification.
Per the combo: if sudo make install finds that the manpages weren't generated yet should it fail make or ignore errors? I'm just thinking of developer simplicity who are used to make binaries followed by sudo make install today; without ignore errors, they would now be required to build man pages (at least once)

Ok, makes sense

LGTM


Reflect PEP8 style guide in CONTRIBUTING.md

As promised to @obi1kenobi, I've reworded our style guide preferences to better reflect that we prefer using PEP 8 whenever possible.
Thus far, we've primarily used PEP 8 and secondarily the Google Python Code Style Guide. For example, PEP 8 advises imperative e.g. Extract row from database, while the Google guide advises declarative Extracts row from database. We've taken the PEP 8 stance, so we should mention that to prospective contributors.

Very much in favor of this, thank you for putting it together. However, @pmantica1 is in the middle of moving all our markdown to restructured text format (including this file), so let's hold off for just a second so we don't complicate his multi-thousand line merge.


Reduce downtime during deployments

If we upgrade to premium azure app service (~$80/month) we can use slots and swap

Scaled out to 2 instances, deployment is also much faster and doesn't cause downtime


Koa Render Closes #59

Koa Render
Closes #59
Reason
The KoaDriver render was not completed, it was using the Express way of rendering html templates using Template engines that were loaded into express.
I have decided that I prefer Koa over express so have played around with the KoaDriver to try get the render to work for Koa.
Dependencies
I have decided to use Koa-views as the rendering middleware, as it allows for loading of different rendering engines easily. In the tests I have edited the Koa before section to load up the rendering middleware and load the handlebars engine by default.
Fix
The fix I have applied is not very neat but works for now, it creates a middleware in the handleSuccess method of the KoaDriver as I needed access to Koa's context which Koa-views extends and adds the render method to.
I tried to access the Koa context via options.context but it seem this was using routing-controllers own implementation of the context and was missing the render method. I would love suggestions to remove the middleware within the handleSuccess method and a suggestion on how I could access the Koa context correctly within the KoaDriver.
Would love your feedback @pleerock
I hope this helps in any way!

Thank you for this clean PR. Please make sure to add sample how to use render in koa. Also probably we need to add docs here about need of installation additional package if render is used with koa.

More than happy to add in a sample and add to the docs, just wanted your input on accessing the context, as I'm not too happy about using koa.use within the handleSuccess function. Or is that my only option?

I don't find anything wrong with this approach, at least right now...

I think this can be merged, thank you for this clean job


Exception at the end of execution

[2019-01-23 16:04:45 -0500] [SEVERE] edu.iu.dsc.tws.master.worker.JMWorkerAgent: Wait limit has been reached. Response message has not been received.
edu.iu.dsc.tws.common.net.tcp.request.BlockingSendException: Wait limit has been reached. Response message has not been received.
at edu.iu.dsc.tws.common.net.tcp.request.RRClient.sendRequestWaitResponse(RRClient.java:141)
at edu.iu.dsc.tws.master.worker.JMWorkerAgent.sendWorkerCompletedMessage(JMWorkerAgent.java:442)
at edu.iu.dsc.tws.rsched.schedulers.standalone.MPIWorker.closeWorker(MPIWorker.java:474)
at edu.iu.dsc.tws.rsched.schedulers.standalone.MPIWorker.(MPIWorker.java:136)
at edu.iu.dsc.tws.rsched.schedulers.standalone.MPIWorker.main(MPIWorker.java:203)

This is fixed now


gh actions: add regex to match semver tags

we want to use semver tags to tag milestones and pre-releases,
while we can keep the existing tag model (e.g. v4.10.0) for
official releases.
Source for the regex:
https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/lgtm
/approve


Feature request: integration for home assistant

Hi great work !
Any chance ur willing to make this for home assistant?

@skank01
As already said on #14 and #18:
I'm sorry, but unfortunately not. My main focus is on ioBroker.
Why not switch to ioBroker? ;)

For a possible integration see this post.
Credits goes to @FuzzyMistborn


Android notifications not poping up, only showing in status bar

I have push notifications successfully arriving on my phone, however they don't "popup" when staring at my homescreen (with the app minimised), they just hide inside the pull down notification menu, and show an icon in the status bar.
Is there a configuration I'm missing that allows the notifications to slide down when they come in?
This is my code:
onDeviceReady: function() {

  window.FirebasePlugin.onTokenRefresh(function(token) {

      window.FirebasePlugin.subscribe("general-alerts");
  })
}

I'm sending messages from Firebase console with high priority and to an individual device using it's token.

Hi @alexcroox this sounds like expected behaviour.  What OS are you on?  What do you mean "popup"?

Hi @alexcroox this sounds like expected behaviour. What do you mean "popup"?

@jozzhart like this, I think on Android they are called "peek" notifications?

I see.  Sounds like a feature request.  I'm sure the maintainers would happily take a pull request.  Further details:
https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Heads-up
https://firebase.google.com/docs/reference/admin/node/admin.messaging.MessagingOptions

@alexcroox It looks to be an Android setting issue..   Once floating notifications are enabled for your app, it will work fine.

fixed via https://github.com/arnesson/cordova-plugin-firebase/pull/684

I thought my pull request fixes this in all circumstances, but it appears it only fixes this for a situation where your app is running. Otherwise, it is OS task to show push notification in which case it won't popup, because of default priority. I now don't think we can do anything about this, what other apps like WhatsApp usually do, they use tricks to restart the app or a service after it is killed. Which I believe is outside of the scope of this plugin.
Correct me if I'm wrong.


Add pc-rtems BSP to OSAL

For development under RTEMS it is helpful to have a basic BSP that does not require any special development boards.
The RTEMS project provides this via the "pc686" BSP. This makes it possible to boot and run an RTEMS application on ordinary commodity PC hardware.
This also boots and runs in virtual machines i.e. QEMU which is very desirable for testing.
This ticket will add a "pc-rtems" BSP to OSAL that can be used for this purpose.

Imported from trac issue 29.  Created by jphickey on 2015-03-18T14:31:39, last modified: 2015-11-20T16:22:16

Trac comment by jphickey on 2015-03-18 23:01:18:
Pushed branch "trac-29-pc-rtems", commit [changeset:eec4f2f]
This adds a simple RTEMS BSP that runs using the "pc686" BSP from the upstream RTEMS.

Trac comment by jphickey on 2015-04-14 13:11:37:
This changeset has been rebased to the (unapproved) 2015-04-14 baseline
This is due to a dependency on files added/changed as part of that baseline.  Attempting to base this change on the official 2015-02-26 OSAL is potentially possible but will result in merge conflicts when putting these back together again.
The new commit is [changeset:22da0be]

Trac comment by glimes on 2015-05-18 20:24:10:
Accept, based on the [changeset:cb82d8f] commit. I'm not an RTEMS
expert and can't test it -- but presuming it works, it seems like
a slam-dunk to include it.

Trac comment by glimes on 2015-07-13 13:17:21:
accept
(with the caveat that I'm not an RTEMS expert,
and do not currently have an RTEMS build environment)

Trac comment by jphickey on 2015-07-09 14:41:26:
== REBASED AND UPDATED ==
For the 2015-07-14 CCB review/discussion
This has been rebased to the current OSAL development baseline, commit [changeset:c50630e] reflects the current proposed modifications.
In addition to adding the pc-rtems BSP, this also integrates with the unit testing framework that was approved at the 2015-06-30 CCB so that the unit tests can be executed on RTEMS using this BSP.
This has been tested by running the a pc686 RTEMS build in QEMU and confirmed that all unit tests are passing in this environment.

Trac comment by acudmore on 2015-07-10 15:14:12:
This will be good, recommend accept

Trac comment by sstrege on 2015-07-13 18:58:39:
accept

Trac comment by sduran on 2015-07-14 11:51:30:
accept

Trac comment by jwilmot on 2015-07-14 12:37:39:
Recommend accept.

Trac comment by glimes on 2015-07-16 10:23:12:
Included in [changeset:ec67bd4 2015-07-14 development merge],
now present on Babelfish and IPAS-LIB.


Fix verification process

Let's just update the description on the PR for future reference.

Gah! I thought I did that. 🤦


Overflow Exception when getting SoundInstance position

Release Type: Official Release
Version: Latest
Describe the bug
I was testing a track by playing it on two SoundInstances for seamless playback looping but for some strange reason, I noticed it gives me an overflow exception with the message "TimeSpan overflowed because the duration is too long." when getting the position of any of the sound instances during the looping process.
To Reproduce
Steps to reproduce the behavior:

You can create a new project out of the SimpleAudio template.
Create a new SyncScript (or AsyncScript, adjusted accordingly).
Add a SoundInstance and play it on Start():

public Sound Sound { get; set; }
private SoundInstance SoundInstance1;

public override void Start()
{
    // Initialization of the script.
    SoundInstance1 = Sound.CreateInstance();
    SoundInstance1.IsLooping = false;

    SoundInstance1.Play();
}

During Update(), add a condition to play the track if the position is zero (or really, any calculation that needs the current position of the sound instance).

public override void Update()
{
    if (SoundInstance1.Position.Equals(TimeSpan.Zero)) SoundInstance1.Play();
}

Wait for the track to loop back.
In some cases, it loops back just fine, but other times during looping, it throws an overflow exception. Not entirely sure if this is only on my end but I've had it happen somewhat consistently so I figured I'd raise this issue.

Expected behavior
To loop back the track without throwing an exception every time.
Workaround
Granted, I was able to get a workaround going by getting the audio position through a method/local function returning a TimeSpan using a try-catch block but still, pretty odd occurrence.

I was unable to reproduce this issue using either of the sounds from the audio template. I let loop a number of times to be sure, but worked fine for me on the latest version.

I was unable to reproduce this issue using either of the sounds from the audio template. I let loop a number of times to be sure, but worked fine for me on the latest version.

Interesting, so I just tried it again in a new project and it worked nicely without any crashes whatsoever but then I reopened the old project that I originally used to test the problem with and it does keep happening.
I looked at both projects and it seems that the determining factor was that the sound file being played has the flag "Stream From Disk" enabled in Game Studio for the old one but the newer one has it disabled, same file and all. (If it helps any, the track being loaded is on an SSD)
Can you confirm if you get the exception with the Start() and Update() posted on the OP with the sound in Game Studio having the "Stream From Disk" flag enabled? It happened to me even with the sound effect from the template.

Just tried it and I can confrim that when using the latest build, and Stream From Disk is enabled, it will give the exception. Interestingly though, when GameStudio is launched from the source code, it does not produce the error (tried in both debug mode and not).


Array of varying structs cannot be flattened to legacy-compatible varyings

Is there any technical reason why this can not be supported, or is this simply not yet implemented?

This is mostly considered an extreme edge case that is very painful to support. I suppose it's technically possible, but I really don't want to do workarounds to this degree.
I guess you want to translate:
struct Foo { float a; float b; }; out Foo foos[4];

to
out float Foo_a[4];
out float Foo_b[4];

?

This is mostly considered an extreme edge case that is very painful to support. I suppose it's technically possible, but I really don't want to do workarounds to this degree.
I guess you want to translate:
struct Foo { float a; float b; }; out Foo foos[4];

to
out float Foo_a[4];
out float Foo_b[4];

?


post warning "found unrecognized file"

Description
when node restart, post module warn about the following files unexpected but they are. cc @poszu
{"L":"WARN","T":"2023-08-08T17:24:07.287Z","N":"6e5ab.post","M":"found unrecognized file","node_id":"6e5ab097e4e0e91afb04058743a409af53072b2c74148045248881ba818ea210","module":"post","fileName":"post.bin"}
{"L":"WARN","T":"2023-08-08T17:24:07.287Z","N":"6e5ab.post","M":"found unrecognized file","node_id":"6e5ab097e4e0e91afb04058743a409af53072b2c74148045248881ba818ea210","module":"post","fileName":"nipost_challenge.bin"}
{"L":"WARN","T":"2023-08-08T17:24:07.287Z","N":"6e5ab.post","M":"found unrecognized file","node_id":"6e5ab097e4e0e91afb04058743a409af53072b2c74148045248881ba818ea210","module":"post","fileName":"nipost_builder_state.bin"}
{"L":"WARN","T":"2023-08-08T17:24:07.287Z","N":"6e5ab.post","M":"found unrecognized file","node_id":"6e5ab097e4e0e91afb04058743a409af53072b2c74148045248881ba818ea210","module":"post","fileName":"key.bin"} | ```

@countvonzero, this log message is produced by post that is not expecting any extra files in the directory that stores POS data (postdata_N.bin and postdata_metadata.json files). IMHO, it's wrong that we store state files and keys in the same directory and a proper solution is to move these files elsewhere. What do you think?

i recall storing key in post dir was a deliberate decision so that it ties all things identity in one directory.
also it make checkpoint restore easier (simply preserving everything in that directory).
what do you think if we push the POST data one directory down? @poszu

what do you think if we push the POST data one directory down

👍 SGTM

what do you think if we push the POST data one directory down

I think this is only a symptomatic fix for a problem that needs a better solution.

what do you think if we push the POST data one directory down

I think this is only a symptomatic fix for a problem that needs a better solution.

can you state the problem?

I think we should consider moving eveything that is not postdata_N.bin or postdata_metadata.bin out of the data directory. If a user makes this directory read only the node should still be able to smesh without issues. We have users that did exactly this and I consider that a valid solution to accidentally deleting files (by the user or node).
The key.bin file is not required for PoST. Information about the identity that the data belongs to is already in postdata_metadata.json. Additionally having it in the PoST data dir lead to 2 implementations of generating / parsing an identity (one in the node and one in post). PoST doesn't need to know about identity handling, it only needs the NodeID to generate the data for so in my opinion it should be moved out of the directory and maybe to the same place where the node stores the SQL database.
Some of the other files should definitely be moved out of the directory - nipost_builder_state.bin does not belong into the PoST directory it holds information on the state the current ATX building process is in. Same for nipost_challenge.bin.
post.bin arguably belongs to PoST since it holds a generated proof. Here it would be nice if in the future when we introduce pausing and resuming of post generation this file is replaced with state about the proof generation. So it would need to be extended with the challenge that was used as input and the current state of the proof generation (or completed).

do you agree tho the life cycle of key.bin and post data should be the same? one should not be able to exist without the other?
i will be onboard with separating node's own state files from the post data and key.bin.
tho that is not what this issue is about. please file a separate issue if making post dir read-only is important in your view.

do you agree tho the life cycle of key.bin and post data should be the same?

I'm not sure. PoST doesn't care about an identity. It only needs a commitment which can be anything.
Correct me if I'm wrong but a node can have an identity without smeshing (and therefore having PoST data) I think. A node can receive and send transactions but doesn't participate in the consensus (i.e. a light node)?

As a quick fix I would suggest changing the logging level from "WARN" to "DEBUG" or even removing the logs about unrecognised files completely. Since they are just misleading to someone not familiar with the internals of PoST and do not indicate any actual problem.

but a node can have an identity without smeshing

we need to separate node identity and smesher identity. currently the code doesn't do a good job of that. ideally those are separate public keys. in the future, a node could be running the consensus protocol for multiple identities even, as that's the most demanding part of a full node.

The key.bin file is not required for PoST. Information about the identity that the data belongs to is already in postdata_metadata.json.

are you saying that if the public key in postdata_metadata.json doesn't match key.bin, a miner can still use this post data to create atxs and ballots?

are you saying that if the public key in postdata_metadata.json doesn't match key.bin, a miner can still use this post data to create atxs and ballots?

PoST doesn't even read the file key.bin and only cares about what is inside postdata_metadata.json:
The code is quite convoluted at the moment: The node has to read key.bin to get the private key and from that the NodeID and then pass it to PoST for initialization and proof generation. PoST then checks if the passed NodeID matches the one in the postdata_metadata.json and returns an error if it doesn't.
This design issue will be addressed by: https://github.com/spacemeshos/post/issues/116

@fasmat and i had an offline conversation. we agreed that short term pushing the data to a subdir or just changing to dbg log are fine.
long term:
in the context of a node, it is important for identity related data (post, atx build state, key.bin) to stay in one top directory for the purpose checkpoint recovery. but the post data should/need not be accompanied by key.bin outside the context of the mining node. e.g in the context of initialization service, it doesn't need a key.bin file.

If you move key.bin outside of POS directory there will be more mistakes made by people moving POS files between nodes. Currently it's easy to move just one folder and to point the node to that folder.

@Stizerg please be aware: you cannot re-use the same identity (key.bin & POS files) to smesh with two different nodes. You will not get twice the rewards and you risk your identity being flagged as malicious.

@fasmat Yes I know, that's why I said ".. moving POS files .."
Obviously moving identity as well if it's together with POS files.

from an user's log on windows. note the ".jso" files
2023-08-11T19:59:43.314+0300    INFO    e2090.post      initialization started  {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "datadir": "Z:\\L", "numUnits": 29, "maxFileSize":<PHONE_NUMBER>, "labelsPerUnit":<PHONE_NUMBER>}
2023-08-11T19:59:43.314+0300    INFO    e2090.post      initialization file layout      {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "labelsPerFile": 134217728, "labelsLastFile": 134217728, "firstFileIndex": 0, "lastFileIndex": 927}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "$RECYCLE.BIN"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "1"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "System Volume Information"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "key.bin"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "nipost_builder_state.bin"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "nipost_challenge.bin"}
2023-08-11T19:59:43.326+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "post.bin"}
2023-08-11T19:59:43.337+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "postdata_metadata.jso"}
2023-08-11T19:59:43.337+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "smeshing_metadata.jso"}
2023-08-11T19:59:43.337+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "smeshing_metadata.json"}
2023-08-11T19:59:43.337+0300    WARN    e2090.post      found unrecognized file {"node_id": "e20905c6e85cd32f7a35e3a915c3e99aa6f19e978cf43b9e40e0efda9e9c26f4", "module": "post", "fileName": "tmp_read_write.xml"}

Here's my thoughts: Z:\ is either a removable device or the files on it have been copied using a removable device from another computer. Removable devices compatible with Windows can have multiple different file systems that are compatible with windows: FAT32, exFAT, NTFS.
Some of those filesystems (specifically FAT32) do not support file-extensions with more than 3 letters natively (files are stored as 8.3 and metadata keeps track of their "real" filename). This would explain where the postdata_metadata.jso file come from -> when copied the file was copied with its "real" name and the name it is stored in the FS.
key.bin, nipost_builder_state.bin, nipost_challenge.bin and post.bin are all created by our node in the process of creating an ATX.
$RECYCLE.BIN, and System Volume Information are folders created by Windows and contain the recycle bin for and information about the removable device (that's why I believe Z: is a removable device).
I don't know what smeshing_metadata.json is for - that file is not created by our node or postcli. The same goes for 1 and tmp_read_write.xml.

https://github.com/spacemeshos/post/pull/215 reduced the logging level from WARN to DEBUG and is expected to be included in the next release of post / go-spacemesh

The log from the windows user also makes me believe the right way to go is to just ignore any file PoST doesn't know instead of logging them. There might always be files in the POS folder that are put there by the OS (or OS tools) that we shouldn't complain about:

desktop.ini metadata about the folder, created by Windows explorer when User changes how files are displayed in Explorer (list, icons, etc.)
.DS_Store same file as desktop.ini but for MacOS, contains meta information about the folder that Finder uses
$recycle.bin, System Volume Information folders that are in the root of a removable device if used by Windows (independent of file system)
autorun.inf another file that can be in the root of a removable device and is managed by Windows
***.chk files are created by windows when Scandisk checks a disk for errors
possibly more...

I believe the right way to "deal" with those is to just ignore anything that is not postdata_metadata.json and postdata_*.bin and not even care if and which other files are present in the POS folder.


improve(highlight): long text skip stream.eol()

when text is very long, function runMode  code snippet while (!stream.eol())  will loop long time.

Doesn't the if directly inside the while loop take care of precisely this?

你好，如果你看到我这封邮件，说明我已收到你的信息。若有问题我会抽空回复你。

Yes, if tokens are all one character long it will. This is intentional — it highlights up to maxHighlightLength, and skips the rest of the line.


project completed

commit with working project

my task is completed and its ready merge

Be patient I will check the code then I will merge it

@soumik2012  Thank you for your support

Wish you the same!🎉

@Harshil-Jani You can also close issue #14 .


Integration status reporing as Not Ready even when it is

What happened?
An integration status is reporting False in the Ready condition even after the integration is successfully running.
Steps to reproduce
Create an Integration with the following code:
apiVersion: camel.apache.org/v1
kind: Integration
metadata:
  name: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381
spec:
  sources:
  - name: main.yaml
    content: |-
      - from:
          uri: rest:get:/demo
          steps:
          - setBody:
              constant: "It worked"
  traits:
    knative-service:
      minScale: 1
    camel:
      runtimeVersion: 3.8.1

After the application is up and running, check its status and search for the Ready condition to find:
  - lastTransitionTime: "2024-07-24T17:51:24Z"
    lastUpdateTime: "2024-07-24T17:51:25Z"
    message: Configuration "deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381" is waiting
      for a Revision to become ready.
    reason: RevisionMissing
    status: "False"
    type: Ready

As the Revision is supposedly not ready, I checked the Knative Service and Revision status:
k get ksvc deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381 -oyaml
...
status:
  address:
    url: http://deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381.sensedia.svc.cluster.local
  conditions:
  - lastTransitionTime: "2024-07-24T17:51:35Z"
    status: "True"
    type: ConfigurationsReady
  - lastTransitionTime: "2024-07-24T17:51:36Z"
    status: "True"
    type: Ready
  - lastTransitionTime: "2024-07-24T17:51:36Z"
    status: "True"
    type: RoutesReady
  latestCreatedRevisionName: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
  latestReadyRevisionName: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
  observedGeneration: 1
  traffic:
  - latestRevision: true
    percent: 100
    revisionName: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
  url: http://deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381.sensedia.sensedia.sensedia-eng.com

k get revision deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001 -oyaml

status:
  actualReplicas: 1
  conditions:
  - lastTransitionTime: "2024-07-24T17:51:35Z"
    severity: Info
    status: "True"
    type: Active
  - lastTransitionTime: "2024-07-24T17:51:35Z"
    status: "True"
    type: ContainerHealthy
  - lastTransitionTime: "2024-07-24T17:51:35Z"
    status: "True"
    type: Ready
  - lastTransitionTime: "2024-07-24T17:51:25Z"
    status: "True"
    type: ResourcesAvailable
  containerStatuses:
  - imageDigest: gcr.io/registry-ipaas-testing/camel-k-kit-cqgj5hb8firc739poi6g@sha256:345debc59d50af512e6db834b1fee1e60358e5e9ae171c72234757c811daec67
    name: integration
  desiredReplicas: 1
  observedGeneration: 1

k get revision deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
NAME                                                    CONFIG NAME                                       GENERATION   READY   REASON   ACTUAL REPLICAS   DESIRED REPLICAS
deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001   deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381   1            True             1                 1

 k get configuration deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381 -oyaml

...
status:
  conditions:
  - lastTransitionTime: "2024-07-24T17:51:35Z"
    status: "True"
    type: Ready
  latestCreatedRevisionName: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
  latestReadyRevisionName: deploy-fc949ea7-e5ea-4d59-8fed-83471b9350e0-381-00001
  observedGeneration: 1

...

As we can see, the revision is ready, but the Integration reports as being not ready.

### Relevant log output

_No response_

### Camel K version

2.3.3

After deleting and recreating the operator pod, the integration moved to Ready = true. And now it is working as expected even for new integrations. I will close this and reopen with more details if it happens again.


unable to add multiple items to List using batch request

I need to submit answers of 20 different types of question in the same List. I did a loop created a new batchRequest in each loop and pushed the items into commands array one by one in a loop. After finish looping I called batchExecutor. execute async method but It added a last question 20 times. IF I had 4 questions then it adds the last question only. Why ? It repaces all the other questions with the last question in changerequest. I don't understand this thing your help would be really appreciated.
Below is the code snippet I am using what's the issue here
var createEndPoint = siteUrl+"_api/web/lists/getByTitle('"+listName+"')/items";
// + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('SurveyFeedback')/items?@target='" + siteUrl + "'";
                              var commands = [];
                              var batchExecutor = new RestBatchExecutor(siteUrl, { 'X-RequestDigest': digestValue });
                              while(index<page.Questions.length)
                              {
                                    data.Question           =page.Questions[index].Question;
                                    data.Answer             =page.Questions[index].Answer;

                                    var batchRequest = new BatchRequest();
                                    batchRequest.endpoint = createEndPoint;
                                    batchRequest.payload = data;//{ '__metadata': { 'type': 'SP.Data.CoolworkListItem' }, 'Title': 'SharePoint REST' };
                                    batchRequest.verb = "POST"
                                    commands.push({ id: batchExecutor.loadChangeRequest(batchRequest), title: data.Question });

                                  index++;
                              };
                                batchExecutor.executeAsync().done(function (result)
                                    {
                                        var d = result;
                                        var msg = [];
                                        $.each(result, function (k, v)
                                         {
                                            var command = $.grep(commands, function (command)
                                            {
                                                return v.id === command.id;
                                            });
                                            if (command.length)
                                            {
                                                msg.push("Command--" + command[0].title + "--" + v.result.status);
                                            }
                                        });

                                        alert(msg.join('\r\n'));

                                    }).fail(function (err) {
                                        alert(JSON.stringify(err));
                                    });

This is the data var that I am passing as payload after adding Question and answer
var data = {
__metadata: {type: ListFactory.GetItemTypeForListName(listName)}
};


Fix #66, breaking change in ember-data beta 19

I'm still not entirely clear what's going on in https://github.com/nolanlawson/ember-pouch/pull/67, but @OleRoel I merged your commits into a single, squashed commit. @rsutphin does anything need to change in the travis config to make this green? Should we add a new test?
(And yes, even though this is my repo, I am pretty overwhelmed by all the changes in Ember Data recently and having a hard time keeping up. :stuck_out_tongue:)

We should add a new test. The test in #65 should cover this case. I can add it here, but I won't be able to get to it until later next week.

One of the comments on #66 pointed out that this line will fail because this is undefined here. The eachRelationship callback function needs a bind(this) at the end, or it can use self instead of this.

I was on the wrong track and added an extra ifstatement for non extsitent models and ignored the context of the code. Mea culpa! But this means, we need tests for related models.
@nolanlawson I am sorry when I created extra work for you with my rebase attempt.

Are we going to get a version number bump, too? (Sorry for being impatient!)


[Question] Hand ray and pointer don't work when inside a 3D model in ShowCase

View "Engine (Built-in)" in ShowCase.
Resize it to be huge and go inside it.
Confirm that the hand ray and pointer are not visible.
I confirmed this in ShowCase version 1.2.27.
Version 1.1.33 shows the hand ray and pointer.
How do I see the hand ray and pointer inside the model in version 1.2.27 (or later)?

Hi @ydev0927, thanks for bringing this up.
This is a known regression in Showcase due to the reworked pointer handling. We have fix for it in flight, that will be deployed with our next release.

Hello, jloehr.
Thank you for answer.
Ok, I'm waiting for a next release.

Thank you contributors.
Version 1.2.32 Fix confirmed.
https://github.com/Azure/azure-remote-rendering/releases/tag/1.2.32


Added Error when no content

The code was raising a generic exception whenever status code is not 200. However, often the code is 204 which indicates that the request wa ssuccessful but no contet is available. I added a few lines to raise a NoContentException is one can easily catch these types of exceptions

Great, thank you for your contribution!


RFC: towards a single template master generation -- with options.

We'd like to move to a single master starter template, but have all major options available for users.
By evolution and iteration, we've learned that there are 3 types of starters:

Lightweight service (e.g. "Sinatra/Padrino" in Ruby world)
API (e.g. Rails API)
SaaS (e.g. Rails omakase)

Unlike Rails and Devise and their relationship, we've added User auth to API and SaaS by default. We think it's OK to leave it there, and have users just delete it when they don't need it.
We'd like to create a way for us to maintain just one starter, but to preserve the level of safety and testing we have today (which is great, we simply go into a starter project and test it out as a living thing).
Rails has rails-templates, and some custom way of specifying a starter -- which I'm not sure how maintainable it is for a small team of maintainers.
In addition we may need to introduce some unification or infrastructure at the Loco side to support better testing for various starter templates.

We'd like to get some feedback:

Is this a good number of options? are there any other starter types we don't see? are there starter types we don't need?
How would you expect to pick a starter? (open question)
Would you like custom, social/community ways to generate starters? (Rails had a period of time that everyone were showcasing their own Rails template, powered by rails-templates)
For each option, would you want to compile-out features? (e.g. more extensive use of Rust features), or it doesn't matter?

Any other feedback or ideas are welcome

I like the 3 options. Personally i barely see use cases for the lightweight service but i dont think it hurts.
In terms of auth im not sure. Either having it in by default or having an additional CLI command to generate it seems good. Putting an option in loco new would just make things harder.
In terms of Ui i dont like the frontend option. I know Loco is supposed to be opinionated but just shipping some random react starter just dosent feel good to me and adds a ton of additional maintance if done correctly. I think a simple step by step guide to add a frontend in the Docs would be a better choice. This would also make the whole decision about "auto generated admin / login / etc" a lot easier. Love the options for HTML or HTMX

Sillyvan makes a good point.  One question I have, is React the only frontend option?  If not, is the simple step by step guide to add a frontend to the docs applicable to other choices?

I can spring in here. the answer is it depends
So first up your classic SPA aka React, Vue, Svelte etc do all work. As long as you can run a command which ends up building an html file + js + the rest. Basically like the good old days where you dropped ur build folder in some FTP. With Loco we can easily just serve the HTML file which does all the magic for us. No additional work required.
On the other hand if you want to use the so called "metaframeworks" so Next, Remix, Nuxt, SvelteKit etc it dosent make sense to have them inside ur Loco. Those frameworks will require Node on the server to render ur HTML for you etc. You CAN do this and its not bad! BUT its a standalone App which can talk with Loco over the network with a Rest API or what ever.
Back to your question. is the simple step by step guide to add a frontend to the docs applicable to other choices? Almost. You will always need a build command and a folder for loco to serve. How you do that can be a bit different but if you choose a frontend framework you are very likely to know how this works. Even with SvelteKit you can use a so called Adapter-Static which as the name implies gives you a static output. Realistically if one guide, lets say react is written up. You can probably add docs for another one in a matter of <10 minutes. Just have the correct output folder in ur config. and run npm run build. Biggest difference here is probably Vite vs Rsbuild because they have different config files.
I really dislike writing docs but if someone ends up making a good one i would happily help to add all the common frameworks myself

The codebase should be as lean as possible, which puts the weight on the document. Sillyvan, like you, I find coding much more fun than documenting. What does make a good document to you, one that will provide a rich user experience? I think it should be easy for newbies to understand, while at the same time informative for those who are more technical.  Thoughts?

In my opinion a "newbie" should just stick to the templating engine (server assets) if you dont know how a frontend framework works, you will end up a lot slower.
And the ones that do know how to use it will not struggle if they know that loco just serves their static output.

My vote is to make Tera and server-side rendering the default and then have guides in the docs on adding in client-side assets.
In regards to keeping one starter, we could keep a lean starter that has data api routes, rendered views, mailer, and a singular model (as an example?). Adding in Auth, Tasks, Workers, and other things could be done on the CLI though an AuthGenerator, WorkerGenerator, and so on. This does have the downside of having to maintain the generators (which could be tough) but  could allow for having a single starter template.

In regards to keeping one starter, we could keep a lean starter that has data api routes, rendered views, mailer, and a singular model (as an example?).

+1. A bit of a meta answer to number of starter templates question is that the light/api/saas can be collapsed into one if each of the parts that make up the saas / api can be generated and added at any time using the cli tool. I.e., if loco new myapp --template saas generates the same exact code as loco new myapp --template clean; loco generate auth; loco generate api; loco generate worker, ..., then this leads to something which it really doesn't matter whether you started clean or with all the trimmings.

To add to the discussion, 2 techniques that are found "in the wild" are:

Having a starter be = git repo. And then doing a "cookie cutter" move, by specifying `loco new --template foobar/saas'. From my experience, although this is very flexible, and would remove the burden of thinking about starters from Loco itself, it is almost always calling for trouble -- because it removes this burden and moves it to the end user
Having a starter be a "script" of setting up a starter. This is similar to Rails templates and can possibly result in (using rhai.rs:

//
// starter.rhai
//

// major app building blocks that are seperatable, pre-packaged files that are just "dumped" into the project
add_models
add_controllers
add_auth

// uses the CLI generator under the hood
gen_worker "DownloadWorker"
gen_model "movies title:string"

In the JS world you often see just 1 simple create command and then a another CLI that allows you to add the rest. Actually here svelte just dropped their new CLI maybe that can be an inspiration as well?
https://github.com/sveltejs/cli/tree/main

Preloading an elaborate front-end "solution" introduces external complication to loco. I'd rather see a serverside out of the box experience.
As Sillyvan said: "This would also make the whole decision about "auto generated admin / login / etc" a lot easier. Love the options for HTML or HTMX".
=> Yes a second that.
Like  isaacdonaldson  "My vote is to make Tera and server-side rendering the default and then have guides in the docs on adding in client-side assets."

I generally prefer a minimalistic approach if you want a standalone frontend anyway.
So somewhen we could have a simple CLI command to maybe generate a js file that just exports available routes and maybe the types of api endpoints for a "more end2end feeling"


Update s3-transfer-manager to 2.17.127-PREVIEW

Updates software.amazon.awssdk:s3-transfer-manager from 2.17.122-PREVIEW to 2.17.127-PREVIEW.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "s3-transfer-manager" } ]

labels: test-library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #629.


The metadata provider/resolver for SAML should be configurable for proxy use

Currently, there is no support for configuring an HTTP proxy for the HTTP metadata provider used in the SAML authentication provider. Add this!

Fixed in https://github.com/swedenconnect/signservice/pull/125.


High level question about Koalas

Hi folks!
I just learned about Koalas and it looks very cool!
I have some high level questions about Koalas and wondering what's your guys thoughts on these:

Is Koalas eagerly evaluation or lazy evaluation or mixture? I currently found some operations, like df['x'] being eager and df.head() being lazy, so curious about what is the design philosophy here.

When certain behavior is inconsistent between Spark and Pandas, does Koalas match Spark or Pandas behavior? For example, groupby('x').sum() behavior:

>>> pdf = pd.DataFrame({'x':range(3), 'y':['a', 'b', 'b'], 'z':['a', 'b' ,'b']} )
>>> df = ks.from_pandas(pdf)

>>> df.groupby('x').sum().show()
+---+----------------------+------+
|  x|sum(__index_level_0__)|sum(x)|
+---+----------------------+------+
|  0|                     0|     0|
|  1|                     1|     1|
|  2|                     2|     2|
+---+----------------------+------+

>>> df.toPandas().groupby('x').sum()
   y  z
x
0  a  a
1  b  b
2  b  b

It is currently lazy, but when a variable's repl_html or repr_string is called, it eagerly evaluates that to more closely match what users see with pandas output. I'm thinking it might make sense to have a config so users can turn that behavior off (be completely lazy) in production, so they don't trigger too many big data operations. Any thoughts here?

It should match pandas. GroupBy is one exception because we are still updating it. Once https://github.com/databricks/koalas/pull/194 is done, groupby will match pandas.

I think it already works moderately. At the core, it's lazy but if we use notebook or interpreter, it can work like it's eager No strong opinion on adding a configuration but I suspect the configuration isn't very much useful.

Got it. My thoughts are it should probably be lazy as well. Eager computation is nice when Demoing or playing with trivial data but breaks pretty fast when user start to play with non trivial data. I am also skeptical about the config because that config changes the fundamental behavior and user would have to learn to use the library in two fundamentally different ways.
I do like the fact that when I type df['x'] I can immediately see the result but also realize it probably won't work very well if shuffle is involved.

There is a tradeoff, yes. The current direction of this project is to stick to lazy evaluation :-). I am resolving this ticket.


Remove duplicate columns related to customer aggregates

This PR fixes issue #8.
This is a breaking change; anyone using this package and using the number_of_orders or lifetime_total_price columns will need to update their models to use the ones provided by the source (total_spent and orders_count).

This code looks good, however we going to hold on this one until we finishing building out more robust refund reporting.  So that the total spend numbers match exactly


Custom grant type added

Please add custom grant type support (I'm not very familiar with Angular, but we highly need this functionality)

awesome idea!

Not to be unthankful for getting this change finally merged but I would have appreciated some kind of attribution or thanks considering that this change is completely based on my pull request #344 from three years ago (which I never updated again because I received no feedback whatsoever on it).
Anyway, thanks for giving attention to this library after all this time.


create Monaco editor component

Add this as a reusable component
Allow for passing in of certain options to customize based on needs.
Should be able to take in some pre-written text as well.

fixed with #25


i still cant get how to return result by using ToPageList

what is converter for ToPagedList? can u give me the sample?
what i need is i tried to convert ToPagedList<SouceModel, ResultModel>()

@farisyusry
 return data.OrderByDescending(d => d.Id).ToPagedList(source => {
                // better to use auto mapper.
                var list = new List<OrderManageSummaryModel>();
                foreach (var item in source) {
                    var summary = new OrderManageSummaryModel {
                        OrderNumber = item.OrderNumber,
                        PayNumber = item.PayNumber,
                        OrderMode = item.OrderMode,
                        Payer = item.Payer,
                        PayKind = item.PayKind,
                        Amount = item.Amount,
                        Discount = item.Discount,
                        Receiver = item.Receiver,
                        Paytime = item.PayTime,
                        Status = item.Status,
                        TradeNumber = item.TradeNumber
                    };

                    list.Add(summary);
                }

                return list;
 }, pageIndex: 1, pageSize: 20, indexFrom: 1);