dashboard: add maintainers depending on the repro contents

We do get complaints about reporting filesystem bugs and not including the right mailing list: 1, 2. One more case: 3.
This might probably be fixed by proper report parsing, but what about some extra fallback mechanism like "if the reproducer mentions syz_mount_image$ntfs, add the ntfs subsystem to the mailing lists".
Something like that will definitely be included in the bugs-into-subsystem classification code, but that is still far from the finish. We don't have to wait and can do some simple implementation right now, e.g. add one more namespace config field for dashboard, like
CustomMailingLists map[string]func(*Bug)bool {
<EMAIL_ADDRESS>func(bug *Bug) bool {
        // TODO: look at the syz repro and see if it contains the necessary call.
   },
   // some other typical cases
}

@dvyukov, what do you think?

Finding the right file is also important for subsystem classification.
We don't always have a repro and there seems to be a common pattern, at least for fs/ and net/ crashes.
Namely, the stack contains some more concrete/deeper files after more common ones, e.g.:
"fs/foo/.c" calls back into "fs/.c"
or similarly if "net/ipv4/netfilter/.c" calls back into "net/core/.c" (in this case it's unfortunately "net/core" instead of just "net", which would make it more uniform), it's more likely a netfilter bug.
I am sure there are similar patterns for drivers, e.g. if "drivers/usb/serial/upd78f0730.c" is calling into generic USB code.
I think there should be a way to detect this pattern in the stack dumps and point to the more concrete code.
This would work w/o reproducers and help with subsystem detection as well.

Here another similar one:
RIP: 0010:kernel_accept+0x22d/0x350 net/socket.c:3487
tipc_topsrv_accept+0x197/0x280 net/tipc/topsrv.c:460
process_one_work+0x991/0x1610 kernel/workqueue.c:2289

we attributed it to net/socket.c, but it's actually related to net/tipc/topsrv.c
https://groups.google.com/g/syzkaller-bugs/c/pdr1QzQJUvw/m/4Ohx-rZoBAAJ

What's the ETA on fixing this for mounted filesystems?  syzbot is still spamming the generic filesystem development list (linux-fsdevel) with bugs for individual filesystems.
Please just handle syz_mount_image$* for now, as that should be trivial to do.  Generalizing it for other subsystems can be done later.

syzbot is still spamming the generic filesystem development list (linux-fsdevel) with bugs for individual filesystems.

In this particular case, should the bot send the emails to both linux-fsdevel and the individual filesystem lists, or to the lists of individual filesystems only (i.e. including fsdevel neither in To nor in Cc)?

I recommend omitting linux-fsdevel, and just sending it to the individual filesystem list.

Al prefers that linux-fsdevel stay in the recipients: https://lore.kernel.org/r/Y5ZDjuSNuSLJd8Mn@ZenIV
So to start out, please just add the appropriate filesystem list to recipients.
Mentioning the filesystem type being fuzzed in the actual bug report email (ideally, the title) would be extremely helpful as well.

syzbot is still spamming the generic filesystem development list (linux-fsdevel) with bugs for individual filesystems.

In this particular case, should the bot send the emails to both linux-fsdevel and the individual filesystem lists, or to the lists of individual filesystems only (i.e. including fsdevel neither in To nor in Cc)?

I think it should be the union of the get_maintainers query of the stack trace and get_maintainers of the repro-matched subsystem. Although this could also be an option.
I think to be able to amend the title, we'd need something like:
"<regex>" : ["<tag>", "<subsys>", <keep-trace-maintainers>]

Example:
"syz_mount_image$ntfs3" : ["ntfs3, "fs/ntfs3", False]

In this case, it'd not keep the maintainers deduced from the stack trace, and only send to ntfs3 maintainers. The title would be amended to something like "[ntfs3] ".

+1 to amending the title.   Albeit I continue to believe that there needs to be a way to change the subsystem tag over time, as opposed to hoping that we can always get the subsystem identification correct every single time.
The other thing which I'd strongly recommend is that there is a way to get from the Syzkaller dashboard to the lore.kernel.org report (e.g., https://lore.kernel.org/r/<MESSAGE_ID>) which should be possible since Syzkaller can control the message-id used with the report to a vger.kernel.org mailing list.   That way if a developer does some initial triage work, that work won't be lost when it gets handed off to another subsystem maintainer.  I'd also think would be better if we encouraged a Link: in the trailer to the Syzkaller dashboard, as opposed to a Reported-by: link.   Yeah, you can usually get back to the dashboard URL by doing a Google search, finding the syzkaller-bugs@ archive, and then jumping to the dashboard link by going to the first e-mail in the syzkaller-bugs thread.  But it's really round-about, and quite annoying.   I've had to help multiple ext4 developers get back to dashboard link, especially when a Huawei engineer sends a not-necessarily-optimal patch (one that papers over the bug and stops the warning, but doesn't really solve the root cause of the bug) with a Reported-by link to syzkaller, and they couldn't manage to find the Syzkaller dashboard page with the reproducer and file system image.   As a result, I had to work the bug myself as opposed to allowing other ext4 developers to work on improving the attempted patch which just papered over the Syzkaller warning.

Drafted a PR: https://github.com/google/syzkaller/pull/3586

I've deployed the changes. It won't affect bugs that are already in the pipeline, but for new ones it should already consider reproducers and adjust the titles.


Wishlist for Autotune

Something that would be real nice to have is the ability of Autotune to use different basal Patterns.
So when autotune is run, it would take in account what Pattern was running during the times it's adjusting.
so then it would use the current Pattern with the current Autotune pattern to make autotune adjustments.
ie you could have a recommendations for Default Pattern and Pattern A and B
Yes; for some people Autosense should be able to account for it, but there is a big difference fro me when I'm very busy and when I'm being a couch/desk potato.
I don't like using Patterns as much as I used too now, because Autotune is not really accurate if I change it (at least for the next day).
On top of that, if there was a way to change what Patterns we were using with OpenAPS (I'm not sure if we have that ability or not) then We could make a calendar if I know it's going to be an active day (think of kids with sports) and that could trigger the change of Pattern using IFTTT.
just a couple things that would be real nice if we could do that.  Anyone Bored?

I have thought that it would be maybe possible to also register activity during the day and take that into account for autotune and/or autosense and/or (temp) targets. Calculate the  steps made in previous 15 minutes (calculated by the Urchin app on the Pebble). If there has been activity in the past 15 minutes, adjust targets / autotune / autosense temporarily.
There are a number of potential problems with that:

it will raise it after the activity, whereas it would be better to set it before the activity
only works for steps count (which is quite inaccurate), and not e.g. for swimming
I didn't know how to calculate the impact of step count on glucose levels in the future, and so it may be in conflict with the reference design: "OpenAPS does not have any complicated machine learning algorithms, 17-parameter insulin response models, or differential equations. As such, OpenAPS system is open and transparent in how it works, and understandable not just by experts, but also by clinicians and end users (patients)."

@PieterGit I think https://github.com/openaps/oref0/pull/684 provides the mechanism we'd want to use for adjusting real-time loop operation for exercise.  If you wanted to integrate something to set temp targets automatically based on observed activity, that might be a worthwhile enhancement, but I think Exercise Mode will be most useful when set proactively before starting activity.
@Bender1061 I'm inclined to work more on making autosens automatically detect and properly respond to the impact of activity levels, rather than trying to autotune the different patterns differently.  In addition to Exercise Mode, there is also a still-open PR to do something similar with autosens' sensitivityRatio.  Maybe as a next action we should look into whether those features, along with appropriate use of temp targets to inform the system of the onset of high-activity periods, can appropriately handle the situation you're describing?

I've been pleased with the 0.6.0 exercise mode settings to accomplish this goal. @Bender1061, have you tried those? Should we keep this issue open, or close if you feel those are meeting this need?

Closing due to lack of inactivity for 1.5y; please re-open with any notes about testing the exercise mode settings if this needs additional improvements for other use cases. Thanks!


LSM/Compaction: Move Table

When the input table from level A does not overlap with any tables on level B, "move" it instead of merging it value-by-value.
A "move" is simply an update to the table's level in the manifest.

I think we already have move table. We don't have move data_block though, but that's different.


Complete ButtonBuilder cutover

This removes the remainder of the Btn functionality, and replaces it with the new ButtonBuilder stuff.
This was largely a search and replace effort, but there was lots of manual intervention too. Just based on the scale of the changes, I'm sure there are several bugs. I'm testing somewhat as I go, but no doubt I've missed some things. I'm intending to spend substantial time tomorrow responding to design feedback on the work so far and doing QA.

I still haven't addressed include_bytes! in widgetry. Most of this code was written before we had that conversation. Is it OK to float that for one more PR? I'm working on it now!

I still haven't addressed include_bytes! in widgetry. Most of this code was written before we had that conversation. Is it OK to float that for one more PR? I'm working on it now!

This is looking great! I believe all the outstanding issues are resolved; ready for a merge?

This is looking great! I believe all the outstanding issues are resolved; ready for a merge?

This is looking great! I believe all the outstanding issues are resolved; ready for a merge?

I'm juuuuust about to push up a fixup to the tabs. I think that's the only remaining thing.

This is looking great! I believe all the outstanding issues are resolved; ready for a merge?

I'm juuuuust about to push up a fixup to the tabs. I think that's the only remaining thing.

Ok! Here's what I came up with.
It was initially an accident that the "active" button slightly bleeds out of it's container, but I actually liked the effect. WDYT?

Are you able to see this .mov, I forgot GH now allows video upload and have never actually used it:
https://user-images.githubusercontent.com/217057/105416599-02b36a00-5c00-11eb-8ac0-65e703be6d15.mov
Ultimately they would benefit from Yuwen's touch, but I think this is at least a good stop gap that looks reasonable with the new buttons.

Ok! Here's what I came up with.
It was initially an accident that the "active" button slightly bleeds out of it's container, but I actually liked the effect. WDYT?

Are you able to see this .mov, I forgot GH now allows video upload and have never actually used it:
https://user-images.githubusercontent.com/217057/105416599-02b36a00-5c00-11eb-8ac0-65e703be6d15.mov
Ultimately they would benefit from Yuwen's touch, but I think this is at least a good stop gap that looks reasonable with the new buttons.

Awesome work! Merging

Awesome work! Merging


Deprecate format tag

Description
This PR deprecates asdf.testing.helpers.format_tag (and replaces it's one use with a string) and asdf.versioning.AsdfSpec (which is unused).
Fixes: #1773
Checklist:

[ ] pre-commit checks ran successfully
[ ] tests ran successfully
[ ] for a public change, a changelog entry was added
[ ] for a public change, documentation was updated
[ ] for any new features, unit tests were added

The downstream dkist error is unrelated and looks to be caused by a gwcs version comparison in one of their tests.

Thanks!
The only docs I also see are the auto-generated ones:
https://asdf.readthedocs.io/en/latest/search.html?q=format_tag&check_keywords=yes&area=default
I don't quite know the whole history of format_tag but looking through various git blames:

was moved from asdf.types (when that was deprecated)
was moved from asdf.asdftypes (when that was deprecated)
was added in the first "skeleton" of the project

but never appears to be documented beyond the docstring and auto-generated docs. It seems to always have been a way to construct a uri string from several string (or AsdfVersion, when that was added) components.


added How to patch CoreDNS and other pre-installed addons? to FAQ sec…

I added a FAQ section which describe "How to patch CoreDNS and other pre-installed addons?"

Thanks for the PR! This is a good idea, I was doing something like this for myself the other day and didn't realize it wasn't documented. I have to get in the habit of going to look for a doc, rather than just shooting from the hip and guessing...
I was wondering if you ran into a problem with validation, that led you to write this part:
      containers:
      - name: coredns

Does this work how one would expect? I see it is valid Deployment YAML and I ran into this myself, noticing the containers key is required, so I defined the containers in full. I didn't consider that you can just include the containers by name and let the YAML merge that way, I assumed that if containers was present, the array contents would not be merged.
Like yourself as I suspect from reading, I only just wanted to add some annotations or ancillary parts (for me it was nodeSelector for my multi-arch Raspberry Pi cluster) so I really did not want to define the whole containers list and specify which images should be used, because that's like taking responsibility for keeping them up to date. (I was hoping my managed cluster runtime would take care of upgrading CoreDNS and friends for me when I do control plane upgrades. I don't want to do it myself, that's too much responsibility LOL... I actually didn't think that I even could do it like this.)
I'm guessing you tested and it worked as desired – rather than wiping out the existing containers, it just merges the array harmlessly by name, without overwriting or occluding any of the existing pod spec's container definition for the coredns container.
Do you think you can add some text or comment here on the PR about how it works, and if my assumptions are all valid?

Thanks for the PR! This is a good idea, I was doing something like this for myself the other day and didn't realize it wasn't documented. I have to get in the habit of going to look for a doc, rather than just shooting from the hip and guessing...
I was wondering if you ran into a problem with validation, that led you to write this part:
      containers:
      - name: coredns

Does this work how one would expect? I see it is valid Deployment YAML and I ran into this myself, noticing the containers key is required, so I defined the containers in full. I didn't consider that you can just include the containers by name and let the YAML merge that way, I assumed that if containers was present, the array contents would not be merged.
Like yourself as I suspect from reading, I only just wanted to add some annotations or ancillary parts (for me it was nodeSelector for my multi-arch Raspberry Pi cluster) so I really did not want to define the whole containers list and specify which images should be used, because that's like taking responsibility for keeping them up to date. (I was hoping my managed cluster runtime would take care of upgrading CoreDNS and friends for me when I do control plane upgrades. I don't want to do it myself, that's too much responsibility LOL... I actually didn't think that I even could do it like this.)
I'm guessing you tested and it worked as desired – rather than wiping out the existing containers, it just merges the array harmlessly by name, without overwriting or occluding any of the existing pod spec's container definition for the coredns container.
Do you think you can add some text or comment here on the PR about how it works, and if my assumptions are all valid?

Thanks a lot for your feedback.
I had a chat on slack with @stefanprodan about my problem before this PR. He gave me the hint of this option. I tired it in a fresh kubeadm bootstrapped cluster and it works as expected. As Flux will use kubectl 3-way-diff to make changes.
You can check the result via kubectl diff / kubectl apply before commit it into git.
The provided manifest is only an example and will work for kubeadm clusters.


Add simple contracts usage examples

Codecov Report

Merging #151 (a5def6e) into main (2e7bfea) will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #151      +/-   ##
==========================================
+ Coverage   70.21%   70.34%   +0.13%
==========================================
  Files          35       35
  Lines        1900     1905       +5
==========================================
+ Hits         1334     1340       +6
+ Misses        566      565       -1

Impacted Files
Coverage Δ

src/definitions/constants.rs
100.00% <0.00%> (ø)

.../business_logic/execution/execution_entry_point.rs
80.00% <0.00%> (+1.69%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi @HermanObst !
It would be great to add a link to the tutorial in the main readme, under Usage. What do you think?


Add website-blocker extension

Description
This extension allows you to manage a list of distracting websites that you want to block. It stores these websites in LocalStorage and allows you to toggle blocking on and off by updating /etc/hosts.
Updating /etc/hosts requires an admin password, which is triggered by running the command through apple script with administrator privileges. The password is an inconvenience but it's necessary and similar to how tools like SelfControl handle it.
Screencast
https://github.com/raycast/extensions/assets/8234283/5a6f29b0-3256-45f8-b90a-276ee460ec93
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @gersomvg 👋
I update the extension a bit, I hope you don't mind 🙂
Could you please check that I didn't break something while doing it 🙂

@pernielsentikaer I agree on the changes and I've verified that everything still works.
The only change that I (initially) disliked is the removal of the default action "Remove Host" on a selected host in the list.
I made it this way so that you could both add and remove hosts without using a shortcut, but by simply pressing Enter: if you type a non-existing host into search then Enter would add this host but when you select an existing host you could also simply press Enter.
I gave it a few minutes of thought and I can see why your change of default action is maybe a better default for the general public. It's probably unwise to have a destructive action under Enter while it can also be confusing that Enter does completely different things under context.

I think having it secondary is enough for now. I would dislike having a confirmAlert on every removal. I sometimes quickly remove a few websites that I actually need to access for work (such as hacker news or youtube) and having the password prompt in order to sync is already more than enough friction :)

@pernielsentikaer How frequently is the online store synced with main?

@gersomvg Raycast clients asks for updates every fourth hour, the store is updated just after the update is merged

@pernielsentikaer Maybe something went wrong then, since I can't yet find it through the Raycast website or the Raycast store extension?

Trying to push it again, it should almost be instant

Should be good now 🙂

Yes, that fixed it 🙌🏻 Thanks!

Sorry for the inconvenience 🙂


feat: setSafeSettings RPC call

What it solves
Partially resolves #969
How this PR fixes it
A new setSafeSettings method has been added to the SDK, built upon a new safe_setSettings RPC call, which accepts the following payload:
{ offChainSigning: boolean }

The above will be used to toggle a flag for enabling/disabling off-chain signing inside the AppFrame. The reasoning behind the addition of a new RPC call can be found here. In short: it had the widest support for both Safe Apps and dApps connected via WalletConnect.

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

tested, seems to work properly and web-core is receiving the message !


Batch question

When using the batch functionality, is there any limit to the amount/types of requests that can be made? For example if I have 10 gyms I want to pull the location of I need to first do a heartbeat at the location, then getGymDetails(). Would it be better to batch all of them together or not? Currently I just have several clients, and when looping through the gym collection pull a random one to do the heartbeat/getGymDetails.
Basically Im just wondering if anyone has any insight on the most effecient way to make these sort of calls.

On the library's side there is no limit to how many requests can go into one batch call. What the server is going to do with it is a different question that we don't know the answer to.
However, the RPC envelope (that contains all the requests in one batch call) includes the player's latitude and longitude. So if you're changing location it would probably be better to make separate calls.


fix(ci): replace release action

Replacing archived actions/create-release with active development ncipollo/release-action
Closes #3130

Release Note
NONE

Merging it to check results during next nightly action


Don't call Firebase functions before CheckDependencies has finished

09-07 10:59:28.508 12117-12176/? E/Unity: InvalidOperationException: Don't call Firebase functions before CheckDependencies has finished
at Firebase.FirebaseApp.ThrowIfCheckDependenciesRunning () [0x00000] in :0
at Firebase.FirebaseApp.GetInstance (System.String name) [0x00000] in :0
at Firebase.FirebaseApp.get_DefaultInstance () [0x00000] in :0
at Firebase.Auth.FirebaseAuth.get_DefaultInstance () [0x00000] in :0
at Manager.FirebaseManager.FirebaseAuthPlayGames () [0x00000] in :0
at Manager.FirebaseManager.m__1 (Boolean success) [0x00000] in :0
at GooglePlayGames.PlayGamesPlatform+c__AnonStorey1.<>m__0 (Boolean success, System.String msg) [0x00000] in :0
at GooglePlayGames.Native.NativeClient+c__AnonStorey1`2[System.Boolean,System.String].<>m__0 () [0x00000] in :0
at GooglePlayGames.OurUtils.PlayGamesHelperObject.Update () [0x

Can you show the code that's causing this? Are you calling into Firebase functions before CheckDependencies has finished?

I have the same problem today and fixed with the next steps, my app uses Firebase Analitycs and Firebase Auth, from the quick start guide on each example the devs call this method
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {})
ok.. this is correct if you have only one part of Firebase running in you project, but in my case, im using two parts, so from Auth, i delete the duplicated call to Firebase.FirebaseApp.CheckAndFixDependenciesAsync() and just calling it in the Analitycs script.
Then when firebase ends it's configuration on the Analitycs script, i call my Auth script but just the function InitializeFirebaseAuth.
And that fix it for me, maybe it will help you.

thanks! also solved my case :)

Sounds like folks on this thread can now use System.Task :) .

Can we re-open this issue? We're facing the same crash, but with a small number of users only.
Firebase is used only in one place:
void Start() {
      Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
        var dependencyStatus = task.Result;
        if (dependencyStatus == Firebase.DependencyStatus.Available) {
          InitFCM();
        } else {
          Debug.LogError(System.String.Format("Could not resolve all Firebase dependencies: {0}", dependencyStatus));
          // Firebase Unity SDK is not safe to use here.
        }
      });

    }

    public void InitFCM() {
      Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
      Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
      // On Notification Click
#if UNITY_ANDROID
      // On click notification listener
      UTNotifications.Manager.Instance.OnNotificationClicked += (NotificationClicked) => {
        if (NotificationClicked.userData != null) {
          string notificationURL = NotificationClicked.userData["url"];
          // If the URL in the notification is not null
          if (notificationURL != null) {
            DeepLinking.GoTo(notificationURL); // GO FOR IT
          }
        }
      };
#endif
    }

Hi @Sh3rawi
If you are experiencing this issue, can you create a new issue, and fill out all the info in the fields.  It'll help us track down the problem you might be seeing.


Fix error with Redshift cluster_id in profiles.yml

Description & motivation
Per thread in slack this seems to be an error in the documentation.  This code seems to support that finding.

Hi @runleonarun, I'm totally onboard with these changes but unfortunately strapped for time at this busy time of year.  I would love it if you could bring this one home!

thanks @jaypeedevlin and @runleonarun for flagging this and for your patience! gone ahead and merged this for you!


problem

this is log:
Enabling custom user: mainuser
Creating custom user mainuser
Setting custom user's password
VNC port set to 5901
noVNC port set to 6901
Resolution set to 1920x1080
VNC password disabled
Starting supervisord
2023-04-05 14:09:44,842 WARN No file matches via include "/etc/supervisor/conf.d/*.conf"
2023-04-05 14:09:44,843 INFO Set uid to user 0 succeeded
2023-04-05 14:09:44,849 INFO supervisord started with pid 1
2023-04-05 14:09:45,853 INFO spawned: 'Xvfb' with pid 25
2023-04-05 14:09:45,856 INFO spawned: 'LXDE' with pid 26
2023-04-05 14:09:45,861 INFO spawned: 'x11vnc' with pid 27
2023-04-05 14:09:45,865 INFO spawned: 'noVNC' with pid 28
2023-04-05 14:09:46,121 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:09:46,121 INFO reaped unknown pid 39 (exit status 0)
2023-04-05 14:09:46,127 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:46,144 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:09:47,343 INFO spawned: 'Xvfb' with pid 40
2023-04-05 14:09:47,347 INFO spawned: 'LXDE' with pid 41
2023-04-05 14:09:47,351 INFO spawned: 'x11vnc' with pid 42
2023-04-05 14:09:47,352 INFO success: noVNC entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:09:47,388 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:09:47,391 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:09:47,414 INFO reaped unknown pid 51 (exit status 0)
2023-04-05 14:09:48,424 INFO success: LXDE entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:09:48,424 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:49,427 INFO spawned: 'Xvfb' with pid 52
2023-04-05 14:09:49,432 INFO spawned: 'LXDE' with pid 53
2023-04-05 14:09:49,437 INFO spawned: 'x11vnc' with pid 54
2023-04-05 14:09:49,438 INFO reaped unknown pid 38 (exit status 1)
2023-04-05 14:09:49,473 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:09:49,478 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:09:49,485 INFO reaped unknown pid 63 (exit status 0)
2023-04-05 14:09:49,490 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:50,494 INFO spawned: 'LXDE' with pid 64
2023-04-05 14:09:50,494 INFO reaped unknown pid 50 (exit status 1)
2023-04-05 14:09:50,545 INFO reaped unknown pid 73 (exit status 0)
2023-04-05 14:09:50,550 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:52,555 INFO spawned: 'Xvfb' with pid 74
2023-04-05 14:09:52,559 INFO spawned: 'LXDE' with pid 75
2023-04-05 14:09:52,564 INFO spawned: 'x11vnc' with pid 76
2023-04-05 14:09:52,565 INFO reaped unknown pid 62 (exit status 1)
2023-04-05 14:09:52,579 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:09:52,600 INFO gave up: Xvfb entered FATAL state, too many start retries too quickly
2023-04-05 14:09:52,603 INFO reaped unknown pid 85 (exit status 0)
2023-04-05 14:09:52,605 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:09:52,617 INFO gave up: x11vnc entered FATAL state, too many start retries too quickly
2023-04-05 14:09:52,622 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:53,623 INFO reaped unknown pid 72 (exit status 1)
2023-04-05 14:09:55,628 INFO spawned: 'LXDE' with pid 86
2023-04-05 14:09:55,630 INFO reaped unknown pid 84 (exit status 1)
2023-04-05 14:09:55,677 INFO reaped unknown pid 95 (exit status 0)
2023-04-05 14:09:55,682 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:09:56,684 INFO gave up: LXDE entered FATAL state, too many start retries too quickly
2023-04-05 14:09:58,686 INFO reaped unknown pid 94 (exit status 1)
2023-04-05 14:16:11,115 WARN received SIGTERM indicating exit request
2023-04-05 14:16:11,123 INFO waiting for noVNC to die
2023-04-05 14:16:11,193 INFO stopped: noVNC (exit status 0)
Enabling custom user: mainuser
The custom user mainuser already exists
Setting custom user's password
VNC port set to 5901
noVNC port set to 6901
Resolution set to 1920x1080
VNC password disabled
Starting supervisord
2023-04-05 14:16:13,945 WARN No file matches via include "/etc/supervisor/conf.d/*.conf"
2023-04-05 14:16:13,945 INFO Set uid to user 0 succeeded
2023-04-05 14:16:13,953 INFO supervisord started with pid 1
2023-04-05 14:16:14,957 INFO spawned: 'Xvfb' with pid 18
2023-04-05 14:16:14,960 INFO spawned: 'LXDE' with pid 19
2023-04-05 14:16:14,965 INFO spawned: 'x11vnc' with pid 20
2023-04-05 14:16:14,969 INFO spawned: 'noVNC' with pid 21
2023-04-05 14:16:14,984 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:16:15,001 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:16:15,022 INFO reaped unknown pid 30 (terminated by SIGTERM)
2023-04-05 14:16:15,028 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:16,434 INFO spawned: 'Xvfb' with pid 31
2023-04-05 14:16:16,439 INFO spawned: 'LXDE' with pid 32
2023-04-05 14:16:16,443 INFO spawned: 'x11vnc' with pid 33
2023-04-05 14:16:16,445 INFO success: noVNC entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:16:16,497 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:16:16,501 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:16:16,502 INFO reaped unknown pid 42 (exit status 0)
2023-04-05 14:16:17,517 INFO success: LXDE entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:16:17,517 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:18,522 INFO spawned: 'Xvfb' with pid 43
2023-04-05 14:16:18,526 INFO spawned: 'LXDE' with pid 44
2023-04-05 14:16:18,531 INFO spawned: 'x11vnc' with pid 45
2023-04-05 14:16:18,532 INFO reaped unknown pid 29 (exit status 1)
2023-04-05 14:16:18,553 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:16:18,565 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:16:18,591 INFO reaped unknown pid 54 (exit status 0)
2023-04-05 14:16:18,597 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:19,600 INFO spawned: 'LXDE' with pid 55
2023-04-05 14:16:19,601 INFO reaped unknown pid 41 (exit status 1)
2023-04-05 14:16:19,649 INFO reaped unknown pid 64 (exit status 0)
2023-04-05 14:16:19,655 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:21,660 INFO spawned: 'Xvfb' with pid 65
2023-04-05 14:16:21,664 INFO spawned: 'LXDE' with pid 66
2023-04-05 14:16:21,670 INFO spawned: 'x11vnc' with pid 67
2023-04-05 14:16:21,672 INFO reaped unknown pid 53 (exit status 1)
2023-04-05 14:16:21,706 INFO exited: Xvfb (terminated by SIGABRT; not expected)
2023-04-05 14:16:21,707 INFO reaped unknown pid 76 (exit status 0)
2023-04-05 14:16:21,708 INFO gave up: Xvfb entered FATAL state, too many start retries too quickly
2023-04-05 14:16:21,711 INFO exited: x11vnc (exit status 1; not expected)
2023-04-05 14:16:21,726 INFO gave up: x11vnc entered FATAL state, too many start retries too quickly
2023-04-05 14:16:22,735 INFO success: LXDE entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:16:22,735 INFO reaped unknown pid 63 (exit status 1)
2023-04-05 14:16:22,735 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:23,739 INFO spawned: 'LXDE' with pid 77
2023-04-05 14:16:23,789 INFO reaped unknown pid 86 (exit status 0)
2023-04-05 14:16:23,795 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:24,799 INFO spawned: 'LXDE' with pid 87
2023-04-05 14:16:24,800 INFO reaped unknown pid 75 (exit status 1)
2023-04-05 14:16:24,850 INFO reaped unknown pid 96 (exit status 0)
2023-04-05 14:16:24,856 INFO exited: LXDE (exit status 1; not expected)
2023-04-05 14:16:26,861 INFO spawned: 'LXDE' with pid 97
2023-04-05 14:16:26,862 INFO reaped unknown pid 85 (exit status 1)
2023-04-05 14:16:26,912 INFO reaped unknown pid 106 (exit status 0)
2023-04-05 14:16:27,920 INFO success: LXDE entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-04-05 14:16:27,920 INFO reaped unknown pid 95 (exit status 1)
2023-04-05 14:16:27,920 INFO exited: LXDE (exit status 1; not expected)

Hey there, thanks for opening this issue and for using this software! May I ask you some more details about the environment (e.g. Docker version, OS) and what is the command / docker-compose file you are using to spin this up?

I have qnap with armv7 procs alpine

Could you please tell me what is the digest of the specific desktainer Docker image you are using?
And please could you provide the content of the Xvfb log (you can find it in /var/log/supervisor inside the container)
Thanks :)

there isn't

Hey there @SiNaPsEr0x, thanks for sharing your log. Based on your answers, I assume that you're running the dmotte/desktainer:2<IP_ADDRESS>0 image on arm/v7 architecture.
Unfortunately, the log is not very useful because it just tells us that there has been a segmentation fault while trying to start Xvfb.
I don't have a qnap, so I tried to run the image on this setup:

Raspberry Pi 2 Model B, which is arm/v7 too
OS Raspbian GNU/Linux 11 (bullseye)
Docker version 20.10.5+dfsg1, build 55c4c88 (got it with apt install docker.io)
command I used to start the container: docker run -it --rm -p 6901:6901 dmotte/desktainer

In my case everything works fine.
The problem you are facing is pretty strange and requires further investigation, but I'm unable to replicate your issue, so I'm afraid I cannot help :(
Have you tried it on a "normal" host (not qnap)? Does it work in that case? Maybe this could be kernel-related or maybe qnap just doesn't provide full Docker support, who knows

Yes the problem is only on qnap... if you can do some tests on armhf you would make many of us qnap owners happy

Hey @SiNaPsEr0x, I updated both the desktainer and desktainer-rootless images to Debian 12 "bookworm". This means that Xvfb has been upgraded from version 2:1.20.11-1+deb11u6 to 2:21.1.7-3. Maybe something could have changed regarding qnap support. Would you please try again? Thanks a lot

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @hahadaxia, @ahmet-aydem, @Dccap, @MattBlueX, @Codty, @cryptonianblock, @VirtualAjatus, @mil10r, @mart1428, @boredcheetah, @specpro30, @Huseyin-Cicek, @decadeapps, @macint0sh, @webees, @aosorio1, @yashar101, @mylesdc, @motogururec, @cryptomeisternox, @tanimon, @aman-ray, @jtroby, @vtngx, @nicolafan, @JapanColorado, @GazimbeIsaac, @thanhndv212, @DonQuijote000, @jasonlll, @MingKunYe, @LIWEIDENG0830, @tlennon140, @rthidfrev, @Allenkc, @LordAlex2015, @viktors1982, @yutarochan, @giranntu, @lodorg, @demining, @braca51e, @Nielex, @Takonan, @cliviaK, @evelynEdison, @yasdelayu, @TrentTomnitz, @MohammedAlhalwachi, @Othmane-Sajid

Yes the problem is only on qnap ts231P2... if you can do some tests on armhf you would make many of us qnap owners happy
Docker on qnap is Limited but ubuntunovnc run correctly with supervisor

Some QNAPs with armv7 was updated with page size 32K after that some containers that was created for page size 4K didnt work.


Updates index.md 'Test it!' section

adapted to current schema for compose files
uses networks as necessary in a real world usage
follow-up of #749 with a clean git history.

Sorry, looks like this needs a rebase :(

done.


ImportError: cannot import name 'prng' when run train.py

When I run train.py I got an import error:
python train.py --scenario simple
Traceback (most recent call last):
File "train.py", line 8, in
from maddpg.trainer.maddpg import MADDPGAgentTrainer
File "e:\dpl\ma\maddpg-master\maddpg-master\maddpg\trainer\maddpg.py", line 6,
in
from maddpg.common.distributions import make_pdtype
File "e:\dpl\ma\maddpg-master\maddpg-master\maddpg\common\distributions.py", l
ine 5, in
from multiagent.multi_discrete import MultiDiscrete
File "e:\dpl\ma\multiagent-particle-envs-master\multiagent-particle-envs-maste
r\multiagent\multi_discrete.py", line 7, in
from gym.spaces import prng
ImportError: cannot import name 'prng'
How to address it? Thanks.

My solution is find the file in the history record of this github, then put the file in the corresponding directory. It works.

Thanks a lot!


ERROR on getDataById

while using getDataById to download data from TSI, I got the follow errors.
I have verified the data is present at the TSI enviroment and present at the time span selected.
Please advise.
ERROR:root:"Value" for type id 1be09af9-f089-4d6b-9f0b-48018b5f7393 cannot be extracted
ERROR:root:"Value" for type id dtmi:com:example:TemperatureController;1 cannot be extracted
types is {}
KeyError                                  Traceback (most recent call last)
 in
----> 1 data = client.query.getDataById(
2     timeseries=["Device_1210100_BV_100"],
3     timespan=["2020-05-06T00:00:00.00Z", "2020-06-06T00:00:00.00Z"],
4     interval="PT5M",
5         aggregateList="avg",
c:\program files\python38\lib\site-packages\TSIClient\query\query_api.py in getDataById(self, timeseries, timespan, interval, aggregateList, interpolationList, interpolationSpanList, requestBodyType, useWarmStore)
498         requestType = self.getRequestType(aggregate=aggregate,requestBodyType=requestBodyType)
499
--> 500         return self._getData(
501             timeseries=timeseries,
502             types=types,
c:\program files\python38\lib\site-packages\TSIClient\query\query_api.py in _getData(self, timeseries, types, url, querystring, requestType, timespan, interval, aggregateList, interpolationList, interpolationSpanList, authorizationToken, otherColNamesThanTimeseriesIds)
549                 continue
550             print(f'types is {typeList}')
--> 551             logging.info(f'Timeseries {colNames[i]} has type {typeList[types[i]]}')
552             if requestType == 'aggregateSeries':
553                 (inlineVarPayload, projectedVarNames) = self.getInlineVariablesAggregate(typeList=typeList,currType=types[i], aggregateList=aggregateList,\
KeyError: '1be09af9-f089-4d6b-9f0b-48018b5f7393'

This issue is due to the current code is hard coded to use "Value" as the key for TSX types, whereas in my environment, we have "PresentValue" instead of "Value". I cloned this code and remove the hard coded value


Train UNet-3D

Implementation of UNet-3D architecture and training. The architecture follows the one implemented in MLPerf.

Includes implementation of Dice and Cross Entropy loss.
Adds support for output_size in ConvTranspose2d, this allows to dynamically pad upsampled convolution. It also follows the PyTorch API. The num_spatial_dims argument also makes it dimension-agnostic (i.e. it becomes ConvTransposeNd). I'd be happy to generalise Conv2d and ConvTranspose2d into ConvNd and ConvTransposeNd in a future PR if that is of interest.

The data is automatically downloaded when running training with python -m examples.train_unet_3d.

There are 2 big caveats with this PR:

I am not able to run a full training locally as my old GPU does not have enough memory (and it crashes on Collab due to exceeded RAM). However, I did train with the same images cropped and the Dice score is increasing steadily. I would be very grateful if someone could try training and report the results.
I cannot find the labels for the test dataset on the KIT dataset webpage. If anyone knows where to find it and can point me to it that would be very much appreciated.

It's my first PR in this repo, feedback are more than welcome :)

Changes made in tinygrad/:
------------------------------------------------------------
files                             insertions       deletions
------------------------------------------------------------
tinygrad/nn/__init__.py                   18               2
tinygrad/tensor.py                         1               1
------------------------------------------------------------
total                                     19               3
------------------------------------------------------------
lines added in the tinygrad folder: 16

How much VRAM would your implementation require to run unclipped training? Why existing UNet-3D code and kits19 dataloader aren't used?

Thank you @terafo for taking a look.
The VRAM requirement shouldn't be very high. The batch size is 1 as the images have variable sizes, the largest one being 1059x512x512 voxels. This is 1110MB in float32 without gradients. I am not entirely sure the gradient overhead introduced by tinygrad, if we triple it that would be below 4GB (which is the VRAM of my laptop GPU, so it may be more).
Regarding your comment about reusing UNet-3D and kits19 I am not sure if you mean open-source code outside of tinygrad? I haven't seen such implementation within tinygrad, but I may have missed it. Otherwise, I did follow the KITS data loader here. And I followed  the architecture implemented in MLPerf but it is written in PyTorch, not in tinygrad.

https://github.com/search?q=repo%3Atinygrad%2Ftinygrad unet3d&type=code

Thank you for pointing out the very obvious 🤦 I somehow had only included tinygrad folder in my search


actually looks like this exports a function

https://github.com/codemix/flow-runtime/blob/master/packages/flow-config-parser/src/flowConfigParser.js#L37

ah, yeah i think i updated the docs page but not the readme, thanks.


Unrecognized index name wikipedia-dpr-100w

I try run this code in my local environment, but when run the code likefrom pyserini.search.lucene import LuceneSearcher searcher = LuceneSearcher.from_prebuilt_index('wikipedia-dpr-100w') The result show Unrecognized index name wikipedia-dpr-100w. I want to know how I can slove this

See this: https://github.com/castorini/pyserini/blob/master/pyserini/resources/index-metadata/index-wikipedia-dpr-20210120-d1b9e6-readme.txt

emm，I have try this ,It looks like I have to use anserini to generate index. When I apply anserini ,there are too many problems(the meaven show many errrors and I can't solve them), If conditions permit, can you upload the index you built? Aliyun, Google Drive. Thank you very much. Or will it have a big impact on the results if I replace the search part with other BM25-based search engines (similar to elastic)?

thank you very much！！！Anyone can download this corpus in this link:https://git.uwaterloo.ca/jimmylin/anserini-indexes/raw/master/index-wikipedia-dpr-20210120-d1b9e6.tar.gz


ResizeHandle doesn't update its minHeight and minWidth

I'm using the grid with width:auto (which works awesomely btw) but have a problem with resizing my items after I've resized the window or changed column count.
The items' minHeight and minWidth are keeping their initial values in the ResizeHandle. This leads to the inability to resizing an item to for example height 200 when initial minHeight was 300 and still is. On mouse up the item instead just grows to the size of two columns and two rows because minHeight/minWidth is larger than column width and row height.

Holy sheet, It's already solved! I was just on an old version! Way to go!

Glad it worked!


Handle unknown and skipped for unknown resources in dryrun diff (#3960)

Pull request opened by the merge tool on behalf of #3960

Merged into branches iso5 in 029ab2ab37b203e44fa1319fe8e023bf10cc7257


Add draft CI workflow

I'm not sure what's the best way of testing these CI workflows other than reviewing them and making sure they behave as expected once merged.
I've opted for a setup where we have two stack groups: dev and prod. The dev stacks will be deployed to the workflows-nextflow-dev account whereas the prod stacks will be deployed to the workflows-nextflow-dev and workflows-nextflow-prod accounts. Another pattern I noticed here is to have dev, prod, and common.
You can ignore the change affecting the CODEOWNERS file. I just removed the extra line at the end of the file to satisfy the pre-commit test.

I'll request a review from @zaro0508 once he accepts the invitation to join this GitHub organization, which I just issued.

I played with the base branch to force-update the diffs, which were stuck on comparing with the old develop branch (before I made it up-to-date with main).

@zaro0508: Ready for a second round of review if you want.

For the time being, I propose that we set up this repository to only deploy to the production AWS account. We can reserve the development account for testing templates using manual sceptre deployment.
I've simplified the CI workflow in this PR accordingly. I'm open to suggestions on how to further improve this workflow.
/cc @zaro0508 @tthyer

Now that Sage-Bionetworks-IT/organizations-infra#141 has been merged, I've updated the service user credentials in the organization secrets accordingly. I'm also using the aws-actions/configure-aws-credentials@v1 action here to assume the service role that was created. From what I can tell, this action should be compatible with the sceptre action. 🤞
@zaro0508 @tthyer: Feel free to take one last review.

@thomasyu888 should really take a look at this PR

+1 there are several new actions that will be good to apply in our templates and ci examples, too


New method of counting slow queries [1.18]

Fix: #1406
Cherry-pick #1417, #1416
/cc @wojtek-t

/lgtm
/approve
Thanks!


Error message after import pandasdmx

Hi I am using Pandasdmx (v 1.0.1 ) and I Have this message after :
import pandasdmx
/Users/jacques/opt/anaconda3/envs/Data/lib/python3.7/site-packages/pandasdmx/remote.py:11: RuntimeWarning: optional dependency requests_cache is not installed; cache options to Session() have no effect
'to Session() have no effect', RuntimeWarning)
After that I cannot download data from Pandasdmx
Thanks for your help

Hi,
The warning is a feature. Avoid it by installing requests-cache.
Please provide a Code example with traceback to help understand the
cause of the Problem.
Leo
On 02/06/2020, Jacques<EMAIL_ADDRESS>wrote:

Hi I am using Pandasdmx (v 1.0.1 ) and I Have this message after :
import pandasdmx
/Users/jacques/opt/anaconda3/envs/Data/lib/python3.7/site-packages/pandasdmx/remote.py:11:
RuntimeWarning: optional dependency requests_cache is not installed; cache
options to Session() have no effect
'to Session() have no effect', RuntimeWarning)
After that I cannot download data from Pandasdmx
Thanks for your help
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dr-leo/pandaSDMX/issues/178

I intend to release v1.1 soon. Is there still anything to be fixed or can this be closed? - Admittedly I haven't personally run any test without requests-cache installed...

This seems to be stale. Re-open if there is any bug.

Hi,
I had the same issue and pip3 install requests-cache fixed it just fine.


Pedantic cleanup of inconsistent indentation

Tabs and spaces should never mix

Thanks @mor10 ! :D I hadn't noticed eslint wasn't working properly for the last while. Good news is we have a PR coming in that fixes and prevents these things. Thanks for this though!


i want to post request this data. but my params is NSArray. how to deal with the problem

Alamofire.request("xxxx",method:.post,parameters:[:])
but  I want to do this
Alamofire.request("xxxx",method:.post,parameters:['1','2','3','4'])
help me   thanks!!

help. help


Document DB Indexes

Need to get details of all indexes defined for the tables in PostgreSQL DB. Can use the following script to get it.
SELECT
n.nspname AS schema_name,
t.relname AS table_name,
i.relname AS index_name,
pg_get_indexdef(ix.indexrelid) AS index_definition
FROM
pg_class t
JOIN
pg_index ix ON t.oid = ix.indrelid
JOIN
pg_class i ON i.oid = ix.indexrelid
JOIN
pg_namespace n ON t.relnamespace = n.oid
WHERE
t.relkind = 'r' -- Only tables
ORDER BY
n.nspname, t.relname, i.relname;
Generate and share the output here.
cc. @subhashini-egov

index.csv
indexes in uat env @atulgupta2024

@radheshjoshi1 @manimaarans tenandId is missing from almost all indexes. In tenancy based system, it is a critical part of all our search APIS and the same should be used in DB search as well
cc. @subhashini-egov


The atom window remains transparent on opening

I recently installed atom on my ubuntu 14.04 system. On starting atom the window remains transparent.

@auag92 Can you clarify how exactly you installed Atom and which version of Atom you installed? Can you try downloading the official package from https://github.com/atom/atom/releases/tag/v0.206.0 and using that to install (after removing the previous installation)?

@izuzak I am @auag92 's friend. He had the same problem with with a much oder version of atom. I asked him to remove atom using dpkg -r and remove .apm folder. Then I made him do a clean install of Atom v0.206.0.

Then I made him do a clean install of Atom v0.206.0.

@vramana And how exactly did you install that version Atom?

Downloaded the .deb file from latest releases page and dpkg -i

Are you sure the Atom window isn't just a 1x1 window or something?  That has happened before and it looks like there's a very thin vertical bar going down the terminal in the image.

Directly after opening your invisible atom; try hitting Ctrl-Alt-Numpad 5 or Ctrl-Super-Up Arrow

The ctrl-Alt-Numpad 5 option works. Thanks

Thanks for the assist, @50Wliu and @mehcode -- closing this in favor of https://github.com/atom/atom/issues/5938. :dancers:


chore: use single bucket

bucket size is > 600GB so using three buckets is an overkill

600 GB isn't that large. On the www server, we use 1.1 TB

we can always decide to change this


[Bug]: re.sub(r"^[^{]*", "", response) Here only remove the initial { and }. However, the examples given in COMMUNITY_REPORT_PROMPT are {{ and }}, which will cause an error of CommunityReportsResult:86

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
main
Commit ID
Update license (#2086)
Other environment information
No response
Actual behavior
"title": "Taylor and The Device",
"summary": "The community revolves around Taylor, a person portrayed with authoritarian certainty, and The Device, a technology central to the story. The relationship between Taylor and The Device is significant, as it indicates a change in perspective an

Expected behavior
No response
Steps to reproduce
1:graph 上传源码中的测试数据txt文档，run 报错

Additional information
No response

Could you paste the response or the error message here?

Could you paste the response or the error message here?

response:
{{
"title": "Experimental Data and Individuals",
"summary": "The community revolves around the Experimental Data, which is the subject of research and holds potential to transform the industry. There are several individuals involved, including Zhang Wei, Zhao Min, and Li Ming",
"rating": 4.0,
"rating_explanation": "The impact severity rating is moderate due to the potential for conflict or collaboration among the individuals involved in the project.",
"findings": [
{{
"summary": "Experimental Data as the central focus",
"explanation": "Experimental Data is the central entity in this community, serving as the subject of research and holding potential to transform the industry. The significance of the data is evident from the"
}},
{{
"summary": "Roles of Zhang Wei, Zhao Min, and Li Ming",
"explanation": "Zhang Wei and Zhao Min show respect towards Experimental Data, indicating its significance. Li Ming, on the other hand, experiences frustration and is part of the project. The roles and interactions among these indi"
}}
]
}}
error:
json.loads(response)
PyDev console: starting.
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2024.2.1\plugins\python-ce\helpers\pydev_pydevd_bundle\pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "", line 1, in
File "C:\Users\haozhuang\AppData\Local\Programs\Python\Python311\Lib\json_init_.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "C:\Users\haozhuang\AppData\Local\Programs\Python\Python311\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           File "C:\Users\haozhuang\AppData\Local\Programs\Python\Python311\Lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
           ^^^^^^^^^^^^^^^^^^^^^^

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

Got it~
Appreciate it.


Update existing functions instead of deleting and recreating

Hi,
Deleting and recreating the function each time it was deployed caused Amazon API gateway to lose its execution permissions for the function, so API stopped working after each function update and IAM permissions had to be manually restored.
I modified the uploading process to avoid deleting existing functions. Now it tries to get the function from Lambda and acts accordingly. Function configuration is only modified if any parameter has changed.
Thank you and regards!

Hi, thanks for the contribution.  Please fix the spacing in your code.  Indents should be 4 spaces.

Sorry for that, Eclipse messed the indentation.

No worries, thanks.


[BugFix] Resizing widgets problem #4596

react-grid-layout 0.16.6 causes an issue with resizing the widget. See more ... #4596.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #4597   +/-   ##
=======================================
  Coverage   71.17%   71.17%
=======================================
  Files         188      188
  Lines       14834    14834
  Branches     1086     1086
=======================================
  Hits        10558    10558
  Misses       4273     4273
  Partials        3        3

Continue to review full report at Codecov.

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

LGTM

@mistercrunch why not use this version "react-grid-layout": "^0.16.0", we prefer this version since charts won't move around while dragging one chart through other charts

@yamyamyuo we don't use react-grid-layout anymore 🎈 🥇

@mistercrunch when does this version coming out? I just curious why the superset recent releases (eg. 0.26.2, 0.26.3) contains bugs that were found half year ago(like this one)? Does the new release version generate from master?

@mistercrunch and one more question, what does the suffix means in release  0.27.0rc1, what's the difference with those releases without rc\d+? Thanks!


Upload backups to dropbox.

Adds Dropbox support to allow syncing uploading of backups to a specified Dropbox account (#9).
Proper syncing is currently not possible since dbxcli doesn't have a sync command akin to the one awscli offers (see dropbox/dbxcli#53). Instead, this script compresses the full LOCAL_BACKUPS_PATH folder, timestamps it and uploads it to the specified REMOTE_DROPBOX_PATH.
I'll improve the script once the sync command is added to dbxcli.

So that approach will work well for the database backups but not really for the assets, especially if you have a lot of them (or they are large). Let me see if I can find anything...

This looks interesting @connor-baer http://www.webhostingbuzz.com/wiki/how-use-dropbox-cli-for-backup-sync/
?

http://buildcontext.com/blog/2012/dropbox-linux-ubuntu-ec2-linode-selective-sync too?

@khalwat I came across those as well but took issue with the requirement to install Dropbox proper (i.e. you get a specific Dropbox folder and everything syncs).
Of course you can selectively exclude folders from syncing as described in the second article you posted. It's still more complicated to set up and manage though and doesn't fit in as nicely with the rest of the craft-scripts.
In the end I decided to mimic the way the sync_backups_to_s3.sh script works and wait for the sync command to be implemented in dbxcli. Would you prefer a different solution? I'd be happy to change the approach.

Closing this as I no longer need it and there doesn't seem to have been any movement on adding support for the sync command to dbxcli.


Setup with ESP WROOM 32

Hey @Kaldek!
Great job on this repo and for constantly updating the instructions! I am in process of setting this up and would appreciate your help on this.
I have a ESP WROOM 32, pinout here. (sorry about the amazon links)
I was wondering if there were any nuances that would make my installation steps a bit different?
I noticed on the pinout of this board vs the D1 mini

GPIO4 (SDA/I2C) in D1 Mini is similar to GPIO21 (SDA/I2C)
GPIO13 (MOSI) in ESP8266/ESP WROOM is the same

I was curious if I was on the right track with the pinout mapping and how this changes things. Also side note, I was not able to find the IRL mosfet easily, have ordered it but I am using the 2n7000 for now.
Thanks and looking forward to your response!

@rohinrohin, I have the same board but with a usb-c. Can you share your setup once you have it complete?

Absolutely! Will do :)

ratgdo uses these pins for esp32 https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v25board_esp32_d1_mini.yaml
uart_tx_pin: D1
uart_rx_pin: D2
input_obst_pin: D7
Which looking at the D1 Mini ESP32 pin mapping at https://templates.blakadder.com/wemos_D1_Mini_ESP32.html translates to:
uart_tx_pin: D1=GPIO22
uart_rx_pin: D2=GPIO21
input_obst_pin: D7=GPIO23
So, that's the mapping that it would default to expecting if you flash the stock ratgdo firmwares, but you can use pretty much any that you want if you edit the ESPHome .yaml after importing it.

Understood! Appreciate the quick and detailed response @rlowens. Will try it and keep you posted.

I have a ESP WROOM 32, pinout here. (sorry about the amazon links)
I was wondering if there were any nuances that would make my installation steps a bit different?

As this is using ESPHome, there are only two things I would do:

Validate that the ratgdo ESPHome installer will work on the ESP32 like it does for generic ESPHome installer
If #1 is confirmed, install ESPHome-ratgdo and map your pins to GPIO4, GPIO5, and GPIO13, as the code uses those pin identifiers internally.

This issue is held open until testing has been performed by @rohinrohin and we have closure on any follow-up work.

thanks for the info @Kaldek!
Here are some interim updates from my end:

The web installer (blue v2.5) throws up an error saying that the board is not supported. Do you know of an approach where I can compile and install the firmware to my board without using Paul’s web installer?
I tried flashing the older version 2.0 ESP32 and that seems to have flashed properly. Would this work with our existing schema?

I tried flashing the older version 2.0 ESP32 and that seems to have flashed properly. Would this work with our existing schema?

Yes v2.0 will work the only difference is that TX is on GPIO2 on v2.0.

https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v2board_esp32_d1_mini.yaml uses
uart_tx_pin: D4
Which on D1 mini ESP32 is GPIO16

I tried this myself, and i was able to control my garage door but not receive its state, any idea what might cause that?

Hey @sanjay900! Can you let me know which version you tried flashing onto the ESP WROOM 32? Was it v2 or v2.5?
Also which pins did you use for tx,rx and input_obst_pin?

I used v25board_esp32_d1_mini.yaml
Seems to be fully working now!
As for pins,
uart_tx_pin: D1=GPIO22
uart_rx_pin: D2=GPIO21
input_obst_pin: D7=GPIO23

Beautiful work, folks!

I tried this myself, and i was able to control my garage door but not receive its state, any idea what might cause that?

  Overnight it eventually died and did the good old "MOSFET shorts to ground" failure. Whoops!

I tried this myself, and i was able to control my garage door but not receive its state, any idea what might cause that?

 Overnight it eventually died and did the good old "MOSFET shorts to ground" failure. Whoops!

I did think this might have been the case and replaced it a few times haha

Hey folks once @rohinrohin has also confirmed theirs as working, someone just write a summary of what was needed for the ESP32 and I'll add that to the project in the FAQ or maybe a separate "supported ESP modules" document.

Hey folks once @rohinrohin has also confirmed theirs as working, someone just write a summary of what was needed for the ESP32 and I'll add that to the project in the FAQ or maybe a separate "supported ESP modules" document.

Summary wise, i think all we need is a diagram that references the correct GPIO pins
uart_tx_pin: D1=GPIO22
uart_rx_pin: D2=GPIO21
input_obst_pin: D7=GPIO23

Hopefully the web flasher will be updated to just directly allow programming the v25board_esp32_d1_mini.yaml

Hey folks once @rohinrohin has also confirmed theirs as working, someone just write a summary of what was needed for the ESP32 and I'll add that to the project in the FAQ or maybe a separate "supported ESP modules" document.

Summary wise, i think all we need is a diagram that references the correct GPIO pins
uart_tx_pin: D1=GPIO22
uart_rx_pin: D2=GPIO21
input_obst_pin: D7=GPIO23

I have some images here of the ESP-WROOM-32 and I can't see pins labelled D7 or D1.
https://github.com/Kaldek/rat-ratgdo/blob/main/ESP-WROOM-32 board.jpg

@sanjay900  also can you explain this process in more detail including how you told it to use a specific YAML file?

I programmed on v2 using the web programmer, but then changed it to v2.5 from ESPHOME as the web flasher didn't let me program v2.5

I have created a "Supported Boards" page with lots of details.  Just waiting on that information about updating to v2.5 from within ESPHome @sanjay900

I have created a "Supported Boards" page with lots of details. Just waiting on that information about updating to v2.5 from within ESPHome @sanjay900

If you edit the yml from ESPHome, you can just change the packages line to the following
packages:
  ratgdo.esphome: github://ratgdo/esphome-ratgdo/v25board_esp32_d1_mini.yaml@main

Hey folks once @rohinrohin has also confirmed theirs as working, someone just write a summary of what was needed for the ESP32 and I'll add that to the project in the FAQ or maybe a separate "supported ESP modules" document.

Summary wise, i think all we need is a diagram that references the correct GPIO pins
uart_tx_pin: D1=GPIO22
uart_rx_pin: D2=GPIO21
input_obst_pin: D7=GPIO23

I have some images here of the ESP-WROOM-32 and I can't see pins labelled D7 or D1.
https://github.com/Kaldek/rat-ratgdo/blob/main/ESP-WROOM-32 board.jpg
They just appear to be labelled D21, D22, D23.

Sorry yeah, those were just the labels in the yml, since its using the d1 mini pinouts, which end up mapping to those specific GPIO pins

I have created a "Supported Boards" page with lots of details. Just waiting on that information about updating to v2.5 from within ESPHome @sanjay900

If you edit the yml from ESPHome, you can just change the packages line to the following
packages:
  ratgdo.esphome: github://ratgdo/esphome-ratgdo/v25board_esp32_d1_mini.yaml@main

Sorry mate, I was specifically referring to the complete process.  That is, how to force it to use the specific YAML.  I'm really vague on this, sorry.  I know it's to do with the ESP web installer and the manifest files that it uses, but not much more than that.

I have created a "Supported Boards" page with lots of details. Just waiting on that information about updating to v2.5 from within ESPHome @sanjay900

If you edit the yml from ESPHome, you can just change the packages line to the following
packages:
  ratgdo.esphome: github://ratgdo/esphome-ratgdo/v25board_esp32_d1_mini.yaml@main

Sorry mate, I was specifically referring to the complete process. That is, how to force it to use the specific YAML. I'm really vague on this, sorry. I know it's to do with the ESP web installer and the manifest files that it uses, but not much more than that.

Yeah sorry I have no idea how to change the web installer, I just modified the yaml of it manually after programming V2.

Yeah sorry I have no idea how to change the web installer, I just modified the yaml of it manually after programming V2.

Yes, but ummm, how?  Frome within Home Assistant?  From the ratgdo web interface?

I just realised I don't have the ESPHome Add-On installed in Home Assistant.

Right yeah, so adopt it into ESPHome, then hit the edit button.

Right yeah, so adopt it into ESPHome, then hit the edit button.

And then click the install button, right?

Yeah, click install

Yeah, click install

OK.  But cludgy I suppose but I can see the process now.  I had not installed ESPHome Add-On into HA, as HA has the discovery part of it already included.  All the management stuff is in the ESPHome Add-On.

Yeah, click install

OK. But cludgy I suppose but I can see the process now. I had not installed ESPHome Add-On into HA, as HA has the discovery part of it already included. All the management stuff is in the ESPHome Add-On.

Hopefully someone will send the project an image and then they can add esp32 v2.5 support to the installer.

Yeah, click install

OK. But cludgy I suppose but I can see the process now. I had not installed ESPHome Add-On into HA, as HA has the discovery part of it already included. All the management stuff is in the ESPHome Add-On.

Hopefully someone will send the project an image and then they can add esp32 v2.5 support to the installer.

For the ESP-32 I can just tell people to use v2.0 and that pinout.  There's no specific we have to use v2.5 - at least not with what I'm trying to achieve.  Your thoughts?

I have some images here of the ESP-WROOM-32 and I can't see pins labelled D7 or D1.
https://github.com/Kaldek/rat-ratgdo/blob/main/ESP-WROOM-32 board.jpg
They just appear to be labelled D21, D22, D23.

The https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v2board_esp32_d1_mini.yaml and https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v25board_esp32_d1_mini.yaml use the "wemos_d1_mini32" board, which looks like this and is an expanded version of the ESP8266-based D1 mini board, made to be able to fit into boards that take a ESP8266 D1 mini board, but still offer the extra pins of the ESP32. So for the original D1 mini pins it allows use of the original pin names. All other ESP32-based boards I've seen just label the pins with the actual GPIO pin numbers.

For the ESP-32 I can just tell people to use v2.0 and that pinout. There's no specific we have to use v2.5 - at least not with what I'm trying to achieve. Your thoughts?

I agree. And highlight that the ESPHome-firmware is the same between v2.0 hardward and v2.5 hardware, only the one pin is used differently.

I agree. And highlight that the ESPHome-firmware is the same between v2.0 hardward and v2.5 hardware, only the one pin is used differently.

What's the mapping of D4 in their YAML to an ESP-32 pin?  I've, uh, had a couple of beers already as it's Friday arvo here.

Is it GPIO16?

Is it GPIO16?

Should be, I'll give it a go in a bit

OK looks like it is indeed GPIO16

Does seem like gpio16 works, annoyingly i took my breadboard apart to put it into a PCB, which then didnt work and after putting back on a breadboard im back to RX not working lol

Oh, the ESP32 Schematic you uploaded is wrong, youve flipped the source and drain.
After flipping that, it works perfectly with V2.0, and D16, D21 and D23

@sanjay900 all the schematics that are currently uploaded (including the breadboard working version photo) say "source to ground and drain to RX". Are you sure it should be flipped? If so, why only ESP32 schematic is wrong and not all of them (since they all are the same)?

@sanjay900 all the schematics that are currently uploaded (including the breadboard working version photo) say "source to ground and drain to RX". Are you sure it should be flipped? If so, why only ESP32 schematic is wrong and not all of them (since they all are the same)?

oh your absolutly right, im just blind

quick update on @rohinrohin 's project:
we have followed the circuit diagram mentioned here but the setup with our ESP8266 is still not working. We tried replacing transistors, tested the resistors, and even the continuity in the connections. So I am guessing we made an error in the circuit.  It's a little hard to follow through the connections between the 2 transistors and the control wires. Can someone please tell me where the Gate, Drain, and Source for each transistor are going? Appreciate any help!

Please correct me if I am wrong:
IRLB8721:
Gate- D1
Source- Ground
Drain- Red control wire
2n 7000 n-channel:
Gate- Red control wire
Source- Ground
Drain- D2

Please correct me if I am wrong: IRLB8721: Gate- D1 Source- Ground Drain- Red control wire
2n 7000 n-channel: Gate- Red control wire Source- Ground Drain- D2

Updated schematic with labels for Source/Gate/Drain:
https://github.com/Kaldek/rat-ratgdo/blob/main/schematics/ratgdo open source D1 Mini_schem_v4.png

@vaidehi-joshi I have updated the FAQ with extra info in case you are connecting to the wrong terminals on your GDO.  Some GDOs do not use the Red/White/Black colour scheme for their wires.
https://github.com/Kaldek/rat-ratgdo/blob/main/FAQ.md

@vaidehi-joshi I have updated the FAQ with extra info in case you are connecting to the wrong terminals on your GDO. Some GDOs do not use the Red/White/Black colour scheme for their wires.
https://github.com/Kaldek/rat-ratgdo/blob/main/FAQ.md

Thanks for that, my unit is one of these ones

Latest update on the issue:
We have tried to test our connection with the circuit diagram multiple times. Thank you for the SGD labels @Kaldek . Even followed this and we are pretty certain of our connections. We have done everything in our power to test the rest of it as well(checked continuity, replaced transistors, tested resistors).
Here's what we see this in the esphome UI:

But no movement of the door. We are using the blue board config from here to flash the ESP
Here's how are GDO setup looks like:

Listing the circuit board connections:
IRLB8721:
Gate- D1
Source- Ground
Drain- Red control wire
2n 7000 n-channel:
Gate- Red control wire
Source- Ground
Drain- D2
Can someone please help us with the verification of the setup and connections?

@vaidehi-joshi the "Collision Detected, waiting to send packet" means that the red signal wire has been pulled low when the TX line is wanting to transmit.  As it is half duplex, you cannot transmit whilst the red wire has been pulled low.
You should never see the collision message.  Since I've had the PCB working, I have never seen it.

Thanks for that, my unit is one of these ones

You didn't attach an image.  What model GDO do you have?  Are you sure it's not a simple dry contact based unit that doesn't even use the communication protocol?

@sanjay900 First off thank you, this is something we hadn't crossed off the list.
Our model is Chamberlain Whisper Drive Plus (Model: 547445). It is Security+ not sure how to check if it's Security+ 1.0 or Security+ 2.0.
We have referred to this which is the D1, D2, D7 pinout.
Can we still run it on our ESP8266?

It is Security+ not sure how to check if it's Security+ 1.0 or Security+ 2.0.

If it doesn't say 2.0, it is 1.0. Also, this page says your purple Learn button indicates Security+ 1.0.

Can we still run it on our ESP8266?

Yes, just not the ESPHome version of the firmware (yet). Have to use the MQTT version of the firmware, since they haven't added the Security+ 1.0 and Dry Contact code to the ESPHome firmware (Paul mentioned they are still ironing out some bugs).

@vaidehi-joshi the "Collision Detected, waiting to send packet" means that the red signal wire has been pulled low when the TX line is wanting to transmit. As it is half duplex, you cannot transmit whilst the red wire has been pulled low.
You should never see the collision message. Since I've had the PCB working, I have never seen it.

Thanks for that, my unit is one of these ones

You didn't attach an image. What model GDO do you have? Please check Paul Wieland's Wiki article on supported models. Yours might be Security+ 1.0. https://github.com/PaulWieland/ratgdo/wiki
If yours is Security+ 1.0 you won't be able to use ESPHome and will have to run native ratgdo.
For Security+ 1.0 you apparently must use the D1, D2, D7 pin layout (not D2, D4, D7).

Sorry for being MIA! Thanks a ton @Kaldek, @rlowens, @sanjay900 for your updates.
This is possible the issue, I have confirmed that we are indeed on Security+ 1.0, will loop back here once we verify with the native firmware.
Once done, @vaidehi-joshi and I will summarize all of our learnings till now (including compiling with ESPHome, Security.., and many other nuances that we came across).

It is Security+ not sure how to check if it's Security+ 1.0 or Security+ 2.0.

If it doesn't say 2.0, it is 1.0. Also, this page says your purple Learn button indicates Security+ 1.0.

Can we still run it on our ESP8266?

Yes, just not the ESPHome version of the firmware (yet). Have to use the MQTT version of the firmware, since they haven't added the Security+ 1.0 and Dry Contact code to the ESPHome firmware (Paul mentioned they are still ironing out some bugs).

FYI my unit didnt mention anything about what security version it uses, and it was one of those ones with the green serial port and was in fact security+ 2.0

I have an ESP32-DevKitC (pinout: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/_images/esp32-devkitC-v4-pinout.png). I built my rat-ratgdo yesterday with the recommended 2n7000 and IRLB8721 transistors, the flashed it. I had to adjust the pins from https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v2board_esp32_lolin_s2_mini.yaml slightly to match the wiring diagram at https://github.com/Kaldek/rat-ratgdo/blob/main/schematics/ratgdo open source ESP-32_schem_v4.png. And I also had to just completely download the base.yml and modify it since I don't actually use home assistant, and I didn't feel like configuring the dry contact relay pins unnecessarily. I'm using USB power for now, with an 8500W jackshaft opener (should be Security+ 2.0). Hooking it up this morning and enabling debug logging, it fails to sync, and I can't send any commands to the opener (logs indicate the command was received from MQTT, and the rolling_code_counter increases, but nothing happens), but I get full feedback from actions triggered by other means - current door state, motion detected by control panel, button pressed at control panel, calibrated current position percentage, etc. So it seems that writing to the bus is failing for me. I suspect I didn't connect the IRLB8721 correctly. I'm pretty good at soldering and using resistors for a few things, but transistors elude me, and definitely am unsure how to read them in a circuit diagram. I was going by the datasheet showing (with the heat sync oriented towards the back) pin 1 as gate (connects to TX pin - GPIO16 for me, along with 10k pulldown resistor to ground), pin 2 as drain (to red wire from opener), and pin 3 as source (ground). Attaching photo of my completed board with behind-the-board connections drawn on , as well as my ESPhome config:

single_car_gdo.yaml:
substitutions:
  name: single-car-gdo
  friendly_name: Single Car Garage Door Opener
  id_prefix: gdo
  uart_tx_pin: GPIO16
  uart_rx_pin: GPIO21
  input_obst_pin: GPIO23
  status_door_pin: GPIO5
  status_obstruction_pin: GPIO12

packages:
  base: !include common/base.yaml
  ratgdo: !include common/ratgdo.yaml

ota:
  password: "ce275759362f3215b59d1fdb1365ffd9"

wifi:
  ap:
    ssid: Single Car GDO
    password: "..."

logger:
  level: DEBUG

common/base.yaml:
esphome:
  name: $name
  friendly_name: $friendly_name

esp32:
  board: esp32dev
  framework:
    type: arduino

logger:
  level: INFO

mqtt:
  broker: mqtt.local
  username: esphome
  password: !secret mqtt_password
  discovery_unique_id_generator: mac
  topic_prefix: esphome/$name

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: $friendly_name Setup

time:
  - platform: sntp
    servers: ntp.local
    timezone: America/Denver

captive_portal:

sensor:
  - platform: wifi_signal
    name: "WiFi Signal Strength"
    update_interval: 60s
    disabled_by_default: true

switch:
  - platform: restart
    name: Restart
    disabled_by_default: true

common/ratgdo.yaml:
external_components:
  - source:
      type: git
      url: https://github.com/ratgdo/esphome-ratgdo
    refresh: 1s

preferences:
  flash_write_interval: 5s

ratgdo:
  id: ${id_prefix}
  input_gdo_pin: ${uart_rx_pin}
  output_gdo_pin: ${uart_tx_pin}
  input_obst_pin: ${input_obst_pin}

sensor:
  - platform: ratgdo
    id: ${id_prefix}_openings
    type: openings
    entity_category: diagnostic
    ratgdo_id: ${id_prefix}
    name: "Openings"
    unit_of_measurement: "openings"
    icon: mdi:open-in-app

switch:
  - platform: ratgdo
    id: ${id_prefix}_lock_remotes
    type: lock
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Lock remotes"

binary_sensor:
  - platform: ratgdo
    type: motion
    id: ${id_prefix}_motion
    ratgdo_id: ${id_prefix}
    name: "Motion"
    device_class: motion
  - platform: ratgdo
    type: obstruction
    id: ${id_prefix}_obstruction
    ratgdo_id: ${id_prefix}
    name: "Obstruction"
    device_class: problem
  - platform: ratgdo
    type: button
    id: ${id_prefix}_button
    ratgdo_id: ${id_prefix}
    name: "Button"
    entity_category: diagnostic
  - platform: ratgdo
    type: motor
    id: ${id_prefix}_motor
    ratgdo_id: ${id_prefix}
    name: "Motor"
    device_class: running
    entity_category: diagnostic

number:
  - platform: ratgdo
    id: ${id_prefix}_rolling_code_counter
    type: rolling_code_counter
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Rolling code counter"
    mode: box
    unit_of_measurement: "codes"

  - platform: ratgdo
    id: ${id_prefix}_opening_duration
    type: opening_duration
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Opening duration"
    unit_of_measurement: "s"

  - platform: ratgdo
    id: ${id_prefix}_closing_duration
    type: closing_duration
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Closing duration"
    unit_of_measurement: "s"

  - platform: ratgdo
    id: ${id_prefix}_client_id
    type: client_id
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Client ID"
    mode: box

cover:
  - platform: ratgdo
    id: ${id_prefix}_garage_door
    device_class: garage
    name: "Door"
    ratgdo_id: ${id_prefix}

light:
  - platform: ratgdo
    id: ${id_prefix}_light
    name: "Light"
    ratgdo_id: ${id_prefix}

button:
  - platform: safe_mode
    name: "Safe mode boot"
    entity_category: diagnostic

  - platform: template
    id: ${id_prefix}_query_status
    entity_category: diagnostic
    name: "Query status"
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).query_status();

  - platform: template
    id: ${id_prefix}_query_openings
    name: "Query openings"
    entity_category: diagnostic
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).query_openings();

  - platform: template
    id: ${id_prefix}_sync
    name: "Sync"
    entity_category: diagnostic
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).sync();

  - platform: template
    id: ${id_prefix}_toggle_door
    name: "Toggle door"
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).toggle_door();

Any help would be appreciated.

@Kaldek, I can confirm that we have a Security+ GDO. manual
We have flashed ratgdo native and things are still not working as expected.

In the logs for native, it says wall panel detected.
Obstruction sensor status's work
Up/Down/Stop/Status updates are still not working
I also noticed, then when I pulled the red wire to GND manually. The GDO is able to toggle the garage door to open/close (not sure if this info is useful)

Any idea what we maybe missing out on?
Another side note, I noticed from this wiki that since I have the purple learning button it only supports ratgdo v2.5 board, but you recommended that I flash firmware for the 2.0 board.

I have an ESP32-DevKitC (pinout: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/_images/esp32-devkitC-v4-pinout.png). I built my rat-ratgdo yesterday with the recommended ` and IRLB8721 transistors, the flashed it. I had to adjust the pins from https://github.com/ratgdo/esphome-ratgdo/blob/main/static/v2board_esp32_lolin_s2_mini.yaml slightly to match the wiring diagram at https://github.com/Kaldek/rat-ratgdo/blob/main/schematics/ratgdo open source ESP-32_schem_v4.png. And I also had to just completely download the base.yml and modify it since I don't actually use home assistant, and I didn't feel like configuring the dry contact relay pins unnecessarily. I'm using USB power for now, with an 8500W jackshaft opener (should be Security+ 2.0). Hooking it up this morning and enabling debug logging, it fails to sync, and I can't send any commands to the opener (logs indicate the command was received from MQTT, and the rolling_code_counter increases, but nothing happens), but I get full feedback from actions triggered by other means - current door state, motion detected by control panel, button pressed at control panel, calibrated current position percentage, etc. So it seems that writing to the bus is failing for me. I suspect I didn't connect the IRLB8721 correctly. I'm pretty good at soldering and using resistors for a few things, but transistors elude me, and definitely am unsure how to read them in a circuit diagram. I was going by the datasheet showing (with the heat sync oriented towards the back) pin 1 as gate (connects to TX pin - GPIO16 for me, along with 10k pulldown resistor to ground), pin 2 as drain (to red wire from opener), and pin 3 as source (ground). Attaching photo of my completed board with behind-the-board connections drawn on , as well as my ESPhome config:

single_car_gdo.yaml:
substitutions:
  name: single-car-gdo
  friendly_name: Single Car Garage Door Opener
  id_prefix: gdo
  uart_tx_pin: GPIO16
  uart_rx_pin: GPIO21
  input_obst_pin: GPIO23
  status_door_pin: GPIO5
  status_obstruction_pin: GPIO12

packages:
  base: !include common/base.yaml
  ratgdo: !include common/ratgdo.yaml

ota:
  password: "ce275759362f3215b59d1fdb1365ffd9"

wifi:
  ap:
    ssid: Single Car GDO
    password: "..."

logger:
  level: DEBUG

common/base.yaml:
esphome:
  name: $name
  friendly_name: $friendly_name

esp32:
  board: esp32dev
  framework:
    type: arduino

logger:
  level: INFO

mqtt:
  broker: mqtt.local
  username: esphome
  password: !secret mqtt_password
  discovery_unique_id_generator: mac
  topic_prefix: esphome/$name

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: $friendly_name Setup

time:
  - platform: sntp
    servers: ntp.local
    timezone: America/Denver

captive_portal:

sensor:
  - platform: wifi_signal
    name: "WiFi Signal Strength"
    update_interval: 60s
    disabled_by_default: true

switch:
  - platform: restart
    name: Restart
    disabled_by_default: true

common/ratgdo.yaml:
external_components:
  - source:
      type: git
      url: https://github.com/ratgdo/esphome-ratgdo
    refresh: 1s

preferences:
  flash_write_interval: 5s

ratgdo:
  id: ${id_prefix}
  input_gdo_pin: ${uart_rx_pin}
  output_gdo_pin: ${uart_tx_pin}
  input_obst_pin: ${input_obst_pin}

sensor:
  - platform: ratgdo
    id: ${id_prefix}_openings
    type: openings
    entity_category: diagnostic
    ratgdo_id: ${id_prefix}
    name: "Openings"
    unit_of_measurement: "openings"
    icon: mdi:open-in-app

switch:
  - platform: ratgdo
    id: ${id_prefix}_lock_remotes
    type: lock
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Lock remotes"

binary_sensor:
  - platform: ratgdo
    type: motion
    id: ${id_prefix}_motion
    ratgdo_id: ${id_prefix}
    name: "Motion"
    device_class: motion
  - platform: ratgdo
    type: obstruction
    id: ${id_prefix}_obstruction
    ratgdo_id: ${id_prefix}
    name: "Obstruction"
    device_class: problem
  - platform: ratgdo
    type: button
    id: ${id_prefix}_button
    ratgdo_id: ${id_prefix}
    name: "Button"
    entity_category: diagnostic
  - platform: ratgdo
    type: motor
    id: ${id_prefix}_motor
    ratgdo_id: ${id_prefix}
    name: "Motor"
    device_class: running
    entity_category: diagnostic

number:
  - platform: ratgdo
    id: ${id_prefix}_rolling_code_counter
    type: rolling_code_counter
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Rolling code counter"
    mode: box
    unit_of_measurement: "codes"

  - platform: ratgdo
    id: ${id_prefix}_opening_duration
    type: opening_duration
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Opening duration"
    unit_of_measurement: "s"

  - platform: ratgdo
    id: ${id_prefix}_closing_duration
    type: closing_duration
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Closing duration"
    unit_of_measurement: "s"

  - platform: ratgdo
    id: ${id_prefix}_client_id
    type: client_id
    entity_category: config
    ratgdo_id: ${id_prefix}
    name: "Client ID"
    mode: box

cover:
  - platform: ratgdo
    id: ${id_prefix}_garage_door
    device_class: garage
    name: "Door"
    ratgdo_id: ${id_prefix}

light:
  - platform: ratgdo
    id: ${id_prefix}_light
    name: "Light"
    ratgdo_id: ${id_prefix}

button:
  - platform: safe_mode
    name: "Safe mode boot"
    entity_category: diagnostic

  - platform: template
    id: ${id_prefix}_query_status
    entity_category: diagnostic
    name: "Query status"
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).query_status();

  - platform: template
    id: ${id_prefix}_query_openings
    name: "Query openings"
    entity_category: diagnostic
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).query_openings();

  - platform: template
    id: ${id_prefix}_sync
    name: "Sync"
    entity_category: diagnostic
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).sync();

  - platform: template
    id: ${id_prefix}_toggle_door
    name: "Toggle door"
    on_press:
      then:
        lambda: !lambda |-
          id($id_prefix).toggle_door();

