add example of serveStaticFiles

add example of serveStaticFiles

Pull Request Test Coverage Report for Build 65

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 63:
0.0%

Covered Lines:
235

Relevant Lines:
235

💛  - Coveralls

Pull Request Test Coverage Report for Build 65

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 63:
0.0%

Covered Lines:
235

Relevant Lines:
235

💛  - Coveralls

Pull Request Test Coverage Report for Build 65

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 63:
0.0%

Covered Lines:
235

Relevant Lines:
235

💛  - Coveralls


First initial setup failed. (Failure while polling; Error setting up entry Nuki for hass_nuki_bt)

System Health details
System Information

version
core-2024.3.3

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.12.2

os_name
Linux

os_version
6.6.20-haos

arch
x86_64

timezone
Europe/Vienna

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

GitHub API Calls Remaining
4988

Installed Version
1.34.0

Stage
running

Available Repositories
1404

Downloaded Repositories
8

Home Assistant Cloud

logged_in
false

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 12.1

update_channel
stable

supervisor_version
supervisor-2024.03.0

agent_version
1.6.0

docker_version
24.0.7

disk_total
468.7 GB

disk_used
14.0 GB

healthy
true

supported
true

board
generic-x86-64

supervisor_api
ok

version_api
ok

installed_addons
Samba share (12.3.1), File editor (5.8.0), RaspberryMatic CCU (<IP_ADDRESS>40316), Advanced SSH & Web Terminal (17.2.0), Mosquitto broker (6.4.0), VNC Viewer (1.6.0), ESPHome (2024.3.0)

Dashboards

dashboards
2

resources
0

views
12

mode
storage

Recorder

oldest_recorder_run
March 17, 2024 at 19:10

current_recorder_run
March 26, 2024 at 20:33

estimated_db_size
187.55 MiB

database_engine
sqlite

database_version
3.44.2

Spotify

api_endpoint_reachable
ok

Checklist

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

Describe the issue
I tried to install and connect my nuki 3.0 for the first time.
I have all Versions on Top. HA see above. (I use HA OS on a x86 machine)
Version of Nuki is 3.8.7. Version of hass_nuki_bt is 0.0.9.
I use a Olimex PoE esp32 bt proxy around 1.5m away from the lock.
Reproduction steps

After install, the autodiscover worked.
Configuration of the lock was succesfull.
Error of the integration. Even after restart of HA or the integration. See below.

Debug logs
2024-03-26 20:32:59.986 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-03-26 20:32:59.987 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration hass_nuki_bt which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-03-26 20:33:04.878 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-03-26 20:33:05.111 ERROR (MainThread) [custom_components.hass_nuki_bt] 54:D2:72:75:B2:FC: Bluetooth error whilst polling: No backend with an available connection slot that can reach address 54:D2:72:75:B2:FC was found
2024-03-26 20:33:15.563 WARNING (MainThread) [pyNukiBT.nuki] parse error Error in path (parsing) -> crc
wrong checksum, read 2051, computed 22476
2024-03-26 20:33:15.563 WARNING (MainThread) [pyNukiBT.nuki] Got unexpected message length for command 62486. got length:107 expecting length:8
2024-03-26 20:33:15.563 WARNING (MainThread) [pyNukiBT.nuki] Got 99 unknown bytes with value: b'\xc7G&\x8fHCEc.\xf4Aa\xa9\xc0)\x91\x02s\x04\x00\xc7fM\x00X&7]\x96\x9c\xdcnO\x0b.|*?\xdb\xb0\xe8\xfcVd\xd0\x0e7\x92\xc6~s~\xddQU\x89\xa3O\x98\x9b\xdc\x9a\xd7\x95\xd7 \x1d\xaaF|\xc5\x9b\xc7\t\xe2\xcb\xf9K@F\xc8q&;\xc5\xc3\xfc\x1c\xc2\xf0q\x8f\x95\x9a\x06\xf3\xebV\x8b'
2024-03-26 20:33:15.564 ERROR (MainThread) [pyNukiBT.nuki] HomeAssistant: Received unsolicited notification: Container:
auth_id = b'\x86G\x14\x1f' (total 4)
command = (enum) (unknown) 62486
payload = None
crc = 18375
2024-03-26 20:33:15.564 ERROR (MainThread) [pyNukiBT.nuki] was expecting STATUS
2024-03-26 20:33:15.602 ERROR (MainThread) [custom_components.hass_nuki_bt] 54:D2:72:75:B2:FC: Failure while polling
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/bluetooth/active_update_coordinator.py", line 129, in _async_poll
self.data = await self._async_poll_data(self._last_service_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/bluetooth/active_update_coordinator.py", line 122, in _async_poll_data
return await self._poll_method(last_service_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/hass_nuki_bt/coordinator.py", line 116, in _async_update
if logs[0].type == NukiConst.LogEntryType.LOCK_ACTION:
~~~~^^^
IndexError: list index out of range
2024-03-26 20:33:15.850 WARNING (MainThread) [pyNukiBT.nuki] parse error Error in path (parsing) -> crc
wrong checksum, read 2051, computed 22476
2024-03-26 20:33:15.851 WARNING (MainThread) [pyNukiBT.nuki] Got unexpected message length for command 9625. got length:107 expecting length:8
2024-03-26 20:33:15.851 WARNING (MainThread) [pyNukiBT.nuki] Got 99 unknown bytes with value: b'T\x06\xa4\xc2T$\xddh\xef\xb4\x16\x8c\xbb\xf2\xd9\xd3\xb6\xd3\x04\x00\xc7fM\x00c\xaac\xb2\xbb\xb4\xed}U\x157\xac\xbee\x18;gI\xdf\xeae\xc7\xb6\x18"\xe5lk\x88\xea\x7f\x1ahHO_c\x96R9\x1bY\x8f\xa2\x9d1l\xb3:\x87\xef\xa8(\x87\xfd!\xec\xda\xfa\xc7M\x18sBO\x9be|\xb5\xe0\xf4\xe5\xab\xdfD'
2024-03-26 20:33:15.851 ERROR (MainThread) [pyNukiBT.nuki] HomeAssistant: Received unsolicited notification: Container:
auth_id = b'8ws\\' (total 4)
command = (enum) (unknown) 9625
payload = None
crc = 1620
2024-03-26 20:33:15.852 ERROR (MainThread) [pyNukiBT.nuki] was expecting STATUS
2024-03-26 20:33:15.898 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Nuki_3575B2FC for hass_nuki_bt
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/hass_nuki_bt/__init__.py", line 86, in async_setup_entry
if not await coordinator.async_wait_ready():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/hass_nuki_bt/coordinator.py", line 151, in async_wait_ready
await self._async_update()
File "/config/custom_components/hass_nuki_bt/coordinator.py", line 116, in _async_update
if logs[0].type == NukiConst.LogEntryType.LOCK_ACTION:
~~~~^^^
IndexError: list index out of range

Diagnostics dump
No response

I wanted to create this issue so I could maybe show someone else the solution.
My problem was that before this integration I had installed the hass_nuki_ng integration. I uninstalled the hass_nuki_ng integration beforehand, but didn't restart the system in between. I then uninstalled the hass_nuki_bt integration again, restarted the system and reinstalled the hass_nuki_bt and restarted it again. After that it worked as expected.
So my mistake was that I didn't restart after uninstalling the hass_nuki_ng integration, which caused the above errors to appear.


add support for setting throughput on database creation

Cosmos supports database throughput, where RUs are shared between all containers within a database.  spring-data-cosmos will auto-create the target database if one does not already exist but there is currently no way to specify a throughput when creating that database.  This PR allows the user to specify, via CosmosConfig, the throughput configuration for the database when it is initially created.
CosmosConfig seemed the appropriate place for this configuration but if there's a better place, let me know.  Also, I should probably add some docs for this - is this https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-spring-data-cosmos/README.md the best place for that?

@Blackbaud-MikeLueders seems like the spring emulator CI was failing, I have restarted it for now, but in case it fails again, can you please debug the issue.
We have the monthly release next week, would like to include this feature in.

@kushagraThapar It looks like a number of the template integration tests are failing, not sure what's going on but I'll take a look

@Blackbaud-MikeLueders - I am sure it has something to do with our change in this PR, may be something is messing up the initialization of the tests, which is causing all of the spring tests to fail.
I see you have reverted all the code changes in this PR, and I can see now the CI passing again.

@kushagraThapar i see the issue, the test i added was overwriting the shared cosmosTemplate; should be fixed now but i'll check back later to make sure nothing else failed


Fix for default namespace overwritten by empty namespace

Fixes #240
Fix for default namespace overwritten by empty namespace
Fixed a few SonarLint warnings

@bumann-sbb yikes. Probably not.
I wonder... is it because the workflow only works properly under the main repo (gdcc) and not in a fork (such as bumann-sbb).
@poikilotherm any thoughts on this? And the PR overall. 😄

@pdurbin @poikilotherm
Thank you both very much. Was a pleasure to contribute! :)

Thanks for your contribution! Even with a unit test! That's how Open Source is meant to be. ❤


Bailout during REQUEST

My application consist of multiple components that do a request when they are constructed. The problem is a request should only be done once because otherwise there are multiple requests to the same endpoint. Initially I attempted to get the required state in the bailout method and check if the store was inProgress. After some attempts I however found out that bailout is only checked upon initialization and not checked again pre-action.
Setting inProgress: true on my REQUEST (GIFTS_LOAD) does not work like I expect it to work. Below you can check out my temporary solution to prevent duplicate request from being executed. The reason is that the components listen to the state anyway, thus only a single set of actions should be executed.
The concept behind this is based on the following:
http://www.zohaib.me/redux-call-service-async/
http://redux.js.org/docs/advanced/AsyncActions.html (search for shouldFetchPosts)
How can I solve this in a cleaner way or is this how it's supposed to work?
Action
export function getGifts(accountId) {
    return function(dispatch) {
        dispatch({
            [CALL_API]: {
                endpoint: `${baseConfig.apiBaseUrl}${accountId}/gifts/`,
                method: 'GET',
                types: [types.GIFTS_LOAD, types.GIFTS_LOAD_SUCCESS, types.GIFTS_LOAD_FAILURE],
                bailout: (state) => {
                    if (!(state.gift.fetched || state.gift.inProgress)) {
                        dispatch({ type: types.GIFTS_PENDING });
                    }

                    //Cancel request if already in progress
                    return !!(state.gift.fetched || state.gift.inProgress);
                },
                headers,
                credentials: 'same-origin'
            }
        });
    };
}

Reducer
export default function gift (state = initialState, action) {
    switch (action.type) {
        case types.GIFTS_PENDING:
            return {
                ...state,
                inProgress: true
            };
        case types.GIFTS_LOAD_SUCCESS:
            return {
                ...state,
                gifts: action.payload,
                fetched: true,
                inProgress: false,
                error: false
            };
        case types.GIFTS_LOAD_FAILURE:
            return {
                ...state,
                inProgress: false,
                error: true
            };
        case types.CLAIM_GIFT_SUCCESS:
            return {
                ...state,
                gifts: mutate(state, action)
            };
        default:
            return state;
    }
};

I had the same issue so I forked the repo and ended up with the above PR.

Same issue for bailing out when reducer is set to "fetching" upon requests. Did you get to talk to @agraboso by any chance @siouf ?

@amangeot no I didn't


Logs for Agent and Node-RED appear to use different Timezones

Current Behavior
The log output for a device running a Node-RED flow (with project link nodes) shows some strange behaviour, the reason the connection went up and down was because  my ISP was flipping, there are 2 types of entries in the log output, some from the Node-RED application prefixed with [NR] and some from the agent itself.
The times for the agent appear to be in UTC, however the times for the Node-RED application appear to be in localtime (BST)
This is very confusing when the logs are displayed together.
NR] 17 Aug 18:05:43 - [info] Project Link nodes connection closed
[NR] 17 Aug 18:05:54 - [info] Project Link nodes connected
[2022-08-17T17:06:18.089Z] INFO: MQTT reconnecting to platform
[2022-08-17T17:29:51.280Z] INFO: MQTT reconnecting to platform
[NR] 17 Aug 18:29:55 - [info] Project Link nodes connection closed
[NR] 17 Aug 18:30:00 - [info] Project Link nodes connected
[NR] 17 Aug 20:26:04 - [info] Project Link nodes connection closed
[NR] 17 Aug 20:26:15 - [info] Project Link nodes connected
[2022-08-17T19:26:25.757Z] INFO: MQTT reconnecting to platform
[NR] 17 Aug 20:39:16 - [info] Project Link nodes connection closed
[NR] 17 Aug 20:39:22 - [info] Project Link nodes connected
[2022-08-17T19:39:28.760Z] INFO: MQTT reconnecting to platform

