Unable to running step 1 generate prompt

I am located in mainland China and cannot directly access huggingface. I used a mirror source to download the 19 required files. The download has been completed and read from the local, but I cannot running step 1

(sd) linjl@bme-server:~/Paints-UNDO$ python gradio_app.py
/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
The config attributes {'shift_factor': None, 'use_post_quant_conv': True, 'use_quant_conv': True} were passed to AutoencoderKL, but are not expected and will be ignored. Please verify your config.json configuration file.
Fetching 19 files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 19/19 [00:00<00:00, 90972.35it/s]
Loading weights from local directory
Loading weights from local directory
Loading weights from local directory
Unload to CPU: AutoencoderKL
Unload to CPU: UNet3DModel
Unload to CPU: CLIPTextModel
Unload to CPU: ModifiedUNet
Unload to CPU: ImprovedCLIPVisionModelWithProjection
Unload to CPU: VideoAutoencoderKL
Unload to CPU: CLIPTextModel
Unload to CPU: Resampler
/home/linjl/Paints-UNDO/diffusers_helper/k_diffusion.py:43: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
  alphas_cumprod = torch.tensor(np.cumprod(alphas, axis=0), dtype=torch.float32)
Running on local URL:  http://<IP_ADDRESS>:7861

To create a public link, set `share=True` in `launch()`.
IMPORTANT: You are using gradio version 4.27.0, however version 4.29.0 is available, please upgrade.
--------
Traceback (most recent call last):
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 1283, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 1329, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 1278, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 1038, in _send_output
    self.send(msg)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 976, in send
    self.connect()
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 1448, in connect
    super().connect()
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/http/client.py", line 942, in connect
    self.sock = self._create_connection(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/socket.py", line 845, in create_connection
    raise err
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/socket.py", line 833, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/gradio/queueing.py", line 527, in process_events
    response = await route_utils.call_process_api(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/gradio/route_utils.py", line 261, in call_process_api
    output = await app.get_blocks().process_api(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/gradio/blocks.py", line 1788, in process_api
    result = await self.call_function(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/gradio/blocks.py", line 1340, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/gradio/utils.py", line 759, in wrapper
    response = f(*args, **kwargs)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/linjl/Paints-UNDO/gradio_app.py", line 115, in interrogator_process
    return wd14tagger.default_interrogator(x)
  File "/home/linjl/Paints-UNDO/wd14tagger.py", line 33, in default_interrogator
    model_onnx_filename = download_model(
  File "/home/linjl/Paints-UNDO/wd14tagger.py", line 23, in download_model
    download_url_to_file(url=url, dst=temp_path)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/torch/hub.py", line 622, in download_url_to_file
    u = urlopen(req)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 519, in open
    response = self._open(req, data)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 1391, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/home/linjl/anaconda3/envs/sd/lib/python3.10/urllib/request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 101] Network is unreachable>

Can you try something similar to: https://github.com/lllyasviel/Paints-UNDO/issues/44 ?
Seems to be related with wd14tagger

i have the some problem. Have u solved it?
urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>

我遇到了一些问题。你解决了吗？
urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>

I think the reasion is you are in China.
wd14tagger.py will help you download these file by huggingface.
You can't download smoothly the onnx and csv.
My solution is that manually download these files by youself like #44.

I have a similar error but when loading the image
`ERROR:    Exception in ASGI application
Traceback (most recent call last):
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 279, in _init_core_attrs
self._core_schema = _getattr_no_parents(self._type, 'pydantic_core_schema')
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 121, in _getattr_no_parents
raise AttributeError(attribute)
AttributeError: pydantic_core_schema
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\scool\AppData\Roaming\Python\Python310\site-packages\uvicorn\protocols\http\h11_impl.py", line 412, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "C:\Users\scool\AppData\Roaming\Python\Python310\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in call
return await self.app(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi\applications.py", line 1054, in call
await super().call(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\middleware\errors.py", line 187, in call
raise exc
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\middleware\errors.py", line 165, in call
await self.app(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\gradio\route_utils.py", line 713, in call
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\gradio\route_utils.py", line 729, in simple_response
await self.app(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\middleware\exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette_exception_handler.py", line 62, in wrapped_app
raise exc
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\routing.py", line 735, in app
await route.handle(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\routing.py", line 288, in handle
await self.app(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette_exception_handler.py", line 62, in wrapped_app
raise exc
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\starlette\routing.py", line 73, in app
response = await f(request)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi\routing.py", line 291, in app
solved_result = await solve_dependencies(
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi\dependencies\utils.py", line 639, in solve_dependencies
) = await request_body_to_args(  # body_params checked above
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi\dependencies\utils.py", line 813, in request_body_to_args
fields_to_extract = get_model_fields(first_field.type)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi_compat.py", line 283, in get_model_fields
return [
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi_compat.py", line 284, in
ModelField(field_info=field_info, name=name)
File "", line 6, in init
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\fastapi_compat.py", line 109, in post_init
self._type_adapter: TypeAdapter[Any] = TypeAdapter(
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 266, in init
self._init_core_attrs(rebuild_mocks=False)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 144, in wrapped
return func(self, *args, **kwargs)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 286, in _init_core_attrs
self._core_schema = _get_schema(self._type, config_wrapper, parent_depth=self._parent_depth)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic\type_adapter.py", line 104, in get_schema
schema = gen.generate_schema(type)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 655, in generate_schema
schema = self._generate_schema_inner(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 908, in _generate_schema_inner
return self._annotated_schema(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 2025, in _annotated_schema
schema = self._apply_annotations(source_type, annotations)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 2104, in _apply_annotations
schema = get_inner_schema(source_type)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_schema_generation_shared.py", line 83, in call
schema = self._handler(source_type)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 2186, in new_handler
schema = metadata_get_schema(source, get_inner_schema)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 2182, in
lambda source, handler: handler(source)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_schema_generation_shared.py", line 83, in call
schema = self._handler(source_type)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 2085, in inner_handler
schema = self._generate_schema_inner(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 929, in _generate_schema_inner
return self.match_type(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 1029, in match_type
return self._match_generic_type(obj, origin)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 1058, in _match_generic_type
return self._union_schema(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 1378, in _union_schema
choices.append(self.generate_schema(arg))
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 655, in generate_schema
schema = self._generate_schema_inner(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 929, in _generate_schema_inner
return self.match_type(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 1038, in match_type
return self._unknown_type_schema(obj)
File "C:\Users\scool.conda\envs\paints_undo\lib\site-packages\pydantic_internal_generate_schema.py", line 558, in _unknown_type_schema
raise PydanticSchemaGenerationError(
pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for <class 'starlette.requests.Request'>. Set arbitrary_types_allowed=True in the model_config to ignore this error or implement __get_pydantic_core_schema__ on your type to fully support it.
If you got this error by calling handler() within __get_pydantic_core_schema__ then you likely need to call handler.generate_schema(<some type>) since we do not call __get_pydantic_core_schema__ on <some type> otherwise to avoid infinite recursion.
For further information visit https://errors.pydantic.dev/2.9/u/schema-for-unknown-type`

@scooller I solve this issue by upgrading gradio:
pip install gradio==4.43.0

Thanks it Working now but Now I have an error when generating video


Native Runtimes for Linux

I was testing this with Windows and it works great, however when I moved to Linux to test, the nfd.dll file is not found. I looked into the NuGet package and couldn't see any build binaries for anything other than Windows-x64.
I wanted to ask if I am missing something here or if I need to build the linux binaries from source. It would be great if they were included as part of the NuGet package.
Thanks!

I only have provided currently ready compiled shared library for windows, but ill look into adding github workflow to compile them automatically for linux and macos

That would be amazing! Thanks :)

Linux and macos runtimes should now be included in 2.0.2 nuget version once it gets validated and indexed

Awesome <3 I will check it out when I am off work and have some time. thank you!!


Integration tests setup

Description of Change
Added integration tests for alerts and devices.
All other integration tests PR would be raised against this branch.
In devices tests that change state of the system were failing with 403 error are marked to be skipped, the one with 404 error need to find the right device-id.
Issues Resolved
PR Checklist
Did you remember to do the below?

[ NA] Add unit tests to verify this change
[ NA] Add an entry to CHANGELOG.md describing this change
[ NA] Add docstrings for any new public parameters / methods / classes

I commented this on one of your other PRs, but what do you think of adding a helper test method that just checks that the status code is in the 200 range:
assert response.status_code in range(200, 299) or something like that and just calling that for most tests

I commented this on one of your other PRs, but what do you think of adding a helper test method that just checks that the status code is in the 200 range:
assert response.status_code in range(200, 299) or something like that and just calling that for most tests
That will make it less important if it returns 204 vs 200 and if the mockserver accidentally uses 200 instead of 204, it shouldn't make a difference

I am planning to do it once all PR's are merged into this one, so that I can add in all of them together with another PR just having this changes.

I don't like that it require running a custom script to execute the integration tests.  pytest has capabilities to support custom markers for marking tests as a integration tests and executing them via pytest -v -m integration.

We could also include custom markers for the tests that only run on-prem (or mockserver) and we can avoid using skip

I think all of the tests should be testing off the sdk object


Use stern/stern

This PR changes to use https://github.com/stern/stern instead of https://github.com/wercker/stern.
wercker/stern is no longer active repository. Currently, volunteer maintainers have started maintenance stern on stern/stern repository.
REF

https://github.com/wercker/stern/issues/140

Umm... It works on my local environment, but test failed :thinking:
$ shellcheck -V
ShellCheck - shell script analysis tool
version: 0.7.1
license: GNU General Public License, version 3
website: https://www.shellcheck.net
$ shellcheck bin/*
$ git show --quiet
commit 9bf952bf6aa12b3cfafec541ade278ca4467b026 (HEAD -> stern/stern, superbrothers/stern/stern)
Author: Kazuki Suda<EMAIL_ADDRESS>Date:   Wed Oct 28 09:30:12 2020 +0900

    Use stern/stern
$ asdf plugin-add stern ./
$ asdf list-all stern
1.12.0
1.12.1
$ asdf install stern 1.12.1
Creating bin directory
Downloading [stern] from https://github.com/stern/stern/releases/download/v1.12.1/stern_1.12.1_darwin_amd64.tar.gz to /var/folders/d3/lsp0h4wx7wsd4_yrymm9nnm80000gn/T/asdf_ZxXkbMMF/stern_1.12.1_darwin_amd64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   658  100   658    0     0    862      0 --:--:-- --:--:-- --:--:--   861
100 8380k  100 8380k    0     0  1948k      0  0:00:04  0:00:04 --:--:-- 3169k
Cleaning previous binaries
Extracting archive file
Copying binary
$ asdf which stern 1.12.1
/Users/ksuda/.asdf/installs/stern/1.12.1/bin/stern
$ /Users/ksuda/.asdf/installs/stern/1.12.1/bin/stern --version
stern version 1.12.1

ping @looztra

I already faced the same problem and that's why I moved some of my asdf plugins to use github actions, like https://github.com/looztra/asdf-bottom for instance.
Could you add the move from travis to github action in your PR?
If you don't want to, I'll provide it and you will be able to rebase on the changed master

@looztra I've created a commit to use GitHub Actions instead of Travis CI.

Thank you!
Could you please :

change the lint config to something like :

  lint:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Shellcheck
      run: |
        which shellcheck
        shellcheck -V
        shellcheck bin/*

remove the .travis.ci file
remove the shellcheck-on-linux-only.sh file as it is not needed anymore (shellcheck is available by default on linux and macos runners)

(I've experimted these modifications in https://github.com/looztra/asdf-stern/pull/4/files but I'll merge your PR and close mine afterwards)

It seems that shellcheck is not installed on macos-latest. I'll change it to run the lint job on ubunut-latest only.

I've updated it. Could you review the changes?

You're right, my bad, I was not using the strategy in my PR for the lint part.
That's not a big deal, we don't need to run shellcheck on each os after all.
Thanks a lot!


"ValueError: summary field of the index_struct not set." during Multi-Step Query Transformations

I created a ComposableGraph using a GPTTreeIndex on top of a collection of GPTSimpleVectorIndex objects, and I made sure that each individual vector index had its own summary, and that the graph itself also had a summary. Querying it normally seems to work fine, single step query decomposition also works fine, but when I attempt to do multi step query decomposition, I get thrown the error.
graph = ComposableGraph.from_indices(GPTTreeIndex, [indices[key] for key in indices], [str(summaries[key]) for key in indices], service_context=service_context)
graph.index_struct.summary = "<my_summary>"
step_decompose_transform = StepDecomposeQueryTransform(llm_predictor_chatgpt, verbose=True)
response = graph.query("<my_query>", query_transform=None, service_context=service_context) # Works
response = graph.query("<my_query>", query_transform=step_decomposable_transform, service_context=service_context) # Throws error

llama_index=0.5.6

I'm able to set the summary like:
index.index_struct.summary = "some string"
I'm not sure what purpose this summary has though/ why it's needed.

I'm able to set the summary like:
index.index_struct.summary = "some string"
I'm not sure what purpose this summary has though/ why it's needed.

I set that summary as well, but it doesn't seem to help fix the issue, and I'm not sure which index_struct summary is unset...


Sample config JSON file for publish GIS Services

Please share the "Sample config JSON file for publish GIS Services".

https://github.com/Esri/arcgis-powershell-dsc/blob/master/SampleConfigs/v3/PublishGISService.json


TypeError: Cannot read property 'timestamp' of undefined

I found a hexagon which when pressed throws the error TypeError: t[0] is undefined on firefox or TypeError: Cannot read property 'timestamp' of undefined on chrome. It is located at 58.405858, 15.628672.
https://user-images.githubusercontent.com/8418570/125160276-56008100-e17c-11eb-910d-c3b03249c66a.mp4

I noticed that this will happen if the mapper send the altitude value which is not a rounded integer (eg: float).

yes i'm having the same problem on a few hexagons. i noticed indeed the doc says altitude needs to be int, but i assume it's easy for the mapper api to parseInt() to fix incoming float values, and i hope the web interface can be fixed to deal with the incorrect data that got into the database?

Closing this as those hexes now load just fine. This was likely a discrepancy between what was loaded from the tileserver and what could be queried from the database.


A bug in the ourairports user interface

So for the sake of clarity, this has nothing to do with the files that can be downloaded here from github. The issue is however quite annoying, and I got no reply from David when mentioning it to him per e-mail.
If one edits an existing aviation terrain, which is in a country that is spread over multiple continents, upon reading the terrain the user interface will change the continent to the first possible. For example: Spain is mostly in Europe, but partly in Africa too. If one now edits an aviation terrain in European Spain, the user interface will silently change the continent to Africa.
It is easy to overlook this secretive action, in fact it happened to myself yesterday.
I experienced similar effects in Greece, where at least one aerodrome was secretly migrated to Asia by the web page, contrary to my intentions.
All contributors, please look out (contributors @Bill35 and @animebirder have been especially affected, I already corrected a plethora of terrains they had edited) and be ready to correct as required. And David, could you PLEASE check the code?
Thanks in advance to all!

The bug is still alive and kicking - nine aerodromes hit this time, all in Russia, after being edited by @lowflyer.

Thanks, David. It would be nice if you could speed things up a bit, user @lowflyer is clobbering up aerodromes faster than I can correct them...

Well, it is almost half a year since this was reported, and still not solved. Shall we have a little celebration?


[Feature Request] Toggle buffer for the buffer of file window

To be noted, file window_id = win_getid(winnr('#')) for quickfix or getloclist(0, {'filewinid':0}) for locatioinlist.
Don't waste time deciding to use all the buffers in the session or the current buffer unless has a performance issue.
We can simply list all buffers in session and filter the buffer of file window to the new list after entering qf window.

No good idea to implement.


[Customizer/Download] Downloadable version is 6.0.1…

As said here, the downloadable version on the Foundation website (complete, essential or customized) is 6.0.1 while the current one is 6.0.5.

Paging @erikmellum

Looking into it! Thanks!

@NicolasGraph @gakimball  We are running the most up to date version on the customizer now. Also looking into the auto update process and making sure it runs smoothly so it updates itself!


test good_vec_constraints is not being run.

Summary:
One of the tests is left out of the testing process.
Description:
Looks like
src/test/test-models/bad/lang/good_vec_constraints.stan
isn't being run. I see this code:
TEST(lang_parser, good_trunc) {
  EXPECT_TRUE(is_parsable("src/test/test-models/bad/lang/good_trunc.stan"));
}

TEST(lang_parser, good_vec_constraints) {
  EXPECT_TRUE(is_parsable("src/test/test-models/bad/lang/good_trunc.stan"));
}

in
src/test/unit/lang/parser/other_test.cpp
.
Reproducible Steps:
Break the test and watch
./runTests.py src/test/unit/lang/parser/other_test.cpp
pass.
Current Output:
Test is not run and can be broken.
Expected Output:
Test is run and breaking it breaks CI.
Additional Information:
None.
Current Version:
v2.22.0

/lang tests were removed as stanc2 is no longer in this repo so we can close this.


CTE produce output optimize

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Add output columns on sender to reduce CTE produce output columns copy
tpcds_100g_performance>  with xx as (select * from store_sales)
                     -> select *
                     -> from (select count(distinct xx.ss_sold_date_sk) from  xx) t1,
                     ->      (select count(distinct xx.ss_sold_time_sk) from  xx) t2,
                     ->      (select count(distinct xx.ss_promo_sk) from  xx) t3,
                     ->      (select count(distinct xx.ss_customer_sk) from  xx) t4,
                     ->      (select count(distinct xx.ss_cdemo_sk) from  xx) t5,
                     ->      (select count(distinct xx.ss_wholesale_cost) from  xx) t6,
                     ->      (select count(distinct xx.ss_list_price) from  xx) t7,
                     ->      (select count(distinct xx.ss_net_paid) from  xx) t8,
                     ->      (select count(distinct xx.ss_net_profit) from  xx) t9;

Before: Time: 4.439s
After: Time: 3.037s

run all

[FE PR Coverage check]
:heart_eyes: pass : 31 / 32 (96.88%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/DataStreamSink.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/plan/PlanFragmentBuilder.java
18
18
100.00%

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
7
7
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastDataSink.java
1
1
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastPlanFragment.java
1
1
100.00%

run starrocks_be_unittest

[FE PR Coverage check]
:heart_eyes: pass : 31 / 32 (96.88%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/DataStreamSink.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/plan/PlanFragmentBuilder.java
18
18
100.00%

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
7
7
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastDataSink.java
1
1
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastPlanFragment.java
1
1
100.00%

run starrocks_be_unittest

[FE PR Coverage check]
:heart_eyes: pass : 31 / 32 (96.88%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/DataStreamSink.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/plan/PlanFragmentBuilder.java
18
18
100.00%

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
7
7
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastDataSink.java
1
1
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastPlanFragment.java
1
1
100.00%

run starrocks_be_unittest

run starrocks_be_unittest

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 31 / 32 (96.88%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/DataStreamSink.java
4
5
80.00%

:large_blue_circle:
com/starrocks/sql/plan/PlanFragmentBuilder.java
18
18
100.00%

:large_blue_circle:
com/starrocks/planner/ExchangeNode.java
7
7
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastDataSink.java
1
1
100.00%

:large_blue_circle:
com/starrocks/planner/MultiCastPlanFragment.java
1
1
100.00%


Dropdown search in menu

Hi there!
I noticed that the Dropdown module does not support search in menu ability like in original Semantic UI
So I decided to try to add this in the Dropdown module by myself and I want to share it with the community.
I made a lot of minor changes that change module behavior in case if searchInMenu property was passed. These changes were necessary to achieve properly module working.
Line 168  -  This change needs to support to show only filtered options with searchInMenu property.
Line 283, 370 -  These changes need to disable hiding textNode in Dropdown in case if the filter was passed.  This need because the filter input field was placed in Dropdown Menu so there is no need to hide text in the Dropdown module when searchInMenu property was passed.
Line 341 - Disable hiding menu on by click in the menu in case if the click was made in menu input field. Because of this I also added "input" ref in the input component.
Line 402, 435 - Support navigation and submit from the keyboard. Also, it fixes navigation and submit for search property.
Line 471 -  support String type from the attribute. This was made because input component emits string instead of the Event object.

Hi, thanks for contributing! Could you add a usage example?

Hi, thanks for contributing! Could you add an example?

I added an example.


Open question: node versions and defense

If we have nodes 0-5 for each team/user, are they assigned a variety of versions (not in a predictable pattern)?
Can users update the source code of the nodes?
Would that allow a way to do defense?
Are we concerned about defense?

Each team should have the same distribution of vulnerable & updated nodes. Altering the source code would be impractical in warnet and also, if each player can just update to current master as soon as the game starts, nothing will happen. So my opinion is, no defense except knocking out your opponents as quickly as possible


Doubts loading data to shogun.

Hi there! Here a student trying to start using Shogun in real-world problems...
I've started using shogun toolbox with the kaggle's titanic problem and, trying not to get stucked, I'm also followin the shogun introduction notebook... but I have some doubts about loading data in shogun-way.
This is a example of my dataset:
1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C
3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S
4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S
5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S
6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q
I've started trying to load it using
f=SparseRealFeatures() trainlab=f.load_with_labels(data_file) mat=f.get_full_feature_matrix()
as in the introduction to shogun, as I thought it would be good to use a sparse matrix from the beginning but when using it, I got a segmentation fault (core dumped). I think that's because SparseRealFeatures doesn't accept non numerical data, so I've tried to use CStringFeatures instead... resulting in get this output:
"from shogun import CStringFeatures
ImportError: cannot import name 'CStringFeatures'"
I'm working in python3 and I've installed shogun from source code...  and I don't know why I can't import this class... I'm a bit lost with Shogun docs.
I've seen other examples at the showroom but they use scipy.io loadmat to load files... which seems to be the same as if I load dataset with, for example, pandas dataframes and then pass to RealFeatures a resulting numpy array...
The reason to open this issue is to ask people accustomed to work with shogun how do they load this kind of datasets with non-numerical features and work with them, if someone know what's happen with CStringFeatures, and if they think it real matter to use CFile class to load datasets (at least working in languages like python which offers lot of doing the same...  and Shogun seems to need only the final resulting RealFeatures and Labels to work.
Thats all! I ask that here because there aren't a forum or something like that, sorry if is not correct to open issues for something like that!

This is not a github issue, but a topic for the mailing list. Pls post it there

Or StackOverflow

Sorry, didn't know there are a mailing list :/ I should have found it... I'll post it there, thanks :)


[BugFix] Fix wrong cast from double to decimal when using "create table as select" statement to create hive table

Why I'm doing:
create table as:

create table like:

Source table:

What I'm doing:
Fixes #42671
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@kangkaisen @Seaven @packy92 PTAL, thx~

@mxdzs0612 Could you add the UT for this bug? Thanks.

TestSQLCases.testIcebergHadoopCatalog
Element counts were not equal:
First has 1, Second has 0:  'c0\\tDOUBLE\\tYes\\tfalse\\tNone\\t'
First has 0, Second has 1:  'c0\tDOUBLE\tYes\tfalse\tNone\t' : sql result not match:
- [SQL]: describe ice_hadoop116eb6925e404ab1a02ce81abbc49f13.ice_hadoop_db116eb6925e404ab1a02ce81abbc49f13.test_double_as;
- [exp]: ['c0\\tDOUBLE\\tYes\\tfalse\\tNone\\t']
- [act]: ['c0\tDOUBLE\tYes\tfalse\tNone\t']
---

TestSQLCases.testIcebergHadoopCatalog
Element counts were not equal:
First has 1, Second has 0:  'c0\\tDOUBLE\\tYes\\tfalse\\tNone\\t'
First has 0, Second has 1:  'c0\tDOUBLE\tYes\tfalse\tNone\t' : sql result not match:
- [SQL]: describe ice_hadoop116eb6925e404ab1a02ce81abbc49f13.ice_hadoop_db116eb6925e404ab1a02ce81abbc49f13.test_double_as;
- [exp]: ['c0\\tDOUBLE\\tYes\\tfalse\\tNone\\t']
- [act]: ['c0\tDOUBLE\tYes\tfalse\tNone\t']
---

@kangkaisen Done, PTAL


stl-deserializer having issues with some STLs

Expected Behavior
STL should import fine
Actual Behavior
Importing some STLs is resulting in many bad triangle vertice coords/normal logs and error: point XX must be an array of X, Y, Z values
Steps to Reproduce the Problem

visit example with file imports: https://codesandbox.io/p/sandbox/jscad-react-js-demo-forked-hfgxh8
import JSCAD logo (exported from jscad.app) - this imports fine: jscad.zip
import STL from non-working-stl.stl  and see errors - STL comes from thingiverse 4inParachuteClip_femaleClip_2.stl  non-working-stl.stl.zip

Specifications

Version: latest
Platform: codesandbox (linux?) / windows / assuming any
Environment: browser

@tsdexter thanks for the detailed information.
i tried the STL files (from thingiverse), and both loaded into openjscad.xyz
so there may be some other issue with the loading of the file contents, etc.

@z3dev how do you load files into openjscad.xyz? That could be helpful for me when debugging further

Just drag and drop the STL file to the website.

@tsdexter the latest release has some fixes for STL binary imports. Please try and let us know if this issue has been resolved.


How i can send some giffs in one message?

Hello,I have task to send some giffs in one message how i can do it?

have you tried sending them as image?


Create an non generic interface for GameEvent

In order to subscribe to changes without carrying about the value of the GameEvent.

not sure how that could be archived with an interface.
I've got a branch in my fork, where I implemented some changes. I've added an Event to GameEvent which is parameterless and a refactored GameEvent to be a non-generic base class, here:
https://github.com/soraphis/unity-atoms/blob/proposal/2.0/Source/Core/Events/GameEvent.cs
(I also did some changes to Variables and folder structure, aswell as added a CHANGELOG.md)

I checked last 3 commits. It looks nice and clean. It provides a solution for ResetValue, non-generic Variable/Event classes and parametless GameEvents. I think that it would be also good to add GameEvent Listener MonoBehaviour (I don't know how to name it, based on Void Listener, Int Listener, etc.) which could accept all types of GameEvents but could call only parametless methods (it would look almost like Void Listener, but accept all types), just for convention of Listeners.
Waiting for that if @AdamRamberg will accept that or got another idea.

Guys @soraphis @AdamRamberg, will you add those changes to the canary branch?

Guys @soraphis @AdamRamberg, will you add those changes to the canary branch?

i doubt that he will add all those changes together. because I touched quite a few things at once.
if you want to use the changes in the meantime, risking that the API might break in the next update, you can change the package-manager link to:
"com.mambojambostudios.unity-atoms": "https://github.com/Soraphis/unity-atoms.git#proposal/2.0",

@IceTrooper Sorry for my inactive the last weeks! @soraphis don't have time right now, but will dive into your changes when I get the chance. Question on the project structure: How do you run  the tests or test the editor scripts? From what I can see, the Examples project's manifest is only referencing the Source folder.

@AdamRamberg Not sure if I understand your question.
my git-root is the Asset folder of a unity project. I run the tests in Unity, opening the test runner..
I haven't touched the Examples (just renamed them and extracted the tests), they surely need a cleanup too.
there is no need to have a full unity-project-structure inside a ExamplesAndTests folder.
Because the Unity-Project-root is a level above the git project
Unity-Project
    Assets (git root)
        . . .
    ProjectSettings....

Ok, today it's a day I used your @soraphis fork because I need those features. Could you explain to me how to register a listener to parameterless GameEvent.cs (for now I just used a public OnEvent event in GameEvent.cs)? I think there is a lack of IGameEventListener interface (without < T >). Did you miss that or did you do that in some purpose?

Oh, I'm sorry that it's double posting, but...
I also found that it would be good to add parametless GameAction (the same mechanism like for GameEvents, so I think I don't have to describe it more, how it could works).

Could you explain to me how to register a listener to parameterless GameEvent.cs (for now I just used a public OnEvent event in GameEvent.cs)?

sure. it has been a bit since I looked into the code, but as far as I can tell:
public class SomeListener : MonoBehaviour{

    [SerializeField] private GameEvent someEvent; // fill in inspector

    void OnEventRaised(){
            // handle the event
    }

    void OnEnable(){ someEvent.OnEvent += OnEventRaised();        }
    void OnDisable(){ someEvent.OnEvent -= OnEventRaised();        }

}

as an alternative it should be possible to do it like:
    void OnEnable(){ someEventRegister(OnEventRaised);        }
    void OnDisable(){ someEvent.Unregister(OnEventRaised);        }

I'm writing this without an IDE so there might be a syntax error or two
I should note, that the parameterless GameEvent doesn't have the RegisterListener method, but only the more flexible Register(Action).
Using this allows it to have a single component handle multiple events with different handle methods.

Ok, so I did that like you said before. Could you explain me why didn't you add RegisterListener method?

that's correct, my changes where made as a proposal to show how it could be done, its by no means complete and be careful when using it: the API may change when/if it is worked into the main project
Yeah, I know, but it's time I have to use something and can't wait for pushing that on master. I like your solution, so I made a fork and now I'm adding some more things.

Ok, so I did that like you said before. Could you explain me why didn't you add RegisterListener method?

because I think its the more C# way of doing it. it is also more flexible. But one could argue its only personal taste.

I like your solution, so I made a fork and now I'm adding some more things.

looked into your fork. Editor should not be inside Source. really. look into other unity packages (from unity-technologies). also if you've a property with public, trivial getter and setter. you could just use a public variable.

@soraphis Oh, great you looked at that.

looked into your fork. Editor should not be inside Source. really. look into other unity packages (from unity-technologies). also if you've a property with public, trivial getter and setter. you could just use a public variable.

I did that only because when I haven't got Editor in Source I didn't have that included in a package, so... I didn't have any of the custom properties and custom editor in my project (isn't the desired effect, is it?). When I moved an Editor directory into Source now I got Editor in a package and all custom editor things went back. So it has to be in the Source when we want a custom editor. Did you check that in your project?
And why do you say that in official packages there aren't any Editor directories, look at TextMeshPro:

I also got one more problem, so many times I saw that ".\Repos\MyProject\unity-MyProject\Assets\IconAssignmentSettings.json" was modified somehow (I didn't touch that file, what is that file?). I got problems with icons in my project window (in Inspector it went back after I moved Editor directory inside Source). Look at it:

I did that only because when I haven't got Editor in Source I didn't have that included in a package, so... I didn't have any of the custom properties and custom editor in my project (isn't the desired effect, is it?).

you're right. "Editor/" has to be listed in the package.json i forgot that. but that isn't a problem of the folder structure

And why do you say that in official packages there aren't any Editor directories, look at TextMeshPro:

In TextMehsPro there is no "Source", its called "Runtime" and "Editor" and "Runtime" are on the same level, as where our "Editor" and "Source" folder should be

I also got one more problem, so many times I saw that ".\Repos\MyProject\unity-MyProject\Assets\IconAssignmentSettings.json" was modified somehow (I didn't touch that file, what is that file?).

that's part of Adams icon solution. I can't tell you much about it, sorry.

I got also problems with icons in my project window (in Inspector it went back after I moved Editor directory inside Source). Look at it:

yeah, i think when i separated it, i also changed some paths'.

I can't agree at all. I know it's almost the same, but I learned from many articles and good-practices in C# that we should almost always use public properties instead of public fields.

I know all those best practice guides as well, but for unity projects there is no benefit at all. at least i couldn't find one. For game logic code of your specific game there is zero benefit.
Unity recompiles the whole project anyway so you don't have a "your project does not need recompile if the library changes" benefit (which only gives a benefit if you're only changing the field to a property in the first place).
The library (unity-atoms) is not meant to be used with high amount of Reflections. there might be people who do this, but not in that scale and the library itself does not at all.
Databind isn't a thing were interested in either.
Properties are slower. not that much, but accessing them every frame in hundreds of scripts and targeting mobile platform. just saying.
in the .NET C# world out there, there are valid reasons for properties over variables. especially in library code. but a trivial property in unity code feels wasted to me.

Added none generic base classes to all atoms in commit e732dad66a4002f955a5319c739e895d65429e53. Closing the issue. If I've missed / overlooked something please create a new issue.


fix: existing email error popup

Description
Added Error message for existing email used
Changes Made
Added line 133 - 136
Related Issues
[Bug] Signing up with an account that already exists doesn’t show the error in the UI. Fixes #149
Additional Info
Changed step one line 135, as it had unnecessary white space, and it wasn't pretty enough

@Techngo10 To test it, you would need to make a Clerk account and make an account with an email address and then try making a new account with the same email address. See https://github.com/compsci-adl/website/blob/main/docs/clerk.md.


[Bug]: ASGI Application Exception Causing Task Endpoint Inconsistencies After Prolonged Operation in RMF

Before proceeding, is there an existing issue or discussion for this?

[X] I have done a search for similar issues and discussions.

OS and version
Ubuntu 22.04.4 LTS
Open-RMF installation type
Source build
Other Open-RMF installation methods
No response
Open-RMF version or commit hash
rmf_web 0.1.0
ROS distribution
Humble
ROS installation type
Binaries
Other ROS installation methods
No response
Package or library, if applicable
No response
Description of the bug
I'm encountering an error while conducting reliability tests on a real robot with RMF. The error occurs after several hours of testing, and the task endpoint starts incorrectly reporting that there are no running or queued tasks, even though the tasks were successfully sent. Eventually, the dispatcher starts rejecting new tasks.  I'm running a simple script that continuously queries the task endpoint to ensure that there is always one running task and two in the queue. After a few hours of continuous operation, I receive the error above. After the error, the task endpoint incorrectly reports 0 running and 0 queued tasks, although the task submission was previously successful. This leads to the system continuously trying to queue new tasks, causing the dispatcher to eventually start rejecting them. Below is the stack trace from the ASGI application:
[start:rmf-server] Exception in ASGI application
[start:rmf-server] Traceback (most recent call last):
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 411, in run_asgi
[start:rmf-server]     result = await app(  # type: ignore[func-returns-value]
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
[start:rmf-server]     return await self.app(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in __call__
[start:rmf-server]     await super().__call__(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/applications.py", line 123, in __call__
[start:rmf-server]     await self.middleware_stack(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 186, in __call__
[start:rmf-server]     raise exc
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 164, in __call__
[start:rmf-server]     await self.app(scope, receive, _send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 91, in __call__
[start:rmf-server]     await self.simple_response(scope, receive, send, request_headers=headers)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 146, in simple_response
[start:rmf-server]     await self.app(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
[start:rmf-server]     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
[start:rmf-server]     raise exc
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
[start:rmf-server]     await app(scope, receive, sender)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/routing.py", line 758, in __call__
[start:rmf-server]     await self.middleware_stack(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/routing.py", line 778, in app
[start:rmf-server]     await route.handle(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/routing.py", line 299, in handle
[start:rmf-server]     await self.app(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/routing.py", line 79, in app
[start:rmf-server]     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
[start:rmf-server]     raise exc
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
[start:rmf-server]     await app(scope, receive, sender)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/routing.py", line 74, in app
[start:rmf-server]     response = await func(request)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/fastapi/routing.py", line 285, in app
[start:rmf-server]     raise e
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/fastapi/routing.py", line 275, in app
[start:rmf-server]     solved_result = await solve_dependencies(
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/fastapi/dependencies/utils.py", line 600, in solve_dependencies
[start:rmf-server]     solved = await run_in_threadpool(call, **sub_values)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/starlette/concurrency.py", line 42, in run_in_threadpool
[start:rmf-server]     return await anyio.to_thread.run_sync(func, *args)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
[start:rmf-server]     return await get_async_backend().run_sync_in_worker_thread(
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
[start:rmf-server]     return await future
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
[start:rmf-server]     result = context.run(func, *args)
[start:rmf-server]   File "/home/nanofleet/rmf-web-0.1.0/packages/api-server/api_server/dependencies.py", line 57, in dep
[start:rmf-server]     datetime.fromtimestamp(int(parts[1]) / 1000, timezone.utc),
[start:rmf-server] ValueError: year 287396 is out of range

Steps to reproduce the bug
1- Set up RMF with a simple robot fleet.
2- Run a script that continuously queries the task endpoint and submits tasks.
3- After several hours, observe that the task endpoint reports 0 running and 0 queued tasks incorrectly.
4- The error leads to the task dispatcher rejecting new tasks when a lot of task has been sent.
Expected behavior
No response
Actual behavior
No response
Additional information or screenshots
No response

Please use a code block for multi-line logs, https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#fenced-code-blocks
like
this

Please also add the logs from the task dispatcher as well.
Are you able to share the script that you are using for testing, so we can attempt to reproduce it? Because the error does not appear to be an error with the dispatcher or rmf-web, rather it looks like it is related to how the tasks were being  was constructed, if the start time . For some context the line that your logs are pointing to is the time_between_query dependency when querying for tasks, and that is trying to parse the timestamps from the query. So if your script is producing invalid start times for task requests, it will get rejected by the task dispatcher, and it will also show up as an invalid range on the API server logs as mentioned here.
It would be useful to also know the list of tasks that are sent out to the API server, and the particular task request (the entire json) that caused this error to start

Hi @aaronchongth ,
Thanks for your response. I wanted to share the script I'm currently using for testing:
import requests
import time
import json
from datetime import datetime

# Constants for API Endpoints
TASK_URL = "http://<IP_ADDRESS>:8000/tasks/dispatch_task"
STATUS_URL = "http://<IP_ADDRESS>:8000/tasks"

# Define the robot and fleet we are focusing on
TARGET_ROBOT = "nano500xw02"
TARGET_FLEET = "Robot500xw"

def generate_task_payload():
    current_time = int(time.time() * 1000)  # Current time in milliseconds
    payload = {
        "type": "dispatch_task_request",
        "request": {
            "unix_millis_earliest_start_time": current_time,
            "unix_millis_request_time": current_time,
            "priority": {
                "type": "binary",
                "value": 0
            },
            "category": "compose",
            "description": {
                "category": "transfer_material",
                "phases": [
                    {
                        "activity": {
                            "category": "sequence",
                            "description": {
                                "activities": [
                                    {
                                        "category": "go_to_place",
                                        "description": "station_500"
                                    },
                                    {
                                        "category": "go_to_place",
                                        "description": "unloading_station"
                                    },

                                    {
                                        "category": "perform_action",
                                        "description": {
                                            "unix_millis_action_duration_estimate": 10000,
                                            "category": "pigeonhole_handling",
                                            "description": {
                                                "target_task": "unloading",
                                                "length": "1.06",
                                                "width": "0.84"
                                            },
                                            "use_tool_sink": False
                                        }
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "labels": [""],
            "requester": "rmf_demos_tasks",
            "fleet_name": TARGET_FLEET
        }
    }
    return payload

def send_task():
    task_payload = generate_task_payload()
    # Log the payload before sending
    print(f"Sending task payload: {json.dumps(task_payload, indent=2)}")

    response = requests.post(TASK_URL, json=task_payload)
    if response.status_code == 200:
        print("Task submitted successfully")
    else:
        print(f"Failed to submit task: {response.status_code} - {response.text}")

def get_tasks_status():
    response = requests.get(STATUS_URL, headers={"accept": "application/json"})
    if response.status_code == 200:
        tasks = response.json()

        # Filter tasks for the target robot and fleet
        filtered_tasks = [
            task for task in tasks
            if isinstance(task.get('assigned_to'), dict)  # Ensure assigned_to is a dictionary
            and task['assigned_to'].get('name') == TARGET_ROBOT
            and task['assigned_to'].get('group') == TARGET_FLEET
        ]

        return filtered_tasks
    else:
        print(f"Failed to retrieve tasks: {response.status_code} - {response.text}")
        return []

def manage_tasks():
    while True:
        tasks = get_tasks_status()
        running_tasks = [task for task in tasks if task.get('status') == 'underway']
        queued_tasks = [task for task in tasks if task.get('status') == 'queued']

        print(f"Running tasks for {TARGET_ROBOT}: {len(running_tasks)}, Queued tasks: {len(queued_tasks)}")

        # Ensure only 1 task is running
        if len(running_tasks) == 0 and len(queued_tasks) <= 1:
            send_task()
            print("Starting the next queued task...")

        # Sleep for 5 seconds before the next status check
        time.sleep(120)

if __name__ == "__main__":
    manage_tasks()

There isn't a specific task request causing the issue—it's consistently the same request. The script runs as expected for a few hours, but then the get_tasks_status() function stops working correctly and consistently reports that no tasks are queued or running. As a result, the send_task() function continues sending tasks, which are subsequently rejected by the task dispatcher. In the RMF server, I also receive error messages related to this.

It would be useful to also know the list of tasks that are sent out to the API server, and the particular task request (the entire json) that caused this error to start

Please provide this.
Thanks for providing the script, I have a few follow-up questions,

are you running the API server with sim time (depending on the server config file, it is default true if a simple pnpm start is invoked)?
What about the task dispatcher (use_sim_time:=1)?
Are you running a simulation that is completing the tasks?

My first intuition is that there is a mismatch between the different component's time, perhaps one of them running in sim time, while another is running in real time. This could cause an overflow

Hi @aaronchongth,
Thanks for your follow-up and suggestions.
I've investigated further and realized that this issue is happening specifically after charging tasks are initiated. The problem appears to be that, once the charging tasks are completed by the fleet adapter, they seem to become "standby" and are never marked as completed in the RMF server.  The fleet adapter believes the robot has completed charging and resumes the task, but the RMF server doesn't update the task status accordingly.
At this point, the /tasks endpoint stops reporting task statuses altogether, which leads my script to continue submitting new tasks since it incorrectly believes there are no running or queued tasks. Eventually, this overwhelms the dispatcher, leading to task rejections and the "year out of range" error I mentioned previously.
[rmf_task_dispatcher-14] [INFO] [1730709992.790626720] [rmf_task_dispatcher]:  - Start new bidding task: compose.dispatch-341
[rmf_task_dispatcher-14] [INFO] [1730709994.565049720] [rmf_task_dispatcher]: Add Task [compose.dispatch-343] to a bidding queue
[rmf_task_dispatcher-14] [INFO] [1730709994.990646009] [rmf_task_dispatcher]: Task auction for [compose.dispatch-341] did not receive any bids
[rmf_task_dispatcher-14] [WARN] [1730709994.990713525] [rmf_task_dispatcher]: Dispatcher Bidding Result: task [compose.dispatch-341] has no submissions during bidding. Dispatching failed, and the task will not be performed.

It seems like there is some issue in how the task state transitions are being handled for charging tasks—perhaps the RMF server isn't being properly updated by the fleet adapter, or there is a mismatch in the task completion signaling.

Thanks for looking further into it @osama-z-salah! For more context, the API server does not update any task statuses on its own. It only ever receives updates over websockets from the fleet adapter and task dispatcher (if configured) and stores it accordingly into the database based on the task ID. So any missing updates to "complete" the charging task is going to have to be published from the fleet adapters.
That being said, semantically a charging task is never "complete" unless the robot is charged till 100%, and based on the configuration of the fleet adapter, the fleet adapter is also allowed to accept new tasks and send charging robots to perform new tasks, ignoring that they are currently charging. I haven't looked into it yet, but we could potentially cancel  a charging task if ever it is interrupted by a new task, this will need to be implemented in https://github.com/open-rmf/rmf_ros2, and the task state updated to canceled according to https://github.com/open-rmf/rmf_api_msgs/blob/main/rmf_api_msgs/schemas/task_state.json#L189. PRs are welcome!
Another way to go about it, would be to modify your custom testing script to accommodate this behavior.

Additionally, regarding the use_sim_time setting, I found that it was incorrectly set to true despite setting the environment variable RMF_SERVER_USE_SIM_TIME to false.

You can set it from the config too, https://github.com/open-rmf/rmf-web/blob/main/packages/api-server/sqlite_local_config.py#L12. Make sure that your server config file does not have that line use_sim_time:=true, as it overwrites the environment variable RMF_SERVER_USE_SIM_TIME. The environment variable is only useful when your server config file does not already define the ros arg, because they will just be appended to each other.
I'll be closing this ticket now, since it is not a bug related to rmf-web, and the behavior you are seeking will need to be implemented elsewhere


Renderer randomly fails to handle a Mesh3D changing its size

Describe the bug
If a Mesh3D entity, which has indices, is repeatedly logged with a growing size, then the viewer will occasionally, for certain frames (random per run but reproducible within one), not render the mesh, and produce a log message such as:
re_space_view_spatial::mesh_cache] Failed to load mesh "/mesh": Invalid mesh given as input: Index 81 was out of bounds for 81 vertex positions -> Index 81 was out of bounds for 81 vertex positions
To Reproduce
Steps to reproduce the behavior:

Run this program to generate data:
use rerun::external::glam::UVec3;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let rec = rerun::RecordingStreamBuilder::new("mesh_flicker_bug").spawn()?;

    let frame_count = 360;
    for ft in 0..frame_count {
        let triangle_count = ft;

        let positions = (0..triangle_count + 2).map(|i| {
            let r = if i % 2 == 0 { 2. } else { 3. };
            let theta = ((i * 4) as f32).to_radians();
            rerun::Position3D(rerun::Vec3D([
                r * theta.sin(),
                r * theta.cos(),
                (i as f32) * 0.05,
            ]))
        });

        let index_tris = (0..triangle_count).map(|t| UVec3::new(t, t + 1, t + 2));

        rec.log(
            "mesh",
            &rerun::Mesh3D::new(positions)
                .with_mesh_properties(rerun::MeshProperties::from_triangle_indices(index_tris)),
        )?;
    }

    Ok(())
}

Drag the cursor through the timeline.

Observe flickering.

Expected behavior
The mesh should not randomly disappear.
Screenshots
https://github.com/rerun-io/rerun/assets/779501/3313083e-b16b-41bc-b43b-739d5ff6487c
Note: without screen recording active, just a few frames flickered and errored. The recording makes it look deterministic, but it is not.
Desktop (please complete the following information):

OS: macOS 14.4.1

Rerun version
rerun-cli 0.16.0-alpha.1+dev [rustc 1.76.0 (07dca489a 2024-02-04), LLVM 17.0.6] x86_64-apple-darwin (debug)
rerun-cli 0.14.1 [rustc 1.77.1 (7cf61ebde 2024-03-27), LLVM 17.0.6] x86_64-apple-darwin

I'm curious to see if that still happens on the new data APIs. I'll have a look later when I'm back on these branches.

I'm curious to see if that still happens on the new data APIs. I'll have a look later when I'm back on these branches.

Nope, still happens on cmc/data_apis_16_non_cacheable_components.


Minified version of multiselect.js has been added

The minified version of multiselect.js. The multiselect.min.js has been tested.

We'll need to have build system for minification. Otherwise it's not possible to automatically update minified version whenever src changes.

That's great. Lets have a proper build system and I can contribute the code


answer to longer on TOS

will wait @glennj's response to this and the earlier then do the rest

As mentioned in the other PR, the student's answer has to get onto the stack before the expected answer.


consider using ja3 to block bots

https://github.com/salesforce/ja3

Also see: https://github.com/komuw/ong/issues/124 (consider using hassh to block bots)

CircleCI recently got hacked, the entrypoint was[1]:
"Our investigation indicates that the malware was able to execute session cookie theft, enabling them to impersonate the targeted employee in a remote location"
I think the issue could have been mitigated by storing the client's IP address in the session cookie, and then failing any requests that have mismatched IP addresses.
However, client IPs are easily spoofed[2]. So instead of storing IP address, how about we store the ja3 hash instead?

https://circleci.com/blog/jan-4-2023-incident-report/
https://adam-p.ca/blog/2022/03/x-forwarded-for/

Amazon cloudfront now has ja3 support: https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-cloudfront-supports-ja3-fingerprint-headers/

repo with some know ja3 fingerprints including bots; https://github.com/LeargasSecurity/ja3-fingerprint-repository

https://pkg.go.dev/crypto/tls#ConnectionState

"JA3 gathers the decimal values of the bytes for the following fields in the Client Hello packet; SSL Version, Accepted Ciphers, List of Extensions, Elliptic Curves, and Elliptic Curve Formats. It then concatenates those values together in order, using a "," to delimit each field and a "-" to delimit each value in each field.
The field order is as follows:
SSLVersion,Cipher,SSLExtension,EllipticCurve,EllipticCurvePointFormat"

https://github.com/sleeyax/ja3rp/blob/c6e640ae57ea705b992b61752ef264eae32e510d/crypto/tls/common.go#L462-L514

Caddy seems to have implemented something similar to what we want; https://github.com/caddyserver/caddy/pull/1430

We should also consider whether we can use tls.Config.GetCertificate
https://github.com/komuw/ong/blob/fd94ed712d9baa5b42d5ff16f1fe561337491328/server/tls_conf.go#L79
Dan Peterson[1] on gophers slack had said;
maybe need to get into some kind of listener/conn wrapping and info passing that way
So we should look into that

https://gophers.slack.com/archives/C0M8BLZAN/p1673793286287319

package main

import (
	"crypto/tls"
	"fmt"
	"io"
	"log"
	"net/http"
	"net/http/httptest"
	"sync"
)

func main() {
	var chisMu sync.Mutex
	chis := make(map[string]*tls.ClientHelloInfo)

	ts := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		chisMu.Lock()
		defer chisMu.Unlock()

		var supportedVersions []uint16
		chi := chis[r.RemoteAddr]
		if chi != nil {
			supportedVersions = chi.SupportedVersions
		}

		fmt.Fprintln(w, "Hello, client who supported", supportedVersions)
	}))
	ts.TLS = &tls.Config{
		GetConfigForClient: func(chi *tls.ClientHelloInfo) (*tls.Config, error) {
			chisMu.Lock()
			defer chisMu.Unlock()
			chis[chi.Conn.RemoteAddr().String()] = chi
			return nil, nil
		},
	}
	ts.StartTLS()
	defer ts.Close()

	client := ts.Client()
	res, err := client.Get(ts.URL)
	if err != nil {
		log.Fatal(err)
	}

	greeting, err := io.ReadAll(res.Body)
	res.Body.Close()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%s", greeting)
}

https://go.dev/play/p/oQ-OaEoZUix
Suggested by  Dan Peterson[1] on gophers slack.

https://gophers.slack.com/archives/C0M8BLZAN/p1673793286287319

The order of the various lists(ciphers, curves) etc from the client, I think, is of importance for fingerprinting. So even if we use tls.ClientHelloInfo we need to make sure that it is not like sorting those lists(or changing them from the order that the client presents them)

Accessing the underlying socket of a net/http response : https://stackoverflow.com/questions/29531993/accessing-the-underlying-socket-of-a-net-http-response

package main

import (
	"crypto/rand"
	"crypto/rsa"
	"crypto/tls"
	"crypto/x509"
	"encoding/pem"
	"io"
	"math/big"
	"net"
	"net/http"
	"net/url"
)

func generateTLSConfig() *tls.Config {
	key, err := rsa.GenerateKey(rand.Reader, 1024)
	if err != nil {
		panic(err)
	}
	template := x509.Certificate{SerialNumber: big.NewInt(1)}
	certDER, err := x509.CreateCertificate(rand.Reader, &template,
		&template, &key.PublicKey, key)
	if err != nil {
		panic(err)
	}
	keyPEM := pem.EncodeToMemory(&pem.Block{
		Type:  "RSA PRIVATE KEY",
		Bytes: x509.MarshalPKCS1PrivateKey(key)},
	)
	certPEM := pem.EncodeToMemory(&pem.Block{
		Type:  "CERTIFICATE",
		Bytes: certDER,
	})

	tlsCert, err := tls.X509KeyPair(certPEM, keyPEM)
	if err != nil {
		panic(err)
	}
	return &tls.Config{
		Certificates:       []tls.Certificate{tlsCert},
		GetConfigForClient: storeClientSNI,
	}
}

var (
	tlsCfg = generateTLSConfig()
)

func storeClientSNI(chi *tls.ClientHelloInfo) (*tls.Config, error) {
	conn := chi.Conn.(*hackedInnerConn)
	conn.sni = chi.ServerName
	return nil, nil
}

type hackedListener struct {
	net.Listener
}

type hackedInnerConn struct {
	net.Conn
	sni string
}

type hackedOuterConn struct {
	net.Conn
	hic *hackedInnerConn
}

type hackedAddr struct {
	net.Addr
	hoc *hackedOuterConn
}

func (hc hackedOuterConn) LocalAddr() net.Addr {
	return hackedAddr{
		hc.Conn.LocalAddr(),
		&hc,
	}
}

func (hln hackedListener) Accept() (net.Conn, error) {
	conn, err := hln.Listener.Accept()
	if err != nil {
		panic(err)
	}
	hoc := hackedOuterConn{}
	hic := hackedInnerConn{
		conn,
		"",
	}
	hoc.Conn = tls.Server(&hic, tlsCfg)
	hoc.hic = &hic
	return hoc, nil
}

func startServer(addr string, handler http.Handler) {
	netAddr, err := url.Parse(addr)
	if err != nil {
		panic(err)
	}

	server := &http.Server{
		Handler: handler,
	}
	ln, err := net.Listen("tcp", netAddr.Host)
	if err != nil {
		panic(err)
	}
	hackedLn := hackedListener{
		ln,
	}
	err = server.Serve(hackedLn)
	if err != nil {
		panic(err)
	}
}

func mustWrite(w io.Writer, p []byte) {
	_, err := w.Write(p)
	if err != nil {
		panic(err.Error())
	}
}

func main() {
	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		haddr := r.Context().Value(http.LocalAddrContextKey).(hackedAddr)
		mustWrite(w, []byte(haddr.hoc.hic.sni+"\r\n"))
		mustWrite(w, []byte(r.Host+"\r\n"))
	})
	startServer("https://<IP_ADDRESS>:4443", handler)
}

from: https://github.com/golang/go/issues/20956#issuecomment-535887459

From https://github.com/golang/go/issues/36337#issuecomment-582619266 , FiloSottile said:
We don't surface values to the application when there is no other use case than fingerprinting.
Not because fingerprinting is not a valid use case, but because it asymptotically tends to
require access to everything, polluting the API.

Instead, I usually recommend making a net.Conn wrapper that reads the
ClientHello off the wire and makes all of the details available as needed.

CircleCI recently got hacked, the entrypoint was[1]: "Our investigation indicates that the malware was able to execute session cookie theft, enabling them to impersonate the targeted employee in a remote location"
I think the issue could have been mitigated by storing the client's IP address in the session cookie, and then failing any requests that have mismatched IP addresses. However, client IPs are easily spoofed[2]. So instead of storing IP address, how about we store the ja3 hash instead?
This still does not resolve the issue completely. This is because, whereas the attacker now cannot use their own machine/s to carry out the attack, they can still do so by proxying though the employees machine[3]

https://circleci.com/blog/jan-4-2023-incident-report/
https://adam-p.ca/blog/2022/03/x-forwarded-for/
https://news.ycombinator.com/item?id=34388099

John Althouse(one of the authors of JA3) saysthat using ja3 would have made session hijacking a pain in the a**

https://twitter.com/4A4133/status/1615103474739429377

There's an alternative format called TS1: https://github.com/lwthiker/ts1

It is like ja3, except it incorporates more options from the ssl handshake
It also has another fingerprinter that works on http2

Do note that even though salesforce/ja3 is released under a BSD 3-Clause license, the ja3 fingerprinting is patented by salesforce: https://patents.google.com/patent/US11128606B2
The ja3 repo says: JA3 is a .. TLS fingerprinting .. inspired by research of Brotherston & his TLS Fingerprinting tool: FingerprinTLS.
Looking at the linked research and tool ,  I'm surprised salesforce got the patent since their is prior art.
Anyhow, I'm not a lawyer and have no clue how the patent system works.

check to see if https://github.com/golang/go/blob/go1.20/src/crypto/tls/handshake_test.go#L27-L42 has TLS test vectors we can use.

https://github.com/golang/go/issues/32936#issuecomment-1454853964
https://github.com/bpowers/go-fingerprint-example/blob/main/fingerprinting_server.go


Add PF-1.1, PF-1.2 to test registry

Pull Request Functional Test Report for #3348 / 22cd2d271c31e33bacc2d81556926df239054234
No tests identified for validation.
Help


Better integration outside of the Security tab.

At the moment it appears all the results go to the security tab of the repo and not into any pull request that initiated the scan nor any of the GitHub Action logs.
Is it possible to include the results in the logs?
Is it possible to fail the action if any new issues are found so it clearly shows on pull requests rather than expecting PR reviewers to also remember to check the security tab and switch to the PR branch?

Is it possible to fail the action if any new issues are found so it clearly shows on pull requests rather than expecting PR reviewers to also remember to check the security tab and switch to the PR branch?

It should already create a check run on the pull request and populate annotations there for any new alerts. The check run will also be marked as "failed" so you can use that to block merging of a PR.
Can you link to your repository/workflow? Perhaps it is not set up fully so code scanning is not working on pull requests.

Thanks for getting back so promptly. Hopefully I'm missing something here and this is already there cause I am super keen to use this.
Here's the example PR, where I enabled this action and caused it to do a full scan of the repo:
https://github.com/bazzadp/almanac.httparchive.org/pull/192
I do see it as as passed:

However I do see Warnings and Notes, in the Security tab:

Yet no mention of these in the PR so how is the PR raiser, or PR review supposed to know there are issues to address?
Does it only block on Errors and not on Warnings and Notes? Luckily I don't have any of those in the code 😀, but it would be nice to know if we'd introduced new Warnings or Notes that were no there previously. Or is that the issue these are not things change in this CR and so existing issues so not flagged in this PR?
Also when I click on details I don't see those Warnings and Notes in the logs - it could be nice if that Details link (or an additional link) linked to the Security tab where it's possible to see the outputs and not just the logs that don't see to give the necessary detail.
Does that make sense?

The info is in the Code scanning results check that is created by code scanning. The code scanning analysis was successful, but to produce results on the PR code scanning has to compare those results to an earlier so it can say which results are new to that PR and which are existing alerts.
Since this PR is introducing the code scanning workflow there's nothing to compare it to. So for this first PR you don't get any annotations on the PR. For future PRs you'll get notified only when the PR introduces or fixes an alert.
For this first PR you can view the results in the security tab as you've already seen. In the future we'll be able to improve their first-PR experience so it's less confusing.

Ah perfect, that explains that. I merged it and did another Test PR and can indeed see the results in there and also in the results:

Is it possible to make warnings fail the Github Action? Or it it only errors that do that?

Is it possible to make warnings fail the Github Action? Or it it only errors that do that?

Sorry that isn't configurable at the moment. It's definitely something that will be added in time though.
It looks like all questions are answered now, or at least the initial problem is sorted, so I'll preemtively close this issue.

Yup, happy to close. Thanks very much for your help!


install.ps1: Supporting Server 2012 R2 Core without WoW64 and making unzipping more robust

Recently I wanted to use Chocolatey on a Windows Server 2012 R2 Core trimmed down so much that even the 32-bit subsystem (WoW64) was not present. This posed no problem for choco.exe or PowerShell, but there was the issue of actually installing Chocolatey. The existing install.ps1 uses 7-Zip (7za.exe) by default, which is a 32-bit application and won't work on such a system. Manually switching to the alternate method supported by install.ps1 would not help, because the system had PowerShell 4.0 (so no Expand-Archive cmdlet) and no GUI (so no unzipping by Explorer).
I was able to fix this quickly by hacking install.ps1 to use the ZipFile class present in .NET 4.5 and later, but it motivated me to take a long look at how unzipping is done in that script and I came up with a few improvements.
My thoughts were:
all systems still supported by Microsoft today have a builtin mechanism for unzipping (and I do not mean Explorer);
the install script should be as easy to use as possible, ideally not require the user to tweak anything;
since some users are inconvenienced by an additional download, and it reduces the reliability of the install process, avoid doing that.
I changed the script so that it attempts these unzip methods in order, until one succeeds or all fail:
Expand-Archive - available with PowerShell 5+
System.IO.Compression.FileSystem - available with .NET 4.5+
7-zip - requires additional download, does not work on pure 64-bit systems (Server Core with WoW64 subsystem removed)
Windows Explorer decompresion - does not work on Server Core
Method 1) should work on all modern systems (Win10, Server 2016+).
Method 2) covers older systems still supported by Microsoft (Win8.1, Server 2012 and 2012 R2).
Methods 3) and 4) remain for compatibility with even older, out-of-support OSes (such as Win7).
The user is able to control the list of methods by setting the chocolateyUnzipMethods environment variable to a list (separated by commas, semicolons, pipes or spaces) of method names, chosen out of this set:
PowerShell
DotNet
SevenZip
Explorer
For backward compatibility, the chocolateyUseWindowsCompression environment variable is still recognized, and if set to true and chocolateyUnzipMethods is not set, the method list becomes 'PowerShell,DotNet,Explorer'.
This change brings the following benefits:
support for Server 2012/2012 R2 Core with 32-bit subsystem (WoW64) removed;
no need for additional 7-Zip download on modern OSes;
automatic fallback, so admins should no longer need to manually set environment variables and retry.
This issue was originally raised by jberezanski  on internal issue.
┆Issue is synchronized with this Gitlab issue by Unito

@jberezanski we have just pushed out a new version of the Chocolatey install.ps1 file.  Can you please take a look at it and let me know if it addresses some, or any, of the concerns that you raised in this issue.  I know that you created a PR to address the problem with the old script, so if you feel a change is still required, let's have a chat here about it, and we can try to get them addressed.
Thanks

Thanks for the heads up! I'll check it out in a couple of days.

There has been no update to this. I'm going to go ahead and close this issue, but we can reopen it if necessary.

Apologies, apparently I forgot to report my findings...
Yes, Chocolatey now installs correctly on a 64bit-only system, provided PowerShell 5+ is present.
Unfortunately, such choco installation is severely crippled: the Get-ChocolateyUnzip helper always uses a 32-bit 7za.exe to do the extraction, which fails on such a system, so zip packages are unusable. But that's probably a separate issue.

Thanks @jberezanski for confirming that. Could you raise a separate issue for the 7zip issue?


Nightly versions are not updated in the Download Center

Describe the Bug
When visiting the nightly build page in the download center, you see that the versions not got updated since 18th of March.

When downloading the version, you also see the wrong version number:

The nightly jobs run through properly on Travis (cf. build#669321397) and are updated in the S3 bucket
Steps to Reproduce

Go to the download center
See the wrong creation date

Expected Behavior
The nightly versions should be updated in the download center correctly.
Additional Context

Nightly Jenkins job

Works again, cf. build.


Make the div structure nesting/naming clearer

Also, this fixes some indentation weirdness in the HTML 🙂
Closes #41.

Superceded by #52, which includes these changes and several others.

Superceded by #52, which includes these changes and several others.


Add Narva, Estonia

[!NOTE]
Request: #760

[x] Add submodule
[x] Update README.md
[x] Update cities.json in https://github.com/EqualStreetNames/module-global/commit/a3bb47a2c7cf0e977a9cd6223bad77e0f75a09e3
[x] Update package.json in https://github.com/EqualStreetNames/module-website/commit/1fbed09d3470ee3ef7bec1dc174d6f6e3c09f04a
[ ] Add MAPBOX_TOKEN secret
[x] Update automated update and deployment
[ ] Update DNS in ...

@62mkv Don't forget to add MAPBOX_TOKEN secret.

MAPBOX_TOKEN added


adding a cmd line option for a custom "remote" card provider with a TerminalFactory

Thanks for the PR!
So I'd split this into two:

What is currently missing 100%: --providerarg (some better name?) for existing --provider option (where new/modifiable implementations actually could also use environment variables or configuration files). Probably arguments are of type String ?

cmdline-fu sugar for not being forced to add the provider jar to the classpath manually, as currently is explained in the README. DWIM would mandate that --provider should recognize the jar:class construct, which seems reasonable (nothing else "standard" comes to mind). Maybe even jar:class:arg

Thanks for the input, I'll implement this slightly differently as explained, would that cover your needs?

Hi Martin
that sounds good.  I think it should work.
I like the jar:class:arg - I like it more than 2 apduj4 parameters I
suggested originally. In fact calling getRemoteTerminalFactory() (as
named now) would just change the source of its last argument.
Dan

Martin Paljak<EMAIL_ADDRESS>27 February 2016 11:15
Thanks for the PR!
So I'd split this into two:

What is currently missing 100%: |--providerarg| (some better
name?) for existing |--provider| option (where new/modifiable
implementations actually could also use environment variables or
configuration files). Probably arguments are of type |String| ?

cmdline-fu sugar for not being forced to add the provider jar to
the classpath manually, as currently is explained in the README.
DWIM would mandate that |--provider| should recognize the
|jar:class| construct, which seems reasonable (nothing else
"standard" comes to mind). Maybe even |jar:class:arg|

Thanks for the input, I'll implement this slightly differently as
explained, would that cover your needs?
—
Reply to this email directly or view it on GitHub
https://github.com/martinpaljak/apdu4j/pull/11#issuecomment-189619292.

Random topic. We also need 2-3 more features:

"production" - this will make sure that no sensitive information -
i.e., OP keys are displayed
"dualcontrol" - that will allow entering and reconstructing OP keys
from components (2 or 3)
"kcv" - key entry control - protection from typos when entering OP keys

If it's ok, I would do the first version once this pull request is dealt
with.
Dan

Martin Paljak<EMAIL_ADDRESS>27 February 2016 11:15
Thanks for the PR!
So I'd split this into two:

What is currently missing 100%: |--providerarg| (some better
name?) for existing |--provider| option (where new/modifiable
implementations actually could also use environment variables or
configuration files). Probably arguments are of type |String| ?

cmdline-fu sugar for not being forced to add the provider jar to
the classpath manually, as currently is explained in the README.
DWIM would mandate that |--provider| should recognize the
|jar:class| construct, which seems reasonable (nothing else
"standard" comes to mind). Maybe even |jar:class:arg|

Thanks for the input, I'll implement this slightly differently as
explained, would that cover your needs?
—
Reply to this email directly or view it on GitHub
https://github.com/martinpaljak/apdu4j/pull/11#issuecomment-189619292.

Please bring this over to GP tracker and make separate tickets. I'll post the replies there.

shall I try to get the implementation closer to what we discussed or are you working on this?

I'll not be working on this before a week or two, feel free to hack on.

I'll commit this as soon as I have a "somewhat sensible" fuzzing provider inside apdu4j (which is the only use case for an external provider in a JAR with parameters I could think out at once for GPPro)

v0.0.33 adds -provider handling. The format is jar:class:args and args should be urlencoded if it contains : characters. Some "sensible defaults" are possible, as described in the code: https://github.com/martinpaljak/apdu4j/blob/master/src/apdu4j/TerminalManager.java#L184 Have a look if this is what you need. I'll add a fuzzing provider to apdu4j at some point, what allows to do simple testing of existing code, such as GPPro.


Edit generated tours using tool?

Hi
Is there any way to update certain parts or add more in a generated tour at a later time? Having to remake the tour from scratch using tool each time is tedious

help

there is no way to do this with the actual tool, and looks like it was not interest for this project invest in this feature, even if it's the most blocking one for many use-case.
The only way so far is merge manually the DATA.js, but it's very annoying, time consuming and potentially subject to errors.


Unable to show blog posts in homepage.

Hi, huge fan of this theme but currently there's no article lists in homepage after activate the theme. It's suitable for your website (I love it) but personally I prefer to display all the posts on the first page😂😂😂, is there anyway to do it?
It would be nice if ganymede can use article lists as the default page, then use route.yaml to define which page shows on home page.

same here ... ;,(

solved with replace home.bs code same as index.hbs

@craigary  this theme is use custom routes and custom home page, i understand after read this doc https://ghost.org/tutorials/custom-home-page/

@roniardynt Thank you and I'll take a look, I thought it use route.yaml to set custom homepage but obviously its not. So I was kinda confused 😂

@craigary  you must modify index.hbs to fix displaying page for hompage. my index.hbs is like this
{{!< default}}
{{!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template --}}
{{> header}}

{{!-- Everything inside the #post tags pulls data from the post --}}
{{#page}}

{{title}}

               {{content}}

{{/page}}

first time trying i'm kinda confused too, but i modified home.hbs and its work.

@craigary  you must modify index.hbs to fix displaying page for hompage. my index.hbs is like this
{{!< default}}
{{!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template --}}
{{> header}}

{{!-- Everything inside the #post tags pulls data from the post --}}
{{#page}}

{{title}}

               {{content}}

{{/page}}

first time trying i'm kinda confused too, but i modified home.hbs and its work.

Yup -- sorry about this. I changed the homepage into a custom page. You can change it back by following @roniardynt's solution above. Closing for now.


sort in onLoad needs timeout

I do save the last sort order of my users. When he enters the page again, I want to sort the table initially. For this, I call tinysort in my onLoad function. It does not work. After trying around a while, I fount out, that when I add a timeout, it works:
setTimeout(function(){  tinysort('#spf-gridTrips>div:not(.spf-table-header)',{selector:'a>.spf-grid-text-div>.spf-tab-trip-paymentSum',attr:'sortval',order:'desc'});  }, 50);
So my question: is this a bug? Is it not intended to work onLoad?

Are you sure the load-event fires?
I did a quick test which works just fine (in Chrome because es6):
<!DOCTYPE html>

before load

4

1

3

2

on load

4

1

3

2

after load

4

1

3

2


🧑💻 : Add scroll to top button

:red_circle: Title : Add scroll to top button
:red_circle: Enhancement Aim : Want to add scroll to top button
:red_circle: Changes :
Screenshots 📷

I want to add a top button here

✅ Details to Include When Taking the Issue:
Name : Souvik Pramanik
Participant Role (Specify the Open Source Program name, e.g., GSSOC, Hacktoberfest, etc.): GSSOC

Happy Contributing! 🚀
Wishing you all the best on your open source journey. Enjoy! 😎

can you add labels and also add level1


Double timeouts to address RC travis flakes

RC failed on travis at https://travis-ci.org/firebase/firebase-ios-sdk/jobs/575573395 due to several timeouts in RCNRemoteConfigTest.m.
Double the timeout value.

Seems to be a deadlock versus a timing issue. Closing.


Configure Lighthouse in 4c site

Description
Lighthouse is a really great tool that we can use to help manage and check the site's performance in its production environment. This will really help to easily spot and then fix issues that may be in the site.
@FrancescoXX, you can help with this.
Screenshots
No response

hey @tobySolutions , what do you mean configure Lighhouse in 4c site?
anyone can just download the extension and just check it on any website
Here is the current valuation (we can use it later to show before/after)

Chrome extension link
https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk/related?hl=it

Oh! I wasn't aware. Let me show this to the team.

can we close this one?


feat: US_17/SuperStar

Description

Added the Star Power functionality to Mario, as he can now destroy all the enemies he touches, for a limited time, and when this time limit is over, Mario returns to his previous normal state.
Related Issue(s)

Changes Made

[x] I added new Sprites for Mario Large and Small with Power Star
[x] I add a new music when Mario has the power of the Star

Screenshots (if applicable)

Checklist

[x] Mario destroys all enemies
[x] Mario gets the star for a limited time
[x] As long as Mario has the star, a music plays in the background.
[x] When the time of the star is over, both the status and the music return to their original state.

Code reviuw
@aguirrekarina
@OropezaHugo

reset the highscore to 0 please


handle tuples in scons CPPDEFINES

SCons can handle a strings, dics, tuple in CPPDEFINES, but the VSProject
backend could only handle strings and dicts. This patch allows it handle
tuples.
Reviewers:
@vinniefalco @miguelportilla

@seelabs The machine that you committed from does not have a properly configured user.email and user.name, it says "Scott Determan" instead of seelabs:
https://help.github.com/articles/setting-your-email-in-git/

The first line of the commit message could be shorter:
"Handle tuples in scons CPPDEFINES"
The phrase "Allow ____ to handle ____" is sufficiently generic that it could be used in every commit message: "Allow getLedger to handle nullptr return", "Allow disconnectPeer to handle socket errors", etc... therefore, it adds no value.

So glad to finally see someone other than me get pulled over by the Python police

Some Python quibbles, none of which change the correctness of this code.
:+1:

Accepted all the changes. Thanks!

I do really love the neatness of Python... part of this is purely pedagogical.  :-)

I checked that scons itself accepts a list there, and it does. So changed. One bad thing about the change is the cute '%s=%s' % item code broke when item is a list.

Hah, interesting!  Didn't see that coming!  The % operator has some elements of funky.
You can fix easily by saying '%s=%s' % tuple(item)

Yes, that's what I did.
Interestingly, scons accepted a three element list and silently ignored the third element. Bad scons!

:+1:

Merged


About nuScenes dataset

Thank you for your nice work!
Do you have any plan for releasing the code for nuScenes dataset?

Thank you for your interest in our work! We are currently organizing the code for the nuScenes dataset, and it will be released once it is ready. In the meantime, I recommend running experiments on the Lyft dataset, which is only around 80GB and requires less storage, while the nuScenes dataset is over 300GB.


Add full ParILU OpenMP support

I just realized that in order to fully support ParILU with OpenMP, we need the kernel omp::sort_by_column_index if the matrix was not sorted previously. Now, it throws a NOT_IMPLEMENTED exception if the matrix should be sorted by the ParILU.

True. It is OK for now, but we need to keep it in mind..

I will take care of this.
I already wrote parts of it in the branch extend_parilu_omp, and will create a PR as soon as I am done.


Solve to and from selector example inconsistencies

The ingress rule example describes egress behavior, and vice versa for the egress rule example.

@jijordre I'm going to close this PR for now, feel free to open once you get the email situation / CLA resolved.
https://git.k8s.io/community/CLA.md#the-contributor-license-agreement
Let me know if you have any questions!
/close


Automated cherry pick of #6205: Do not try to update type of Secret in selfSignedCertProvider

Cherry pick of #6205 on release-1.15.
#6205: Do not try to update type of Secret in selfSignedCertProvider
For details on the cherry pick process, see the cherry pick requests page.

/skip-all


pd.Index: replace set operations

[x] Closes #4565
[x] Passes isort . && black . && mypy . && flake8
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst

Pandas will change pd.Index.__or__ and pd.Index.__and__. Use pd.Index.union and pd.Index.intersection inseated. There should be no change in functionality.

Thanks @mathause !


Add task for even numbers superposition

Added task 10 to superposition

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: evilpegasus sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

TODO:
Add check for odd numbers
Write better description for task
Give more info about notation (hints)

This looks good, all the right pieces are in the right places! Once you finish the list of TODOs you have, it will be ready to be merged.
One note, I think the little-endian notation is better introduced in task description and not in a hint; hints are supposed to push the solver in the right direction of though, and the endianness is really part of the task description.