Synology Camera update fails after some time, needing a restart

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
.60.1
Python release (python3 --version):
3.5.2
Component/platform:
camera/synology
Description of problem:
After a while of hass being up, the camera updates start to fail, throwing exceptions instead
Expected:
No exceptions and the camera working without a restart
Problem-relevant configuration.yaml entries and steps to reproduce:
- platform: synology
  url: http://nas.example.com:5000
  username: username
  password: password
  verify_ssl: False

Load up synology camera
let hass run
note the exceptions

Traceback (if applicable):
Traceback (most recent call last):
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 199, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 306, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.5/asyncio/futures.py", line 361, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/hass/lib/python3.5/site-packages/homeassistant/components/camera/synology.py", line 115, in update
    self._surveillance.update()
  File "/srv/hass/lib/python3.5/site-packages/synology/surveillance_station.py", line 17, in update
    cameras = self._api.camera_list()
  File "/srv/hass/lib/python3.5/site-packages/synology/api.py", line 96, in camera_list
    response = self._get_json(api['url'], payload)
  File "/srv/hass/lib/python3.5/site-packages/synology/api.py", line 192, in _get_json
    raise ValueError('Invalid or failed response', content)
ValueError: ('Invalid or failed response', {'error': {'code': 105}, 'success': False})

Additional info:

I've modified the Synology Surveillance component as such - and so far it seems to be working.  One side effect so far has been a much laggier camera view - when looking in the camera card, it often takes multiple seconds for it to update where as before it was only 1-2 I feel. No idea why that would be.
"""
Support for Synology Surveillance Station Cameras.

For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/camera.synology/
"""
import asyncio
import logging

import requests
import voluptuous as vol

from homeassistant.const import (
    CONF_NAME, CONF_USERNAME, CONF_PASSWORD,
    CONF_URL, CONF_WHITELIST, CONF_VERIFY_SSL, CONF_TIMEOUT)
from homeassistant.components.camera import (
    Camera, PLATFORM_SCHEMA)
from homeassistant.helpers.aiohttp_client import (
    async_aiohttp_proxy_web,
    async_get_clientsession)
import homeassistant.helpers.config_validation as cv

from synology.surveillance_station import SurveillanceStation

REQUIREMENTS = ['py-synology==0.1.5']

_LOGGER = logging.getLogger(__name__)

DEFAULT_NAME = 'Synology Camera'
DEFAULT_TIMEOUT = 5

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
    vol.Required(CONF_USERNAME): cv.string,
    vol.Required(CONF_PASSWORD): cv.string,
    vol.Required(CONF_URL): cv.string,
    vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
    vol.Optional(CONF_WHITELIST, default=[]): cv.ensure_list,
    vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean,
})

@asyncio.coroutine
def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
    """Set up a Synology IP Camera."""
    url = config.get(CONF_URL),
    username = config.get(CONF_USERNAME),
    password = config.get(CONF_PASSWORD),
    verify_ssl = config.get(CONF_VERIFY_SSL)
    timeout = config.get(CONF_TIMEOUT)

    try:
        surveillance = SurveillanceStation(
            url,
            username,
            password,
            verify_ssl=verify_ssl,
            timeout=timeout
        )
    except (requests.exceptions.RequestException, ValueError):
        _LOGGER.exception("Error when initializing SurveillanceStation")
        return False

    cameras = surveillance.get_all_cameras()

    # add cameras
    devices = []
    for camera in cameras:
        if not config.get(CONF_WHITELIST):
            device = SynologyCamera(surveillance, camera.camera_id, url, username, password, timeout, verify_ssl)
            devices.append(device)

    async_add_devices(devices)

class SynologyCamera(Camera):
    """An implementation of a Synology NAS based IP camera."""

    def __init__(self, surveillance, camera_id, url, username, password, timeout, verify_ssl):
        """Initialize a Synology Surveillance Station camera."""
        super().__init__()
        self._surveillance = surveillance
        self._camera_id = camera_id

        self._url = url
        self._username = username
        self._password = password
        self._timeout = timeout
        self._verify_ssl = verify_ssl
        self._camera = self._surveillance.get_camera(camera_id)
        self._motion_setting = self._surveillance.get_motion_setting(camera_id)
        self.is_streaming = self._camera.is_enabled

    def camera_image(self):
        """Return bytes of camera image."""
        return self._surveillance.get_camera_image(self._camera_id)

    @asyncio.coroutine
    def handle_async_mjpeg_stream(self, request):
        """Return a MJPEG stream image response directly from the camera."""
        streaming_url = self._camera.video_stream_url

        websession = async_get_clientsession(self.hass, self._verify_ssl)
        stream_coro = websession.get(streaming_url)

        yield from async_aiohttp_proxy_web(self.hass, request, stream_coro)

    @property
    def name(self):
        """Return the name of this device."""
        return self._camera.name

    @property
    def is_recording(self):
        """Return true if the device is recording."""
        return self._camera.is_recording

    def should_poll(self):
        """Update the recording state periodically."""
        return True

    def _internal_update(self):
        try:
            self._surveillance.update()
        except:
            _LOGGER.exception("Problem connecting to SurveillanceStation")
            try:
                surveillance = SurveillanceStation(
                    self._url,
                    self._username,
                    self._password,
                    verify_ssl=self._verify_ssl,
                    timeout=self._timeout
                )
                surveillance.update()
                self._surveillance = surveillance
            except (requests.exceptions.RequestException, ValueError):
                _LOGGER.exception("Error when initializing SurveillanceStation")

    @property
    def motion_detection_enabled(self):
        """Return the camera motion detection status."""
        return self._motion_setting.is_enabled

    def enable_motion_detection(self):
        """Enable motion detection in the camera."""
        self._surveillance.enable_motion_detection(self._camera_id)

    def disable_motion_detection(self):
        """Disable motion detection in camera."""
        self._surveillance.disable_motion_detection(self._camera_id)


Migrate manifestV2 to manifestV3

Chrome will not support manifestV2 since 2023.

[ ] No longer use chrome://favicon/[host_url] as the default icon, cause protocol chrome is invalid since mv3

[ ] Create context menu items after installed/update cause errors occur via mv3

see https://stackoverflow.com/a/64318706

[ ] Replace setInterval with chrome.alarms  API to update the badage text secondly. setInterval does not work via mv3

Published since v1.0.3 on Chrome

[ ] background.js does not work after re-enbled.

Published in Edge since v1.1.7

Statistics are inaccurate cause of service worker.

[ ] Need reconstruct the timer, keep statistics operation in the content script.

Published in Chrome since v1.2.4
Published in Edge since v1.2.5

Use content script to stat time

Re-published in v1.9.1 in Chrome & Edge


Setting CSS class of card via formula does not work

In order to reproduce this, it is enough to create a card and try setting bg-primary as its class via the normal input, then replace it with "bg-primary" via the formula input. The first approach succeeds, the second one doesn't.

Removing the quotation marks works (somewhat), but the formulae still produce weird results..

fixed in #2690 2690


Formatting

After working with the CSS thanks to issue #12, I noticed that the entire project uses 4 spaces, instead of the default 2. I also noticed you don't use a code formatter (seen from the ; missing sometimes in the CSS). Are you alright with it if I try to format the entire project? So default 2 spaces, classes sorted, and correct indentation in PHP.
I completely understand if you don't want it, just want to suggest it.

May I ask, do you use any IDE? Maybe I can help you out with also acquiring some formatting tools on your own 😁

Not yet. So far I've been fine with my editor and a few plugins. But I like to learn ;-)
One more thing. I'm cleaning up GitHub and want to push the whole project out of my personal profile into an organisation profile for better handling the project. Can I invite you as a member there?

I'm using VSCode myself, but with a few good extensions it is a pretty solid IDE.
And yes, I would love to! Great idea to put it into an organisation, would definitely make the management easier.

That's a good idea, will check that. I use VSCode Editor as well, so VSCode is the best choice ;-)
Invited to new repo. I will try to push all themes and plugins to this new repo in the next days.

By the way, do you want me to work in branches on this repo, and then make a pull request? Or do you prefer if I did it in a fork and then pull requested? Orrr would you rather that I just commit to the main branch now?

Think committing to main branch is fine? Whats your choice?

I think for small changes I'll commit to the main branch, and for big changes, like the formatting of the entire repo, I'll create a branch which can be removed later. Is that a good plan?

Perfect plan!

Can I have writing access then? :-P
GitHub Desktop just alerted me that I don't have writing access to the repo, while trying to create a fork.

Changed your rule to owner, should work now.

Thank you very mich for this! 👍

No problem! 😁


Call Oidc.UserManager.signinRedirect() when an access token is already expired bypasses an actual signin.

I have experienced that calling Oidc.UserManager.signinRedirect(), when an access token is already expired and the user does not sign out, results in IdentityServer4 returns a new access token / a new refresh token as if a user is signed in again without asking for the user to enter a username / password!! → this simply bypass the refresh token mechanism or username/password.
It does not seem to me like an expected behavior?

Yes, that's called single sign-on. The access token lifetime is unrelated to the SSO session lifetime.

thank you @brockallen for your quick reply.
So do I understand correctly that it does not make sense to use access token / refresh token in combination with SSO? I could not find information regarding SSO session lifetime in oidc-client nor in IdentityServer4. Is there a way to switch off SSO? or what would you suggest?

That behavior is intended because the authentication cookie for the IdentityServer4 is still valid.
Why exactly do you want the user to relogin?

Do you want that the session is shorter? Set the cookie lifetime in IdentityServer shorter.
Do you want the user to login nonetheless? Call signInRedirect({prompt="login"})

Thank you @crazyfx1 for your comment.
I find the SSO (aka OIDC Connect Session Management) simply overrules the idea of a refresh token as you can always get a new one. It works as-if it is a refresh token of a refresh token.. you know what I mean?
I have a web app and a mobile app. Both maintain their own access/refresh tokens. When an access and a refresh token expire, I would expect a user to relogin.

Shorten the authentication cookie lifetime might work for me because I then can make the cookie lifetime so short that it seems like the SSO is disabled all together.
signInRedirect({prompt="login"}) could also work but what's about dangling open sessions on the server side. Isn't there a security concern here?