Any help would be appreciated.

The pinouts assume you are using the ESP32 d1 mini yml file, hence why the pins are totally different to the schematic when you pick the lolin s2 mini board as your base.
If you are receiving data but not able to send, that sounds like something is wrong with just the TX portion of your circuit. Check your 2n7000 isn't dead, I have had a few of those fail on me and when they fail, source to drain is just shorted permanently.

@rohinrohin
Yeah so with the ESPHome firmware, there is no difference between 2.0 and 2.5 besides pinouts, hence why we just use the 2.0 pinouts as the web flasher doesn't support 2.5 with esp32s.
Only the MQTT firmware supports security+ 1. 2.5 uses pin GPIO22, while 2.0 uses GPIO16. In saying that, i didn't think the mqtt firmware had offical support for the ESP32, so did you build that yourself?

I have an ESP32-DevKitC (pinout: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/_images/esp32-devkitC-v4-pinout.png). I built my rat-ratgdo yesterday with the recommended 2n7000 and IRLB8721 transistors, the flashed it.

We're starting to suspect that - even though the specs are correct - the IRLB8721 is just not working for anyone!  Please try with another 2n7000 and get back to us as soon as you can!

CRAP.  Confirmed it looks like the lack of current is what stops the IRLB8721 from switching:
https://forums.adafruit.com/viewtopic.php?p=446184

