disconnecting a monitor behavior

Many clients are not visible or accessible after disconnecting a secondary monitor in a 2-monitor > 1-monitor-configuration change.
As an example, when I move a client to workspace 2 on vdesk 1, and disconnect my monitor, the only way to retrieve the client on the now blank screen is with a dispatcher and/or custom hook script. With the secondary monitor disconnected, I hoped this plugin would move workspace-affected existing clients to accessible workspaces, which, for a monitor count of 1 I gather is any odd numbered hyprland workspace: 1,3,5,7,9 (accessible through switching to vdesks 1,2,3,4, and 5, respectively). It would be very helpful for the behavior of preserving workspace-affected clients by moving them to these single-monitor-setup-accessible workspaces to be implemented, possibly byway of a new rememberlayout parameter which enables this behavior when there is only a single monitor connected.

Hey, thank you for your report. Could you:

Provide simple instructions to reproduce this;
When this happens open a terminal and post here the output of hyprctl workspaces and hyprctl clients;
Run hyprctl dispatch vdeskreset. Does this solve your issue?

I load into my hyprland desktop environment with both monitors connected.
I open firefox to this issue on workspace 1 (screen 1 on vdesk 1).
I move to workspace 2 (screen 2 on vdesk 1) and open terminal.
I execute hyprctl workspaces:

workspace ID 1 (1) on monitor eDP-1:
monitorID: 0
windows: 2
hasfullscreen: 0
lastwindow: 0x2b045a0
lastwindowtitle: Terminal

workspace ID 2 (2) on monitor DP-1:
monitorID: 1
windows: 1
hasfullscreen: 0
lastwindow: 0x2b08970
lastwindowtitle: Terminal
```
5. I execute `hyprctl clients`:
```
Window 2b08970 -> Terminal:
mapped: 1
hidden: 0
at: 1549,13
size: 1893,1053
workspace: 2 (2)
floating: 0
monitor: 1
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 2

Window 28fdb90 -> disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox:
mapped: 1
hidden: 0
at: 13,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: firefox
title: disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox
initialClass: firefox
initialTitle: Mozilla Firefox
pid: 104792
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 1
Window 2b045a0 -> Terminal:
mapped: 1
hidden: 0
at: 776,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 0
    6. I disconnect my secondary display (DP-1) displaying a terminal client through workspace 2.     7. After my laptop screen returns from a quick black screen, I run `hyprctl workspaces` again (at this point my terminal client from workspace 2 has been disappeared):
workspace ID 1 (1) on monitor eDP-1:
monitorID: 0
windows: 2
hasfullscreen: 0
lastwindow: 0x2b045a0
lastwindowtitle: Terminal — wl-copy
workspace ID 2 (2) on monitor eDP-1:
monitorID: 0
windows: 1
hasfullscreen: 0
lastwindow: 0x2b08970
lastwindowtitle: Terminal
    8. And I run `hyprctl clients` again:
Window 2b08970 -> Terminal:
mapped: 1
hidden: 0
at: 13,13
size: 1510,934
workspace: 2 (2)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 2
Window 28fdb90 -> disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox:
mapped: 1
hidden: 0
at: 13,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: firefox
title: disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox
initialClass: firefox
initialTitle: Mozilla Firefox
pid: 104792
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 1
Window 2b045a0 -> Terminal — wl-copy:
mapped: 1
hidden: 0
at: 776,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal — wl-copy
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 0
```
9. I run hyprctl dispatch vdeskreset, and can access the terminal client on workspace 3 on vdesk2, as expected.
Before writing this and getting to this point, I first tried hyprctl dispatch vdesk reset, which did fix anything, because I entered the command incorrectly.
(Correctly) entering hyprctl dispatch vdeskreset fixed the issue.
Thank you

The issue is practically resolved, however, I still think it would be practical to implement this behavior automatically, maybe through a plugin configuration setting.


Visualizing Segmentation Mask

Hello, I am trying to figure out a way to draw a segmentaion mask for a particular image. When I tried to investigate the outputs of the fine-tuned model, I just saw that the output is a classification vector for each pixel. That is, each pixel value is either 1 or 0, depending on whether the pixel is a part of a building or not. Its there a way to output a segmentation mask from this?
Secondly, I am facing errors when I try to use mmseg to perform inference on the trained model since the models defined on OPEN-CD use mmseg internally. It first says that the FoundationEncoderDecoder model is not registered, and when I try to do so, there is a key error saying that the key pre trained is not defined. Can you please point me in the right direction to generate a segmentation mask for the image as you have done in the paper? I am mostly concerned with building extraction only

Hi there,

You can modify the visualize_hook to save your results: (like this:
visualization_hook.zip

in order to use mmseg to read, load model, you can re-register rsbuilding models, transform, ect. before using init_model() or inference():

Thank you for this. It worked


decrease --max_old_space_size to 768

We are still brushing up against the 1Gb memory limit on Heroku dynos - we need to account for memory overhead of the entire application as well as objects waiting to be GC'd, so decreasing max_old_space_size to 768 (Mb).
cc @craigspaeth @alloy @broskoski

I'm down! Any methodology for coming up with the new number?

Yea - 512 + 256 ;) out of the 1024 Mb allocated for the dyno, that leaves 256 Mb for application memory.  The application seems stable at around 700 Mb memory before it starts climbing.


Add the ability to open a folder in a remote container directly rather than having to open it locally first

I'd like to see the ability to open a folder directly in its remote container instead of having to open it locally and either wait for the prompt to open it in the container or to explicitly run the command from the palette.
Ideally it could be a command-line argument like
code --in-container path/to/workspace

For WSL this works with code --remote=wsl+ubuntu ... /path/in/wsl.
Same for ssh.
The problem with containers is that the authority is not user friendly as it encodes a folder path.
What containers could look at is if they can reload the window. e.g.

User enters code --remote=dev-container+ pathInHost
wsl resolver gets vscode-remote://dev-container/pathInHsost
resolver reloads the window with  vscode-remote://dev-container+encodedPathInHost/projects/folder


x/website: dl page overflows from downloads table

I can reproduce as well; below is a video on Firefox 112.2.0 on Android 13 on a Pixel 4a, visiting https://go.dev/dl:
https://user-images.githubusercontent.com/3576549/236195885-be76b8bf-d16b-443b-b00f-80ce15a403e1.mp4
The problem is that I can horizontally scroll away from the entire page content, including the top bar. This appears to be due to the table containing each of the downloads with their info, since it doesn't fit the vertical and rather narrow phone screen.

cc @golang/tools-team

@adonovan sounds unrelated? this is a css issue on the main site


huggingface_hub.utils._errors.LocalEntryNotFoundError during state = init_st(version_dict, load_filter=True) (line:120 at scripts/demo/video_sampling.py)

I've manually downloaded svd.safetensors from huggingface, but while loading the svd model, an errored raised at state = init_st(version_dict, load_filter=True) (line:120 of scripts/demo/video_sampling.py)

Full log
Collecting usage statistics. To deactivate, set browser.gatherUsageStats to False.
You can now view your Streamlit app in your browser.
Network URL: http://<IP_ADDRESS>:8005
External URL: http://<IP_ADDRESS>:8005
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
VideoTransformerBlock is using checkpointing
2023-11-22 09:21:27.165 Uncaught app exception
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 264, in _get_or_create_cached_value
cached_result = cache.read_result(value_key)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_resource_api.py", line 500, in read_result
raise CacheKeyNotFoundError()
streamlit.runtime.caching.cache_errors.CacheKeyNotFoundError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 312, in _handle_cache_miss
cached_result = cache.read_result(value_key)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_resource_api.py", line 500, in read_result
raise CacheKeyNotFoundError()
streamlit.runtime.caching.cache_errors.CacheKeyNotFoundError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 715, in urlopen
httplib_response = self._make_request(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 404, in _make_request
self._validate_conn(conn)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1058, in validate_conn
conn.connect()
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connection.py", line 419, in connect
self.sock = ssl_wrap_socket(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/util/ssl.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/util/ssl.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 1104, in _create
self.do_handshake()
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 1375, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 799, in urlopen
retries = retries.increment(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/packages/six.py", line 769, in reraise
raise value.with_traceback(tb)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 715, in urlopen
httplib_response = self._make_request(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 404, in _make_request
self._validate_conn(conn)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1058, in validate_conn
conn.connect()
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/connection.py", line 419, in connect
self.sock = ssl_wrap_socket(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/util/ssl.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/urllib3/util/ssl.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 1104, in _create
self.do_handshake()
File "/root/miniconda3/envs/generative_models/lib/python3.10/ssl.py", line 1375, in do_handshake
self._sslobj.do_handshake()
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1247, in hf_hub_download
metadata = get_hf_file_metadata(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1624, in get_hf_file_metadata
r = _request_wrapper(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 402, in _request_wrapper
response = _request_wrapper(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 425, in _request_wrapper
response = get_session().request(method=method, url=url, **params)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/utils/_http.py", line 63, in send
return super().send(request, *args, **kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/requests/adapters.py", line 501, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: (ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')), '(Request ID: 711a3a32-4980-4a60-bb66-5d5a4e0e12b7)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 534, in _run_script
exec(code, module.dict)
File "/home/haodongli/generative-models/scripts/demo/video_sampling.py", line 121, in
state = init_st(version_dict, load_filter=True)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 212, in wrapper
return cached_func(*args, **kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 241, in call
return self._get_or_create_cached_value(args, kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 267, in _get_or_create_cached_value
return self._handle_cache_miss(cache, value_key, func_args, func_kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 321, in _handle_cache_miss
computed_value = self._info.func(*func_args, **func_kwargs)
File "/home/haodongli/generative-models/scripts/demo/streamlit_helpers.py", line 46, in init_st
model, msg = load_model_from_config(config, ckpt if load_ckpt else None)
File "/home/haodongli/generative-models/scripts/demo/streamlit_helpers.py", line 86, in load_model_from_config
model = instantiate_from_config(config.model)
File "/home/haodongli/generative-models/sgm/util.py", line 175, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/home/haodongli/generative-models/sgm/models/diffusion.py", line 59, in init
self.conditioner = instantiate_from_config(
File "/home/haodongli/generative-models/sgm/util.py", line 175, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/home/haodongli/generative-models/sgm/modules/encoders/modules.py", line 79, in init
embedder = instantiate_from_config(embconfig)
File "/home/haodongli/generative-models/sgm/util.py", line 175, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/home/haodongli/generative-models/sgm/modules/encoders/modules.py", line 1039, in init
self.open_clip = instantiate_from_config(open_clip_embedding_config)
File "/home/haodongli/generative-models/sgm/util.py", line 175, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/home/haodongli/generative-models/sgm/modules/encoders/modules.py", line 591, in init
model, _, _ = open_clip.create_model_and_transforms(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/open_clip/factory.py", line 382, in create_model_and_transforms
model = create_model(
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/open_clip/factory.py", line 281, in create_model
checkpoint_path = download_pretrained(pretrained_cfg, cache_dir=cache_dir)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/open_clip/pretrained.py", line 552, in download_pretrained
target = download_pretrained_from_hf(model_id, cache_dir=cache_dir)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/open_clip/pretrained.py", line 522, in download_pretrained_from_hf
cached_file = hf_hub_download(model_id, filename, revision=revision, cache_dir=cache_dir)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/root/miniconda3/envs/generative_models/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1377, in hf_hub_download
raise LocalEntryNotFoundError(
huggingface_hub.utils._errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.

Thanks for any help!

我有类似的问题，国内墙了huggingface，我是要用clip但不知道该放哪里
I have same problem, becaues of loss connection with huggingface,i know need open_clip but don't know where to put

I have same problem, becaues of loss connection with huggingface,i know need open_clip but don't know where to put
In a Colab this issue was solved by adding more RAM.

我有类似的问题，国内墙了huggingface，我是要用clip但不知道该放哪里
I have same problem, becaues of loss connection with huggingface,i know need open_clip but don't know where to put

您好，我遇到了跟您一样的问题，请问您现在解决了吗？我是在云服务器上运行的

just manually load the clip after line279 at /root/miniconda3/envs/generative_models/lib/python3.10/site-packages/open_clip/factory.py
            if pretrained == 'laion2b_s32b_b79k' and model_name == 'ViT-H-14':
                pretrained = 'your_path/CLIP-ViT-H-14-laion2B-s32B-b79K/open_clip_pytorch_model.bin'
                print(f'==> load {model_name}, version: {pretrained}')
                pretrained_cfg = get_pretrained_cfg(model_name, pretrained)
                print(f'==> pretrained_cfg = {pretrained_cfg}')


Ministry Confirm Enrolment and Disburse after Study End Date

Acceptance Criteria

[x] Disable institution COE if (today - 42 days (6 weeks)) > offeringEndDate (At present it is assumed to be 42 days(6weeks) and this number may change)
[x] If student application selected offering end date is past today trigger EXCEPTION and display banner
[x] During PIR if institution selects offering that is past today display banner
[x] Add "confirm enrolment" button on ministry disbursement summary page (mockup 3)
[x] If user clicks confirm enrolment display yes/no modal
[x] Tuition remittance always = 0 if completed by ministry
[x] Add role to keycloak AEST user as "student-confirm-enrolment" add to groups: aest-business-administrators

Additional Context(Added by @dheepak-aot )
Confirmed with @JasonCTang on following context of the user story.

Ministry staff should be able to confirm enrolment at any time.(Even outside the 21 day COE window)
We can allow COE to be declined past the study end date by both Institutions and Ministry users.(Note: ministry declining COE is not in the scope of this story).

Figma
Mockup 1 (student - Application including "program not listed")
https://www.figma.com/file/9Om2tzLAVEoMQrjmrH4fhu/MOD-SIMS?node-id=5517%3A105612&t=0H8HhRFLnYItlOQH-0
https://www.figma.com/file/9Om2tzLAVEoMQrjmrH4fhu/MOD-SIMS?node-id=5517%3A105807&t=0H8HhRFLnYItlOQH-0
Mockup 2 (institution - PIR)
https://www.figma.com/file/9Om2tzLAVEoMQrjmrH4fhu/MOD-SIMS?node-id=10003%3A106780&t=0H8HhRFLnYItlOQH-0
Mockup 3 (ministry - Confirm button)
https://www.figma.com/file/9Om2tzLAVEoMQrjmrH4fhu/MOD-SIMS?node-id=9942%3A106726&t=DIVl4GkY5TgFndcI-0

Hello @JasonCTang ,
Here are the questions that I had regarding the story

The AC says Disable institution COE which for sure is Institution should not be able to confirm/approve the COE if the application study end date is past today, but should the decline COE be disabled for institution in such case?
Currently I am proceeding with the story with yes as assumption to this.

While Ministry is approving COE, should the approve button be disabled if the disbursement date is outside the 21 day window from the current date(the rule that we have for institution) ?
I am currently proceeding story with the assumption No to this question.

Hello @hellolynn-tbtb ,
When Confirm Enrollment is disabled when the application end date is past, I beilieve we must show a banner in Confirm Enrolment page like we do while restricting COE confirmation which is outside 21 days and looking forward for the same.

Confirmed with @JasonCTang on following context of the user story.

Ministry staff should be able to confirm enrolment at any time.(Even outside the 21 day COE window)
We can allow COE to be declined past the study end date by both Institutions and Ministry users.(Note: ministry declining COE is not in the scope of this story).

Updating the first AC as per discussion with @JasonCTang to
Disable institution COE if (today - 42 days (6 weeks)) > offeringEndDate (At present it is assumed to be 42 days(6weeks) and this number may change)
We are yet to get confirmation from business if that x in (today - (x)days) is 42.

Ticket #1669 is created to handle changes when business logic behind a valid and date for confirmation period for institution once it is concluded. https://app.zenhub.com/workspaces/student-information-management-system-5fce9df5aa1b45000e937014/issues/gh/bcgov/sims/1669


Split cookbook into separate MD files

cookbook.md has grown recently. This PR splits it into separate recipes, making it easier to maintain.
Ping @weierophinney

:+1:
I'll run the script to update the mkdocs.yml when I merge. Thanks, @mtymek !


[#106] Add basic acl parser

closes #106
Signed-off-by: Denis Kirillov<EMAIL_ADDRESS>

Rebase after https://github.com/nspcc-dev/neofs-sdk-go/pull/104


[Repo]Build test app that can spin up in CI to test build

We need to have a way to test down stream consumers build using our package. We need to leverage our test CLI to build an app in our continuous integration tool.

[ ] It should be able to create the project
[ ] install our package as dependency
[ ] run a build without errors
[ ] Try selecting component on page?

I attempted to do this with a CRA a few months ago. The primary challenge I ran into was that a CRA can successfully build but still fail to start due to runtime errors. If the CI script starts a CRA (or any similar app), it automatically goes into a watch mode which doesn't have a successful exit code. I was unable to find a way to determine if the CRA had started successfully.

Try selecting component on page?

This is interesting, because if we were able to spin up an app and then assert things on the page, we could probably rely on it to fail if there are runtime errors. Even just finding/clicking a button would fail as the page would fail to load, or present an error message.
With this in mind:
1. Update create-iot-react-app:

add a base cypress set up to create-iot-react-app
add a handful of very simple tests to smoke test that things are building and running
add a way to configure which bundle the app should use.

npx create-iot-react-app appname --bundle umd would configure the imports to use
import Button from 'carbon-addons-iot-react/umd/carbon-addons-iot-react'
and the style import would be css instead of the scss.

2. Extend carbon-addons-iot-react CI to run smoke tests:

add new GH workflows/actions that create a create-iot-react-app and then runs the cypress tests as a smoke test
actions can run concurrently, so we can create 1 workflow/action per bundle type

smoke test - umd/css - run npx create-iot-react-app appname --bundle umd, run cypress tests, run a prod build
smoke test - es/scss - same as above, modified for es/scss
smoke test - cjs/scss- same as above, modified for cjs/scss

Giving a value of 2 as it seems this would add stability/reliability


Update version of MSBuild for Unity

MSBuild for Unity is taking some changes that address issues discovered while using it with MRTK. This PR increases the version number that will be written to the manifest.
Please note this should NOT be merged until the new MSBuild update has been published.

/azp run

Package has been published


Add permission for cluster-proxy new feature: supporting access speci…

…fied services.
Signed-off-by: xuezhaojun<EMAIL_ADDRESS>Related issue: https://github.com/open-cluster-management-io/cluster-proxy/issues/53
The first cluster-proxy migration PR: https://github.com/stolostron/backplane-operator/pull/238

/assign @eemurphy
Hello, please take a review for this PR, the cluster-proxy-addon new feature needs to append permissions in charts. Thanks!

/lgtm


Support: SAP05: Result sharing via Web Editor

from https://github.com/openEOPlatform/architecture-docs/issues/306:

Might already work as it likely only passes through results? Make sure it's passed through correctly...

[ ] Provide canonical link in STAC metadata for Batch Job result
[ ] Provide process in STAC metadata Batch Job result

note to self:

Provide canonical link in STAC metadata for Batch Job result

canonical links are implemented in openeo-python-driver, but require configs SIGNED_URL/SIGNED_URL_SECRET/SIGNED_URL_EXPIRATION, which are not set in aggregator app
(requires non-public config system, which we don't have yet)

What is already done under #98  is to just pass through the canonical link from the upstream job metadata.
This should already cover 99% of the need for canonical links. However, one minor issue is that the upstream job metadata contains a different job id:
e.g. aggregator job "vito-j-123"  will have id "vito-j-123" in the normal job metadata (served by aggregator), while the upstream job metadata at the canonical link will have "j-123".


Help In creation of Dynamic Measure using Scripting

Hi @otykier ,
How can we create a single measure using three different measure for example for creating Dynamic measures(switch)
i.e. i selected three measures from the editor and need a single measure like Total Value = [Sales] + [Revenue] + [Margin]

I'm sorry, I didn't notice that the question was regarding scripting.
If I understand your question correctly, you want to create the dynamic measure using a script, based on a current selection of measures?
This is certainly possible, but you likely need to change your approach a little bit. First of all, you only need 1 dynamic measure, where as the script you created is going to add one dynamic measure foreach of the selected measures. Next, it seems that you already have a hardcoded measure called [MetricSelection] which returns a number based on the current selection on the disconnected table. However, when Tabular Editor's script is looping through a selection of measures, the order is not guaranteed. So it's better to use the measure names, assuming these exist in the 'Metric Selection' disconnected table.
So I recommend you use a script that does two things:

Update the expression of the 'Metric Selection' table to hardcode the names of the currently selected measures.
Create a single dynamic SWITCH measure.

// Assumes the model already holds a 1-column calculated table called 'Metric Selection':
var disconnectedTable = Model.Tables["Metric Selection"] as CalculatedTable;

// Name of the single column on 'Metric Selection':
var disconnectedTableColumnName = "Value";

// Name of the dynamic switch measure, to be created (if it doesn't already exist) on the disconnected table:
var dynamicMeasureName = "Dynamic Metric";

// Make sure that the dynamic measure exists on the disconnected table:
if(!disconnectedTable.Measures.Contains(dynamicMeasureName))
    disconnectedTable.AddMeasure(dynamicMeasureName);

// Generate DAX for disconnected table:
// {"Measure 1", "Measure 2", ...}
var disconnectedTableDax = "{\n    " +
    string.Join(",\n    ", Selected.Measures.Select(m => "\"" + m.Name + "\"").ToArray()) +
    "\n}";

// Generate DAX for dynamic metric:
// VAR _s = SELECTEDVALUE('Metric Selection'[Value]) RETURN SWITCH(_s, ...)
var dynamicMetricDax =
    "VAR _s = SELECTEDVALUE('" + disconnectedTable.Name + "'[" + disconnectedTableColumnName + "])\n" +
    "RETURN SWITCH(_s\n    " +
    string.Join(",\n    ", Selected.Measures.Select(m => "\"" + m.Name + "\", " + m.DaxObjectFullName).ToArray()) +
    "\n    , [Total SALES]\n)";

// Assign DAX expressions:
disconnectedTable.Expression = disconnectedTableDax;
disconnectedTable.Measures[dynamicMeasureName].Expression = dynamicMetricDax;

If you're on Azure Analysis Services, SSAS 2019 or Power BI, remember that Calculation Groups can be used to achieve very much the same thing.

Inspired by this question, I posted this article today.

Closing this issue, but feel free to reopen or post a new one if this didn't solve your problem.


Round BigDecimals with too negative exp

Numbers with too much precision after the dot can be rounded to an acceptable amount of precision. This should fix subgraphs with numbers which would otherwise not pass the validation due to a too negative exponent.

@That3Percent Review addressed, I've moved contracts and migrations which are reused under integration-tests/common, which is a start to reduce duplication in tests.

I've changed this to always round to 34 decimal digits (the test was also updated). This change may affect users, but it's hard to evaluate whether this rounding will have undesirable effects to a subgraph without knowing the requirements of the applications, so I suggest that we try it out and see if users report issues.
I also added normalization after the BigDecimal math operations.


.env.behat is read but variables aren't accessible

My laravel version = 5.4
and my composer.json:
`"barryvdh/laravel-ide-helper": "^2.3",
    "behat/behat": "^3.4",

    "behat/mink": "^1.7",

    "behat/mink-extension": "^2.3",

    "fzaninotto/faker": "~1.4",

    "laracasts/behat-laravel-extension": "^1.1",`

I removed APP_ENV from .env and set APP_ENV=behat in .env.behat
When I echo environment:
echo app()->environment()  ----> local
And environment variables can not be used by env() and this method always returns null for everything.
But! If I echo loaded env file:
echo app()->environmentFile() ---> .env.behat
What should I do?

and my behat.yml
default:
suites:
something:
paths:
- %paths.base%/tests/Features/Something
contexts:
- Tests\Features\Something\Contexts\SomethingContext
extensions:
Laracasts\Behat:
env_path: .env.behat
Behat\MinkExtension:
default_session: laravel
base_url: http://localhost:8888
laravel: ~


build e2e test, if somehow possible

This is a bit of a challenge. There seems to be no native way, how a streamlit app can be unit-tested. This makes maintenance way more complicated.
However, few resources I found:

https://discuss.streamlit.io/t/access-app-errors-in-pytest/8015/3

Idea is to at least start streamlit apps and check that no streamlit.exception output is visible, using selenium.
Other pathway would be to build a thin wrapper around each streamlit app that catches any output on stderr and catches unhandled exceptions. Additionally, any exception handling within the apps needs to be configuable to pass exceptions in test mode. Silimar to:
def main_app(debug=False):
  try:
    st.function_could_error()
  except Exception as e:
    if debug:
      raise e
    else:
      st.exception(e)

Sure I will have a look at it.
As I see it, there are 3 possible ways to test:

tests page has identical structure to baseline: self.check_window(name="first_test", level=2)
checks that the exact text “streamlit-folium” is present in the app: self.assert_text("streamlit-folium")
use OpenCV to compare a screenshot of the app to a baseline screenshot

The baseline files would need to be updated if anything changes in the structure of the application, but that shouldn't be a problem, just something to keep in mind.
I can try to implement initial tests so we have a basic structure.
But for that, the app has to run on my system first, which I have not tried yet.

I think it would be more worth it to check the second solution as outlined in my first comment, first, as implementation will be way easier. I am not sure if exceptions get passed through completely, but that's something we can try easily. The advantage is that this will be less implementation effort, the downside is that we only test for exceptions.
I think being sure, that there are no exceptions is good enough. We do not really have to test the frontend as well.
So, if we check for exceptions, we can add a baseline at the very end of the project for the most important content.
The only thing that we should really not do, is use opencv to check the screenshot. That's probably completely over the top.

Okay, makes sense.
To implement the suggestion in your first comment, we first need the base skeleton with the main_app and where we run the apps individually, right?

yep

I have a minimal, simplistic working example with https://github.com/hydrocode-de/RUINSapp/commit/b9c3c02aaff33857f7f9a696d2dbe3929dc1e9cf


Create action should be able to return the newly selected value

It would be really helpful if the oncreate action could directly signal ember-power-select to use the newly created model as the selected value. I could see this being accomplished by either

Resolving a promise returned by the action and updating the selection with the result
Passing in the ember-power-select publicAPI object similarly to how the core library does with all actions. I believe would allow callers to update the selection explicitly.

I see that some of the examples will explicitly update a given field selectedCountry in the oncreate hook, but the hook itself does not always have all of the required context readily available. For instance if you're building up a list of models it's a hassle to try and get at the context in order to update the correct field.

I just realized that there's a proposed fix for this in #25. Also I was able to accomplish what I needed to by wrapping my action in another action to curry the model object I was trying to set the field on. Here's a boiled down example:
{{#power-select-with-create
  search=(action "searchField")
  selected=myModel.field
  onchange=(action (mut myModel.field))
  oncreate=(action (action "handleFieldCreation" myModel))
  as |m|
}}
  {{m.name}}
{{/power-select-with-create}}

That allows handleFieldCreation to update the field explicitly after creating the new model.

Passing in the ember-power-select publicAPI object similarly to how the core library does with all actions. I believe would allow callers to update the selection explicitly.

@allancaffee Is that not the case? If not, that seems like a bug to me. All actions should receive the publicAPI of the component as last or penultimate argument

@allancaffee I've just merged a PR that might have fixed the issue and actions should receive the publicAPI of the component as second argument. I haven't released a new version yet, but it's in master.

Closed by #25


iterated times matter with the results?

Hi:
I have a question about short reads correction process.
I built the short read BWT, and then corrected the long reads :
fmlrc -p 20  ngs_msbwt.npy  long.fasta
and I got the corrected1_long_reads
Then I use the same ngs_msbwt.npy to corrected the results from last process again, I got the corrected2_long_reads, there was little change in the size. So how many time should I iterated?
And what's the evaluate parameter  to evaluate the corrected results?
By the way, does it meaning or meaningless that I use different short reads to correct the same long reads?
sincerely
Yun

For iterating on correction, we have never tested it so I can't really say for sure.  My expectation would be some amount of change, but that it would be minimal and unlikely to impact things you do downstream.
This depends on what you're using the reads for.  For example, if you plan to do assemblies, you would likely evaluate the assembly with a tool like QUAST.  Other evaluation simply perform an alignment to a known reference and calculate the number of corrected bases.
By the way, does it meaning or meaningless that I use different short reads to correct the same long reads? I'm not exactly sure what you're asking here, can you elaborate?

Thanks for your quickly reply.
For Q3. I mean when I corrected long reads with  short-reads dataset 1 (around 10G), then corrected long reads with  short-reads dataset 2  (around 10G). Both the dataset 1 and 2 are NGS-data. Does that upgrade the correct results?
Sincerely
Yun

It depends on the difference between your short reads datasets.  In general, I would expect it to correct your long reads to be more like the second short-read dataset, overwriting alleles that may only be present in the first dataset.  We have not tested it in that way though.

closing due to inactivity


Fixed typos in docs; fixed godoc URL in README.

(Very) minor changes - just a couple of typos in the docs, and the GoDoc badge URL was pointing to an old (?) username.

Thanks for the PR! Yes, I had to change my username; it was invalid.


Added in support for conversion from unified to a JSON object

Convert unified emoji to a JSON object containing the code and the
emoji title.
e.g.:

passing 🛂 to unifiedToJSON returns

[
  {
    code: '1f6c2',
    title: 'passport control'
  }
]

passing 🛂😀 to unifiedToJSON returns

[
  {
    code: '1f6c2',
    title: 'passport control'
  },
  {
    code: '1f600',
    title: 'grinning face'
  }
]

Coverage decreased (-9.6%) to 87.143% when pulling ad442b66a4ebaa704440fa35594da57e5e7a73cd on hyl:master into 377b16159d10f59ce31c4dbf95f37c640291bbcb on node-modules:master.

Coverage decreased (-9.6%) to 87.143% when pulling ad442b66a4ebaa704440fa35594da57e5e7a73cd on hyl:master into 377b16159d10f59ce31c4dbf95f37c640291bbcb on node-modules:master.

Coverage decreased (-7.02%) to 89.706% when pulling 64901f769bb682d652143ce73fe759e1024c6912 on hyl:master into 377b16159d10f59ce31c4dbf95f37c640291bbcb on node-modules:master.

Coverage decreased (-7.02%) to 89.706% when pulling 64901f769bb682d652143ce73fe759e1024c6912 on hyl:master into 377b16159d10f59ce31c4dbf95f37c640291bbcb on node-modules:master.

Nice feature! @hyl can you add a test case for this change and add usage on readme.

@hyl you should mv this change to https://github.com/node-modules/emoji/blob/master/tpl/emoji_footer.js


Fix subtract with overflow in p2p_network_yamux_reducer.rs

Fix panic
thread 'main' panicked at /openmina/p2p/src/network/yamux/p2p_network_yamux_reducer.rs:211:33: attempt to subtract with overflow. Also, same problem in line 339.

Of course, please, don't forget .wrapping_add() on line 425 of the same file. So it will be something like this:
stream.window_theirs = stream.window_theirs.wrapping_sub(data.len() as u32);

and
*window = (*window).wrapping_add(increasing);

I have no objections. I agree.


Lingering var in config file

There was a lingering var while throughout the webpack.config.js you use es2015 syntax.
Was just browsing thru your webpack.config file and found this =)

Thanks, I knew there was one of these left somewhere :-)


improved the color style of the cards of offers page

Description
I have adjusted the paragraph color in the card such that when we hover over card the text is visible to the users.
Related Issues
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]

Closes #1287

Type of PR

[ ] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist

[ ] I have gone through the contributing guide
[ ] I have updated my branch and synced it with project main branch before making this PR
[ ] I have performed a self-review of my code
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

solve conflicts.

solved👍kindly check


Homogenize status information

We should make a pass (namely after the SQL change) to ensure status attributes are consistent throughout the code and all pull from one Enum pydantic  model object if possible.

Status has been overhauled in v0.50 and this is now true. There is only one status field (on the base record), and none on tasks/services


Rename material2 to material in order to be semver compliant ?

Bug, feature request, or proposal:
Proposal
What is the use-case or motivation for changing an existing behavior?
Angular is now using semver and angular V3 is on his way (6 months I heard).
from http://angularjs.blogspot.fr/2016/09/angular2-final.html :

Semantic Versioning
We heard loud and clear that our RC labeling was confusing. To make it easy to manage dependencies on stable Angular releases, starting today with Angular 2.0.0, we will move to semantic versioning.  Angular versioning will then follow the MAJOR.MINOR.PATCH scheme as described by semver:
the MAJOR version gets incremented when incompatible API changes are made to stable APIs,
the MINOR version gets incremented when backwards-compatible functionality are added,
the PATCH version gets incremented when backwards-compatible bug are fixed.

It will be weird to have != names between angular and his library (angular 3 and material2 ?).

material2 was never part of the library's name, although it is in that folder on github.  With alpha 9, the library moved from @angular2-material to simply @angular/material

The 2 in the github repo isn't going away, and it's already gone from the package names.

I guess I can now consider that solved :stuck_out_tongue:


Fix Application Gateway IP Config documentation

Fixed incorrect dash character
Removed positional Name parameter in favor of named one

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

#label:"aq-pr-triaged"

#sign-off


Modify: MarkText.MarkText version 0.17.1

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@SpecterShell I think the Custom InstallerSwitches for the Machine scope might need to be changed to /ALLUSERS?

@SpecterShell I think the Custom InstallerSwitches for the Machine scope installers might need to be changed to /ALLUSERS?

Fixed in #193208


Clockwork HL2RP Servererror

Hello Cloud Sixteen Support.
Yesterday we updated our HL2:RP Server to the latest Github Version of Clockwork.
After the update finished we joined on our server and tried to create a character.
When we press the last "Next-Button" after the attribute-section this error shows up in the console.
[Clockwork:Kernel]
The 'PostDrawBackgroundBlurs' clockwork hook has failed to run.
gamemodes/clockwork/framework/sh_fixes.lua:95: bad argument #1 to 'ClockworkFileExists' (string expected, got table)
Our server is running on linux.
Thanks,
Joku.

Fixed in commit 1e90f911.


vite-plugin-esmodule: move-file results in ERR_REQUIRE_ESM

Repro steps:

Clone https://github.com/caoxiemeihao/electron-vite-react (commitid 7fe671e)
npm i move-file
Add move-file definition to packages\main\vite.config.ts:

//...
  plugins: [
    esmodule([
      'execa',
      'node-fetch',
      'move-file'     // <- added
    ]),
  ],
//...

Add some code to packages\main\samples\electron-store.ts:

import { execa } from 'execa'

// INSERTED CODE BEGIN

import { moveFile } from 'move-file'
console.log('%o', moveFile);

// INSERTED CODE END

(async () => {
  const { stdout } = await execa('echo', ['unicorns'])
  console.log(stdout)
})()

npm run dev fails with ERR_REQUIRE_ESM

$ npm run dev

><EMAIL_ADDRESS>dev
> node scripts/watch.mjs

(node:30336) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Pre-bundling dependencies:
  react
  react-dom
  react/jsx-dev-runtime
(this will be run only when your dependencies or config have changed)
vite v2.8.6 building for development...

watching for file changes...

build started...
transforming (1) index.tsvite v2.8.6 building for production...
✓ 3 modules transformed.
transforming (15) node_modules\cross-spawn\lib\parse.js../../dist/preload/index.cjs   2.58 KiB / gzip: 1.06 KiB
built in 305ms.
✓ 64 modules transformed.
node_modules/.vite-plugin-esmodule/execa/index.js   50.49 KiB / gzip: 12.55 KiB
node_modules/.vite-plugin-esmodule/execa/index.js.map 93.91 KiB
vite v2.8.6 building for production...
✓ 25 modules transformed.
Entry module "node_modules/node-fetch/src/index.js" is using named and default exports together. Consumers of your bundle will have to use `chunk["default"]` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning
node_modules/.vite-plugin-esmodule/node-fetch/multipart-parser.js   9.91 KiB / gzip: 2.50 KiB
node_modules/.vite-plugin-esmodule/node-fetch/multipart-parser.js.map 17.23 KiB
node_modules/.vite-plugin-esmodule/node-fetch/index.js              195.93 KiB / gzip: 32.15 KiB
node_modules/.vite-plugin-esmodule/node-fetch/index.js.map          373.92 KiB
vite v2.8.6 building for development...

watching for file changes...

build started...
✓ 28 modules transformed.
../../dist/main/index.cjs   275.17 KiB / gzip: 48.16 KiB
../../dist/main/index.cjs.map 421.73 KiB
built in 737ms.

App threw an error during load
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Repos\electron-vite-react\node_modules\move-file\index.js from D:\Repos\electron-vite-react\dist\main\index.cjs not supported.
Instead change the require of index.js in D:\Repos\electron-vite-react\dist\main\index.cjs to a dynamic import() which is available in all CommonJS modules.
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
    at Object.<anonymous> (D:\Repos\electron-vite-react\dist\main\index.cjs:19:16)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
    at loadApplicationPackage (D:\Repos\electron-vite-react\node_modules\electron\dist\resources\default_app.asar\main.js:110:16)
    at Object.<anonymous> (D:\Repos\electron-vite-react\node_modules\electron\dist\resources\default_app.asar\main.js:222:9)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
    at Object.<anonymous> (node:electron/js2c/browser_init:189:3197)
    at Object../lib/browser/init.ts (node:electron/js2c/browser_init:189:3401)
    at __webpack_require__ (node:electron/js2c/browser_init:1:128)
    at node:electron/js2c/browser_init:1:1200
    at node:electron/js2c/browser_init:1:1267
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)

Well, move-file is written by the same author who wrote execa, I'm not sure of what made the difference here.

You can see the demo esmodules/move-file.ts

You can see the demo esmodules/move-file.ts

Not sure if I understood exactly how it works in that example. So, if my project was based on
electron-vite-react, then I should...

update vite-plugin-esmodule to ^1.1
then add { webpack: true } to the vite.config.ts file

Is it correct?

<EMAIL_ADDRESS>added options.webpack support.
Just now, I released<EMAIL_ADDRESS>using webpack to build esmodule has become the default option.
You just need to upgrade<EMAIL_ADDRESS> 😄

Still not working with 1.2.0, same error. Not sure what causes it. Here's the repo with minimal changes:
https://github.com/nedsociety/electron-vite-react-esm/tree/vite-plugin%2312-repro-example

You need move "move-file" to devDependencies, because dependencies pacgke will be inset rollupOptions.external in vite.config.ts of the tempalte.
{
    rollupOptions: {
      external: [
        'electron',
        ...builtinModules,
        ...Object.keys(pkg.dependencies || {}),
      ],
    },
}

{
  "dependencies": {
    "electron-store": "^8.0.1",
-   "move-file": "^3.0.0"
  },
  "devDependencies": {
+   "move-file": "^3.0.0"
  }
}

Huh, that was unexpected reason. Thanks for the support. It might worth putting notes to somewhere on README in the template.


waterfall page use  keepAlive ,the col become one

waterfall page use  keepAlive , click to other page and goback，the waterfall page column become one

waterfall page use keepAlive , click to other page and goback，the waterfall page column become one

你也是用了keepAlive之后，再返回waterfall显示空白不正常显示吗

遇到同样的问题，请问有解决方案吗？什么原因造成

waterfall page use keepAlive , click to other page and goback，the waterfall page column become one

reflowHandler ， but ， comparative consumption performance when a lot of cards on the page


Ft/gc/about

What will this PR do
This PR would add the about component

@majordwarf please review

Thanks @GraceChiamaka :-)
Would you mind expanding a bit on your description? I take it this is drawing in content from the existing site repo powering terasology.org ? Have you made any particular modifications to make stuff work well? Have you tested the updates and if so do you have either a preview URL or a screenshot or two? That'll all help 👍

@majordwarf All your comments have been noted and will be implemented
Thanks

@GraceChiamaka Are you still working on the issue?

@majordwarf Yes I am.

@GraceChiamaka The images still needs to be changed in the History, Modding API and Community section, they still show minecraft images.

@majordwarf Yes I am still working on changing those using gatsby-image

@majordwarf I've attached screenshots of what the page looks like on desktop and mobile view here
Thanks


Deprecated. Merged into package "multiversx-sdk"

This project is deprecated. All the functionality has been moved to https://github.com/multiversx/mx-sdk-py.
Thus, use:

https://pypi.org/project/multiversx-sdk
https://github.com/multiversx/mx-sdk-py

See:

https://github.com/multiversx/mx-sdk-py/issues/41
https://docs.multiversx.com/sdk-and-tools/sdk-py/sdk-py-cookbook/

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."


double callback

I have compared the code of the tag 0.18.0 and the master.
I found that  current version handle error in a wrong way when watching the 'response' event.(The code is from line 881)
Firstly, module parse has used try catch inside, no need to try catch the json parse error when using the parse function.
Secondly, when parse callback an error, self.callback(err) will cause double callback, because superagent will callback automatically.

I am seeing this issue on 1.2.0 I think it is due to error handling again in the response parsing:
https://github.com/visionmedia/superagent/blob/master/lib/node/index.js#L955
This line doesn't return so it calls the callback and processing continues. That means that later an end listener is registered and that calls the callback again.

So how do you solve this problem?


Display flyte deck

Signed-off-by: Kevin Su<EMAIL_ADDRESS>TL;DR
Display deck on flyteConsole
Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description

Tracking Issue
https://github.com/flyteorg/flyte/issues/2175
Follow-up issue
NA

We're going to refactor a few things and submit a new PR; closing.


[DebugInfo] Enable salvageLoadDebugInfo at -O

salvageLoadDebugInfo just creates a debug_value instruction, there is no reason to skip it when optimizations are enabled.
rdar://115676800

@swift-ci please test

What was the status of this PR, is this blocked by other bugs?


Plugins Standards and Repository

Following @ianco work on plugins...
We've encountered issues with teams (Ontario) having no place to publicly share their plugins, we've encountered teams that have had loading issues with their plugins with new releases of ACA-Py, we've seen multiple different ways teams build their images with their plugins... The time has come to bring some kind of standards to developing and deploying/publishing plugins; promoting them, and making them easily accessible for other teams.
This is a parent / epic issue where we can track comments and add sub-tasks for related work.
The current thinking is there will be a repository separate from aries-cloudagent-python that will be a collection of plugins. They should be proven to work and follow a known way to be installed and configured.

I have an outline repository that we can use for the discussion. I included the basicmessage_storage plugin from traction.
I had to add some integration tests to test out the various things devs may need to do and ensure they work inside devcontainers.
Things for plugin devs to do (for discussion):

provide documentation/blurb at the top-level readme (basically an advertisement for their plugin)
provide detailed documentation within their plugin sub-folder, detail configuration, use cases, if plugin has restrictions/dependencies etc.
provide integration tests
a devcontainer that allows running the integration tests, debugging/running their plugin

We can provide a template or a guide with the standards, so others know what is expected on a PR to include their plugin.
At the top-level, I would like to see some integration tests illustrating the plugins used in a production like image (pulled in to an ACA-Py image, configured and tested). Not sure how best to do that, but it is important to show (and prove) that if the plugin is loaded, configured and used in the "approved" way it "just works".
Asking for feedback and discussion from: @swcurran @esune  @loneil @WadeBarnes @ianco @dbluhm @shaangill025. Please encourage any other plugin developers you can think of to join this discussion.
For me, a little elephant in the room is do we take on @ianco recommendations on how to configure/load plugins before doing this work? or after adding creating the repo? I am thinking more around the definition file and removing the setup function (which is how traction does all their plugins).

For me @usingtechnology 's repo looks good.

a little elephant in the room is do we take on @ianco recommendations on how to configure/load plugins before doing this work? or after adding creating the repo? I am thinking more around the definition file and removing the setup function (which is how traction does all their plugins).

I think if the goal is to get some standardization on existing plugins it makes sense to introduce as few changes as possible.  Maybe some cleanup around the definition file and how plugins are loaded, if it's not going to make it too much trouble for people to get their plugins into a standardized format.

I like the idea of being able to run automated tests on lots of plugins for validating ACA-Py releases. I dislike the idea of PRs for plugin maintenance and features all going to the same repo. To be perfectly frank, slow turn around time on PRs and releases in HL repos is at least part of the reason why I often turn to writing features as plugins first.
I have a strong aversion to git submodules but maybe something using them would enable us to have a slightly more decentralized plugin ecosystem while also being able to test things. Or perhaps we could just have an integration test runner on an acapy plugin repo that dynamically pulled plugins and their integration tests and could run them all in the same place.

I like the idea of being able to run automated tests on lots of plugins for validating ACA-Py releases. I dislike the idea of PRs for plugin maintenance and features all going to the same repo. To be perfectly frank, slow turn around time on PRs and releases in HL repos is at least part of the reason why I often turn to writing features as plugins first.

We need to fix that immediately!!!  I think we are too quiet about waiting for “someone else” to review and merge PRs in ACA-Py. Let's be more aggressive about pinging maintainers to review PRs, and review with summarized comments (including — “Ready!” and “Hey XXXX, can you take a look as well?”), getting them merged. For me, I just don’t have the expertise to know when enough is enough on the review, so I (quietly…that’s wrong) leave space for others.  Also make use of Draft Status to communicate where you are in the process, with explicit notes if you want reviews.  In other words — lets be more deliberate about communicatiing.
Example — today’s PR on Public DIDs.  @dbluhm , you approved it. I suggest either you immediately merge it, or you explicitly ask someone (e.g. @usingtechnology) to also review with any comments/context. As needed, discuss, and get merged.
Thoughts on the structure of the plugins — these could be dumb ideas:

Plugins in a common repo should have owners, and the repo maintainers should (more or less) approve/merge whatever the owners want with just a sanity check. That should eliminate the holdups. Even I can do the reviews :-).
Plugins can be in separate repos — up to the owner.
Have a “test deployments” repo, that has samples of deployments of combination of plugins people want to make, with some tests. Plugins can be in different places.

Let’s get both of these topics — and a roadmap of immediate needs — on the agenda for ACA-Pug.  Perhaps we also make a second, 1/2 hour devs/maintainers meeting to go over PRs and the roadmap on alternate weeks.

Let’s get both of these topics — and a roadmap of immediate needs — on the agenda for ACA-Pug. Perhaps we also make a second, 1/2 hour devs/maintainers meeting to go over PRs and the roadmap on alternate weeks.

I like this idea!

I think we are too quiet about waiting for “someone else” to review and merge PRs in ACA-Py. Let's be more aggressive about pinging maintainers to review PRs, and review with summarized comments (including — “Ready!” and “Hey XXXX, can you take a look as well?”), getting them merged.

Okay, point taken lol :slightly_smiling_face: I feel a reluctance to "step on toes" but I think explicitly making requests to others to review will help. (For the record, I was planning to tag others on that PR before you mentioned it lol. Should have been more prompt about it :smile: )

Have a “test deployments” repo, that has samples of deployments of combination of plugins people want to make, with some tests. Plugins can be in different places.

I think this is a good idea; though, an aries-cloudagent-python-plugins repo seems like the right place for this to live rather than a separate repo, in my opinion.

Probably not too much to add from me, the repo structure looks good and having a common place for them sounds like a good idea.
The concerns about possibly waiting for a change to a common, gated repository to get one of our plugins released is a good one.
If I have a Traction instance and need to quickly change something in one of the plugins that make up Traction to get out quickly, or get feedback on in an environment would that still work? Or would changes have to be accepted and merged in to this new repo before being able to have them deployed as part of Traction....?
Specifically for Traction, PR based CICD is very useful where a change can be made and tested out in an OpenShift (specific to Traction again) deployment for stakeholder/team feedback and such.
Maybe would have to work something else out for Traction PRs to have them point at a branch of the plugin repo?

Regarding a single repo for plugins: as @swcurran noted, it will not be mandatory, but a decision made by the creator/maintainer of the plugin and the community.
The way I see it, the aries-cloudagent-python-plugins repo will/should host "official" plugins that build on top of ACA-Py and extend functionality that is not use-case specific: multi-tenancy and redis queue handling are two good examples, in the future it could be the support for different ledger types, the endorser functionality, etc..
Plugins that cater to a different audience (such as the part of traction which is specific to that use-case, there are several plugins in the repo right now) actually should be in a separate repo as they are part of a product. However, having this repo with examples and consolidated patterns to follow when implementing new functionality should reduce the occurrence of "interesting surprises" when running the code (if they are being followed, of course).
Last thought (I am unsure on whether this is even possible): having official plugins in a repo we could look into ways to publish them so that they can be installed using a package manager rather than copying code over (probably a longer term investigation/conversation).

assuming that a big part of the plugins repo would be testing, can we test "external" plugins so they are "verified" too? so this repo would not only be a set of approved and well documented plugins but also a directory of other known-good plugins (hopefully well documented, but at least conforming to whatever pattern is required to be tested).

I think there are two parts of testing.
First, there should be a way to for individual plugins to be tested.  That’s up to the creator of the plugin, and should follow what ever techniques are possible/best practices.  I don’t know how consistent that can be across plugins — e.g. is it a commonly named script/docker-compose setup in the plugin folder that can be invoked for testing?
Second, “we” (e.g., anyone that wants to put in the effort) should be able to construct a test that pulls in several plugins and executes some integration tests.  @Jsyro used Aries Agent Test Harness to do that beautifully with the Redis plugin — spending a bit of time constructing the image and then just using the AATH to show that the tests run the same with/without the plugin.  In these, we assume the plugins work, and we’re just demonstrating a specific set can be used together.
Does that make sense as a goal?

assuming that a big part of the plugins repo would be testing, can we test "external" plugins so they are "verified" too? so this repo would not only be a set of approved and well documented plugins but also a directory of other known-good plugins (hopefully well documented, but at least conforming to whatever pattern is required to be tested).

The official plugin repo could contain the reusable GitHub actions needed for generic plugin tests.  External plugin repos could then integrate the actions into their CICD process and setup a nightly verification test run.  This way the official set of steps need to verify a plugin are managed in the official plugin repo and can change over time as the requirements change.  We made heavy use of reusable actions and workflows in the indy-plenum and indy-node workflows to perform all of the common steps.  We were also able to reuse many of the actions and workflows on external implementations such as the Sovrin implementation.  We extracted all of the common actions and workflows to the indy-shared-gha repo.  But in this case it would make sense to maintain the reusable actions and workflows in the official plug-in repo.
External plugin developers could register (via PR) to have their plug-in included in a list of external plugins.  I see this list being a table listing the name of the plugin, a link to the repo, and a badge indicating the status of it's nightly verification test run.

The official plugin repo could contain the reusable GitHub actions needed for generic plugin tests. External plugin repos could then integrate the actions into their CICD process and setup a nightly verification test run. This way the official set of steps need to verify a plugin are managed in the official plugin repo and can change over time as the requirements change.

Thanks @WadeBarnes, this describes very well what I was thinking too 🙂


fix: Add support for argocd applications

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Bug] Frameworks & .o file linked against for non-platform target dependencies

What happened?
When attempting to link with a SPM package that contains both iOS & macOS dependencies, an .o file is not generated for the macOS dependency and the binary target .xcframework it includes is not copied to DerivedData.
This results in the following error:

If I manually edit the .xcconfig and remove -l"SamplePackageB-macOS.o", I am met with a new error related to the .xcframework it includes (LAME.xcframework):

If I remove both -l"SamplePackageB-macOS.o" and -framework "LAME" I am able to compile successfully.
When importing SamplePackageA through native SPM (not via cocoapods-spm), this is not an issue.
Since the .xcconfig is generated upon pod install, you will need to do that locally, but feel free to use this branch on my fork: kalub92/macos-dependency-framework-issue
CocoaPods environment
Stack
   CocoaPods : 1.14.3
        Ruby : ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]
    RubyGems : 3.3.3
        Host : macOS 14.5 (23F79)
       Xcode : 15.4 (15F31d)
         Git : git version 2.44.0
Ruby lib dir : /Users/cstultz/.rvm/rubies/ruby-3.1.0/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/

Installation Source
Executable Path: /Users/cstultz/.rvm/gems/ruby-3.1.0/bin/pod

Plugins
cocoapods-compact-spec   : 0.0.3
cocoapods-deintegrate    : 1.0.5
cocoapods-plugins        : 1.0.0
cocoapods-search         : 1.0.1
cocoapods-spm            : 0.1.5
cocoapods-trunk          : 1.6.0
cocoapods-try            : 1.2.0
cocoapods-xcconfig-hooks : 0.0.1

Podfile
platform :ios, "16.0"
linkage = (ENV["LINKAGE"] || :static).to_sym
use_frameworks! :linkage => linkage
puts "Using linkage: #{linkage}"

@checksum = "dummy-checksum-to-prevent-merge-conflicts"

plugin "cocoapods-spm"
plugin "cocoapods-xcconfig-hooks"

def dont_use_macros?
  ENV["NO_MACROS"] == "true"
end

config_compact_spec(
  extra: ->(s) { s.ios.deployment_target = "16.0" }
)

config_cocoapods_spm(
  dont_prebuild_macros: true,
  default_macro_config: "debug"
)

def spm_pods
  spm_pkg "SamplePackageA",
          :git => "https://github.com/kalub92/SamplePackageA.git",
          :branch => "withHyphenatedDependency"
end

abstract_target 'Example' do

  spm_pods

  target "EX" do
    pod "Logger", :path => "LocalPods/Logger"
    # pod "Services", :path => "LocalPods/Services"

    spm_pkg "SnapKit",
            :url => "https://github.com/SnapKit/SnapKit.git",
            :version => "5.7.1",
            :products => ["SnapKit-Dynamic"]
    spm_pkg "SwiftUIX", :git => "https://github.com/SwiftUIX/SwiftUIX.git", :tag => "0.1.9"
    spm_pkg "SwiftyBeaver", :git => "https://github.com/SwiftyBeaver/SwiftyBeaver.git", :tag => "2.0.0"
    spm_pkg "opentelemetry-swift",
            :git => "https://github.com/open-telemetry/opentelemetry-swift.git",
            :branch => "main",
            :products => ["OpenTelemetrySdk"]
    spm_pkg "GoogleMaps",
            :git => "https://github.com/googlemaps/ios-maps-sdk.git",
            :version => "8.4.0",
            :products => ["GoogleMaps", "GoogleMapsBase", "GoogleMapsCore"]
    spm_pkg "DebugKit", :path => "LocalPackages/debug-kit"

    spm_pkg "braze-segment-swift",
        :url => "https://github.com/braze-inc/analytics-swift-braze.git",
        :version => "2.2.0",
        :products => [
          "SegmentBraze",
          "SegmentBrazeUI"
        ]

    spm_pkg "Segment",
        :url => "https://github.com/segmentio/analytics-swift.git",
        :version => "1.5.11"

    spm_pkg "SegmentFirebase",
        :url => "https://github.com/segment-integrations/analytics-swift-firebase.git",
        :version => "1.1.3"

  end

  target "EXTests" do
    pod "NetworkTestKit", :path => "LocalPods/NetworkTestKit"
    pod "AppTestKit", :path => "LocalPods/AppTestKit"
  end

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings.delete "IPHONEOS_DEPLOYMENT_TARGET"
    end
  end

  if dont_use_macros?
    path = Pathname.new(".xcconfigs/__base__.xcconfig")
    path.parent.mkpath
    path.write("SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) NO_MACROS")
  end
end

Anything else?
No response

Hi @trinhngocthuyen - any update here?

@kalub92 can you try again with latest commit of main branch? Some fixes related to this were merged recently.


Error when serializing GeoShapeBase

Hi,
I am receiving the error "Type 'Nest.GeoShapeBase' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types."
I have tried using the DataContract and DataMember attributes and still does not help.
Thanks!
Nest version 2.4.6

Hey @MattHartz would you mind sharing some more info (C# snippets help) on how you're using it and where you're getting the error?

[ElasticsearchType(Name = "connection")]
public class CorporateOfficeConnection
{
[Nest.String(Name = "id")]
public string Id { get; set; }
    [Nest.Number(Name = "connectedofficeid")]
    public int ConnectedOfficeId { get; set; }

    [Nest.String(Name = "connectedofficename", Index = FieldIndexOption.Analyzed)]
    public string ConnectedOfficeName { get; set; }

    [Nest.Number(Name = "connectionid")]
    public int ConnectionId { get; set; }

    [Nest.Number(Name = "corporateofficeid")]
    public int CorporateOfficeId { get; set; }

    [Nest.String(Name = "corporateofficename")]
    public string CorporateOfficeName { get; set; }

    [Nest.GeoShape(Name = "servicelocations")]
    public List<Nest.CircleGeoShape> ServiceLocations { get; set; }

    public ConnectionProgram Program { get; set; }

    [ElasticsearchType(Name = "program")]
    public class ConnectionProgram
    {
        [Nest.Number(Name = "id")]
        public int Id { get; set; }

        [Nest.String(Name = "name", Index = FieldIndexOption.NotAnalyzed)]
        public string Name { get; set; }

        [Nest.Number(Name = "relationshiptype")]
        public ConnectionType RelationshipType { get; set; }

        [Nest.Boolean(Name = "standing")]
        public bool Standing { get; set; }
    }

    [ElasticsearchType(Name = "servicelocation")]
    public class ServiceLocation
    {
        [Nest.String(Name = "radius")]
        public string Radius { get; set; }

        [Nest.String(Name = "type")]
        public string Type { get; set; }

        [Nest.Number(Name = "relationshiptype")]
        public double[] Coordinates { get; set; }
    }

    public enum ConnectionType
    {
        Parent = 1,
        Child = 2
    }

    /*
    public class CustomNestGeoShapeConverter : CustomCreationConverter<Nest.CircleGeoShape>
    {
        public override Nest.CircleGeoShape Create(Type objectType)
        {
            return null;
        }

        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var token = JToken.Load(reader);
            if (token == null) return null;

            var shapes = new List<GeoShapeBase>();

            foreach (var shape in token) {
                var type = shape.Value<string>("type");

                switch (type)
                {
                    case "circle":
                    {
                        var coords = new List<double>();
                        coords.Add(Double.Parse(shape["coordinates"][0].ToString()));
                        coords.Add(Double.Parse(shape["coordinates"][1].ToString()));
                        return new Nest.CircleGeoShape()
                        {
                            Coordinates = new GeoCoordinate(coords[0], coords[1])
                        };
                    }
                }
            }

            return shapes;
        }

        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            throw new NotImplementedException();
        }
    }*/
}

Hi @gmarz ,
Here is the class. I redacted some of the code for clarity.
[ElasticsearchType(Name = "connection")]
public class Connection
{
    [Nest.String(Name = "id")]
    public string Id { get; set; }

    [Nest.GeoShape(Name = "servicelocations")]
    public List<Nest.CircleGeoShape> ServiceLocations { get; set; }
}

This is the class I am using to add the data into elasticsearch.  When adding this value, i am able to successfully search within a locations radius.  Where this fails, is returning this object via a service.  Apparently it is not serializable.  Does that make sense?
Thanks!

@MattHartz sorry for the delayed response.  Yes, that makes sense.  However, the GeoShape types are really only meant to be used within NEST's query DSL.  We can't simply mark them Serializable or use the DataContract attribute either, because these constructs aren't supported by netstandard1.3.
Best practice would be to create your own domain objects to reflect the geo shapes, and only use the built-in NEST classes for querying.
Hope that makes sense?

@gmarz No worries.
Yeah that what we are doing.  We are just hoping to minimize the amount of domain objects we map to. :)
Thanks


unable to create cache directory , disabling cache: mkdir : no such file or directory

Output of restic version
restic 0.16.4-dev (compiled manually) compiled with go1.22.4 on linux/arm64
(compiled after checking out https://github.com/restic/restic/pull/4805/commits/0271bb97f8dcab28eff41153d6c80093c9316582)
What backend/service did you use to store the repository?
Local ext4 filesystem.
Problem description / Steps to reproduce
Using the default restic cache dir:
$ ./restic -r backup/ check
unable to create cache directory , disabling cache: mkdir : no such file or directory
create exclusive lock for repository
repository c76ce5ae opened (version 2, compression level auto)
load indexes
[0:00] 100.00%  1 / 1 index files loaded
check all packs
check snapshots, trees and blobs
[0:00] 100.00%  11 / 11 snapshots
no errors were found

I get this error in the master branch after checking out https://github.com/restic/restic/pull/4805/commits/0271bb97f8dcab28eff41153d6c80093c9316582
I can not reproduce the error if I force a --cache-dir
It seems to be irrelevant if the default cache dir exists or not.
I don't see any permission issue with my default cache dir at ~/.cache/restic/

Expected behavior
The default cache dir must be used as usual.

Actual behavior
I'm getting the unable to create cache directory , disabling cache: mkdir : no such file or directory error message.

Do you have any idea what may have caused this?

It seems to be related to the fix for https://github.com/restic/restic/issues/4437
Maybe cachedir is empty when os.MkdirAll() is called?

Did restic help you today? Did it make you happy in any way?
Yes! I've been using restic for maybe 2.5 years now and I'm very happy with it. I hope that this report helps the next release to be even better than the current one.

Thanks for the bug report. This will be fixed by https://github.com/restic/restic/pull/4883 .


Support TypeScript import in browser

Related to #307 and #332.
TypeScript is compiling
import fetch from 'node-fetch';
fetch(url, options)

into
const node_fetch_1 = require("node-fetch");
node_fetch_1.default(url, options)

This works great in Node.js thanks to #332 but doesn't work in the browser (I'm using Webpack, so it correctly uses the browser.js script specified in package.json).

Codecov Report

Merging #433 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #433   +/-   ##
=======================================
  Coverage   98.58%   98.58%
=======================================
  Files           6        6
  Lines         495      495
  Branches      153      153
=======================================
  Hits          488      488
  Misses          3        3
  Partials        4        4

Continue to review full report at Codecov.

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

@TimothyGu My apologies. It turns out that this is only a partial fix. This works well in Safari but doesn't work in Chrome because fetch isn't bound to window in all cases.
The folks developing unfetch encountered the same issue here: https://github.com/developit/unfetch/pull/47
I'll PR a fix for Chrome.


Add command-line flags to set proxy for importers

In the case of working behind a firewall, the current importers throw "ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it". If it is also not possible to create a global proxy, setting a proxy for the importers becomes necessary.

I would rather just use the HTTP_PROXY environment variables so there is less code for passing command line flags around. In a linux shell I'm able to run commands scripts with environment variables defined like this:
HTTP_PROXY=http://exmaple.com python -m epitator.importers.import_geonames
Would that approach work for you? If so, we could suggest it in the error message.

Unfortunately, setting the proxy via the environment variable through the shell (Windows) does not work for me. I am not very familiar with networking, but I assume that the environment variable is only valid for the importer script. However, the method urlopen() triggers several modules which will again have the default environment setting without the proxy settings (only an assumption).
I think it is a good idea to have the command-line flag because most institutions that want to work with epidemiological data, such as hospitals and public health institutes, are behind firewalls and run Windows (at least here in Germany/Europe). Therefore, I would be happy if more people could use EpiTator without obstacles.
Here is my error message after setting the proxy through the environment variable which is not an connection refused error as when just running the import without the setting of proxies:
Dropping previous data...
Traceback (most recent call last):
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 964, in send
self.connect()
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 1392, in connect
super().connect()
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\http\client.py", line 936, in connect
(self.host,self.port), self.timeout, self.source_address)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\socket.py", line 704, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\socket.py", line 745, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\site-packages\epitator\importers\import_wikidata.py", line 78, in
import_wikidata(args.drop_previous)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\site-packages\epitator\importers\import_wikidata.py", line 41, in import_wikidata
"""
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 544, in _open
'_open', req)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "C:\Users*\AppData\Local\Continuum\anaconda3\envs\epi_con\lib\urllib\request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>
Thank you for your time and consderation!

It looks like the syntax for windows environment variables is a little different:
set HTTP_PROXY=http://example.com
python -m epitator.importers.import_geonames

You might need to quote or escape the url differently when passing it it that way. Adding print(os.environ["HTTP_PROXY"]) to the python script should show whether the correct value is being passed in. Environment variables should be passed through to all modules and child processes.
If it is necessary to use command line flags, I think the amount of code could still be reduced by setting os.environ["HTTP_PROXY"] right after the args are parsed instead of passing variables to the importer functions.

Okay, I printed the proxy settings within Python, and that helped me figure out the problem. I guess my pull request is superfluous since setting the environment variable in the shell should be enough. I am sorry if I bothered you with the PR.
If you want to keep the print message with the hint to set the proxy or even keep the flag (in your suggested smaller form), I can do another PR.
Thank you for your time!

I like the proxy hint message. It will help people behind firewalls like yours. I don't want to add unnecessary CLI flags though.
Thanks!

I adopted your suggestion and only give hints in case of URLErrors.

Thanks!


Testing Workflows

Adds automatic testing for:

Python

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a710857). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   97.04%
=========================================
  Files             ?        7
  Lines             ?      203
  Branches          ?        0
=========================================
  Hits              ?      197
  Misses            ?        6
  Partials          ?        0

Flag
Coverage Δ

#python
97.04% <0.00%> (?)


OTX Collector has hard-coded endpoint construction

specifically the following looks bad:
general = self._call(call_type="general")
self._parse_general(general)
reputation = self._call(call_type="reputation")
self._parse_reputation(reputation)
url_list = self._call(call_type="url_list")
self._parse_urls(url_list)

this has been partially addressed since: https://github.com/t-a-y-l-o-r/checkip/commit/a722a2c2a445b6965187c2186cac5accad80f1a9

this will get fixed in the new implementation for the collector classes in dev


Fix on certain devices, because the width or height appears as a floa…

When I render a calendar view on the iPhone simulator, I see a black border around some views. Eeventually I found that when configured dayViews. Set it's width or height to floating point value, and the result was black edges around the view, but only on some devices.
It look like this.

Hi,
thanks for your contribution, I just released the version 2.2.3 with your fix.


WebTracer now supports http/protobuf exporter

Preview: https://deploy-preview-3133--opentelemetry.netlify.app/docs/instrumentation/js/exporters/

Interesting, wasn't aware it was supported now. Text looks good modulo the spelling error.

yes, @pkanal added it few months ago.

/fix:format

That's awesome!


Validate identifier and date objects

libOMEXMeta focuses on specific identifier namespaces. One benefit of this is the ability to check that identifiers are valid. It would be helpful for libOMEXMeta to take advantage of this to weed out mistakes in metadata. This can be simplified by focusing on identifiers.org which provides a registry of regular expressions for identifiers (e.g., rather than https://orcid.org/XXXX-XXXX-XXXX-XXXX).
Similarly, dates would ideally be validated
Editor methods and RDF.to_file don't validate identifiers
from pyomexmeta import RDF
rdf = RDF()
with open('BIOMD0000000075.xml', 'r') as file:
    xml = file.read()
editor = rdf.to_editor(xml)
editor.add_curator('orcid:xyz')
editor.add_date_created('xyz')
editor.add_pubmed('xyz')
rdf.to_file('omex-meta.rdf', 'rdfxml-abbrev')

RDF.from_file doesn't validate identifiers either
<?xml version="1.1" encoding="utf-8"?>
<rdf:RDF
   xmlns:OMEXlib="http://omex-library.org/"
   xmlns:bqmodel="http://biomodels.net/model-qualifiers/"
   xmlns:dc="https://dublincore.org/specifications/dublin-core/dcmi-terms/"
   xmlns:local="http://omex-library.org/NewOmex.omex/NewModel.rdf#"
   xmlns:pubmed="https://identifiers.org/pubmed:"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="http://omex-library.org/NewOmex.omex/NewModel.rdf#">
    <dc:creator rdf:resource="https://orcid.org/orcid/0000-0001-8254-4958"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://omex-library.org/NewOmex.omex/NewModel.xml#COPASI0">
    <bqmodel:isDescribedBy rdf:resource="https://identifiers.org/pubmed:xyz"/>
    <dc:created>
      <rdf:Description>
        <dc:W3CDTF>xyz</dc:W3CDTF>
      </rdf:Description>
    </dc:created>
  </rdf:Description>
</rdf:RDF>

Identifiers.org validator provides some degree of validation of URIs. Maybe it would be possible to get a batch endpoint or file that could be used to do validation more quickly via a single endpoint or locally.


French translation

I am not very familiar with CI but I would say that this construction failure is not mine.

@domnikl @piotrgradzinski
If anyone has time to do a review this week, that would be great.

Merged main in, CI is working again.

Merged it in and set up RTD to build it and linked it to the main project. The translation is now ready at https://designpatternsphp.readthedocs.io/fr/latest/README.html Merci beaucoup!


FluentNHibernate.dll does not represent a strongly named assembly

Hi,
I got the latest version of FluentNHibernate <IP_ADDRESS> from nuget for a Web application and I would like to just copy the dll to the bin folder and run it with the latest version of NHibernate without updating my other dlls which references FluentNHibernate  <IP_ADDRESS>2. These other dlls are shared across multiple projects so I would like to keep them the same until we are ready to upgrade. Without the publicKeyToken="8aa435e3cb308880" I can't redirect all references to the new version of the FluenNHibernate.dll. The publickey token is in version <IP_ADDRESS>2 but not in version <IP_ADDRESS>.
Here is what I put in my web.config to redirect to the newer version of FluentNHibernate:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>00" newVersion="<IP_ADDRESS>00" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentNHibernate" publicKeyToken="8aa435e3cb308880" culture="neutral" />
<bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Thanks,
Kevin

My position is that Fluent NHibernate won't be strong named. I should really document that one


2018 edition

Updated the dependencies and switched to the 2018 edition.  You might want to look at the "Fix failing test" commit as I wasn't sure exactly what was going on there.

Okay let me know if you'd like anything else changed.

Is there anything else you need for this to get merged?

nudge?

Update the libraries again to the latest versions, cleaned up the imports + unneeded lifetimes, fixed (or disabled) the remaining clippy lints.  Had to bump the version to 1.36.0 for some of the library updates, but that version is pretty old by now so didn't think it would be an issue.
Let me know if you need me to do anything else for this to be merged...


Privacy flag data logging mechanism

Before we can show useful information to our users about whether we think websites might be selling their data (or violating CCPA, etc.) we need to understand how privacy flags are used across different sites/ad networks/jurisdictions.
The persistent data logging system should be an additional developer setting, including for each site:
-location of user (geographic)
-all privacy flags detected
-ad networks/providers associated with each privacy flag
-user preferences (Is the GPC signal set, is the DNS form filled out)

should be an additional developer setting

Developer setting? Wouldn't that be just a normal user setting?
We should discuss this today in a bit more detail.

Per our discussion, I am moving this issue to the gpc-paper repo.


fix #524 empty BOM file on KiCad 7

Possible fix for empty BOM file on KiCad 7 https://github.com/Bouni/kicad-jlcpcb-tools/issues/524
Explained here: https://github.com/Bouni/kicad-jlcpcb-tools/issues/535#issuecomment-2360655030

@davidegironi This does only partially work. In case the used KiCAD verison does not have the IsDNP method, all footprints will be added, regardless if they are flagged do not populate.
I'll try to figure out if theres a way to get the flag on both versions ...

Ok, so I looked into the pcbnew module of KiCAD 7 and it seems that there's now way to find out if the DNP flag is set in the schematic 🤷🏽♂
I'll merge your PR, as I will drop KiCAD 7 support anyway as soon as KiCAD 9 is out, probably in January 25

Thanks.
I know it's just a trick fix that will not completely work.
I'll move all my design to KiCad 8 or 9 in the next future.


Updated ci-build-image-updates docs

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-638

Preview environment: https://ci.pr.harness.io/pr-638

Preview environment: https://ci.pr.harness.io/pr-638


Friends Pairing Problem

Is your feature request related to a problem? Please describe.
Friends Pairing Problem
Describe the solution you'd like
Implementation using array in language C++
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Programming language

[ ] C
[ ] C++
[ ] Java
[ ] Python

@Amit366 @Ayush7614
Kindly assign me this issue

Can i also work on this issue?

@Ayush7614 Sir i have made PR on this friend pairing problem using DP please merge this.


Moving v1alpha2 to the gateway.networking.k8s.io API Group

What type of PR is this?
/kind cleanup
/kind api-change
What this PR does / why we need it:
Fixes #690
Does this PR introduce a user-facing change?:
The API Group has changed from networking.x-k8s.io to gateway.networking.k8s.io for v1alpha2 and beyond.

Great work!
Can you please update admission_webhook.yaml to include the new group? With the current patch, admission webhook won't be triggered.
I can't think of any other thing that might stop working but I expect some amount of whack-a-mole with this one.

Thanks for catching that @hbagdi! Should be updated now.

@robscott There is a merge conflict because the other PR got merged in.
/lgtm

@hbagdi thanks for the reviews! Just rebased this after the latest conflict.

/lgtm
@robscott Merging this in but please create an issue to track formal API approval.


Restrict self requests & naming convention changes

@Dal-Papa
Details
Restricted user email or mobile number from search results.
Fixed Issues
$ https://github.com/Expensify/Expensify.cash/issues/3572
Tests | QA Steps
Note: Have an account with an email and mobile number linked to test out all possible cases.
Case 1:  Splitting bills:

Click New
Click Split Bill
Enter your own email/mobile number in the search
Your own email/mobile number will not appear in search results

Case 2: Requesting money:

Click New
Click Request Money
Enter your own email/mobile number in the search
Your own email/mobile number will not appear in search results

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[ ] Android - Kindly test on Android.

Screenshots
Web
Profile

Request

Mobile Web
Profile

Request

Desktop
Profile

Request

iOS
Profile

Request
Email

Mobile Number

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging         in version: 1.0.78-3🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production         in version: 1.0.79-4🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


improve: add initial build-on-ublue document

because it's unlikely to change

The idea was that it'll probably be used in several places throughout the site. So it should only be defined once. But I'll remove it.

Docs on this topic will be made once I get to it.

Do you mind updating the repo to reflect what documents you want created, with what content, and where? It can be just a sentence or two.
Otherwise, it's gonna be more guesswork as to what is wanted where 😄

Pointer to Ublue support pages, docs, community, etc.

Let me know where the actual guide for using startpoint should go :)

Yeah, uhh, I've been busy-ish this week but I should be able to do that in the coming days.