Tags with space causes a crash in the build

We should catch this case and throw a useful error message.

Fixed.


TypeScript debug - spaces in path

Hello guys!
Some days ago I was trying to debug a Node.js application written in TypeScript from Visual Studio Code and I had some troubles; then I asked on stackoverflow and shared my code on GitHub.
This is the latest working version, you can download it and debug correctly on Visual Studio Code (by "debug correctly" I mean that you can add a breakpoint on a .ts file and then see the debugger stopping on it) but if you then rename the root folder by adding some spaces in the path (for example changing from "stackoverflow" to "stack overflow") the debugger stops working and when launching it I get the following error:
Cannot launch program 'c:\Users\brutus\Desktop\stack overflow\src\app.ts'; setting the 'outDir' attribute might help.
I think it's a bug but I'm not completely sure, can you confirm please?
Thank you very much, hope this helps! :smile:

@7brutus7 thanks for sharing the code. I've verified that the problem you are seeing is a duplicate of #3667 and that the March release will fix this.

@weinand I'm sorry for having opened an issue for an already known and fixed bug! Thanks!

@7brutus7 np, I'm glad that I got another test case for the fix ;-)


feat: migrating bigquerydatatransfer snippet

Migrating the snippet files from
https://github.com/googleapis/java-bigquerydatatransfer/tree/f0f22ce/samples/snippets.
Memo: Before this migration, the test was succeeding in java-bigquerydatatransfer repository: https://source.cloud.google.com/results/invocations/5dca9d6a-cd83-4c3c-8bc5-3e73fb64526b
Description
Fixes #
Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.
Checklist

[ ] I have followed Sample Format Guide
[ ] pom.xml parent set to latest shared-configuration
[ ] Appropriate changes to README are included in PR
[ ] These samples need a new API enabled in testing projects to pass (let us know which ones)
[ ] These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
[ ] Tests pass:   mvn clean verify required
[ ] Lint  passes: mvn -P lint checkstyle:check required
[ ] Static Analysis:  mvn -P lint clean compile pmd:cpd-check spotbugs:check advisory only
[ ] This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample
[ ] This sample adds a new Product API, and I updated the Blunderbuss issue/PR auto-assigner with the codeowners for this sample
[ ] Please merge this PR for me once it is approved

The tests failed:
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0 s <<< FAILURE! - in com.example.bigquerydatatransfer.DisableTransferConfigIT
[ERROR] com.example.bigquerydatatransfer.DisableTransferConfigIT  Time elapsed: 0 s  <<< FAILURE!
junit.framework.AssertionFailedError: Environment variable DTS_TRANSFER_CONFIG_NAME is required to perform these tests.
	at com.example.bigquerydatatransfer.DisableTransferConfigIT.requireEnvVar(DisableTransferConfigIT.java:46)
	at com.example.bigquerydatatransfer.DisableTransferConfigIT.<clinit>(DisableTransferConfigIT.java:42)
...