@rohinrohin Yeah so with the ESPHome firmware, there is no difference between 2.0 and 2.5 besides pinouts, hence why we just use the 2.0 pinouts as the web flasher doesn't support 2.5 with esp32s. The ESPHome firmware doesn't support security+ 1 at all.
Only the MQTT firmware supports security+ 1. 2.5 uses pin GPIO22, while 2.0 uses GPIO16. In saying that, i didn't think the mqtt firmware had official support for the ESP32, so did you build that yourself?

Thanks @sanjay900!
@rohinrohin and I purchased a new D1Mini ESP8266MOD - this exact one and we are running all experiments on this for now.
@Kaldek
To summarize,

We are using the D1Mini ESP8266MOD
We have a security 1+ GDO (purple learn button)
We are using 2x 2n7000n Transistors
Obstruction sensor is working
We used native ratgdo and flashed ratgdo v2.26, Security + 2.0 (secplus 1.0 alpha)
Logs show Wall panel detected and when I try to open the door, it says Door is not moving

😞

@rohinrohin Yeah so with the ESPHome firmware, there is no difference between 2.0 and 2.5 besides pinouts, hence why we just use the 2.0 pinouts as the web flasher doesn't support 2.5 with esp32s. The ESPHome firmware doesn't support security+ 1 at all.
Only the MQTT firmware supports security+ 1. 2.5 uses pin GPIO22, while 2.0 uses GPIO16. In saying that, i didn't think the mqtt firmware had official support for the ESP32, so did you build that yourself?