pi@sensehatpi:~ $ cat /etc/timezone
Europe/London

Expected Behavior
All log events should use the same timezone, preferably UTC.
Steps To Reproduce
Run a device agent on a device with the TZ set to something other than UTC.
Observe timestamps in the log entries
Environment

FlowForge version: 0.8.0
Agent: 0.2.0
Node.js version: 16.16

This is down to
https://github.com/flowforge/flowforge-device-agent/blob/2c3552fcd5a0e5c87dc5c728ca111e90c0deb694/lib/log.js#L4
Which is using toISOString() which always prints in UTC. The other lines are coming from Node-RED which are in Local time.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString


oraclelinux7/php/7.4-apache-oracledb breaks after the first update

A container using ghcr.io/oracle/oraclelinux7-php:7.4-apache-oracledb currently breaks the php-oci8 module as so as a yum, update is run:
========================================================================================================================
 Package                    Arch               Version                            Repository                       Size
========================================================================================================================
Installing:
 php-oci8-21c               x86_64             7.4.28-1.0.3.el7                   ol7_developer_php74             149 k
     replacing  php-oci8-19c.x86_64 7.4.26-1.0.1.el7

...
bash-4.2# php -m
[14-Mar-2022 22:25:08 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'oci8.so' (tried: /usr/lib64/php/modules/oci8.so (libclntsh.so.21.1: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/oci8.so.so (/usr/lib64/php/modules/oci8.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

I will create a PR that fixes that.

@cjbj can you review this? If the PHP module is automatically updated to 21c, I would've expected the Instant Client to be an available dependency.


Bug Report: Camera position in character editor doesnt work properly

Which target are you using?
[x] Windows
[ ] Linux
[ ] Mac
Explain your issue
So

Please check first if your issue haven't already been reported yet.

It's Flipped. Up Is Down, Down Is Up, Left is Right And Right Is Left


[Bug]: Silent Install Failure CentOS9

Error Message and Logs
Hetzner server with:
---------------------------------------------
| Operating System  | centos 9
| Docker            | 27.0
| Coolify           | next
| Helper            | 1.0.4
| Realtime          | 1.0.5
---------------------------------------------

Trailing logs using bash -x
+ echo -e 'How do you tell HTML from HTML5?
- Try it out in Internet Explorer
- Did it work?
- No?
- It'\''s HTML5.\n'
How do you tell HTML from HTML5?
- Try it out in Internet Explorer
- Did it work?
- No?
- It's HTML5.

+ bash /data/coolify/source/upgrade.sh 4.0.0-beta.373 1.0.4

Afterwards it just cuts out with exit code 1
Steps to Reproduce
Occurs during install script: curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Example Repository URL
No response
Coolify Version
4.0.0-beta.373
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
CentOS Stream Version 9
Additional Information
No response

This issue should be resolved in the latest version. If you're still experiencing this issue, please reopen or create a new issue with updated details.


fix: not escape when copy content

close #1995

Pull Request Checklist

[ ] Related tickets or issues have been linked in the PR description (or missing issue).
[ ] Naming convention is followed (do please check it especially when you created new plugins, commands and resources).
[ ] Unit tests have been added for the changes (if applicable).
[ ] Breaking changes have been documented (or no breaking changes introduced in this PR).

@ybzky  粘贴到文档未修复
2024_6_1 15_21_31 commands.json
2024_6_1 15_21_31 video.webm


Missing rpms and another files for release 0.11.0

Are you planning in generating them soon ?

Hi, releases are now in https://bintray.com/kong
In the future, please use the gitter chat or the mailing list for asking questions.


feat: playbook to deploy the snowdrop-bot to k8s

Optionally builds the application locally, and deploys it to k8s. It uses buildah in the process.

I think that we should also include, part of this role, the process to install/uninstall the K8S resources needed to deploy snowdrop-bot on K8s

Do we have to install additional K8s resources such as : secret, service account, pvc, pc, ... ?

kc get deployment,service,ingress -n bot
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/snowdrop-bot   1/1     1            1           84d

NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/snowdrop-bot   ClusterIP   <IP_ADDRESS>   <none>        8080/TCP   84d

NAME                              HOSTS   ADDRESS          PORTS   AGE
ingress.extensions/snowdrop-bot   *       <IP_ADDRESS>   80      84d

WDYT @jacobdotcosta

I think that we should also include, part of this role, the process to install/uninstall the K8S resources needed to deploy snowdrop-bot on K8s

Do we have to install additional K8s resources such as : secret, service account, pvc, pc, ... ?

kc get deployment,service,ingress -n bot
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/snowdrop-bot   1/1     1            1           84d

NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/snowdrop-bot   ClusterIP   <IP_ADDRESS>   <none>        8080/TCP   84d

NAME                              HOSTS   ADDRESS          PORTS   AGE
ingress.extensions/snowdrop-bot   *       <IP_ADDRESS>   80      84d

WDYT @jacobdotcosta

No PV is being used currently, due to problems when starting the bot with the H2 database. I'll check the service and the ingress, how they have been deployed.

I've created snowdrop-bot issue 130 to create a database and have some persistency.

PR is still missing what I commented 13days ago ;-)

PR is still missing what I commented 13days ago ;-)

I have reviewed the descriptors and this information is provided from the application itself in target/kubernetes folder. The kubernetes.yml file generated by quarkus includes the deployment, the service and the ingress so IMO these files don't fit here in this playbook.
Since we don't have a testing environment I'd prefer leaving this playbook as is for now as it works to update the bot as create a new issue to implement this as a future improvement.
WDYT @cmoulliard ?

I have reviewed the descriptors and this information is provided from the application itself in target/kubernetes folder. The kubernetes.yml file generated by quarkus includes the deployment, the service and the ingress so IMO these files don't fit here in this playbook.

Ok. LGTM then

Go ahead and merge it then


Adopt new Ameba SDK source (Preparation for macos compatibility fix)

This PlatformIO integration is not currently macos compatible due to a deficiency of the Realtek SDK itself.  This has been raised as an issue against the ambiot/amb1_sdk GitHub repository, where the Ameba SDK is now being maintained.
This PlatformIO integration can prepare to receive this fix and other fixes by adopting the official Amb1 SDK repository as its source for the SDK.
Currently two sources are defined in platform.json:
https://github.com/taubel/sdk-ameba-v4.0b-gcc.git
<EMAIL_ADDRESS><- Private, unknown what changes are in 'c'?
Potentially both can be removed and replaced with officially maintained:
https://github.com/ambiot/amb1_sdk

@valinskas Although it's a relatively modest sum; it may still be of interest to you that there's now a $95 USD bounty for having a working PlatformIO / Ameba (RTL8710/8195) integration.  It seems that you are very close with this repository; although the SDK is not latest code and has some MacOS compatibility issue which I detailed above.


Book addition : Learning REACT

Issue Description
I want to add a book based on react.js which is used in front end development.
Resource Details
Resource Type: Book
Title/Name of the Resource: Learning React
Description:
Learning React: Modern Patterns for Developing React Apps" is a comprehensive guide that introduces you to the world of React and equips you with the skills to build robust and efficient web applications. The book covers the fundamentals of React, including components, JSX, and state management. It also explores advanced concepts such as React hooks, context, and Redux for managing application state.
URL or Source:
file:///C:/Users/Abhinav%20Kumar/Downloads/Alex_Banks_and_Eve_Porcello-Learning_React-EN.pdf
Topic or Category
React - Front end development
Intended Audience (optional)
Beginner to advance
Benefits of Adding this Resource
Comprehensive coverage
Structured learning path
Practical examples and projects
In-depth explanations and insights
Reference material

Checklist (optional)

[✔ ] I have conducted a search to ensure this resource is not a duplicate.
[✔ ] I confirm that this resource complies with the guidelines and policies of the project/repository.

Yes, you can add it.
Read the readme file and contribution guidelines file.
Also you can watch the video to add new resources.
Make a PR to dev branch!


different image get path in v1.19

previous way to get image tar
Get a tarball containing all images and tags in a repository
GET /images/(name)/get

new way
Get a tarball containing all images.
GET /images/get

@anandkumarpatel do you have any links with background on this?
Both endpoints appear in the docs, but I don't see any references to either of them being the preferred method for exporting an image as a tarball.

/images/(name)/get
/images/get

There is certainly some overlap, but I don't think one is a replacement for the other.

Wow this is messy.
Let's wait and see where this goes.
They are basically the same and even call the same method.

ahh, I see. I was wondering how GET /images/(name)/get got a specific tag.
with GET /images/get?names=myname%2Fmyapp%3Alatest&names=busybox
you can type the tag as image:tag but with the GET /images/(name)/get  you have to give the image id of the tagged image.
going to close this issue.


Improve docs on debugging ASP.NET Core product source in VS 2019

Opening a new issue, as dotnet/aspnetcore#9350 is closed, but it is in line with what @sebazzz was trying to achieve I believe. (I guess it related to dotnet/aspnetcore#27380 also).
The docs/wiki aren't that clear on how to set up a local environment for running and debugging the ASP.NET Core source (preferably without running an installer which results in non-local changes). This is really helpful not just as a learning aid, but also for developing and debugging the product.
I spent a while trying to get this set up the past couple of days, and ended up with a simple / productive workflow. I wrote up what I ended up doing at https://ticehurst.com/2021/04/06/debugging-asp-net.html . If this looks roughly right, I'm happy to contribute to a wiki page or markdown file to help others. (And if it isn't quite right, happy to fix it up and then contribute).
@natemcmaster mentioned he was trying to make debugging the source easier, and @pilchie had some suggestions for working with NuGet packages (which was my biggest pain), so tagging here to see if they have input.
The docs are great, but it really clicked for me after being able to seamlessly step through the code for some of the more complex or nuanced stuff. Let me know how I can help! Thx.

Transferred issue though @tommcdon may push for a change in VS to make things easier. Later comments make the action @Rick-Anderson expects to do more clear.

Suspect 1310497 isn't planned for immediate work. If that's the case (@tommcdon❔), we should move this issue to one of the docs repos...

Transferred issue though @tommcdon may push for a change in VS to make things easier. Later comments make the action @Rick-Anderson expects to do more clear.

I think it is reasonable to document in the asp.net docs repo.  The workaround would be to:

Set COMPlus_ReadyToRun=0 in the project system to disable Ready to Run
Enable Suppress JIT optimization on module load in the debugger to JIT the framework code as debuggable

The Visual Studio project system provides mechanisms for setting environment variables in the project system.  Adding @tmeschter who might know where that is documented.

I will note, I found it interesting that the VS Code extension does document some of these settings for launching its debugger. Might want to align guidance there. See https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#suppress-jit-optimizations

The Visual Studio project system provides mechanisms for setting environment variables in the project system. Adding @tmeschter who might know where that is documented.

It's documented here
cc @vancem

It's documented here

That shows you how to turn on Suppress JIT optimization on module load. To set the COMPlus_ReadyToRun environment variable, you need to update the launch profile that will be used on F5/Ctrl+F5.
Open the drop down menu on the "Start" button, like so:

and then update "Environment variables":

Note we're working on bringing back the grid we used to have for environment variables in the old UI, but for the moment you'll need to edit them as text.
These settings all get saved to the launchSettings.json file associated with the project and are also available when using the dotnet cli.

It's documented here
but it was badly out of day, two versions out of date so I PR'd it just now.

These settings all get saved to the launchSettings.json file associated with the project and are also available when using the dotnet cli.

That's my PR fix, just add the settings to the launchSettings.json file. Much easier and when the UI changes, no need to update the doc.


It's impossible to do something as basic as configuring an application without workarounds

Let's try configuring my application using environment variables, just like in Linux:
docker run -e MyApplicationSettingsSection__someField=okay --isolation process some/image

Do I see the environment variable? No, because of something weird with shell versus exec syntax in Dockerfile entrypoints versus commands (https://stackoverflow.com/a/43051690/1757994).
Okay, let's try bind mounting my configuration file.
docker run -v "./myconfig.json:C:\\App\\config.json" --isolation process some/image

No, I can't do that, because for some reason I can't bind files in Windows containers (https://github.com/moby/moby/issues/30555)
Okay, let's try getting configuration from a host. Seems logical I can serve it from an http address from the host, a common pattern:
// inside my exe
Get("http://host.docker.internal:5555/configuration.json");

// my shell
docker run --isolation process some/image

No, that doesn't work, because Windows docker containers do not have the DNS host names for the local gateway by default, you have to use some random guy's script to get this to work (https://github.com/docker/for-win/issues/1976#issuecomment-585423014)
All of this would come up in Kubernetes. You mount ConfigMap files and set environment variables and all this stuff all the time, it's so standard, and none of it works.

I assigned this to Weijuan as she can find someone to investigate these scenarios. Wanted to point out a few things:

On your first case, it seems that there is a solution to use Entrypoint. Linux and Windows containers behave differently and it might be the case that you need to adjust your dockerfile to a Windows environment.
On the second case, I'm not sure we can mount a file directly (might have to do with permissions), but is it possible to mount a folder that then gives the container access to the file?

it seems that there is a solution to use Entrypoint

Yes. This issue comes up because entrypoints are how Windows containers do stuff like copy drivers from the host drivers directory - and really, what else are people using Windows containers for, if not for things that require DirectX and other high-quality windows features? It ain't MSSQL.
An example entrypoint that correctly does startup tasks like copying files and also correctly passes environment variables to the delegate would be ideal.
Something I have not investigated - does nssm read the environment variables? According to printing each environment variable in a process, sometimes the process gets the environment specified in Docker, and sometimes it doesn't, which is really really surprising.

is it possible to mount a folder that then gives the container access to the file?

Yes definitely, that is what I'm doing. It just interferes with the ConfigMap workflow, which expects to be able to mount files.

Your first item is explained in the dockerfile run reference. Regarding your second item for single file mapping, that  has since been delivered in the platform (see #31), provided you're on Windows Server 2019 or later and provided you're using containerd or another container runtime that uses HCSv2 schema. So Kubernetes can do this. To my knowledge, Docker on Windows is not on this yet.
To your third item, that is a feature request we could look at implementing but would be better tracked in a separate, dedicated issue. If that is of interest, let's open a separate issue. I am closing this one out.


Real time journey approval process

Hi,
Does this work for real time marketing journey? If not, is there a way to build approval process?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8cd8962a-61ce-6d58-72e5-4f1bf198af1d
Version Independent ID: b9d050c7-af34-82e5-301e-9ccfe2328090
Content: Build an approvals feature (Dynamics 365 Marketing Developer Guide)
Content Source: ce/marketing/developer/marketing-approvals-feature.md
Service: dynamics-365-marketing
GitHub Login: @alfergus
Microsoft Alias: alfergus

I've looked into this issue and learned that we don't have extensibility hooks in real-time marketing, so it's currently not possible to build an approval feature in a real-time journey.

Thanks. Are there other possibility to achieve this?
Any way to view audit history for real-time journey?


Added /healthcheck route

Implemented /healthcheck route to the Job Board App
Fixes #1

Morning, I'm on the develop branch and the '/healthcheck' route isn't set up, it's still just got the root route.  I created a branch with it added and tagged you in the pull request.  Hopefully that's the correct process, wasn't sure if I was just supposed to comment it here.


feat(sonarr) - web tier 03 update

Pull request
Purpose
Add -DRACULA to Web Tier -3 resolves #1018
Open Questions and Pre-Merge TODOs
Check all boxes as they are completed

[x] Use github checklists. When solved, check the box and explain the answer.

Learning
If you're adding a new Custom Format make sure you follow the Radarr/Sonarr Custom Format (JSON) Guidelines.
Requirements
Check all boxes as they are completed

[x] These changes meet the standards for contributing.
[x] I have read the code of conduct.

Maybe add the dash as Dracula is a common word unlike other group names?

Maybe add the dash as Dracula is a common word unlike other group names?

Shouldn't be needed as I am using the rls group spec however it might still be an issue @bakerboy448 thoughts ?

Maybe add the dash as Dracula is a common word unlike other group names?

Shouldn't be needed as I am using the rls group spec however it might still be an issue @bakerboy448 thoughts ?

Not Baker but not needed it you use rlsgrp condition


Ignore dist folder

This'll keep from dirtying the repository when the Haskell implementation is compiled.

Duplicate of #61

Is it? The dist folder was the only untracked file created when I built the Haskell bin. The other 15 lines seen superfluous. Am I missing something?

The functionality created here is duplicated by the functionality of #61. Sure, they can operate independently, but there's also no reason to have both.

@zhimsel Right. My point is that you're using 16 lines to do the work that can be done by 1 line. You don't need to enumerate all of those types. All generated files that need to be ignored are in the dist path. You only need to ignore dist.

Fair enough. I'll close mine.

This is no longer necessary as we use stack now instead (b243027a09d993b207c340633cfebd87ade787dd). There are now some relevant ignored folder in .gitignore.


Ability to reference specific service port for health check in consul

It is rather common to have 1 service that has an admin port on another port, such as in http://www.dropwizard.io/ and even things like https://www.rabbitmq.com/ it would be nice if the service_ip interpolation worked like the other things, and you could do SERVICE_9091_PORT instead of just SERVICE_PORT and it would give you the port that 9091 is running on. This way you could tie the health of the non admin port service to the correct port

What version of Registrator?
Are you talking about HTTP checks?
HTTP health checks with Consul are done by Consul, so I think this is maybe a Consul issue?
Is this about linking service health checking across services?

I was having trouble finding an example in the docs, but commit 078812af3b8b62a3145652354ff54460dd54036f added the interpolation for SERVICE_IP and such similar to #58 . I am using this to be able to run a check that hits a specified SERVICE_PORT which was dynamically allocated.
I was saying that similar to the way that the docs explain http://gliderlabs.com/registrator/latest/user/services/ SERVICE_x_ where x is the "internal exposed port" I was thinking that it would be nice for a SERVICE_CHECK_SCRIPT to be able to interpolate SERVICE_x_PORT into the exposed dynamic port.

Okay. I see. I didn't add the interpolation and so a lot of contributions get by that aren't up to my design standards. That whole system is in for an overhaul, so you can either submit a PR to add it in master for now or I guess wait until we figure out how to do that system better.

It has been quite a while since I made the ticket. So I think I can just wait. Hopefully you will just keep this in mind during the overhaul.


Windows Support

Currently does not work with windows unless you use wsl.

see #13
PR are welcome if your PowerShell foo is up to it :)


Some small fixes for the Install Kuadrant and Sail via OLM guide.

Small tweaks to the kustomize install:

Add a sample AWS env-vars config
Fixed an old/outdated path in a comment in one of the kustomize files

cc: @maleck13


Revert "update container-lifecycle-hooks.md for third hook handler i,.e. TCP"

Reverts kubernetes/website#25733
See https://github.com/kubernetes/website/pull/25733#issuecomment-816958185

/sig node

CC: @leventogut

/lgtm

/lgtm
/approve


(WIP) Test: contribute with an outstanding bid

TODO: fix Javascript Math problem

need to do SafeMath refactor to get this to pass


Moya 11 Default Request Mapping?

Migrating to Moya 11 generates error (see below) when overriding the MoyaProvider initializer with default values.
Error:
Default argument value of type '(Endpoint, (Result<URLRequest, MoyaError>) -> Void) -> ()' cannot be converted to type 'MoyaProvider.RequestClosure' (aka '(Endpoint, @escaping (Result<URLRequest, MoyaError>) -> ()) -> ()')
Code:
override init(endpointClosure: @escaping EndpointClosure = MoyaProvider.defaultEndpointMapping,
                  requestClosure: @escaping RequestClosure = MoyaProvider.defaultRequestMapping,
                  stubClosure: @escaping StubClosure = MoyaProvider.neverStub,
                  callbackQueue: DispatchQueue? = nil,
                  manager: Manager = MoyaProvider<MultiTarget>.defaultAlamofireManager(),
                  plugins: [PluginType] = [AuthPlugin()],
                  trackInflights: Bool = false) {

        super.init(endpointClosure: endpointClosure,
                   requestClosure: requestClosure,
                   stubClosure: stubClosure,
                   callbackQueue: callbackQueue,
                   manager: manager,
                   plugins: plugins,
                   trackInflights: trackInflights)
    }

How to assign a defaultRequestMapping?

Hey @jhrasco, thanks for reporting this. I'm thinking that MoyaProvider.defaultRequestMapping needs to have its RequestResultClosure argument marked as @escaping. What version of Moya are you migrating from?

Hi @SD10 Thank you for a quick response. I'm migrating from version 10.0.2 to 11.

@jhrasco Are you subclassing? This is an odd error message.
The real fix is you need to reference YourProviderSubclass.defaultRequestMapping or resolve MoyaProvider's generic.

@SD10 Thanks. Yes, I'm subclassing and your proposed solution,ProviderSubclass.defaultRequestMapping, works. Thank you.

Looks like a type alias for a function is @escaping by default in Swift. So we don't need to mark RequestResultClosure.
But we need the @escaping attribute on RequestClosure because it looks like the @escaping attribute is not inferred by default on a typealias 🤔
Bad error message I guess.

It looks like when Endpoint was generic, MoyaProvider was able to resolve the type.
You could use MoyaProvider.defaultRequestMapping in 10.0.2 but now you cannot. You must pass on the generic from the subclass or refer to the subclass itself.

💯 I've added a line to Migration Guide in #1570.


Text editor

Text Editor website can be used to modify text with functionality of dark mode.

update readme

refer to other readme to understand how to write it


fix: a problem when logging the secret value in terraform-provider-csbmssqldbrunfailover

Fix a problem when logging the secret value.
We remove the regex introducing less restrictive validations. The validation is on the supplier’s side and we just check if the field is empty or too long.
#183032358
#183032253
Checklist:

[x] Have you added Draft Release Notes in docs/draft-release-notes.md?
[x] Have you followed the Conventional Commits specification?

Thanks @blgm  and @FelisiaM . Release notes modified


Any plans to support Linux?

@hilyin This project is a Swift OSX project that relies on OSX notification service... so no.

You can use FooHID to create virtual u2f hid token https://github.com/unbit/foohid and bind some notification gui to that

@hilyin Sadly, no.

You can use FooHID to create virtual u2f hid token https://github.com/unbit/foohid and bind some notification gui to that

FooHID is also macOS only.

@mastahyeti thanks for pointing that out, I meant USBBIP-VUSB https://github.com/lcgamboa/USBIP-Virtual-USB-Device

I'm closing this, since it doesn't represent a bug/issue in Soft U2F. Feel free to keep the conversation going of how to reimplement Soft U2F for Linux though.

@mastahyeti Would the Silver project aid in targeting Linux?

That might allow for some code reuse, but it would still be a major effort to port this to another OS.

See https://github.com/danstiner/rust-u2f as an alternative for Linux.


ARG002 and Protocols

ARG002 is raised for typing.Protocol classes, which generally do not have an implementation.
I don't think these should be reported, or at suppressed by a configuration option.

class Example(Protocol):
    def method(self, arg1: object) -> object:
        ...

The above example actually doesn't trigger ARG002 for me:
class Example(Protocol):
    def method(self, arg1: object) -> object:
        ...

❯ ruff --isolated foo.py --select ARG -n

(We omit methods with empty bodies.)
It does trigger if I include a docstring, which is probably incorrect:
class Example(Protocol):
    def method(self, arg1: object) -> object:
        """Some docstring."""
        ...

If that is the issue, it's fixed in #1742.

(Just LMK if that's not the issue and I'll re-open!)

That does appear to be the issue, thanks! I have docstrings in my Protocols.


There's an unsafe used in here; is it necessary?

Might be good to add a disclaimer to the README that this library contains an unsafe instance.
Is it possible to not use that unsafe? Is there a really good reason for it?

I just removed unsafe. Thank you for your comment

Updated an published


Visual Studio doesn't detect Vcpkg

Describe the bug
I meet the same problem described in issue #24730.
I typed vcpkg integrate install and there is no vcpkg options in vs2022 and vs2019, and visual studio can not find header files correctly.
Environment

OS: Windows 11 22621.1413
Compiler: Visual Studio 2022 and 2019

To Reproduce
Steps to reproduce the behavior:

.\vcpkg.exe install eigen3:x64-windows
.\vcpkg.exe integrate install

Expected behavior
I expect Visual Studio to detect the libraries I installed with Vcpkg automatically, instead of having to add the include path and the libraries path + every single .lib file in the properties of my projects.
Failure logs

There is no option about vcpkg.
Additional context

I chcecked ${VSINSTALLDIR}\MSBuild\Microsoft\VC\v170\Microsoft.Cpp.Common.props and it contains

  <PropertyGroup >
    <VCLibPackagePath Condition="'$(VCLibPackagePath)' == ''">$(LOCALAPPDATA)\vcpkg\vcpkg.user</VCLibPackagePath>
  </PropertyGroup>
  <Import Condition="'$(VCLibPackagePath)' != '' and Exists('$(VCLibPackagePath).props')" Project="$(VCLibPackagePath).props" />

I also confirmed that C:\Users\Administrator\AppData\Local\vcpkg contains necessary files:

I tried vcpkg --triplet x64-windows-static integrate install but nothing changed. Problems arise whether using the x64 or x86 version during the build process.
I tried git pull ; .\bootstrap-vcpkg.bat and run .\vcpkg.exe integrate install again but still nothing changed.
Half a year ago, vcpkg was working fine, but when I recently tried to open a previous project, I found that it could not be compiled properly. Then I discovered that there was an issue with my vcpkg configuration. Are there any potentially disruptive changes when upgrading from Windows 10 to Windows 11?

Does the file path inside %LOCALAPPDATA%\vcpkg.user.props refer to the vcpkg instance you're expecting to use?
If you turn on MSBuild diagnostic logging, do you see that props and targets getting loaded?

The file path accurately points to the path of vcpkg.

According to the tutorial at https://learn.microsoft.com/en-us/visualstudio/ide/msbuild-logs?view=vs-2022, I set two options in Msbuild project build verbosity to "detailed" and checked the output window after building using Ctrl-B. After searching for "vcpkg", I got some results (I have uploaded the output as an attachment). I'm not sure if this is what you meant by MSBuild diagnostic logging, so please correct me if I'm wrong. Sorry about that.

vs-vcpkg-debug.log

I have made a potentially helpful discovery. When I open the project by opening the .sln file from the file explorer, the vcpkg option appears in the menu. However, if I first open Visual Studio and then open the project from the recent projects list, the vcpkg option is not available.

Maybe you could try install this plugin on your Visual Studio Code, I can't repro this issue on Visual Studio 2022, I can find vcpkg on property page when opening a recent project.

https://user-images.githubusercontent.com/21274779/229490868-c7df4cc6-1395-4dbb-a736-54ab3c598876.mp4
I recorded my reproduction process. Regardless, thank you all for your work.

I recorded my reproduction process. Regardless, thank you all for your work.

This is a video opening a project and showing that it doesn't work but isn't really what we need in terms of repro; we need something closer to step by step instructions to recreate the problem ourselves.

@BillyONeal I'm having a similar problem internally with getting vcpkg set up.  If you're available to investigate I can share my system with you.

I recorded my reproduction process. Regardless, thank you all for your work.

This is a video opening a project and showing that it doesn't work but isn't really what we need in terms of repro; we need something closer to step by step instructions to recreate the problem ourselves.

I've been able to reliably repro similar symptoms using the following steps.

Install VS2019
Install vcpkg with vcpkg integrate install
Uninstall VS2019
Install VS2022
vcpkg integrate install
Open solution and there is no project properties item for vcpkg

I recorded my reproduction process. Regardless, thank you all for your work.

This is a video opening a project and showing that it doesn't work but isn't really what we need in terms of repro; we need something closer to step by step instructions to recreate the problem ourselves.

I've been able to reliably repro similar symptoms using the following steps.

Install VS2019
Install vcpkg with vcpkg integrate install
Uninstall VS2019
Install VS2022
vcpkg integrate install
Open solution and there is no project properties item for vcpkg

I got my situation (removing VS 16.11.5 and installing VS 17.5.4) by running

vcpkg integrate remove
vcpkg integrate install


Azure Automation source control sync for PowerShell v7.2 & Python 3

When will the Azure Automation source control sync work for PowerShell v7.2 & Python 3?
Considering both are GA and Python 2 is even EOL I would expect to be able to sync both those versions?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 83c90e64-b615-711f-a53d-fc76606e2ecd
Version Independent ID: 2d164036-6886-4440-50f7-369f99f41cea
Content: Use source control integration in Azure Automation
Content Source: articles/automation/source-control-integration.md
Service: automation
Sub-service: process-automation
GitHub Login: @SnehaSudhirG
Microsoft Alias: sudhirsneha

@lukelloydagi
Thanks for your feedback! We will investigate and update as appropriate.

@lukelloydagi, thank you for the question.
We do not have an ETA yet, but it is in the backlog and expected to be available tentatively in the next few months.


bind javascript events

How can I bind javascript events on this:
https://mozilla.github.io/pdf.js/web/viewer.html
I want to bind events on when it's done rendering and when there is something else being rendered.
Because I want to create pdfjs annotations on top of the rendered pdf file.

You can listen for events fired on the event bus (such as https://github.com/mozilla/pdf.js/blob/c33bf800cc87941cc681c3c54279ab1b9745650d/web/app.js#L155).

@timvandermeij I am talking about the prebuild version, not from sources.
document.addEventListener("resize",function(){console.log("resize pdfjs!");});
document.addEventListener("pagechanging",function(){console.log("pagechanging pdfjs!");});

this doesn't work

set "eventBusDispatchToDOM": true in viewer.js why isn't anyone telling this!

@diwakar1911 Thanks!
how do you set this setting?

@issy123 how did you finally solve this? I need to do the same thing (catch events using the prebuild version)
thanks!

I think I changed the event listener names like so:
document.addEventListener("scalechange",function(){console.log("resize pdfjs!");});
document.addEventListener("pagechange",function(){console.log("pagechanging");});

"The eventBusDispatchToDOM option/preference is deprecated, add event listeners to the EventBus instance rather than the DOM."
How do I know when the eventBus will exist? I'm trying to log each event by adding at viewer.js:220:
window.PDFViewerApplication.eventBus.addEventListener("documentload", function () { console.log('documentload fired') });
Which raises:

Uncaught TypeError: Cannot read property 'eventBus' of undefined at HTMLDocument.webViewerLoad

"The eventBusDispatchToDOM option/preference is deprecated, add event listeners to the EventBus instance rather than the DOM."
How do I know when the eventBus will exist? I'm trying to log each event by adding at viewer.js:200:
  app.PDFViewerApplication.eventBus.addEventListener(
    "documentload",
    function() {
      console.log("documentload fired");
    }
  );

And similarly (pdfjsWebApp.PDFViewerApplication.eventBus.addEventListener) at viewer.js:219
These raise:

Uncaught (in promise) TypeError: Cannot read property 'addEventListener' of null at attachEventListeners (viewer.js:189)

I have the deprecated method working.
I added above the run call
      window.PDFViewerApplicationOptions.set("disablePreferences", true);
      window.PDFViewerApplicationOptions.set("eventBusDispatchToDOM", true);
      attachEventListeners();
      app.PDFViewerApplication.run(config);

Then attachEventListeners just attaches to the global events:
function attachEventListeners() {
  console.log("attachEventListeners called");
  document.addEventListener("documentload", function() {
    console.log("documentload fired");
  });
  document.addEventListener("pagerendered", function() {
    console.log("pagerendered fired");
  });
  document.addEventListener("textlayerrendered", function() {
    console.log("textlayerrendered fired");
  });
  document.addEventListener("pagechange", function() {
    console.log("pagechange fired");
  });
  document.addEventListener("pagesinit", function() {
    console.log("pagesinit fired");
  });
  document.addEventListener("pagesloaded", function() {
    console.log("pagesloaded fired");
  });
  document.addEventListener("scalechange", function() {
    console.log("scalechange fired");
  });
  document.addEventListener("updateviewarea", function() {
    console.log("updateviewarea fired");
  });
  document.addEventListener("find", function() {
    console.log("find fired");
  });
  document.addEventListener("attachmentsloaded", function() {
    console.log("attachmentsloaded fired");
  });
  document.addEventListener("sidebarviewchanged", function() {
    console.log("sidebarviewchanged fired");
  });
  document.addEventListener("pagemode", function() {
    console.log("pagemode fired");
  });
  document.addEventListener("namedaction", function() {
    console.log("namedaction fired");
  });
  document.addEventListener("presentationmodechanged", function() {
    console.log("presentationmodechanged fired");
  });
  document.addEventListener("outlineloaded", function() {
    console.log("outlineloaded fired");
  });

I would still love to do this properly using the eventBus, if anyone has any ideas, as I'll be building this out substantially.

Regarding https://github.com/mozilla/pdf.js/issues/9527#issuecomment-604157830, please see the first section of https://github.com/mozilla/pdf.js/wiki/Third-party-viewer-usage for the correct way of waiting for the viewer to load/initialize; hence waiting for e.g. the "documentloaded" event is done like so:
document.addEventListener("webviewerloaded", function() {
  PDFViewerApplication.initializedPromise.then(function() {
    PDFViewerApplication.eventBus.on("documenloaded", function(event) {
      console.log("The document has now been loaded");
    });
  });
});

Enormous thanks @Snuffleupagus and sorry I have corrected a typo in my comment.
If I add your code above (or below) the app.PDFViewerApplication.run(config) call the event handler is never called.
My theory is that if I search across the repo for webviewerloaded the only match is viewer.js#L214, so it seems to be raised if and only if PDFJSDev.test("PRODUCTION") && PDFJSDev.test("GENERIC") and on my development machine I am running the !PDFJSDev.test("PRODUCTION") branch of that if statement. Should the webviewerloaded event be raised in !PRODUCTION && GENERIC environments too?


Can't read mesh devices

Logger: custom_components.xiaomi_gateway3.core.gateway3
Source: custom_components/xiaomi_gateway3/core/unqlite.py:176
Integration: Xiaomi Gateway 3 (documentation)
First occurred: 8:05:27 (1 occurrences)
Last logged: 8:05:27
Can't read mesh devices
Traceback (most recent call last):
File "/config/custom_components/xiaomi_gateway3/core/gateway3.py", line 272, in _get_devices
rows = db.read_table('mesh_group')
File "/config/custom_components/xiaomi_gateway3/core/unqlite.py", line 176, in read_table
page = next(t[3] - 1 for t in self.tables if t[1] == name)
StopIteration

The same problem.

Fix in master version. Soon will be in release


Apply the update to the projectors on bad channel toggle

Closes #186
The projectors were updated, but the update was not applied. Likely the pre-computation has to be re-run.
Anyway, that small change fixes the issue. It does however mean that we run twice through self._update_projector() because _toggle_bad_channel defined in mne-python runs it as well, but the cost is small.
Also, I noticed an import of the Qt5 backend at the top of the file. I'm guessing that whatever functionality uses it is currently failing with a Qt6 binding, but I did not test this. We had a similar import in mne-icalabel that failed when we started using 22.04 LTS + qt6-base-dev instead of 20.04 LTS + qt5-default (https://github.com/mne-tools/mne-icalabel/pull/120).

The projectors were updated, but the update was not applied. Likely the pre-computation has to be re-run.

Does this mean that if you scroll, it's showing data with the previous projector (before the bad channel toggle)?  Does calling _apply_update_projector trigger the precompute to be redone?

Anyway, that small change fixes the issue. It does however mean that we run twice through self._update_projector() because _toggle_bad_channel defined in mne-python runs it as well, but the cost is small.

I wonder if this means the Qt browser helper methods aren't optimal (i.e., maybe needs to split "apply projector" helper into separate "update" and "apply" steps?)

I didn't check in details, but I'm 90% sure the issue was the precomputation. _apply_update_projector does trigger a rerun of the precomputation, while this is nt the case of self._update_projector.

Qt browser helper methods aren't optimal

Definitely not!! I found a lot of different scenarios in which some functions/codes would be executed either for no reason or multiple times. Most of the time, it's due to signals emitted because of a .setXXX or equivalent method in the browser. I added a signal blocker in https://github.com/mne-tools/mne-qt-browser/pull/172 but it's barely used through the codebase for now. Hopefully, most of those scenarios don't yield an excessive overhead.

I didn't check in details, but I'm 90% sure the issue was the precomputation. _apply_update_projector does trigger a rerun of the precomputation, while this is nt the case of self._update_projector.

OK that makes sense. Merging; let's not try to fix everything all at once.


Rewrite code again

Suggestiong to split into:
youtube_api.py
youtube_data.py
youtube_data_presenter.py

Remove classes and just have functions.

Completed.


named interceptor registries

@jamesagnew ready for review & merge
I used this change quite a bit in my troubleshooting.

Coverage increased (+0.008%) to 75.296% when pulling 60cf426bf47d424400db5d7e87f4695d3bed9c15 on named-interceptor-registry into cf7cd403360b5928db09427837f833262aef9ae0 on master.


Move leader_failover_test out of experimental

internal/gribi doesn't have a way to setup both NH and NHG together.
the test however consistently passes if we increase the gribi client timeout to 2 minutes.

bebdf825-8de7-4764-bd0e-1ce8689107a8
862be9f9-5713-4bad-bcc8-388ea6448676

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.423%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1050

Relevant Lines:
1491

💛  - Coveralls

Hi @Ankur19 this tests uses DELETE mode for gribi session that was not a mandatory requirement to implement. Can we still  make the DELETE tests optional if we move out this tests to gribi folder?

Let's complete the move for now, and I'll make a follow up PR. I have a task to make gRIBI DELETE client optional in tests.


Fix Itertools::flatten regression soon in nightly.

This fixes a regression (soon in nightly) due to the pending stabilization of Iterator::flatten.
See rust-lang/rust#51511 for details.

Thank you for reporting the regression and PR.
Currently, I don't use Gurobi optimizer and hence cannot test this patch in my environment.  I'll apply this PR soon and update the minor release, but other problems may be still remain.
@leodasvacas Probably I'll not continue to develop this library in the future. Could you fork this project  and get the development of the transition to take over? (If necessary, I'll also consider transfering the registered namespace gurobi in crates.io to the succeed developer.)


selected nodes are not returned in case of single partition

In this edge case, the list of selected nodes (all nodes) is not returned, but they should be:
https://github.com/cytoscape/LargestSubnetwork/blob/master/src/main/java/org/cytoscape/LargestSubnetwork/LargestConnectedComponentTask.java#L102

Fixed.


eliminate CPU_TYPE_X86 in favor of CPU_TYPE_I386

CPU_TYPE_X86 and CPU_TYPE_I386 have the same numeric value, making the CPU_TYPE_X86 => "CPU_TYPE_X86" entry in CPU_TYPES useless as it is immediately overwritten in the following line.
Use CPU_TYPE_I386 everywhere as that's the constant used in newer versions of the mach/machine.h header (linked file is from cctools-877.5).

Sounds good to me :+1:


[RetroActive] 'rename' icon too small

'rename' icon too small, see:

@baxysquare

Thanks for the tip!  I made the rename icon based on the icon in monochrome, which appears to be 17x17 pixels when I open the PNG in Photoshop.  I'm going to resize it at 72x72 (or 88x88 with translucent outline) to get it consistent with the close and run icons.  Since I have more pixels to work with, I'll add some more detail to the pencil to make it more consistent with the themes.

I just updated the icon.  Hopefully you like the larger, more detailed pencil @sergiobenrocha2.  Let me know if you find anything else and we'll get it fixed up.

much better now, thanks!


Fix test filter greediness for method names

It's a bit annoying to designate a test target and have neighboring targets hit as well, especially while debugging because breakpoints are not reached under the desired conditions.
The present change aims at preventing the MyTest#testSomething pattern from matching the testSomethingElse method in the following example:
public class MyTest {
  @Test
  void testSomething() {
  }

  @Test
  void testSomethingElse() {
  }

With asPredicate, the test filter matches test methods starting with the given method name:

Creates a predicate that tests if this pattern is found in a given input string.

Unless the pattern doesn't encompass a method name, appending a $ to the input pattern makes sure only exact method names are considered.
Note: think about filter greediness for class names.

@shs96c really no hurry for this one: better safe than sorry...

But could you please rebase?

Will do within max 3 days.

That's very much appreciated. Thank you!

Done.


Add ID generator function to policy

Support custom entry ID generation. It might be useful for instance, to have the id for an fsfs entry to match the id in a Mongo or SQL database. That would allow searching for a matching database entry on the file system without having to manually store the database id in an entry's data, which would require a read operation and an accompanying lock.
from bson.objectid import ObjectId
fsfs.set_id_generator(lambda: str(ObjectId()))

Maybe you already have an id though, we should provide a way to change an Entry's id manually. This will invalidate other user's entry cache, but, if done at the moment of creation. That shouldn't become an issue.
from bson.objectid import ObjectId
import fsfs
entry = fsfs.tag('tmp', 'project')
entry.uuid = str(ObjectId())

Or perhaps...
entry = fsfs.tag('tmp', 'project', _id=str(ObjectId()))

Or...
entry = fsfs.write('tmp', my_data=True, _id=str(ObjectId()))

Or.................
entry = fsfs.set_id('tmp', str(ObjectId()))

As tag is the primary method of entry creation, I think that's the most appropriate place to allow setting of id. Combined with entry.uuid users would have a way of setting the uuid at creation and modify it if necessary.

In the end, going with a simple solution. Allowing users to provide their own id generator function via fsfs.set_id_generator or a custom policy. Users can also manually set the id of an Entry by using the uuid setter.


Energy conduit does not take power from thermoelectric generator Immersive engineering

Issue Description:
Energy conduit does not take rf power from thermoelectric generator This used to work in 1.7.10!
What happens:
Place down a thermoelectric generator setup.
Connect energy conduit from thermoelectric generator to vibrant capacitor bank.
No energy is transported
What you expected to happen:
rf flow from thermoelectric generator to capacitor bank
Steps to reproduce:
1.Place down a thermoelectric generator setup.
2.Connect energy conduit from thermoelectric generator to vibrant capacitor bank.
3.Try to make working connection
...

Affected Versions (Do not use "latest"):

EnderIO: 1.10.2-<IP_ADDRESS>
EnderCore:1.10.2-<IP_ADDRESS>
Immersive Engineering 0.10-48
Minecraft: 1.10.2
Forge:<IP_ADDRESS>4

rf is "push" based, so it's up to the generator to push energy to the conduit. If the conduit visually connects, it is open to accept those pushes.

https://github.com/BluSunrize/ImmersiveEngineering/issues/1663 Done!

IE's fixation of using its internal energy system and only interfacing using their connectors seems not to be too user friendly.


Module 4E: Slide photo-stacked hi-res imaging [1st Draft Completion List]

Module 4E: Slide photo-stacked hi-res imaging

[x] Title created
[x] Purpose created
[x] Keywords created
[ ] Point Person assigned
[ ] Task List filled in
[ ] Essential training added
[ ] Metrics costing reporting filled in
[ ] Outreach opportunities filled in
[ ] Exemplar workflows added
[ ] References to other Modules added/linked
[ ] Discussion section added at bottom
[ ] Links to standards/Best practices

Contact Mark Smith<EMAIL_ADDRESS>for this potentially.

Contact Mark Smith<EMAIL_ADDRESS>for this potentially.

Copy paste some text from 4A RE stacking issues.
Add text about cleaning and dust.

Replace file naming text

@EMTuckerLabUMMZ look for Notes from Nature link to cool outreach opportunity

Updated the text to look more like the 4A and just modified as needed.
I did not replace the file naming text - wan't sure if this is supposed to be completely removed or changed to something else...
Looked fo Notes from Nature example, but couldn't find the one I was thinking about. Maybe it was a conversation I had with another group about project we could do, or maybe it was a  project just no longer up there... Anyway, couldn't find the right example.
Added link to page with relevant Macropod tutorials.

Found some other Zooniverse crowsourcing non-transcription projects and added links. Not the ones I was originally thinking of, but give some alternative ideas.


added check for valid ayah

/1/11 => /error/invalid-ayah

Deployed to: http://staging.quran.com:32808

Deployed to: http://staging.quran.com:32809

rebuild

Deployed to: http://staging.quran.com:32810


Issue 10972 - aggregate postblit doesn't clean up in case of failure

https://issues.dlang.org/show_bug.cgi?id=10972

A further thing to take into account is that destructors can throw. If a field throws an exception during its cleanup, it should not interrupt the cleanup of other fields. Rather, the exceptions should be collected, then all thrown at once.
I did not file this, as there was no cleanup to begin with, so not a big. Does this pull take this into account?

The field destructors will be handled by scope(failure), so even if field3 copy and field2 destruction fail, field1 destruction will be invoked.
struct S {
    S1 field1;
    S2 field2;
    S3 field3;
    void __fieldPostblit() {
        this.field1.__postblit();
        scope(failure) this.field1.__dtor();   // [3] this line will be invoked
        this.field2.__postblit();
        scope(failure) this.field2.__dtor();   // [2] and if the destruction throws,
        this.field3.__postblit();    // [1] if the copy throws
        scope(failure) this.field3.__dtor();
    }
}

Auto-merge toggled on


Proposal: Trace validation roadmap

I'd like to propose some ideas for improving our raft implementation's quality assurance using trace validation. A draft document is prepared to outline several potential improvements to achieve this.
I'd appreciate your valuable feedback and comments helping us solidify this into a solid roadmap.
You can find the proposal document in https://docs.google.com/document/d/1oaubSgCXouT6qQ5tawup49G01loBKn4tWGMokB3ejLM/edit#heading=h.c5tbkh30ka1f.

cc @serathius @ahrtr @pav-kv @andreo @siyuanfoundation @MadhavJivrajani @zeu5 @felipecrv @lemmy

Related to the verification of linearizability, the CCF project validates traces of KV reads and writes against its client-centric consistency specification. This work should directly translate.


Android 13 Write External Permission Not Works.

Bug summary
In react native 0.71.2 application with react native permission 3.8.0 i have try to get the write external permission request, but it works up to android 12 as expected in android 13 always return the never ask again i want to download the pdf file from my app so any suggestion to fix this problem is appreciable.
Library version
3.8.0
Environment info
react-native - 0.71.2
react-native-permission -3.8.0

Steps to reproduce
in android 13 try to get external write permission using write external permission in the react native 0.71.2 using react-native-permissions 3.8.0
Reproducible sample code
Andoridmanifest:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" tools:replace="android:maxSdkVersion"/>

download component:
const permission = await request(PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE, {
                  title: "Storage Permission Required",
                  message: "This app needs access to your storage to download report",
                  buttonNeutral: 'Ask Me Later',
                  buttonNegative: 'Cancel',
                  buttonPositive: 'OK',
                });

First result on Google: https://stackoverflow.com/questions/73620790/android-13-how-to-request-write-external-storage


fix topn arg check is not compatible with legacy planner

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.81 seconds
load time: 488 seconds
storage size:<PHONE_NUMBER>8 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230119145855_clickbench_pr_84226.html


Change Developing Flow after version 1.0.0

Since we intend to do a production release version 1.0.0 it will bring a lot more restrictions from semver.
Make Changelogs, Correctness, Fixes, Migration guides. Is also a lot of work.
A way to deal with that it's used to do less versions. But currently the version is very tight to the deployment flow.
So we need a way to release and deploy SNAPSHOT, RC (release candidate) or M (Milestones) versions of the mediator.
So I'm saying we should improve or remove some automations and avoid to generation version for each deployment to the test environment.
You can see this ticket as a blocker for released after 1.0.0

Changes are been made, but not exactly like describe above.
I'm closing this


On the VAE model, kl_coeff is never applied in the loss function

🐛 Bug
The VAE model contained here takes an optional kl_coeff parameter that's supposed to be a scaling factor for the KL term of the variational loss. This might be useful to avoid the "posterior collapse phenomenon". However, while inspecting the codebase (i.e. here) I can see that the parameter is initialized, stored, but never used.
To Reproduce
Steps to reproduce the behavior:

Train a VAE
Set a custom value for the kl_coeff argument
Train again

Code sample
Code for achieving this can be taken from https://github.com/PyTorchLightning/pytorch-lightning-bolts/blob/master/tests/models/test_autoencoders.py#L13 but the behavior should be obvious from basic_vae_module.py
Expected behavior
The loss function calculation (https://github.com/PyTorchLightning/pytorch-lightning-bolts/blob/master/pl_bolts/models/autoencoders/basic_vae/basic_vae_module.py#L119) should account for kl_loss.
Environment

PyTorch Version (e.g., 1.0): 1.8 (nightly)
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, source): conda
Build command you used (if compiling from source): N/A
Python version: 3.8
CUDA/cuDNN version: N/A
GPU models and configuration: N/A
Any other relevant information: N/A

Additional context
Thanks for the amazing library/libraries! :)

@miccio-dk Thanks for reporting the issue! Good catch. kl_coeff is actually never used. Would you be interested in submitting a PR to fix this?

Absolutely! I suppose i just have to multiply it with kl in https://github.com/PyTorchLightning/pytorch-lightning-bolts/blob/master/pl_bolts/models/autoencoders/basic_vae/basic_vae_module.py#L131.
I'll also remove the kl_coeff argument from the basic autoencoder, where it was probably added by mistake. :)

@miccio-dk yes! these 2 things should be enough for the PR. Thanks!

@miccio-dk Sounds nice! Thanks :]

Aaaaand here it is!


Fix typo in daemon storage-driver docs

Signed-off-by: Thomas Swift<EMAIL_ADDRESS>

nice catch, thanks!
LGTM


rimage: add TOML preprocessing

TOML configuration files for rimage are composed of multiple logical blocks, and those blocks are repeated between multiple configuration files. We use the C preprocessor to merge those blocks, to substitude any parameter values and to perform condition checking.
Note, my Python is mostly copy-pasting, so please advise any improvements.

Why do we need a preprocessor to just combine files? Are the requirements listed somewhere?

Why isn't rimage simply extended to read multiple configuration files? That would really be the simplest solution.

Assuming pre-processing is needed (as opposed to just combining files), why use a preprocessor literally from the 70s? There's a gazillion of more modern templating solutions in every language.

I'm sorry to say this but this sort of pre-processing or templating belongs to CMake, not sign.py[*]. Pretty much every build system is organized like this: a Make-like tool at the top invokes compilers and other tools that produce some output files from some input files. This is complicated and time-consuming enough with a single level but this PR adds another layer of file creation and indirection hidden from the top level CMake. This will make troubleshooting build issues harder.

[*] I'm sorry because who wants to write CMake code.

Well, rimage is called directly from .py.

That additional layer of indirection/abstraction is unfortunate but it serves a specific purpose: rimage is not the only signing tool.

AFAICS west sign doesn't use cmake ATM at all, does it?

I hope not but west can invoke cmake sometimes in some contexts; the most obvious example is west build which can obviously invoke cmake (which can run west list...  sigh)

(1) we want conditional module inclusion, based on Kconfig options, (2) we want to define new and to re-use existing macros from header files, (3) we want to remove the hard-coded module counter and to count modules dynamically instead.

All these look like very simple jobs for Python or any vaguely modern and popular scripting language. Our Kconfig implementation is entirely in Python, as are west, sign.py and most of the Zephyr build system. Python also has a TOML library.

See above - we're programming in a language from the 70s.

Python is not from the 70s, neither is CMake and TOML is 10 years old.

I don't see why adding more tooling instead of continuing to use what we already use is better.

This PR is adding new tooling; it's adding the C preprocessor in a place where it wasn't at all. Invoking the C preprocessor directly is very rare, using it to preprocess anything else than C/C++ or assembly is even more rare. This PR is an unusual and strange experiment. I suspect it's down to "let's use the only tool we know"

@marc-hb have I answered your questions? Also see https://github.com/thesofproject/sof/pull/8490 for SOF side motivation

All these issues are hopefully easy to address:

After more thought, it may not be that easy.

Candidate replacement:

#66420
https://github.com/thesofproject/sof/pull/8602

Both are required for this to work but they can be merged in any order.

@lyakh close?


Property Accessors

Some languages have syntax for automating getters and setters for properties. This allows for getter and setter functions to be automatically run just from regular property access. (For example, "object.variable" would call a "object\get_variable!" under the hood). You can let these getters and setters be automatically generated for you (so they work the same as just modifying the variable itself), but you can override them with your own later if you need additional logic for the getters and setters.
You can read about this feature in...
C#:  https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/properties
Kotlin: https://kotlinlang.org/docs/properties.html
I was wondering if it was possible to implement this in Yuescript. From what I was reading, it's possible through __newindex in base lua. https://stackoverflow.com/questions/10578935/lua-getters-and-setters
I'm not sure what the syntax would be, nor the actual implementation details, but if possible it would be a nice feature.

I implemented this myself, and due to the slight performance overhead I no longer think that this should be a built-in feature. I am instead favoring the idea of being able to set a default mixin so that you can override class behavior with whatever you want.


Privilege escalation

It's currently possible to update your own user data via PUT requests to api/users/me. The only requirement is that you have the Contributor role and be signed in. Once you meet those requirements you can PUT { "role": "a-new-role-id" } and give yourself whichever role you would like.
Mitigations
We don't currently have any need for users to be able to update their role, so we should prevent that entirely.
Also, do we need to create the api/users/me route at all? It might be simpler if we just used the api/users/{id} route and forbade access if the user id did not match the current user's id.

Alternatively we could take the opposite approach: rather than restricting how a user can modify their account, we could remove all existing permissions and build a route that allows them to a) modify only their user data and b) only make specific modifications.
I don't really know strapi well enough, though, so it's unclear to me if there's a canonical way to handle this (though we can't be the first users that want to!)

The users-permissions plugin does provide the PUT /users/{id} endpoint, but the PUT /users/me endpoint is a custom one that we've created. It's up to us how it behaves.
I think the simplest approach is to allow everyone to make specific changes to their own user record, but forbid all changes to your own role. Since it still needs to be possible to change roles, we can have an Administrator role that grants you access to PUT /users/{id}. That way even Administrators have to use PUT /users/{id} if they want to change their own role.
The long and short of it is your role is so important that we should only have one way (one endpoint) to change it and be very careful about which role(s) are allowed to use that endpoint.


Secret Manager does not work with @ConfigMapping

Having an application.properties file with:
%prod.my.username=${sm//MY_USERNAME}

Injecting it with @ConfigProperty it works:
@ApplicationScoped
public class MyHeadersFactory implements ClientHeadersFactory {

    @ConfigProperty(name = "my.username")
    Optional<String> username;

    ..

but using a @ConfigMapping like:
@ConfigMapping(prefix = "my")
public interface MyProperties {

    Optional<String> username();
}

@ApplicationScoped
public class MyHeadersFactory implements ClientHeadersFactory {

    @Inject
    MyProperties myProperties;

   ..

will cause the application not to be started in GCP environment.
The error is somewhat vague on GCP...:
[pid1-app] Exit 1 app (pid 12): /bin/sh -c exec serve /workspace/build/my-1.0.0-SNAPSHOT-runner.jar [session:HVT03PV]
[pid1] A process stopped unexpectedly: <nil> [session:HVT03PV]

Could it be that with @ConfigMapping it tries to "read" the properties to early?
And with @ConfigProperty is more of lazy load?
I'm wondering as I used Spring GCP before and for Secret Manager they have a special bootstrap.properties files and bootstrap property source: https://googlecloudplatform.github.io/spring-cloud-gcp/3.3.0/reference/html/index.html#secret-manager-property-source
For now I will just use @ConfigProperty(name = "my.username") as that works.

Hi,
Thanks for reporting, can you provide a small reproducer project ?

And also confirm it work on dev mode and only fail on GCP.
By the way, how do you launch it on GCP ? Which service is use to run it ?

Hi,
It fails on Google AppEngine Standard.
The application is uploaded using glcoud app deploy so the actual build is done using Google Cloud Build.
Locally I have no Google Secret Manager so not sure if I can try this in dev mode.

OK, a small reproducer would be great.

OK will do that after holidays... I've no access to dev laptop :-D

@marceloverdijk did you had the time to creat a small reproducer ?

I'm sorry Loic, I never did that. Don't have project currently that I can use for this.
Probably better to close this issue, and re-open later if needed.

OK, thanks for the feedback


Possible update to nano-bash network for external builders

Pull in the external builders from an assumed location in the binary package (as per https://github.com/hyperledger/fabric/pull/2990)
Signed-off-by: Matthew B White<EMAIL_ADDRESS>

This was done by @lehors :-)


kinect2_calibration: Duration of Calibration Process

Hi folks,
I very much hope that I didn't overlook any familiar topic so far, but I have a question referring the Kinect-One calibration using the iai_kinect2 package in combination with libfreenect2.
After I spent several hours in thinking about how to properly position the chessboard pattern in the field of view of the camera and googling around, I already passed four calibration sets without receiving any satisfying result in the way of a proper RGB-D image (following the README.md primarily). So far the calibration sets contained somewhat from 40 to 140 frames per set until I came across @wiedemeyer's post in issue #311 where he explains his method of calibration (one of the last posts).
After trying this out and getting up to 440 frames I had to actually confine my work on just taking the images and calibrate later on due to time issues (because I noticed in the past that calibrating the datas on my MacBook Pro which runs Ubuntu 16.04 LTS can easily take half an hour if there are somewhat around 100 frames to process in each step (color, ir and sync)). So I started the color images' calibration process on the next day.
Unfortunatly I had to notice that even 24 hours later the calibration process haven't been terminated.
Has anybody of you guys noticed the same kind of problem with your calibration method?
In fact I had to calibrate 2600 images in total (sum of color, ir and sync images) which (in addition of the 1300 .txt-files containing the detected points) makes approximately 900 MB of data to process while calibrating.
I know that I use Ubuntu 16.04 LTS with ROS Kinetic which should be flawlessly working with libfreenect2 but is not mentioned as compatible with iai_kinect2. Does somebody know if it is not mentioned because it is in fact not working with 16.04 and Kinetic or just because it isn't tested to be so? I'm struggling with asking this question because I made everything to be installed (ROS Kinetic, libfreenect2 and iai_kinect2) without any warning or error occurring. Si far this seemed to work fine for me until I now got the above mentioned problem.
Can anybody help me or has any further questions which can lead to a solution?
Best regards.
EDIT: Maybe it is not that essential but I have to complement that the calibration process is running all the way on around 40% cpu usage without throwing any exception or error or warning or anything. It just terminates in 24 hours if i cancel the calculation with ctrl+C.

I had the similar problem but indeed I had only 250 images per calibration set. I too noticed that it took so long to finish the calibration with 250 images per set (intrinsic calibration  - appr. 2.5 Hrs, extrensic calibration - more than 12 Hrs). So I guess you need more than 24 Hrs for calibrating the extrensic parameter especially sync calibration with 440 image per set.

Is this the way to do it, surely? With approximately 120 frames, my laptop took about half an hour for computing intrinsics as well as extrinsics (for each step, meaning color, ir and sync (therefore about 1,5h in total)). This let's me assume that there is no linear relation between the number of input-images and the time of termination. If my laptop really needs 24 hours for calculating 250 frames, I rather don't have a guess at the termination time with 400 frames...
Did you, @srinimd2005 , noticed a cpu usage of not more than 40%, too? Have you achieved a more cpu-effective way to use the calibration algorithm? Regards.

I too assume the same that there is no linear relation between number of images and the calibration process as it is increasing exponentially. And w.r.t  to my CPU usage, I am using a Intel Core i7 processor 3 gen and I found that one of my CPU core (out of 4) was consuming 50% all the time during the process. I have not explored other methods of calibration as the result what I achieved was satisfactory. I guess the processing time could be reduced if we could somehow use multiple threads for this process because from the CPU usage only one of the CPU core was computing while the others are idle.

The calibration is done by OpenCV and is single threaded. There are termination criteria parameters set in the code of kinect2_calibration and you could lower them if needed. Also too many images may not increase calibration results much but on the other hand they increase computation time a lot. I think around 100 to 150 images per set should be sufficient.

can you guys detect checkerboard on IR image successfully?

@leoujz  If you are not seeing the checkerboard on IR at all, then maybe see https://github.com/code-iai/iai_kinect2/issues/80#issuecomment-94461306 "some inks might be transparent to IR. Are you using an ink printer? Could you try it on a laser printer?"

Thank you very much, a ink printer is used, now I have tried laser printer
and pattern can be detected. Thank you again.
2017-03-08 16:03 GMT+08:00 JimTheKiwi<EMAIL_ADDRESS>
@leoujz https://github.com/leoujz If you are not seeing the
checkerboard on IR at all, then maybe see #80 (comment)
https://github.com/code-iai/iai_kinect2/issues/80#issuecomment-94461306
"some inks might be transparent to IR. Are you using an ink printer? Could
you try it on a laser printer?"
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/code-iai/iai_kinect2/issues/348#issuecomment-284973658,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFTsy1mLy_GQJStKr2tAcu9ep3CuWsUEks5rjmDggaJpZM4LW5K5
.


error when trying to delete a resource group

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az group delete
Errors:
az: error: unrecognized arguments: --ues

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az group delete --name {} --no-wait --ues

Expected Behavior
Environment Summary
Linux-4.15.0-1077-azure-x86_64-with-debian-stretch-sid
Python 3.6.5
Installer: DEB

azure-cli 2.4.0 *

Additional Context

add to S170

add to S171

@dsotomstecs Hi, there is no --ues parameter in command az group delete. You want to enter the --yes parameter, right?

Because there is no reply to this question for a long time, I will close it temporarily. If you have any questions, please feel free to let us know.


Remove date time internals

Replaced Internal Representation of Current Time with JD instead of DateTime to allow for AutoDiff Capabilities

Very nice @jmurphy6895 !
To fix tests, we need to add ForwardDiff UUID in [extra] section of Project.toml and mention it in the target vector in the section [test].

Hi @jmurphy6895 !
I was testing here and I am seeing a lot of type instabilities in the interpolations functions. See the Cthulhu.jl output of the current version:

against the one in this PR:

This behavior is caused probably due to something in the new definition of the types.

I could fix it! It was a type definition in the structure.


Uploads are disabled.

Go into /src or /data/pix and try to upload and get "Uploads are disabled" error.

Is this project dead and forgotten?

Even thought this is a public repository, you are not the owner. Therefore, you cannot make changes directly. I'd recommend learning how to fork and make a pull request. Here's a tutorial https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/

Even though this is a public repository, you are not the owner. Therefore, you cannot make changes directly. We wouldn't want random people changing recipes without permission. Of course uploads are disabled!
I'd recommend learning how to fork and make a pull request. Here's a tutorial https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/

No, I'm not the owner. But the owner literally said in his video to come here and submit recipes by sticking them in the appropriate folders.
https://www.youtube.com/watch?v=ykNEkiYr0QM
He also stated this was all in an effort to de-bloat.
What you are suggesting is the opposite of de-bloating.

The only way to submit recipes is with a pull request as @tfasano1 mentioned.
In order to do that you have to fork this repo, make changes to your fork, and submit a pull request. The article that @tfasano1 provided looks quite good and is exactly what you need.
If you don't want to use the command line tools mentioned in that article, you can also make changes to your fork on github directly...
Basically:

click Fork in the top right corner of this page
On your fork do whatever it is you tried to do originally, and it should work this time
When you are done with your changes come back to this repo, and click on "Pull Requests", and make a new pull request from your fork.


Process and train very fast but got bad effect

Hello, thanks for sharing work first!
I encountered some troubles when I wanted to reproduce the repo, here's the time consuming of each step:

script_vectorize_hd_maps: about 2100 seconds
script_transform_to_polylines: about 47 seconds
script_train_vectornet: about 5 seconds with RTX3090/20 seconds with cpu

And result shows that:
Epoch 49: 100%|█| 30/30 [00:05<00:00,  5.02it/s, loss=68.8, v_num=0, val/loss=70.60, val/tg_confidence_loss=473.0, val/tg_huber_loss=24.90, val/tf_huber_loss=8.820, val/tf_confidence_loss=120.0, e2e/min_ad
I used the src/configs/vectornet.yaml configuration.
Is there any mistakes I made?

Hey, thanks for the feedback
:)
Can you send me script logs? I am mostly interested in first one. Maybe most of the samples were removed by filter?
Data structure should be like this:
{config.global_path}/
   dataset/
     train/*
        ... csv files
     val/*
     test/*

When you run first and second script then internal and internal_graph with train/val/test will appear in the global directory. I'm sending you dataset sample which you can use to test. Just drop it in global path you defined and test it.
sample100.zip

Ok, I'll test it.
And here's the result I got yesterday with full argoverse dataset:

I noticed the file number and storage decreasing huge after script_transform_to_polylines, may help figure out the probolem

And here's the log generated by script_vectorize_hd_maps with the sample100.zip
test.log

Logs are okay. Seems like script_vectorize_hd_maps is working properly. Can you run full pipeline for sample and check if you lose some files? For sample100 in internal/train and internal_graph/train you should have 100 directories (just tested it). If you get less than 100 samples in internal_graph/train please send me the logs.
For full dataset both internal/train and internal_graph/train should have 205706 items. Also script_transform_to_polylines generates around 60GB of data (without visualizations).

I run the script_transform_to_polylines with sample100 and got 100 samples.
Then I run it with full dataset only get: test: 280, train:2818, val:438, you can check this log file: test.log

I am not able to reproduce the bug (I get everything generated). I see that you now have different number of files than last time. Try using only one process (n_processes = 1). That will run the program sequentially.

I use one process to run the scripts again, got the internal and internal_graph with right size/num.
Seems multiprocessing has some problem...
I'm training, if get any problem, I'll give feedback again, thanks for your help~

I am not able to reproduce the bug (I get everything generated). I see that you now have different number of files than last time. Try using only one process (n_processes = 1). That will run the program sequentially.

I use one process and get the right result. I also found that if you set n_processes >= 1, you will be spend more than 10 hours.
And anybody knows why I always get the "Error: "Trajectory length threshold is 25 but found length is 20!"" while I was runing the "/common_data_processing/script_vectorize_hd_maps.py"?
Thanks for your help.

Hey @THN0000. I disabled multiprocessing for polylines script. I will add it again if duration of that script becomes a problem.
Minimum trajectory length is equal to: trajectory_history_window_length + trajectory_min_history_window_length which is should be equal to 30 and 5 respectively by default in configs. You can update those parameters in config but for Argoverse benchmark it is convention to use trajectory_min_history_window_length=30.

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Closing it as the main issue is resolved. Multiprocessing for polylines is disabled for now.


TSIG verification via nsupdate failing "dns: bad signature"

Hello!
I have a simple DNS server inplace and i'm using this piece of code to implement tsig validation:
secret := conf.SystemConfig.TsigKey
logger.Info("USING THIS KEY "+secret)
pack, _ := r.Pack()
err = dns.TsigVerify(pack, secret, "", false)
if err != nil {
	logger.Error("TSIG VERIFICATION FAILED " + err.Error())
} else {
	logger.Info("TSIG VERIFICATION SUCCEDEED")
}

(https://github.com/ennetech/consul-dns/blob/master/pkg/dns/dns.go Line 70)
When sending this update (nsupdate -v update):
debug yes
key hmac-md5:mydomain.com. {{ conf.SystemConfig.TsigKey }}
server <IP_ADDRESS> 53535 // Local server
zone mydomain.com.
update add snd.mydomain.com. 300 A <IP_ADDRESS>
send

I receive an error "dns: bad signature", if i substitute "snd.mydomain.com." with "snd" the TSIG verification passes but the update request is wrong
I am generating the keys this way:
	// hmac-md5
	hmacmd5 := hmac.New(md5.New, []byte(generatingSecret))
	res += "hmac-md5: " + base64.StdEncoding.EncodeToString(hmacmd5.Sum(nil))
	// hmac-sha1
	hmacsha1 := hmac.New(sha1.New, []byte(generatingSecret))
	res += "hmac-sha1: " + base64.StdEncoding.EncodeToString(hmacsha1.Sum(nil))
	// hmac-sha256
	hmacsha256 := hmac.New(sha256.New, []byte(generatingSecret))
	res += "hmac-sha256: " + base64.StdEncoding.EncodeToString(hmacsha256.Sum(nil))
	// hmac-sha512
	hmacsha512 := hmac.New(sha512.New, []byte(generatingSecret))
	res += "hmac-sha512: " + base64.StdEncoding.EncodeToString(hmacsha512.Sum(nil))

I am experiencing the same error with letsencrypt certbot but not with hashicorp terraform
RFC2136+RFC2845

I receive an error "dns: bad signature", if i substitute "snd.mydomain.com." with "snd" the TSIG verification passes but the update request is wrong

This could be caused by pack, _ := r.Pack() not packing the message the exact same way nsupdate did. Comparing what goes over the wire (and possibly toggling Msg.Compress) might provide some further clues. (Short on time so forgive the brevity of this response.)

I can just paste the .String() output of the incoming messages (nsupdate, terraform)? Or there is a better way?

Your solution probably works most of the time but if this package and the client sending the update don't compress things the same way it'll fail.
There is a bit of an API gap here in that I don't think you can get the raw bytes of a message from the server in this package (which is geared toward using Server's TsigSecret map). It might be best to replace Server with something crafted specifically for your use-case.

Thank you for the reply but i don't think i will write a server implementation from scratch just for this, as long as terraform, certbot and nsupdate all work i can tollerate the 'hacked' solution


Fix/ingress watcher does not work

This is a PR that fixes https://github.com/paulfantom/homer-reloader/issues/1. It does so, by re-implementing the ingress-changes draining loop with a debouncing mechanism.
To correctly implement the debouncing mechanism, it was necessary to update Go to version 1.23. This version introduces automatic Timer cleanup (see: Go 1.23 Timer Cleanup), which is required for efficiently implementing the mechanism.
Further this PR also fixes a FromAsCasing warning in the Dockerfile

Awesome! Thanks for fixing this! 🙇


RT-thread qxwz application software package

RT-thread qxwz application software package

modify for suggestion

@yqiu2018  没什么问题了，可以合并


add retries to init hadoop fs commands

[x] adding retries to the hadoop fs initialization commands, to allow time for scenarios where HDFS is still starting up (in read-only mode, etc).

:+1: LGTM