[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.004 s <<< FAILURE! - in com.example.bigquerydatatransfer.CreateAmazonS3TransferIT
[ERROR] com.example.bigquerydatatransfer.CreateAmazonS3TransferIT  Time elapsed: 0 s  <<< FAILURE!
junit.framework.AssertionFailedError: Environment variable AWS_BUCKET is required to perform these tests.
	at com.example.bigquerydatatransfer.CreateAmazonS3TransferIT.requireEnvVar(CreateAmazonS3TransferIT.java:68)
	at com.example.bigquerydatatransfer.CreateAmazonS3TransferIT.<clinit>(CreateAmazonS3TransferIT.java:64)

Looks like Quota issue
RESOURCE_EXHAUSTED: Quota exceeded for quota metric 'Other requests for Data Transfer Service' and limit 'Other requests for Data Transfer Service per minute per user' of service 'bigquerydatatransfer.googleapis.com' for consumer 'project_number:

Thank you for checking the error. Right, it seems so. "Java 8" and "Java 11" succeeded.

Requested quota increase for the metric. Should be reflected in a couple days.


Updating changes from head/master to my base/master

I am not sure this is what I wanted to do, I am simply trying to update a local fork of your repo into mine.

Did a rebase and merge


Zuul routing to blank url

I am trying to route requests to feign client, below is my zuul configuration.
zuul:
  routes:
    helloclient: /test/**

http://localhost:8765/test - POST with parameter name=test
i was getting 405 errordue to URL. missing URI, i think the below lines are causing the issue.
In RibbonRoutingFilter class
String uri = request.getRequestURI(); // -- is returning "/test"
		if (context.get("requestURI") != null) {  // -- is true as it is blank
			uri = (String) context.get("requestURI"); //-- resetting the uri to blank
		}

either i am missing some configuration so the context.get("requestURI") is blank or the above code is missing blank check.

did you not complete your report?

Sorry, yes i completed the report, let me know if i missed any configuration

Blank is allowed as a URI path, and I think that's the correct value in your case (you sent a request to /test and /test is the route prefix, which is stripped by default). I'm a bit confused about what you mean by "route requests to a feign client" since this is a gateway (serverside) feature. What actually happened when the backend request was sent, and why do you think that it's wrong (stack trace maybe)?
P.S. If you don't want the prefix to be stripped to have to say so in the route spec.

I think the use case that i am testing is a weird one, i am not sure if it is a valid one.
I have an application helloclient1 with url http://localhost:8886/test1
another application helloclient2 with url http://localhost:8886/test2
i am trying to set the routes as
zuul:
routes:
helloclient1: /test1/**
helloclient2: /test2/**
if i do this , /test1 and /test2 are replaced with blank.
i am not sure if i can do the below.
zuul:
routes:
helloclient1: /**
helloclient2: /**
BTW, i tested with lot of other use cases and all of them are working fine.

One more thing, if i use 1.0.0.RC2 and if i do not have eureka URL configuration with credentials, i am not getting any error and it was not able to find the helloclient1, even if i add the URL i do not see any change, may be i am missing something here, i need to do little more debugging here.
where as if i use 1.0.0-BUILD-SNAPSHOT , i am getting 401 error as it is by default trying to connect to eureka instance, after adding the credentials in the URL it is working fine.i am not sure why it is not happening for 1.0.0.RC2.

I'm not quite sure I follow (those 2 clients have the same host and port, are they 1 client). Try
zuul:
  routes:
    helloclient1:
      serviceId: helloclient
      path: /test1/**
      stripPrefix: false

Or replace the serviceId with url if you want the physical URL.

It worked after using stripPrefix option, Thanks for the help.


Shows You lost but word is correct

Seems to happen only on the last guess.

Sorry for the late notice but this has been fixed in the latest release!


Crashes are not appearing in Firebase Crashlytics

I am getting exactly same issue specified in the link :
https://github.com/firebase/quickstart-ios/issues/791#issuecomment-535601638
Can you please help to figure the above issue.
Description: Same description as of above link
In the beginning I wasn't getting any log about Crashlytics on Xcode. The reason was my old integration with Fabric. I had to remove the Fabric key that was in the plist and the key that was in the build fase run script. If I try to follow just the tutorial I was getting:
Mismatched configuration: Fabric entry found in app's Info.plist, but no API Key provided to the run script. If this app was set up in Fabric, or linked to Firebase, pass your API key to the run script as the first argument. If this app was onboarded via Firebase, remove the Fabric entry in your Info.plist
After that I could start getting logs about Crashlytics. But now I think I have the same bug, because the logs say that it's working. (The log is from an old version, but the result in the same with the Crashlytics version 3.14.0):
**[Crashlytics] Version 3.13.4 (143)
[Crashlytics] Running on iPhone9,3, 12.3.1 (16F203)
[Answers] Initialized
[Fabric] Initialized with kit versions: {
"com.twitter.answers.ios" = "1.4.1";
"com.twitter.crashlytics.ios" = "3.13.4";
"io.fabric.sdk.ios" = "1.10.2";
[Crashlytics:Crash:Reports] Packaged report with id '9e06ebd6aae240108cead10eafda56e1' for submission
[Crashlytics:Crash:Reports] Submitting report
[Crashlytics:Crash:Reports] Submitting async /var/mobile/Containers/Data/Application/744E4402-3A20-4D6C-9E8A-972F37050CBA/Library/Caches/com.crashlytics.data/APP_NAME/v3/prepared/9FDBC984-17B9-408A-84FE-77BF8EE7C5C6.multipartmime
[Crashlytics:Crash:Reports:Event] Sending event.
[Crashlytics:Crash:Reports] completed submission of /var/mobile/Containers/Data/Application/744E4402-3A20-4D6C-9E8A-972F37050CBA/Library/Caches/com.crashlytics.data/APP_NAME/v3/prepared/9FDBC984-17B9-408A-84FE-77BF8EE7C5C6.multipartmime
[Crashlytics:Crash] report submission successful**

Please file a support ticket as suggested in the linked issue.


hdiutil: create failed - Resource busy

I recently upgraded to Catalina and now see this failure when I run create-dmg:
Creating disk image...
....................................................................................................................................
hdiutil: create failed - Resource busy

I added --hdiutil-verbose and got some more info (I renamed the paths):
2020-06-17 16:59:59.814 copy-helper[2963:27976] About to copy "/path/to/My.app".
................................................................................................................2020-06-17 17:00:02.196 copy-helper[2963:27976] Copy finished.
....................

detachTempimageFile: synchronous unmount /dev/disk2s1 returned 49168
retrying unmount (#1)...
detachTempImageFile: synchronous retry (#1) unmount /Volumes/MyApp (/dev/disk2s1) returned 49168
retrying unmount (#2)...
detachTempImageFile: synchronous retry (#1) unmount /Volumes/MyApp (/dev/disk2s1) returned 49168
retrying unmount (#3)...
detachTempImageFile: synchronous retry (#1) unmount /Volumes/MyApp (/dev/disk2s1) returned 49168
Finishing…
2020-06-17 17:00:03.821 diskimages-helper[2947:27939] -processKernelRequest: flush received
2020-06-17 17:00:03.959 diskimages-helper[2947:27939] -processKernelRequest: flush received
2020-06-17 17:00:03.969 diskimages-helper[2947:27901] *useEffectiveIDs**** euid/egid changed to 343541,89939 (uid/gid is 343541,89939)
DIHLDiskImageCreate() returned 49168
hdiutil: create: returning 49168
hdiutil: create failed - Resource busy

Maybe you have an already mounted MyApp volume?

I made sure that I had no mounted volumes before running the script. I also tried restarting my computer a couple of times.
I ended up just delegating the dmg creation to another member of my team since it still works on his machine (he is still on Mojave).

I tried running the same command again today, but with success! I ended up with a working dmg, but the following was printed at the end:
hdiutil: internet-enable: verb not recognized
Of course, adding --no-internet-enable resolves that issue.


Create dotnet.yml with .NET 6.0 x86 build action

The CI error is probably caused by the fact that the sln still has AnyCPU. Will be fixed in the next PR.
Error: /home/runner/.dotnet/sdk/6.0.101/Current/SolutionFile/ImportAfter/Microsoft.NET.Sdk.Solution.targets(27,5): error NETSDK1134: Building a solution with a specific RuntimeIdentifier is not supported. If you would like to publish for a single RID, specifiy the RID at the individual project level instead. [/home/runner/work/FoxProDatabaseExtractor/FoxProDatabaseExtractor/FoxProDatabaseExtractor.sln]


Stop viewController from deallocating when change the front viewController through SWReveal.

Hi
I have a ChatLogVC as the main VC of the app, it has a SWRevealController as a side menu.
Currently, we don't cache the data of the inside of ChatLogVC, so, when changing the front VC and going back to it, it's being reallocated.
Please provide me with any available option to solve this problem, thank you.


Rewrite scheduler to avoid polling

Currently, the scheduler loops through all sockets and timers every 20 milliseconds to check if they're ready. This is probably not scalable. Even if the performance impact is not as bad as it seems, it just feels bad to waste resources like that. Maybe we can use select?

There are other issues with the current scheduler. For example, imagine the following scenario:

Task A calls a blocking function, such as PRUDPClient.connect.
To prevent the scheduler from being stalled (i.e. to allow other tasks to keep running) blocking functions keep calling scheduler.update until they are done.
Task B becomes ready while task A is still blocking, so it is executed within the scheduler.update call.
Task B calls another blocking function. The blocking function again keeps calling scheduler.update until it's done. However, this means that the scheduler.update call from task A will not return until task B is complete. Therefore, task A will be stuck until task B is complete, even if task A would otherwise be finished much earlier than task B.

I never noticed any issues with the current scheduler, but it's probably a good idea to think about this.

Asyncio looks pretty nice, but it seems like nothing can be done without asyncio anymore if a single function uses it.
I discovered fibers. This might be the way to go. The thread scheduler could create a fiber for each task internally. Fibers also seem much more lightweight than threads.

One question remains. The nice thing about the current implementation is that the prudp and websocket connections are managed in the background, so you can do whatever you like in your scripts without breaking the connection. To keep this, the scheduler has to run in a background thread, so I have to come up with a good way to interact with the background thread from the main thread. Also: #37.

Asyncio can be used by sync clients if you make a synchronous wrapper which manages its own event loop and blocks on the futures using it. For example, here is a synchronous wrapper for an asynchronous database client library: https://github.com/iomintz/syncpg/blob/master/syncpg.py
Other than that, it is true that async propagates all the way up to the entry point of the process. This is good though: it means that any code that does non-blocking IO must be itself non-blocking. It also ensures that you can see exactly what function calls you make that are blocking.
Personally I would love for this library to be converted to asyncio (or anyio which would allow people to use alternative frameworks in addition to asyncio such as trio and curio). Currently this library is the only thing keeping me back from using Quart or aiohttp.web in my web server. And async is just so much nicer for the things I eventually want to do with it, like managing simultaneous requests.
Big vouch for asyncio (or anyio).

I don't have much experience with asyncio, but I feel like it takes away too much freedom. It's perfect if you're writing a server, but clients are generally much more interactive. For example, I can do something like this directly in my python shell:

I don't think that would be possible anymore if I switched to asyncio. Everything would have to run in an event loop. I could use a synchronous wrapper like you suggested, but I would have to write such a wrapper around every single class that uses asyncio, which increases the code size and makes it hard to maintain.
I came across another client library that uses asyncio today: https://github.com/nats-io/nats.py. If you look at their examples you'll see await and async all over the place. Everything has to be written with asyncio. Basically, if I used asyncio I would force any scripts that use NintendoClients to use asyncio as well. I don't think I want that.
Maybe you can use something like this? https://stackoverflow.com/questions/22190403/how-could-i-use-requests-in-asyncio. It sounds like you can even run a synchronous function (like one from NintendoClients) asynchronously with asyncio.

Yeah you have to use await and async everywhere. No that is not a problem. I have used many asynchronous clients before and haven't really encountered these issues. If you want an asynchronous REPL you can just use python -m asyncio. If you don't have python 3.8 you can use aioconsole's included apython script. That will let you use await in the REPL.
As for running synchronous code in an thread executor, we really only let that slide if it's CPU bound work that releases the GIL. If it's IO bound work it is always better to just find a way to do it in the event loop.
As for CLI programs, while I agree that it would be a bit more of a pain for those, it's not too hard to define an amain() and run it using asyncio.run(). If user input is needed it can be obtained in a thread using run_in_executor as there's no asyncio-based input() function. For sys.stdin, aiofiles can be used, I think. sys.stdout doesn't block long enough to care about that usually.

@iomintz I'm probably going to use explicit concurrency. I don't like the way asyncio deals with sockets though. In my opinion it would make much more sense if I could write something like data = await sock.recv(size), but asyncio makes this really difficult. It does have functions like loop.sock_recv, but they don't work on SSL sockets and there's no loop.sock_recvfrom for UDP sockets.
I mostly ignored other async libraries earlier, but today I looked into them more thoroughly and I feel like curio has exactly what I need. What do you think?

Have you looked at this: https://gist.github.com/zapstar/a7035795483753f7b71a542559afa83f? It doesn't seem too bad to me. If you want to use alternative async frameworks, I'd suggest anyio, which lets your code run under asyncio, trio, and curio. If you must pick one, pick trio, but keep in mind this will greatly limit its compatibility as the trio ecosystem is not mature.

Yeah I saw the streams api, but it doesn't support UDP, which makes it kind of useless to me. I guess anyio could work, but its raw sockets seem to be hidden behind ugly SocketStream and UDPSocket classes. I might be able to use raw sockets with anyio._get_asynclib().Socket, but that's obviously not the intended way.
The nice thing about standard sockets is that you can easily switch between TCP and UDP sockets. If you want to switch to UDP you just have to pass a different socket type to socket.socket(). I don't get why all these async libraries want to place their own abstractions on top of sockets. I understand that TCP and UDP are different protocols, but that doesn't mean that you can't give them the same programming interface.

Completely out of my league here, but don't you have to handle retrying and such yourself with UDP? They are different protocols, and UDP is more "hands-on" no?

Yes, UDP does not guarantee that packets arrive in the correct order or that they arrive at all. Of course you have to keep that in mind if you use UDP, but that's no reason to give UDP and TCP incompatible programming interfaces.
Right now I can easily change which protocol is used by PRUDP internally (see prudp.py), because my UDPClient and TCPClient provide the same interface. I really want to keep that.
My UDPClient and TCPClient are exactly the same (see socket.py) because python's sockets support both UDP and TCP with the same interface. The only reason that I have separate UDPClient and TCPClient classes is that my UDPServer and TCPServer classes are also separated and I wanted to make them more similar.
The whole point of an abstraction is to make the code simple and reusable.  In my opinion asyncio and anyio provide bad abstractions. DatagramProtocol is just another layer between the socket and your application code, but it doesn't feel abstract at all. I'd even say that it is less abstract than the socket itself, because sockets provide the same interface for UDP and TCP applications, while asyncio's protocol classes only provide an interface for UDP or TCP.
At the same time, it doesn't even make the code simpler. For example, compare this:
import socket
import curio.io

async def main():
    s = socket.socket() # Create a python socket
    s = curio.io.Socket(s) # Create a curio socket
    await s.connect(("example.com", 80))
    await s.sendall(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
    print(await s.recv(8192))
    await s.close()
curio.run(main)

Against this:
class MyProtocol(asyncio.Protocol):
    def __init__(self):
        self.done = asyncio.Event()

    def connection_made(self, transport):
        self.transport = transport
        self.transport.write(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")

    def data_received(self, data):
        print(data)
        self.transport.close()
        self.done.set()

async def main():
    loop = asyncio.get_running_loop()
    transport, protocol = await loop.create_connection(MyProtocol, "example.com", 80)
    await protocol.done.wait()
asyncio.run(main())

This is way too much OOP for my taste and it's a pain to use. I have to create a whole new class just to use a socket, and receiving data is completely different from sending data.
In my view, asyncio's protocols only provide limitations instead of abstractions. Curio's Socket interface is much simpler, and also more general because it supports both TCP and UDP sockets.

However you do it I implore you to maintain compatibility with asyncio.

Just dumping my thoughts here. I'm convinced that async and await are a good thing. It's still difficult to decide which library I want to use though. I've been playing around with all of them, but they all have something that I don't like.

asyncio: ~I've read too many negative blog posts about asyncio.~ I don't really enjoy programming with asyncio for reasons that I explained above. Its documentation is also not always clear. For example, I'm still not sure what connection_made and connection_lost are supposed to mean in the UDP protocol. I'm slowing getting used to it though. It would just take some work to implement my own interface on top of asyncio.

curio: Curio is easy and intuitive. But: it does not protect against multiple tasks accessing the same socket concurrently. For example, if one task blocks at a recv call and another tasks closes the socket the first task is stuck forever. I'd have to do a lot of bookkeeping to prevent this and there a lots of edge cases. I guess I could move the responsibility to the user, i.e. say that you should be careful not to close a socket while another task is using it, but it's easy to get this wrong.

trio: Trio's low level socket api raises an exception if multiple tasks try to access a socket concurrently, which is really nice. However, its low level socket api does not support ssl sockets. If I want to use ssl I'm forced to use its SSLStream, which has a completely different interface for some reason (close is called aclose, recv is called receive_from, sendall is called send_all). Also, the only way to spawn a task in trio is with a nursery. I understand the reasoning behind this, but I'm not sure how I want to design my interfaces around this.

With trio you can have a global nursery as a sort of "escape-hatch" or "opt-out" of the requirement to only spawn tasks inside of a nursery. You'll still have to handle recreating the nursery when a task fails though. Can you use anyio? I believe it exposes a similar interface to trio, and would enable you to support asyncio (which I would really prefer as I'd probably use aiohttp.web or Quart for my web server rewrite, assuming I don't use Elixir that is). Any differences in interface between SSL sockets and what have you can probably be abstracted away.

Ok I will probably use anyio. I kind of forgot about anyio before, but I looked into it again today and I'm starting to like it. I'm also becoming convinced that nurseries / task groups are a good thing. The file descriptor leak that you discovered happens because the sockets aren't closed properly. I also wouldn't be surprised if the background tasks aren't canceled properly and keep running forever. Both problems should go away if I use task groups and make sure that sockets are wrapped in an async with statement.
I just need to be careful, because the next anyio release will have some backwards compatibility breaking changes (they are removing queues for example).

I have a working implementation that uses anyio now. I pushed it to the 'anyio' branch, but I will probably move it to master soon.
@iomintz You seem to have more experience with async programming than me. Do you want to take a look? To see if anything jumps out you?

I will take a look, however I don't have much experience with network programming. I have more experience using async libraries than writing them 😓

Thanks, I appreciate that. Don't worry about that. My only network programming experience comes from writing this library :wink:

I'm not finished looking it over yet, but from a cursory glance I can see two issues:

use of nintendo.common.http.request prevents connection reuse. The previous code would instantiate a client  as an instance variable and reuse it.
I'm not sure exactly how the cryptography libraries are used, but one has to be careful using them lest they block the event loop for too long. If an operation is performed that blocks for too long (say, 50ms) it should be run in a worker thread.

Why is a custom HTTP library used over something like asks?

Thanks :)

use of nintendo.common.http.request prevents connection reuse. The previous code would instantiate a client as an instance variable and reuse it.

I agree, connection reuse would be useful. When I tested nnas.py I noticed that setting up the TLS connection takes longer than the http request itself. The previous code didn't reuse the client either though. I did try to reuse connections at some point, but I removed that later because it had some issues (40fc0ca2).

I'm not sure exactly how the cryptography libraries are used, but one has to be careful using them lest they block the event loop for too long. If an operation is performed that blocks for too long (say, 50ms) it should be run in a worker thread.

I don't think cryptographic operations take that long. I just measured it and a single RSA encryption takes less than a millisecond.

Why is a custom HTTP library used over something like asks?

That's a good question. It feels a bit like reinventing the wheel. I want to make sure that my requests look exactly like the requests that are sent by the real Switch, to reduce the risk of being banned. I want to precisely control the order of the headers for example. I wanted to use requests, but I remember that there was no way to remove a certain header from the request, which made it impossible to mimic the real Switch accurately. That's why I wrote my own HTTP client. I didn't look into asks, but since I already had my own HTTP client anyway it wasn't a lot of work to port it to anyio.

Ok I moved it to master. The old (synchronous) implementation is now in the branch 'old'.

Good job Kinnay :shipit::tada:


feat: Add basic benchmarking

Description

Problem*

Resolves
Summary*
run cargo bench --bench iai
will result in something like this
iai_selected_tests_execution
  Instructions:              195685 (No change)
  L1 Accesses:               269771 (No change)
  L2 Accesses:                 1343 (No change)
  RAM Accesses:                 565 (No change)
  Estimated Cycles:          296261 (No change)

this is the aggregated result of all the selected tests
run cargo bench --bench criterion
for common criterion result
iai can be used for pr benchmark comparisons, i think i can do this once barretenberg isn't required to build & execute noir programs (currently it takes too long to install it in ci)

Additional Context

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

What is the output of this job btw? For example, what happens when I submit a PR and what happens when a PR regresses performance?

This has turned into just adding basic benchmarking, this just means that we will need to manually run cargo bench, before and after the PR to see if there is a performance regression which is okay


adding chef-rightscale-plugin

@cdwilhelm thoughts?

@rgeyer @gonzalez @adamalex thoughts?

I think this is cool.  I think we should put the rightscale ohai plugin into a gem and install the gem instead of using an attachment.  The reason I like that approach is mainly for the source control of the plugin, and then we can use it in other scripts too.

Can you describe the other use-cases? How it would install, and how it would add more source control then this methods?

we could create an ohai-plugin-cookbook, https://learn.chef.io/tutorials/build-an-ohai-plugin/, that seems like a lot of overkill for this, but it seems to be the "chef way", it just means all our cookbooks have to depend on this one.

@rshade I forgot the file was in github as a right_st server template.  I don't know other use cases.  so we can deal with that later if it comes up.


Remove diff* links added in #13776 and doc added in commit b1392be

The links added in #13776 are way too noisy for the contexts in which the diff syntax is applied (git commits, patches, etc.).
This commit…

removes those links
adds hopefully semantically correct styling for diffAdded, diffChanged, and diffRemoved, valid when using the default colorscheme and other colorschemes that don't explicitly override those highlight groups

For reference:

diff before the change introduced in #13776

diff after the change introduced in #13776

diff after this commit

This essentially adds new filetype-specific "default group names" (as in :h group-name); if this is an option, this is clearly a better alternative than relying on default links.
I think this is a good idea, since the current, programming language-oriented, default groups are a poor fit for many markup or data languages (Markdown, Vimdoc, LaTeX, JSON, ...)
Are you generally considering adding more of such groups (as need arises, and obviously not in this PR)?

Thanks, definitely an improvement. Can you please also document those new groups at :h group-name?

Are you generally considering adding more of such groups (as need arises, and obviously not in this PR)?

If need arises

(And you probably want to update the bundled colorschemes to account for this change.)

In default gvim (white bg), diffAdded is kind of hard to read:

What about DarkGreen for light bg?

limegreen is still too bright to my taste/eyes

I've…

added the three names to :help group-name,
added them to syntax/help.vim,
changed green to limegreen for diffAdded in GUI,
changed blue to dodgerblue for diffChanged in GUI.

Light background:

Dark background:

limegreen is darker and less saturated than green without being as dark as darkgreen, so it is more legible on white and less jarring on black.
dodgerblue is lighter than blue but not too bright so it works equally well on white and black.

limegreen is still too bright to my taste/eyes

Could you suggest a few alternatives from https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart ?

Interesting, in your screenshots limegreen is actually readable compared to mine. I guess font-size matters a lot here.

limegreen is still too bright to my taste/eyes

Could you suggest a few alternatives from https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart ?

SeaGreen
ForestGreen
WebGreen

The header diffOldFile and diffNewFile link to DiffFile which resolves to Type which uses  SeaGreen, so let's use this one for DiffAdded as well.

I have made a few minor changes, which turned out to be even more involved:

Renamed those new groups to Added, Changed and Removed (I initially went with capitalizing the diffAdded to DiffAdded, but since hightlighting groups are not case sensitive, it causes problems for linking the groups in the color schemes, so I had to make the name different and removed the diff prefix)
Changed the links in the default colorschemes
linked those new groups back in the diff syntax file.
capitalize the color names consistently

That is what I have temporarily queued, not sending out yet, would like to get an okay for that.:
https://github.com/chrisbra/vim/commit/0fea0abf5a2e4a9b91df9b1c0084d42e9a44f82d

On 2024-01-07, Christian Brabandt wrote:

I have made a few minor changes, which turned out to be even more involved:
• Renamed those new groups to Added, Changed and Removed (I initially went
with capitalizing the diffAdded to DiffAdded, but since hightlighting
groups are not case sensitive, it causes problems for linking the groups in
the color schemes, so I had to make the name different and removed the diff
prefix)
• Changed the links in the default colorschemes
• linked those new groups back in the diff syntax file.
• capitalize the color names consistently
That is what I have temporarily queued, not sending out yet, would like to get
an okay for that.:
https://github.com/chrisbra/vim/commit/0fea0abf5a2e4a9b91df9b1c0084d42e9a44f82d

I tried cloning your repo without pulling down everything,
$ clone --depth 3 --no-single-branch https://github.com/chrisbra/vim.git

but it didn't include that commit.  The latest relevant commit
appeared to be cdd869fd9, so I checked that out and built it.  The
result looks pretty good on an xterm, tested with the following.
$ git diff cdd869fd9^ cdd869fd9 | VIMRUNTIME=runtime src/vim -N -u NONE -i NONE --cmd 'set rtp=runtime' -c 'syntax on' -

Regards,
Gary

but it didn't include that commit.

You would have to checkout branch gh-13825, e.g.: https://github.com/chrisbra/vim/tree/gh-13825
Let me include it now, we can always further re-adjust

Default colors for Added/Changed/Removed are good enough for most of the bundled colorschemes.
The only outlier was murphy where green is the normal fg color and it gets in the way with Added, so I changed it to white:

Do we have a reliable, unequivocal way of pointing out to distro maintainers that some patches are fixes to existing features that don't work properly in the current major or minor version, so they don't rebase upon that without including those fixes ?
As we've seen with the colourscheme work that was pushed late into the vim 8.2 cycle, and all the fixes pushed early into the vim 9.0 cycle, or with this specific pull request, this is sorely needed.


Meta: Drop mini-css-extract-plugin

For https://github.com/refined-github/refined-github/issues/6000#issuecomment-1627449860
Blocked by https://github.com/webpack/webpack/issues/14893#issuecomment-1704046657
Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.
    at loadCssChunkData (refined-github.js:28644:21)

Closing until upstream issue is resolved


Rename directory from "test" to "testing"

https://github.com/alan2207/bulletproof-react/blob/master/docs/project-structure.md
The directory name was “test,” so I odified the sample directory name accordingly.
If "testing" is the appropriate name, I would like to update the documentation accordingly.

Hey @y-hsgw , that is a great catch! I prefer calling that folder testing just because it doesn't contain tests but utilities for tests, so you can just update the readme. At the end of the day, you can use whichever you want, it doesn't make a big difference :)

@alan2207
Thank you for your response! I understand now.
I updated the documentation in 567e4b2.


Integration Test - Release - 2019/02/01 12:05:50

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@adunndevster : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


fix(docs): add github action to update readme on dockerhub

Signed-off-by: Felipe Zipitria<EMAIL_ADDRESS>Adds action to push readme to docker hub.
Solves #18.

@franbuehler Can I have your review here also?


Enabling UAVCAN brakes mavlink shell

Bug Report
I am trying to use the CAN ESCs with the Pixracer flight controller. When I enable the UAVCAN through the QGroundControl I can not access the mavlink shell anymore.
I tried accessing the shell through the stable and daily built QGroundControl Mavlink Console and through the mavlink shell tool through the terminal. Also I tried the stable and master versions of the px4 firmware.

➤ Lorenz Meier commented:
UAVCAN consumes a lot of memory, so most likely that’s the issue. @dagar FYI

➤ dusan19 commented:
By the way, other parts of Mavlink work properly, in the QGroundControl I see the attitude feedback, I can load the parameters and the list of logs.

➤ Beat Küng commented:
SYS_FMU_TASK=0 is another option.

➤ Daniel Agar commented:
@dusan19 as a temporary workaround try disabling anything you don't strictly need. * SYS_COMPANION 0 * using vmount or camera trigger? * frsky telemetry? * logging from boot or arm? I'm looking into a few longer term solutions.


multiple path based routing from helm

Hi Team,
I have a query related to the helm, I want to create a common host based or Path based routing ingress for multiple services.
Example - Something like this -
spec:
rules:

host: service1.example.com
http:
paths:

backend:
service:
name: service1
port:
nameber: 80
path: /*
pathType: ImplementationSpecific

host: service2.example.com
http:
paths:

backend:
service:
name: service2
port:
number: 80
path: /service2/*
pathType: ImplementationSpecific
backend:
service:
name: service3
port:
number: 80
path: /service3/*
pathType: ImplementationSpecific
Is it possible using helm to set a common ingress and use it for multiple services? If possible, then can you please guide me?

If I'm understanding your question, you may find named templates useful for that. Define your common elements, then include them using {{ template "common_elements" .}} in your ingress template.


Brush size

It looks good.
Could you put the screenshot that displays preview indicator? I’d like to see that UI.
Thanks.

Do you want me to add it to the readme ?

Thanks
I don’t think Readme needs it. For now.
By the way, Could you use custom slider that is used on other control panel?

@muukii I did. The API did'nt really cover that use case so the result is a bit awkward. works fine tho.

@muukii I did. The API did'nt really cover that use case so the result is a bit awkward. works fine tho.

Thanks, and sorry about that Custom slider 's API is not good. (I forgot that)
I think that slider should be improved with another PR in the future.

@ntnmrndn thx!
LGTM!


ContentType property not available in Content Query Web Part Results

[ ] Question
[X] Bug
[ ] Enhancement

Authors
@spplante
Expected or Desired Behavior
If a Content Query instance is added to a site page and query configured, you can filter by content query name. If Content Type & Content Type Id are selected as view fields, you will only successfully get Content Type Id. Content Type should be available.
Observed Behavior
Leveraging {{ContentType.textValue}} doesn't work. {{ContentType.rawValue.ContentType}} does not work either. However, content type id is available
Steps to Reproduce
Add content query to a page
select site and list criteria
on page 3, select content type and content type id

@ervingayle the fields and their text/html/raw values are the ones returned by the API, I have no control on why the ContentType wouldn’t be populated.
I will try to take a look on my side to see if I can reproduce but I am pretty sure I won’t be able to help on this one.

@spplante thank you for your reply. I understand that we are limited by what the api provides. My confusion is that we are clearly able to filter by the same content type name and its values as a filter but are unable to reference a content type name value despite the field being listed as available and referencing it in handlebars. Maybe I am thinking about this wrong but wanted to ask as maybe its something that we can find a workaround for.....

@ervingayle I did reproduce the issue on my side and found the issue. The reason why the API does not return the ContentType is because the content type needs to be "expanded" because it represents another distinct query to get the ContentType information.
Your problem can be fixed by modifying the following line from the getListItemsByQuery method located in the ListService.ts file :
Change this :
let endpoint = Text.format("{0}/_api/web/lists(guid'{1}')/GetItems?$expand=FieldValuesAsText,FieldValuesAsHtml", webUrl, listId);

To this:
let endpoint = Text.format("{0}/_api/web/lists(guid'{1}')/GetItems?$expand=FieldValuesAsText,FieldValuesAsHtml,ContentType", webUrl, listId);

That way the rawValue should be populated with the following :

Rebuild the project with this fix and it should work 👍

Hey @ervingayle  it looks like @spplante came to the rescue (again!).
I'll mark this issue as closed, but if you need more help resolving this issue, feel free to open a new one.
Thanks @spplante for always taking the time to help!


Sync/2022.03.08  finalization merge from upstream

This should be the last to finally get back in sync with upstream repository

@BenceVirtonomy it is ready to be merged. I will update our submodule reference on our private repo after


Unable to install Bazzite (Gnome) on Legion Go

Describe the bug
I have tried different layout (automatic and manual), but every time I get the following error when performing the install: ostree container image deploy --sysroot=/mnt/sysimage --image=/run/install/repo/bazzite-deck-gnome-stable --transport=oci --no-signature-verification' exited with the code 1

The error is recorded in packaging.log as follows;
INFO:program:error: Performing deployment: Importing: Unencapsulating base: Layer sha256:f987457a2b394efbad41f8e1826ebddffdd7eb0ac8b1ac65a603ccd721b69134: Importing objects: archive header checksum mismatch
DEBUG:program:Return code: 1
INFO:anaconda.core.threads:Thread Failed: AnaTaskThread-DeployOSTreeTask-1<PHONE_NUMBER>25696)
ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-DeployOSTreeTask-1 has failed: Traceback (most recent call last):
  File "/usr/lib64/python3.12/site-packages/pyanaconda/core/threads.py", line 280, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task.py", line 94, in _thread_run_callback
    self._task_run_callback()
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task.py", line 107, in _task_run_callback
    self._set_result(self.run())
                     ^^^^^^^^^^
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py", line 621, in run
    safe_exec_with_redirect(
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py", line 54, in safe_exec_with_redirect
    raise PayloadInstallationError(
pyanaconda.modules.common.errors.installation.PayloadInstallationError: The command 'ostree container image deploy --sysroot=/mnt/sysimage --image=/run/install/repo/bazzite-deck-gnome-stable --transport=oci --no-signature-verification' exited with the code 1.

INFO:anaconda.core.threads:Thread Done: AnaTaskThread-DeployOSTreeTask-1<PHONE_NUMBER>25696)
WARNING:dasbus.server.handler:The call org.fedoraproject.Anaconda.Task.Finish has failed with an exception:
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/dasbus/server/handler.py", line 455, in _method_callback
    result = self._handle_call(
             ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/dasbus/server/handler.py", line 265, in _handle_call
    return handler(*parameters, **additional_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task_interface.py", line 114, in Finish
    self.implementation.finish()
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task.py", line 173, in finish
    thread_manager.raise_if_error(self._thread_name)
  File "/usr/lib64/python3.12/site-packages/pyanaconda/core/threads.py", line 171, in raise_if_error
    raise exc_info[1]
  File "/usr/lib64/python3.12/site-packages/pyanaconda/core/threads.py", line 280, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task.py", line 94, in _thread_run_callback
    self._task_run_callback()
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/common/task/task.py", line 107, in _task_run_callback
    self._set_result(self.run())
                     ^^^^^^^^^^
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py", line 621, in run
    safe_exec_with_redirect(
  File "/usr/lib64/python3.12/site-packages/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py", line 54, in safe_exec_with_redirect
    raise PayloadInstallationError(
pyanaconda.modules.common.errors.installation.PayloadInstallationError: The command 'ostree container image deploy --sysroot=/mnt/sysimage --image=/run/install/repo/bazzite-deck-gnome-stable --transport=oci --no-signature-verification' exited with the code 1.

I have also performed a redownload and media checks, but it seems even this fails

Any advice on how to progress?
What did you expect to happen?
Install succeeds
Output of rpm-ostree status
N/A

Hardware
Legion Go
Extra information or context
No response

Now trying with the KDE image and seems to take much longer at this step, ...

what did you do to fix this problem? I can't install KDE

The error pictured will happen if your EFI partition has data in it still. Just clear the drive and you should be able to install either image.

Изображенная ошибка произойдет, если в вашем разделе EFI все еще есть данные. Просто очистите диск, и вы сможете установить любой образ.

Fine.
I wanted to leave Windows to update the bios. I'll try to delete everything to hell

if so, why is the KDE image working and gnome not?
On Mon, Jul 1, 2024, 00:19 Vetaliibein @.***> wrote:

Изображенная ошибка произойдет, если в вашем разделе EFI все еще есть
данные. Просто очистите диск, и вы сможете установить любой образ.
Fine.
I wanted to leave Windows to update the bios. I'll try to delete
everything to hell
—
Reply to this email directly, view it on GitHub
https://github.com/ublue-os/bazzite/issues/1248#issuecomment-2198611588,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAOZSATIHQZ2F7UURNS6DZKAVZXAVCNFSM6AAAAABJVYIR4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGYYTCNJYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

nothing works for me.  uninstalled windows.    I’ve been sitting here for 12 hours

can you run the check install media to ensure the media is correct?
i am not convinced you are seeing the same issue as I did, as the same
Gnome install media also didnt work in a VM (it errors with a checksum
issue)
On Mon, Jul 1, 2024, 00:58 Vetaliibein @.***> wrote:

nothing works for me. uninstalled windows.  I’ve been sitting here for 12
hours
—
Reply to this email directly, view it on GitHub
https://github.com/ublue-os/bazzite/issues/1248#issuecomment-2198620932,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAOZW3OKOW7W5RGXY53K3ZKA2K3AVCNFSM6AAAAABJVYIR4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGYZDAOJTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

can you run the check install media to ensure the media is correct?
i am not convinced you are seeing the same issue as I did, as the same
Gnome install media also didnt work in a VM (it errors with a checksum
issue)
On Mon, Jul 1, 2024, 00:58 Vetaliibein @.***> wrote:

nothing works for me. uninstalled windows.  I’ve been sitting here for 12
hours
—
Reply to this email directly, view it on GitHub
https://github.com/ublue-os/bazzite/issues/1248#issuecomment-2198620932,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAOZW3OKOW7W5RGXY53K3ZKA2K3AVCNFSM6AAAAABJVYIR4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGYZDAOJTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes, I installed Gnome last night, and installed KDE and downloaded a new iso.  so it seems the iso itself was not working.  I just didn't want to believe it, thanks for the help

@KyleGospo
Another confirmation that the GNOME-based installation media is broken.

@KyleGospo @castrojo
Another confirmation that the GNOME-based installation media is broken. This does not seem to be Legion Go specific as this also happens in a VM.

I just installed the gnome version of bazite on my Legion Go two days ago, no issues. Please do not make assumptions.

Wanted to add that I did get the checksum mismatch error when selecting the "Test media and install Bazzite" option. However, when selecting the "Install Bazzite" option without the check (living life on the edge), install worked just fine.


KeyError when I run test.py with official model

INFO:root:# get hypotheses
Traceback (most recent call last):
File "H:/zhuzhikui/transformer/test.py", line 54, in
hypotheses = get_hypotheses(num_test_batches, num_test_samples, sess, y_hat, m.idx2token)
File "H:\zhuzhikui\transformer\utils.py", line 146, in get_hypotheses
hypotheses = postprocess(hypotheses, dict)
File "H:\zhuzhikui\transformer\utils.py", line 70, in postprocess
sent = "".join(idx2token[idx] for idx in h)
File "H:\zhuzhikui\transformer\utils.py", line 70, in
sent = "".join(idx2token[idx] for idx in h)
KeyError: 31929

Same problem.

same problem.
does it has solution?


Simple solution

may have sideeffects, I cannot compile/execute test. I tested in browser (tutorialspoint)

@MikkelHJuul, thanks! In order to move forward with this, can you please add an actual (integration) test obtaining the value from MySQL. There's many examples in the tests of the MySQL connector. Also the commit message needs updating, referencing the issue number. The fix itself seems reasonable to me.

@MikkelHJuul, any news on this one? Are you still planning to wrap this up? Thanks!

@MikkelHJuul, any news on this one? Are you still planning to wrap this up? Thanks!

@gunnarmorling I don't really have the time atm, and the Integration testing is a whole world of its own. I still haven't figured how to debug it, so I can create the proper structure of data and test it...

Ok, so I'm going to close this one for now, so to clean the slate a bit. Re integration testing, you could take a look at existing tests, it's not too involved really. You just need to have Docker installed, as the Maven build will run the databases using Docker. Also see CONTRIBUTING.md for the details. Drop by on the chat if you want to discuss anything. Thanks!


I cant run, ı get bellow error

scripts/create-label2id-file.sh
export titles and redirects from the dump (../enwiki-latest-pages-articles.json)
Error: Could not find or load main class it.cnr.isti.hpc.dexter.cli.label.ExportArticlesIdCLI
sort by id
indexing id -> label
Error: Could not find or load main class it.cnr.isti.hpc.dexter.cli.label.IndexIdToLabelCLI
sort by title
adding redirect
Error: Could not find or load main class it.cnr.isti.hpc.dexter.cli.label.AddRedirectIdCLI
mv: cannot stat 'dataen-model-20180201/tmp/tmp': No such file or directory
sort title and redirect
indexing label -> id
Error: Could not find or load main class it.cnr.isti.hpc.dexter.cli.label.IndexLabelToIdCLI

Hi, it seems that the script can't find the java classes, can you check that you have the jar in the right place?

hi, diego. Where can I download the jar file?

I generate "dexter-core-2.1.0-jar-with-dependencies.jar".
I run
java -Xmx8000m -Dlogat=1000 -Dlog=INFO -cp ~/Downloads/dexter-master/dexter-core/scripts/target/dexter-core-2.1.0-jar-with-dependencies.jar it.cnr.isti.hpc.dexter.cli.label.ExportArticlesIdCLI -input $WIKI_JSON_DUMP -output
I get this :
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method getInput() is undefined for the type ExportArticlesIdCLI
The method openOutput() is undefined for the type ExportArticlesIdCLI
ProgressLogger cannot be resolved to a type
ProgressLogger cannot be resolved to a type
RecordReader cannot be resolved to a type
Article cannot be resolved to a type
RecordReader cannot be resolved to a type
Article cannot be resolved to a type
JsonRecordParser cannot be resolved to a type
Article cannot be resolved to a type
Article cannot be resolved to a type
TypeFilter cannot be resolved to a variable
RecordParser cannot be resolved to a type
Article cannot be resolved to a type
The method closeOutput() is undefined for the type ExportArticlesIdCLI


Extension issue

Issue Type: Bug
Extension Name: cmake-tools
Extension Version: 1.5.3
OS Version: Windows_NT x64 6.1.7601
VSCode version: 1.53.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

There is no actionable information in this issue.  If you could please summarize the problem you are experiencing and include any relevant data we will be happy to investigate.  Thank you!


Dynamic Change/Range of Sensitivity (Suggestion)

Is there any possibilities for having sensitivity with dynamic value change, rather than using fixed value? Because sometimes the bars may not raised up at certain audio level, and sometimes it may catch too much audio when playing music with gained audio.
I guess having this feature will consume more CPU usage.

Technically it should be possible, but for now i'm quite busy with other projects so this will get moved to the backburner for now. If anyone tries to do it themselves, please create a pull request so we can add this to the skin :)


Move from master to main or similar for the default branch

The default for new projects on GitHub is a main branch, rather than a master branch. Though this seems like a simple enough difference, for some master can be a racially loaded term. In keeping with AirBnB's pledge to support inclusiveness would you be willing to migrate Mavericks from master to something else for the default branch?

Yes, this is something we want to do for all our open source projects, just haven't gotten around to it.
If anyone would like to contribute a PR to do so it would be much appreciated :)

I'm happy to open a PR. The changes don't seem too major - I don't see any mention of the branch in Travis/etc so it seems like you may need to tweak the config a bit on that end unless it just picks up the default from GitHub.


Feat: Add Kusion Resource URN and improve Kusion Resource ID validation

What would you like to be added?
Add Kusion Resource URN which includes project, stack and workspace information to make it a globally unique identifier.
Kusion Resource ID only needs to be unique inside a Spec.
Why is this needed?
Kusion Resource ID is input to Kusion Engine, whereas Kusion Resource URN is for Kusion resource manager.
They should be distinct concepts.

Hello, we tried to solve the issue.
This is what we did:
Added KusionResourceURN field to the Resource struct in pkg/domain/entity/resource.go. This new field will store the globally unique identifier that includes project, stack, and workspace information. The existing KusionResourceID field is kept as a locally unique identifier within a Spec.
You can review changes in this commit: https://github.com/jacks-sam1010/KusionStack-kusion-1355/commit/32d8b787629cc315d3a766b12528c85d70a9d74d.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

Latta AI seeks to solve problems in open source projects as part of its mission to support developers around the world. Learn more about our mission at https://latta.ai/ourmission . If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Keyboard YMDK GK 64

Hello,
I see that the keyboard YMDK GK 64 is not supported yet, but YM68 and SP64 also from YMDK are supported. Would it be complicated to add the support? This keyboard is sold a lot on Amazon, so I think it would be userful for a lot of persons, and the program that comes with it is not portable and is proprietary :(. If you don't have the resources to write the keyboard support, is there a guide to try to make it myself?
Thanks for your work, your software is amazing!

I tried to understand how the SP64 keyboard was done, but I will not be able to make it myself, can someone help please ?!


UserWarning: Deleting a node with label/attributes in suppress_unifurcations

Hi!
Thank you for DISCO - it has been great to work with this last month.
I'm running ca-disco and wondering if this treeswift warning message is anything to worry about:
/home/eric/.local/lib/python3.12/site-packages/treeswift/Tree.py:1187: UserWarning: Deleting a node with label/attributes in suppress_unifurcations: 0.899   warn("Deleting a node with label/attributes in suppress_unifurcations: %s" % tmp_s)
I get lots of it - and unsure what to make of it. I get a concatenated fasta at the end - so things run to completion - just wondering if there might be issues in the output I should be aware of / something I need to do in my input.
Thank you!
Eric

Hi Eric,
The explanation for this is that there are labels on the internal nodes of the input trees (in this case the value 0.899). If this is the case for a node that DISCO identifies as a duplication node, then when the trees are decomposed that labeled node will be converted into a internal node of degree two and subsequently deleted, losing the label. This does not affect the output of DISCO so there should be nothing to worry about!
Best,
James

I see!  Thank you for your quick reply and clear explanation.


GH-93: Add Splitter Processor

Resolves #93
This is a bit more sophisticated than the XD version in that the
type of splitter that's used depends on the properties:

DefaulMessageSplitter
ExpressionEvaluatingMessageSplitter
FileSplitter

One more note: let me know your position here about XPathMessageSplitter.
Right we can reach almost the same using #xpath() SpEL-function, but anyway just in case.
Thank you!

Pushed - I don't think it's worth adding more complication, given that we have #xpath.

Merged as https://github.com/spring-cloud/spring-cloud-stream-modules/commit/1ba3dbed558e8c2cac12523b1b0779e8a5177828


"Messages in deferral remain in our queues for 2 days" > It's 1 day, now.

"Messages in deferral remain in our queues for 2 days" > It's 1 day, now.

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

ID: 36cbee98-cf63-76b1-f685-b4f5911e6139
Version Independent ID: f2e334bc-0965-18a2-80b2-1c26591b01e0
Content: EOP features
Content Source: microsoft-365/security/office-365-security/eop-features.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

@hudish  OK. Done.
Thanks for the feedback.


[PROPOSAL] Automate merging of branch version bump PRs

What/Why
What are you proposing?
We should enable repo/admin-level automation to merging branch version bump PRs because maintainers aren't doing it.
What users have asked for this feature?
I requested it in the 2.14.0 retrospective.
I have repeatedly nagged other plugin maintainers to merge upstream dependencies so I can close mine.
I have received pushback from other plugin maintainers for the above nagging, blocking my efforts to actually close open PRs on repos that I maintain.
I'm not aware of anyone else asking for this, because by and large, other maintainers do not see this as a problem.  I do.
What problems are you trying to solve?
This, on a repo I maintain (source).

And this on an upstream dependency, blocking me from merging mine (source).

And this on another upstream dependency, blocking me from merging mine (source).

Organization-wide, opensearch-project has 204 unmerged version bump PRs.
These are literally mouse clicks away from being closed, but it takes upstream repos to lead the way.
What is the developer experience going to be?
For maintainers like me, the ability to merge PRs on their repo because upstream repositories have appropriate versioning.
For maintainers who don't care about these PRs, they won't have to lift a finger. How awesome is that?
More seriously, minor version bump PRs are assumed to have been cut as part of automation (Autosync) and multiple developers spent multiple hours dealing with the aftermath of a branch cut prior to a version bump in the 2.14 release.  That's at least an hour of my time wasted, multiplied by at least 4 other developers.
Are there any security considerations?
Patch version bumps are one of the biggest culprits here, because patch releases rarely happen.
However, when they do, it's usually for a very important issue that can't wait until the next release cycle.  In this case, having plugins wait for multiple upstream dependencies to merge their patch version bumps could slow our ability to react to these.
Are there any breaking changes to the API
Nope.
What is the user experience going to be?
Seeing plugin repositories that are well-maintained without a huge backlog of ignored PRs that discourage them from contributing.
Are there breaking changes to the User Experience?
Nope.
Why should it be built? Any reason not to?
It should be built because automation already exists to create the PRs; they can be auto-merged by a bot with appropriate powers to do so, when all dependencies are met.
It should be built to save the time and effort of maintainers to do the same.  In particular, GitHub action retries expire after 30 days, requiring a minute or so of effort to re-try a version bump PR after a month of upstream repos ignoring it... or similar effort to search and identify whether it's able to be merged. It's a distraction and complete waste of developer time.
What will it take to execute?
Whatever automation creates the PRs can be given the power to merge them if CI checks are gren.
Any remaining open questions?
Why don't we just require maintainers to do this?   Actually, we do, in Release Checklists, which specify merging these version bumps as part of the checklist.  There are 453 open Release Checklist issues and while 3.0.0 and 2.17.0 are a couple hundred of those, there are far more than that.

I notice that many of these do not have passing CI :(

for many that is because an upstream dependency hadn’t bumped when CI first ran.  And they don’t push/retry.

Auto-merge workflow that would automatically merge these PRs if the CI checks pass: https://github.com/opensearch-project/opensearch-build/blob/main/.github/workflows/automatic-merges.yml

Linking some approaches to rerun failing CIs.
https://github.com/opensearch-project/opensearch-build/issues/2706

Following are my thoughts on having the version increment PR's auto merged.

Coming from https://github.com/opensearch-project/opensearch-build/issues/4225 Automatically run a min distribution build when a version increment is merged into OpenSearch core.

Start by having a discussion on update the code freeze for core earlier than the plugins. This way the code freeze for core is honored and everything is ready before plugin can finalize the changes. This should eliminate the last minute breaking changes and the plugins can use the finalized core artifact for version increment CI's.

Today we have an automation that creates the version increment PR's. Its upto the plugin teams to take care of the CI's related to the version increment PR's and get the PR's merged, a release manager will follow up until the PR's are merged (This needs to be automated).

For the automation we can have a workflow to ensure the plugin dependencies are build first:

Create a dependency tree which has information about the plugin dependencies.
For every plugin core is the dependency, the previous step https://github.com/opensearch-project/opensearch-build/issues/4225 solves the problem.
Now get the version increment PR's of the default plugins like job-scheduler, common-utils, security and ensure they are auto-merged once the CI's are passed. These default plugins uses core as dependency which is solved in the previous step.
Next, for the other plugins identified in the dependency tree, obtain the version increment pull requests for the dependent plugins, auto-merge them, and start building the artifacts. Once the dependent plugins are clean, retry the plugin CI processes, ensure they pass, and then merge the version increment pull requests.

A rough workflow explaining the above points:
             Create Dependency Tree
                      ↓
              Core Dependency Solved (Issue 4225)
                      ↓
   ┌──────────────────────────────────────────┐
   ↓                                          ↓
Default Plugins                              Other Plugins
(Dependent only on core)                     (Dependent on core + upstream plugins)
   ↓                                          ↓
Fetch Version Increment PRs                Check Dependencies
   ↓                                          ↓
Run CI                                     Fetch Version Increment PRs for the Dependencies
   ↓                                          ↓
┌───────────────┐                          Ensure CI Passes and Build Dependencies (if needed)
↓               ↓                                  ↓
CI Passed    CI Failed                    ┌───────────────┐
   ↓               ↓                    ↓                 ↓
Auto-Merge PRs   Investigate & Fix     CI Passed       CI Failed
                    ↓                   ↓               ↓
                 Retry CI            Auto-Merge     Investigate & Fix → Retry CI → CI Passed → Auto-Merge PRs
                    ↓                   PRs             ↓
                 CI Passed              ↓               ↓
               Auto-Merge PRs       Once merged, build the artifacts
                                           ↓
                                  Re-run the (current) plugin CI's since Dependencies are merged and built
                                           ↓
                                      ┌───────────────┐
                                      ↓               ↓
                                    CI Passed       CI Failed
                                      ↓               ↓
                                  Auto-Merge       Investigate & Fix
                                      ↓               ↓
                                     End           Retry CI
                                                    ↓
                                                 CI Passed
                                                    ↓
                                             Auto-Merge PRs
                                                    ↓
                                                   End

Adding @gaiksaya @dblock @getsaurabh02 @dbwiddis @peterzhuamazon

Thanks @prudhvigodithi for this detailed graph.
The app here should become handle when trying to compose all the information and decision in one place, while access to all the repos at once with admin permissions.
We can use the input manifest to find the dependency tree between plugins, and decide on which plugins to take care before others. If a plugin is a dependency of the other, and it failed the checks, it should be hard block before moving to the next plugin.
We can then use metrics cluster and release dashboards to know where we are and even compose a dependency tree as a pre-requisite as the entry criteria.
Please let me know what you think.
Thanks.

All we need are passing CIs. Something like this https://github.com/opensearch-project/opensearch-migrations/pull/940#issuecomment-2338884798 from bot's perspective for hard merges (which we should not) or have any auto-merge workflow added like commented above.
For CIs that have expired run (I believe after 30 days) opening and closing the PR should help.

Thanks @gaiksaya and @peterzhuamazon for your inputs.
@gaiksaya for this All we need are passing CIs. we need the dependencies to be build 1st and for this we need the dependency version increment's to be merged before we can build the dependencies, once we have this yes I'm fine with the flow on re-trying and merging. What @peterzhuamazon added is also a good idea to leverage bot and metrics cluster if it can make the automation easy :).

Thanks Both.
I feel like github actions is suited for individual workflow but not really suited to combined actions among multiple repos. Especially when we already have so much plugins, it is not easy to update all the repos if there is any changes, or need a centralized call on what to proceed next.
Therefore I was raising the use of automation app combined with metrics cluster to do the hard work and easier to maintain over time.
Thanks.

I don't believe app would have the permission to re-run CIs.
@prudhvigodithi I agree we need dependent components to build first. But opening and closing the PR once a day till they get merged is one of the solution to re-run the CIs. If the dependent components are ready by then, great! Else try again tomorrow.

Thank you @dbwiddis  for the proposal.
Hi @peterzhuamazon , @gaiksaya , @prudhvigodithi , @getsaurabh02: How should we proceed with this forward? We did see with 2.18 version bump as well where until and unless upstream have taken care of version bump, dependency plugins are unable to do theirs.

Hi @peterzhuamazon Does it make sense to move this issue to https://github.com/opensearch-project/automation-app ?
We can start with merging PRs that have passing CIs and then iterate on the logic for re-running the CI's timely, etc.
WDYT?

Hi @peterzhuamazon Does it make sense to move this issue to https://github.com/opensearch-project/automation-app ? We can start with merging PRs that have passing CIs and then iterate on the logic for re-running the CI's timely, etc. WDYT?

I think it does make sense tho we need to understand the scale of the problem.
We might need to create an additional app just to handle all PR related activities.
Thanks.

Hi @peterzhuamazon Does it make sense to move this issue to https://github.com/opensearch-project/automation-app ? We can start with merging PRs that have passing CIs and then iterate on the logic for re-running the CI's timely, etc. WDYT?

I think it does make sense tho we need to understand the scale of the problem. We might need to create an additional app just to handle all PR related activities.
Thanks.

Thanks! We can use this issue as a problem statement for the same. Coming from https://github.com/opensearch-project/opensearch-build/issues/5171 auto-merging of the version bump PRs also applies for core repos. See this comment. Instead of implementing an individual solution for both core repos, I think having a generic one would be great.
Moving this issue to automation-app repo to discuss the in and out of scope requirements, approach, and implementation of the same.


Fix for the graphsage feedforward algorithm

I went into depth about the issue in #1789, so go there if you want to see more of the gory details, but I'll try to give a summary here.
Essentially, in the original graphsage paper, they first concatenate the previous layer's output with the aggregated feature vector and then applies a fully connected layer to the whole thing. However, in the current stellargraph implementation, weights are first applied to each vector and then the results are concatenated.
There are two main issues with this implementation. First, the network has about half as many parameters as it should, which leads to a lack of expressiveness. Secondly, and much more importantly, it means the first half of the output for each layer is ONLY based on the feature vector, and the second half is ONLY based on the aggregated vector, meaning that the network lacks the ability to gain any information about their interplay (at least within one layer).
I fixed this in a very simple way. First of all, I changed the output sizes of all the weights from outputdim/2 (plus some remainder terms) to just being outputdim. Next, I replaced the concatenation operation with a sum operation, which is the equivalent of saying that if A=[X,Y] and v = [x;y], then Av=[X,Y][x;y]=Xx+Yy, which is completely equivalent
I made no other changes, so it should still work with all other uses of the graphsage model
As a part of that, I had to change some of the tests that were related to how graphsage models were initialized (i.e., the ones that test the weight sizes for an initialized graphsage model)

Thanks for the pull request and thanks for waiting. This looks good, although I'm following up with the authors of this implementation to see if there's some historical reason for this approach.

Alright, sounds good! Thanks a lot


Nav Improvements

The hamburger button should be accessible while scrolling through, and the nav menu should close while scrolling, automatically.

@Vaibhav13kamat I can fix this, can you please assign me?

Hi @Lchris22, @Vaibhav13kamat  I would like to work upon this issue, could you please assign it to me.


Failing when compiling multi project solution

Bridge fails when compiling the second project.

Steps To Reproduce

Create one project named MyProject.Shared, keep the solution name as MyProject;
Create another project named MyProject.Bootstrapper;
Add the Bridge package to both;
Reference MyProject.Shared from MyProject.Bootstrapper;
Compile and BANG.

Expected Result
Both projects to compile.
Actual Result
The second project fails to compile (maybe it's related to the #3090).

Hi @danfma
Thanks for reporting this issue.
We're having some problems with our VS Mac support.
There are a few issues, and it's a big priority for us to get this working as soon as we can.

Thanks for your attention, @geoffreymcgill! I tried with VS and Rider and both have problems.


Update the UI compoenent of developer guide

Update the UI Component of developer guide

Coverage remained the same at 56.555% when pulling 959d32223a510f42ab8c8bee7f22a6c3a1446cd2 on zhicaizack:UIUpdate into dc3e2c87a227e6d6504c616ebb476e5907372f04 on CS2113-AY1819S1-T16-1:master.


evaluate issue with stereo on CM3

both cameras works well separately

raspicam can't work in stereo-mode
OpenCV via Video4Linux - works well - #3 test is OK


[Request] Making item names changeable in JSON in the lang folder

Hello, I like this mod a simple and compact. However in this mod can't change backpack names JSON in lang folder. I hope be that for localization

I'll definitely look into this, the way it currently handles backpack names makes it a bit tricky but doable.

Added in 20.1-0.12-v2+ & 20.2-0.15-v2+ :)


debugging the using console with COUT/printf

Hi
Im tying to use the COUT for debug the sequence. But It seems that I cant shows the cout once start the connection

by right I should see connected. but I cant sees it. Same goes for all cout after the connection. I tried static mutex lock  and conditional wait. they both not working http://www.cplusplus.com/reference/condition_variable/condition_variable/wait/
Can any 1 share some inside on how to debug ?

I am not sure.  My code does not have that problem.  Perhaps it is related to that error?

Quick solution. For socket io to work. you need to use nodejs to install a series of supporting library inorder for the cout to be shown properly. I found some prerequesit.txt on some other library. I follow that list and install it and now it can shown.


No icon for these channels

Guide
https://iptv-org.github.io/epg/guides/qa.xml
Description
No icon for these channels :

beIN Sports Premium 1
beIN Sports Premium 2
beIN Sports Premium 3

https://assets.bein.com/mena/sites/3/2015/06/beIN_SPORTS1_PREMIUM_Digital_Mono.png
https://assets.bein.com/mena/sites/3/2015/06/beIN_SPORTS2_PREMIUM_Digital_Mono.png
https://i.goalzz.com/?i=o%2Fh%2F1%2F894%2Fbein-sports-premium-1.png

Hello @Shawkiiz, The logo sources were updated as part of b81670d. Are the logos loading now?

Yes thx bro


Refactor IK and bullet code

Motivation and Context

Changelog

How Has This Been Tested

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

You should also merge with main first. I changed the testing a little bit, happy to also work on this PR to get the test running in CircleCI.


Upgrade Windows Testbed to 1.27

Add env file to support mutiple VC_URLs
Refacter podWaitForRunning to avoid windows BSOD issue caused by
ofport default value in PacketOut functions.

/test-windows-e2e

/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-latest-all

/test-e2e

/test-conformance

/test-conformance

/test-conformance

/test-conformance

/test-conformance

/test-e2e
/test-windows-containerd-e2e

/test-e2e
/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-windows-proxyall-e2e

/test-windows-containerd-e2e

/test-windows-proxyall-e2e

/test-windows-containerd-e2e

/test-windows-containerd-e2e

/test-windows-all

/test-e2e

/test-windows-containerd-conformance
/test-windows-containerd-networkpolicy

@tnqn The execution time for Windows conformance test doesn't change, while the execution time for networkpolicy is reduced by about half an hour. Since these windows CI jobs has already been verified, you don't need to trigger them again.

@tnqn The execution time for Windows conformance test doesn't change, while the execution time for networkpolicy is reduced by about half an hour. Since these windows CI jobs has already been verified, you don't need to trigger them again.

thanks for the information, great to see the improvement.

/skip-all


Investigate if we can get any benefits from LanguageService.provideInlayHints

We can, see https://github.com/rehearsal-js/rehearsal-js/issues/543


create category bug

After creating an event, the new event shows up under "All Events" but doesn't get mapped to the correct category label when you view it in the Events Dashboard (aka /events).
We should investigate this because I have a feeling it affects volunteers not being able to see the events too. Some theories I have about the root cause are the backend event category enum not categorizing events properly or the frontend event dashboard not filtering them correctly when it fetches the events from the backend.

Look into possible causes on frontend and/or backend and make the events properly map to the correct event type
If you need to make a backend PR to fix stuff on the backend, just go ahead and make the PR and tag me and Claude to get it reviewed alongside this
closes #140

What changes are included in this PR?
Fixed remaining filter issues regarding the type of event (status already worked). Issue was related to case differences between compared values, the type parameter passed into the function that filters events was lowercase, but the event object attributes were uppercase and slightly different. Fix involved minor changes to compared values and using .toLowerCase on event object attributes.
We also verified that the Create Event functionality does work as intended. As long as address fields are entered correctly the event will be created. However, given some invalid inputs (such as zipcode), the event will not be created and will also give no feedback to the user.
Instructions to test changes:
To test filter thoroughly, create a set of 6 events with each representing one of each type and status, and check all given filters. Ensure that all events tagged to a particular status are proper for their respective values.
[Food Running | Upcoming] [Food Running | Past]
[Dist | Upcoming] [ Distribution | Past]
[Other | Upcoming] [Other | Past]
Images (if applicable)
Distribution Filter Image

Food Running Filter Image

Looks good.
At this point I'm ok with not having an enum for these event types but let's see what alan has to say

Yeah enum would be nice but at this point functional is functional. We don't need to worry about it for now

This is good, just 1 comment.
@alanchangxyz I think it's fine to just merge these changes in and then pagination can be a new PR. Thoughts?

Separating it to new PR

Ok this is officially LGTM. Merging


jitsi meet sometimes breaks after switch

Does this manifest as "something went wrong" once two people connect?

Does this manifest as "something went wrong" once two people connect?

Yes. systemctl restart prosody 'ji*' usually fixes it until the next reboot / switch

Maybe adding some RestartIfChangeds somewhere would help?

cc @tilpner

Adding systemd.services.prosody.reloadIfChanged = true; to the configuration fixed the problem for me.
So I added a PR to fix this for everyone.


samples: boards: stm32: power_mgmt: twister issue

twister issue : remove standby_shutdown for
the board disco_l475_iot1

is no longer relevant


White Loading Screen Cannot Progress POI

Having this bug in POI where we get a white screen when trying to load into the mines. Save file attached.

Check your game files. Not this mod.

Verified for all 4 players and nothing was caught. One time we


Not loading

When i start my application i receive GET http://localhost:3000/node_modules/ngx-uploader/src/classes.js 404 (Not Found).
I imported import { NgUploaderModule } from 'ngx-uploader'; But it still runs error

Same here

In the source of the compiled files (*.js) look for the references to "classes" and change them to "classes/index".
There are 3:
/node_modules/ngx-uploader/index.js (line 10)
/node_modules/ngx-uploader/src/directives/ng-file-drop.js (line 16)
/node_modules/ngx-uploader/src/directives/ng-file-select.js (line 16)

Same here


CPG Relationship Types:DFG,EOG

Hello,
DFG,EOG detailed meaning，I don't understand these releationship type,can you help me to explain?
thank you very much.

Yes, documentation is still a bit scarce - we are just getting started with it (here), but details on the CPG are still missing.
DFG means Data Flow Graph and represents edges from definitions of a variable to usages of that variable.
EOG means Evaluation Order Graph and represents edges between (executable) AST nodes in the order they would be executed when running the code.


wine{Unstable,Staging}: 7.13 -> 7.15

Description of changes
Upstream updates.
Things done

Currently building and running nixpkgs-review...

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 186631 run on x86_64-linux 1

20 packages built:

grapejuice
lutris
lutris-free
lutris-unwrapped
pipelight
winbox
wine-staging (winePackages.stagingFull)
wine64Packages.staging
wine64Packages.stagingFull
wine64Packages.unstable
wine64Packages.unstableFull
winePackages.staging
winePackages.unstable
winePackages.unstableFull
wineWowPackages.staging
wineWowPackages.stagingFull
wineWowPackages.unstable
wineWowPackages.unstableFull
yabridge
yabridgectl

Link to currently reviewing PR:
https://github.com/NixOS/nixpkgs/pull/186631

20 packages built:
grapejuice lutris lutris-free lutris-unwrapped pipelight winbox wine-staging wine64Packages.staging wine64Packages.stagingFull wine64Packages.unstable wine64Packages.unstableFull winePackages.staging winePackages.unstable winePackages.unstableFull wineWowPackages.staging wineWowPackages.stagingFull wineWowPackages.unstable wineWowPackages.unstableFull yabridge yabridgectl

Also my apps are still running with this.