Thanks @sanjay900!
@rohinrohin and I purchased a new D1Mini ESP8266MOD - this exact one and we are running all experiments on this for now.
@Kaldek
To summarize,
1. We are using the D1Mini ESP8266MOD

2. We have a security 1+ GDO (purple learn button)

3. We are using 2x 2n7000n Transistors

4. Obstruction sensor is working

5. We used native ratgdo and flashed `ratgdo v2.26, Security + 2.0 (secplus 1.0 alpha)`

6. Logs show `Wall panel detected` and when I try to open the door, it says `Door is not moving`

Any help greatly appreciated! 😞

Might be worth spinning up another issue for this, this one was more about the esp32

Thanks, will close this so we can focus on the other issue.


The logLevel "off"  makes no sense

as subject

It disables the lib from writing anything to the console - even errors. I'm not sure why people might want to use this settings, but since this lib can be consumed in all sorts of unknown situations, having this options seems ok to me. Do you disagree?

Thank you very much for your reply. I agree with you, I want to write nothing when the lib was used in production, but this setting doesn't work！

Oops :) that is indeed something that needs fixing.

Fixed in commit b5fab3486a8d77a89b3ddac19433cffb76a48894
Thanks!

So when the new version will be released?

@Tindtily In about an hour

@Tindtily
1.0.48 is published.
Enjoy


bstackhoriz layout crashes when too many windows are open

Further research is required to determine what went wrong there.
With too many windows open (Approximately 10+) dwm would crash with
"request code=12, error code=11" and
X would return "BadAlloc )insufficient resources for operation)
I was unable to reproduce this on a stock build of dwm 6.3 (with cfacts)
inside of a VM so it's possibly driver related or due to me having
multiple monitors.


[Fabric] - Snowplow crashes with new architecture enabled

Describe the bug
Immediate crash when createTracker is called with new architecture enabled
To Reproduce
import { createTracker, ReactNativeTracker } from '@snowplow/react-native-tracker'

export const App: React.FC = () => {
 createTracker(...)
 return null
}

Expected behavior

Should not crash with Fabric enabled

Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: iPhone 15 Pro
OS: 17.5.1
Version "@snowplow/react-native-tracker": "^2.1.1"

@p-sebastian Could you please attach the crash report or logs please?

@miike rename to ips
PenguBeta-2024-07-29-112958.txt

@miike @matus-tomlein is there any timeline on this?

@jannisringwald I'm going to close this out in favour of the support ticket #41825. There has been a ticket to track this internally but no timeline as the New Architecture is still experimental with no official release yet.

We are getting this error and are now the only blocker for us to upgrade to newest React Native 0.75.
Is there any news on getting a fix to this?
The new architecture starts to be the default configuration for a RN project.

Hey guys,
with the React Native 0.76 release yesterday the new Architecture got enabled by default.
The Snowplow Tracker is the only Library in our Stack which is crashing with the new Architecture.
Is there now any timeline?  @miike @matus-tomlein
https://reactnative.dev/blog/2024/10/23/release-0.76-new-architecture

Same as @jannisringwald

Thanks for checking back about this @dkjepben and @jannisringwald! We are looking into supporting the new architecture in the tracker, can't be very specific about the timeline, but the plan is to add the support in Q4 this year.

Hi @d-moreira, we added support for the new architecture in version 2.1.2. This version uses the interoperability layer, but fully supports the new architecture apps.
Moreover, we are working on the next major version of the RN tracker that will be JavaScript-only (without any native modules) and will not require the interoperability layer and add support for Expo Go and React Native for Web. We are planning to release this early next year.


add extrafields plugin

Paired with @marcesher during this, all these changes are consistent with what we want.  Merged!


Replace TrackWidget.highlightSpan with the new highlight mechanism

Extend Filter to support matching on goroutine IDs and processor IDs, then replace the highlightSpan callback with automatic updates to the filter when hovering things.

Closed by f93dc8f5b2aa2e36092189ae8060e41f56df1810.


Error when appending loss

Hi, I've been trying to run an example of the code but when I execute test.sh in n_gram_graph/embedding, I get the following errors
Traceback (most recent call last):
  File "node_embedding.py", line 223, in <module>
    train()
  File "node_embedding.py", line 128, in train
    train_loss.append(loss.data[0])
IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number
Traceback (most recent call last):
  File "graph_embedding.py", line 150, in <module>
    model.load_state_dict(torch.load(weight_file))
  File "/home/martin/anaconda2/envs/n_gram_project/lib/python2.7/site-packages/torch/serialization.py", line 419, in load
    f = open(f, 'rb')
IOError: [Errno 2] No such file or directory: 'model_weight/delaney/0/50_CBoW_non_segment.pt'

Any help would be highly appreciated.

Hi @martinvoegele
The first issue is caused by the pytorch version.
In gpu_.yml we are specifying using pytorch=0.3.1, and I guess you are using more recent version of pytorch. If that's the case, can you try replacing loss.data[0]with loss.detach().item()?
The second issue is because the graph-level embedding needs a pre-trained node-level embedding, so it should be OK if the previous one is fixed.
Feel free to let me know if you have any following-up questions.

Indeed, it was the PyTorch version.
Even though I installed the environment according to the instructions in this repo, anaconda installed pytorch 1.3.1 instead.
After making the change you suggest above, it works. Thanks a lot!
I get reasonable results for the test run
Pearson R2 on test set: 0.861874734124
R2 on test set: 0.857742890153
RMSE on test set: 0.804440138781
MAE on test set: 0.543774490603

However there is one warning:
n_gram_graph/n_gram_graph/model/random_forest_regression.py:36: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
  model.fit(X_train, y_train)

Can I ignore this one or is this a serious issue?

@martinvoegele Gald it's working!
And yes, you can safely ignore it. Most warnings are not serious issues.

Perfect, thanks!