Data loss after power outage

Description
How to restore corrupted file after power outage.
This has happened three times in the past half year and now really disappointed (to say the least, sorry). But this is not the behaviour I expect from a quality editor. Cannot find via Google or issues in GitHub how to resolve this.
Steps to Reproduce

Edit a file
Laptop runs out of battery power
Power laptop and restart system
Open file which is now corrupted and looking like �6G�-���L����T�T�8L��s#]�Ϩ���8L��s#]�Ϩ��� etc

Expected behavior: [What you expected to happen]
That the file is never corrupted after a power cycle or the corrupted file is restorable. An editort should never be alowed to have this behaviour. At the moment of the power cycle I was not saving, only typing.
Is there any tool to run and get my original file back?
Actual behavior: [What actually happened]
I ended up with a corrupted file as described above.
Versions
Up to date Ubuntu 15.10 with
$ atom --version
1.6.2
$ apm --version
apm  1.6.0
npm  2.13.3
node 0.10.40
python 2.7.10
git 2.5.0

This is a very interesting behavior you are pointing out, because the file you are editing should not necessarily be written to unless you save.
Would you try to simulate force exiting Atom while editing and try to reproduce this problem? You may be able to follow a guide like this one to setup xkill on a kaybinding.
I very much wish to narrow this problem down, and test it in safe mode.

A colleage of mine has had the same problem and therefore switched to another editor. I am about to do the same as I cannot rely on Atom when a power cycle occurs.
I have had this enough times that I don't have to try it again. Use the above setup, work in a file, let the power run out in such a way that the device is not going into hybernation or anything. Restart and your file is messed up beyond recognition.

Can't reproduce on OS X 10.11.4

Had the same problem on Windows 10, the system crashed with a Blue screen of death, and the file which I was editing is now corrupted. So, frustrating and annoying.

Related feature: #11828

@as-cii Does #11828 fix this?

Yes. In case the recovery service doesn't manage to restore the corrupted file automatically, there's should always be a backup file that you can find under ~/.atom/recovery.
The feature has already been shipped in 1.9.0-beta0 and will be available in the next stable version (1.9.0) as well.
I am going to close this for now, as #11828 was purposefully designed to address this kind of issues. Please, let me know if you encounter any other problems after trying out 1.9.0-beta0 or the upcoming 1.9.0 version.
Thanks!

Thanks. Please, make this fix appear in the release notes and give it some special attention because I know that some users have abandoned Atom because of this. In this way, you could win them back.

hit by the same problem today. loosed two days of works...
didn't find any ~/.atom/recovery folder

didn't find any ~/.atom/recovery folder

As mentioned above...this feature is only available in Atom 1.9.0-beta0 and higher.

For informational purposes, why is atom temparily storing the file in a binary format in the first place? Better to leave the file untouched be store temp stuff in ~/.atom
With a crash, I have to reconstruct which files I had open. Suppose these are several hundred files...

why is atom temparily storing the file in a binary format in the first place?

I don't think Atom is intentionally storing files in binary format - where did you get that information?

This is the only application out of dozens major applications having this side-effect. So perhaps it is not storing it binary, but the effect of a power cycle is disastrous.

This just happened to me! I lost my oh-so-important ~/.i3/config because my power went out while I was editing it in Atom.
Atom    : 1.10.2
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

Unfortunately this remains a deal breaker.

@PanderMusubi Yup. Back to sublime...

Just had this problem as well. Really messed up my work as I hadn't pushed to my git server in awhile.

I also had the same issue. Is there any way to recovery the binary file? I wasn't saving at the moment, so it was entirely unexpected. The atom recovery folder was also empty.

I experienced a power surge and the file in the current tab (a config file, yay!) was corrupted. I could not recover the file. The recovery folder was empty.
Ubuntu 15.10
Atom    : 1.10.2
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

Atom: 1.12.6
I just had a system freeze and restarted to find my file empty. I opened it in vim and nano, found it full of<EMAIL_ADDRESS>In notepad++ it is full of NUL.
As far as I can tell the file saved successfully because I was using a build tool that detects changes. I saved the file and then the build tool started running, it froze before the build tool could finish and now the file is empty. The file isn't in ~/.atom/recovery. :(
Is there any chance of me recovering it?
Here is the file for anyone interested
setting.zip

Looks like this didn't get fixed by the recovery service.  Reopening (/cc @as-cii).

First of all, apologies to everyone for the inconvenience and thanks so much for the reports. This is an issue we take very seriously and it would be great if you could help us understand the circumstances in which it happens, so that we can reproduce it locally and fix it once for all.

As far as I can tell the file saved successfully because I was using a build tool that detects changes. I saved the file and then the build tool started running, it froze before the build tool could finish and now the file is empty. The file isn't in ~/.atom/recovery. :(

@FallingSnow Interesting. After Atom successfully saves a file, it deletes it from the recovery folder. This makes me suspect that the underlying cause of the issue could be a third party package. Would you mind sharing which packages you had installed at the moment of the crash? We can go through them one by one and understand whether the culprit is among those or not.
@PanderMusubi Have you been able to reproduce this more than once? If so, could you share with us all the packages you have installed, please? If I understand correctly, it happens when the system is powered off unexpectedly. Does the data loss occur when the system powers off during a save? Or does it happen consistently in response to a power outage, no matter what task Atom is performing?

Yes, that is why I moved to https://en.wikipedia.org/wiki/Geany I work a lot in trains and occasionally run out of battery with this as a result.

@as-cii In my case, the only corrupted file was the one in the open tab. The other tabs I had open were fine.
It may be something with this auto-save plugin: https://atom.io/packages/atom-idle-autosave

You can get a list of all installed community packages by running apm list. Getting the full list from everyone would be very helpful to see if we can pinpoint this to an exact package.

plugin-list.txt
I would also like to note that only the current tab was nulled out. The rest of the tabs were unaffected.

Here is the result of apm list --installed
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Any progress on this serious bug?

I would also be very interested to know if any more progress has been made as I was just burnt by this bug now. I was editing a README.md for one of my repositories before turning in for the night, finished up and (definitely!) saved. Because my laptop is kind of old and junky, shutting it down does not actually fully shut it down, so normally I just hold the power button down (I know, I need a new laptop, but that's not the point!), and I did this 30 seconds or so after saving. I had saved my work right, so all was fine! Unfortunately, today I opened my README back up in Atom to find it completely empty and Notepad++ showing a bunch of NULL characters.
I have only just started on Atom a couple of days ago and really want to like it because it's got such a good community and reputation. I know that in this case the power outage was because my laptop is junky, but I also tend to use my laptop on the go (such as on the train, etc) and sometimes it will run out of battery. So any progress updates on the bug would be great!

System crash. Lost my work today as well. Not all files got malformed, only one. I suspect it's the one in the active tab. No .atom/recovery folder.
I'm attaching the file in full. It was utf-8 encoded javascript file.
replace.zip
Linux x 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	xenial

├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Power outage, lost only the file in current tab as it was entirely truncated (0 bytes).
I've lost 5 days work. ... (sigh) .. not everyone commits every hour - just in case the software DELETES YOUR WORK!
Running latest version, on Arch Linux.
Thank you for not fixing it after so many people complained about this.
Question: Why can't Atom just leave the saved file as it is on disk? .. I mean really, why delete the contents automatically after power outage -or- as reported on system crashes? My best guess is that it keeps track of what file was open in the active tab before Atom died unexpectedly - then when you open said file Atom just deletes everything inside and saves this empty buffer to disk?

Running latest version, on Arch Linux.

You are most likely running an unofficial distribution - unless you installed Atom from https://atom.io, please uninstall it and reinstall from https://atom.io.
In addition, your comment is a violation of the Atom code of conduct - specifically, insulting/derogatory comments and personal attacks.  This is an official warning.

@50Wliu  Apologies for my rage, I've lost a lot of work; it is understandable that people are frustrated over this.
Regarding the official packages: if you (Atom.io) is responsible for the official packages, kindly make sure that these are in the official Linux-distro repositories as I did not install this from the community repos, I installed it from the official "pacman" repo on Arch Linux (not AUR).
I apologized because I was rude, not because you warned me, fyi.

Regarding (un)official distribution, see also https://bugs.launchpad.net/ubuntu/+bug/1317809 and https://github.com/alanfranz/atom-text-editor-repository/issues/9 Does it matter that much from where you install whether or not this bug can be triggered or not?

Does it matter that much from where you install whether or not this bug can be triggered or not?

If the bug is caused specifically by a modification in an unofficial distribution that we have identified in the past as risky, then yes, it does matter where you installed the software from. But even if the bug isn't specifically caused by the modification in the unofficial distribution, we have enough variables to juggle trying to track this down without adding random changes to our software to the mix. Troubleshooting is about controlling variables to see which things cause a problem. Limiting our investigation to only the software that we control and can verify ourselves is one step in that process.
Once we nail this down and resolve it for people using official distributions, hopefully that will fix it for those using the unofficial distributions as well. If not, it will be up to the people who maintain those distributions to perform their own investigations.

@PanderMusubi - I suspect it is not Atom.io's fault if the Linux repos in question do not update their repositories in time; however, it could help if any software vendor makes sure that their packages are linked dynamically, or at least push it up-stream. This way it relieves the responsibility from the repository maintainers. Any problems with a specific package then can be taken up with the software vendors.

Ubuntu doesn't have an official package (yet). Thanks for the elaboration. The sources I used to install atom from do, to my knowledge, nothing out if the ordinairy to the software.
Could everybody here who has experiencing this bug state their exact method of installation? Just to make sure this bug has been observed in installation from official upstream.

I can get a consistent repro by forcing a BSOD on windows.
repro:

Open atom with a folder project.
Open two files.
One of the file, make changes to it and save.
The other file, Make some changes and don't save
Open task manager.  look for process wininit.exe and kill the process tree.  (some reason I can't kill the process but I can kill the process tree).  This causes a BSOD.

Open atom again and the file that was saved.  It looks empty on atom.  When opening on notepad++ it's all NUL characters.  same issue  @FallingSnow is seeing.

FWIW, this just happened to me. Several hours of work, gone.
atom --version
Atom    : 1.13.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

This just happened to me. Saved 3 files, 20 seconds later, power went off, and all 3 files are corrupted and I lost an entire day of work. I guess I'll go back to Sublime Text, this is not worth it....

HAAAAAAAAAA!!!!!!
According to the above , this appears to be a frequent thing 👎 , it writes the file when a power failure occurs
Also tried to recover via git > git fsck but no luck 🚶

This happened today :( , BTW I am running the latest version of Atom

Ka-ay, I guess I am not the only one, except that I was using Atom to edit file on a remote server. Power outage wiped the file clean. Trying to reopen the project shows my code for a second but then show an empty file.

Guys, download & install the latest official version directly from the vendor as this issue has been resolved, as far as I can tell, I've tested.
To the Atom team: thank you for all your hard work and dedication; this editor is amazing.

I had the same issue today, it is really killing me :'( , has anyone found a fix?

@amiut: would you mind noting your OS and atom version?

@c650 I'm running atom 1.18.0 on Windows 10

According to this link  This problem has been there since Apr. 2015, and they didn't release a fix since then, this is really annoying.
Even simple editors like notepad++ have the recovery and you can easily recover your lost file.

Atom 1.18.0 on Windows 10 here
This just happened to my php file... My PC froze for a while and i restarted it only to realize the file i was working up is all messed up (blank)... Shows "0000"s on sublime.
Please anyone with ideas on how i can get it back @FallingSnow how can i implement your method on windows...?
"using grep -a -C 500 '' /dev/sda1 | tee /tmp/recover"

@tizycorp sadly the method works only on atom 1.19 beta , i think there is no way to get the file back , maybe using git will be useful to avoid such problems in future

@tizycorp I don't know how to do something similar on windows.
I would suggest creating a linux live usb and booting into that, then trying the method I described. This has the added benefit of not overwriting your lost data in the process.

fees.zip
@FallingSnow Can you please do it for me... I'd be really grateful... It shows filesize as 50KB so i don't want to believe it's totally gone... Thanks.
@amiut  Yea i use git but sadly i didn't for this project... Lesson learnt tho. Thanks...

First of all, no, I wouldn't do it for you, I'm just offering you advise. Second I wouldn't be able to even if I wanted to. The method I described searches your entire hard drive for the unique text you provide, that way you might find a temporary copy that was saved on your hard drive at a different location and hasn't been overwritten yet.

Alright thanks... I'll boot with a live usb and try your method then...

@tizycorp in @FallingSnows's case i guess the file is saved before by another application , atom didn't save it, but trying it can be useful, i hope you get your file back

@FallingSnow could you explain what you mean by 'known unique pattern in file'?  The contents of the corrupted file?  Do you mean something i know that is in the uncorrupted file but in no other file?
Also, i think this information may be useful:
When i open atom, it will show me the uncorrupted file while loading and then the corrupted file once the syntax highlighting kicks in.  So i tried looking for some kind of cache but i don't know what I'm doing of really where to look.  This of course happened after i lost power.  After closing and opening the file in the same instance of atom,  it stopped showing me the uncorruppted file...
where would that have been stored? Recovery was empty in my case.
atom 1.18.0 x64 ubuntu (mint)

When i open atom, it will show me the uncorrupted file while loading and then the corrupted file once the syntax highlighting kicks in.

Same.
By known unique pattern in file I mean a line of code that you remember from the file and would be unique to that file. For example, if I'm trying to recover a js file and I remember writing export default class MyUniqueReactName extends React.PureComponent and I knew that file was under 1000 lines I would try grep -a -C 1000 'export default class MyUniqueReactName extends React.PureComponent' /dev/sda1 | tee /tmp/recover.

This issue just happened to me. I hit save just before a power cut, and when I booted back and viewed the file, its contents had been replaced by what looks like a bunch of whitespace characters, as below. So, it seems that the file has been corrupted in some way. I was surprised that Atom didn't seem to have some kind of recovery mechanism.

This issue just happened to me. I hit save just before a power cut, and when I booted back and viewed the file, its contents had been replaced by what looks like a bunch of whitespace characters, as below. So, it seems that the file has been corrupted in some way. I was surprised that Atom didn't seem to have some kind of recovery mechanism. This would be pretty bad if I had been working on a more important script than was the case.

@ChrisTalman: have you checked your recovery folder? Atom has a recovery mechanism that takes care of copying the file prior to replacing its contents. If flushing the new contents fails for some reason, it should keep the copy inside of the ~/.atom/recovery folder.

@as-cii Thanks for the suggestion. I found .atom/recovery in my user folder, but it only contained one file from a while ago, not the one which was corrupted. Do you know whether Atom ever deletes anything from the recovery folder? Given that the script was small and did not take long to write in the first place, I simply rewrote it from memory, saving under the same file name. I don't know whether this would cause Atom to delete the recovery file.

Happened to me  as well on 1.18.0.  .atom/recovery did not contain the file, and @FallingSnow's suggestion to grep tmp/recover came up empty. It's in a git repo but I had not committed for a while; the data is lost.
The scenario fits what others describe - lost one tab only when the power went out.  The file exists, but is now binary and completely corrupted.
Hoping for a fix soon; this is a showstopper.

Why is this a not a top priority?

Exactly.
On Fri, 22 Sep 2017, 00:01 maenotsuzuki<EMAIL_ADDRESS>wrote:

Why is this a not a top priority?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/11406#issuecomment-331304849, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABU1y7SlGltJK4zqKISGZc2oLLKP5wI5ks5skurdgaJpZM4IC2u6
.

Perhaps some of the core developers do not experience this bug, but it is causing a lot of damage to the reputation of Atom. My colleagues and myself wont use it until this is fixed. Not going to loose a lot of work again.

This happened to me right now, it's painful and sad.
I was not saving, I was away from the machine when happened... and now I have a corrupt text file.
More than one year passed since this was was reported and it still makes victims...
This is one of those things that a text editor should never ever do.
I also got an empty ~/.atom/recovery
Atom 1.19 x 64 ~
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.3 LTS
Release:	16.04
Codename:	xenial

├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>(disabled)

I just experienced something similar. The file that I lost and now is empty was created couple of months ago. I haven't made any changes on it but it was open in Atom 1.21.0 while my MacBook has hang. After a reboot the file was empty. I've checked ~/.atom/recovery directory but it is empty as well. Please advice how I can recover the file.

Just lost 4 hours of WIP (not yet git committed) to a power outage. And like everyone else above,

Only the file whose tab was open got blank.
~/.atom/recovery was empty

Just Lost Some 26hours of work which was done without a break. Just clicked on "X" mark after completion and Saving the  code and turned PC off. And file is missing from the directory. When i tried "Reopen last close item", file is blank.
Using Windows 10
Atom -1.21.2
Please need help as its important

@Aajay-A Did you properly shut down your machine? Or did you flip the power switch without shutting down? If the answer to the first question is "yes", then what you experienced has nothing to do with this issue and you should open a new one, describing in as much detail as possible what happened.

Same problem here. Win 10 completely froze, so had to hold power button for 10 secs. After rebooting, file filled with empty spaces. In notepad++ showing as NULLs. Amount of NULLS/spaces equal to the previous size of the file.
Version 1.22.1
.atom/recovery completely empty, although the time modified of the recovery folder is the same time as the crash.

although the time modified of the recovery folder is the same time as the crash.

@joost823 Thanks very much for this information!  That sounds like Atom recognized what was happening and tried to save a backup file but it don't go through.

@50Wliu I just noticed that the time modified of the recovery folder changes every time you save a file, and since my laptop crashed shortly after saving (maybe even during, I'm not sure), this is not useful information, sorry.

Happened to me on Ubuntu 17.10.
The 2 files that were opened in tabs were replaced by similar-sized unrelated binary data.
atom --version
Atom    : 1.22.0
Electron: 1.6.15
Chrome  : 56.0.2924.87
Node    : 7.4.0

apm list --installed
Community Packages (17) /home/victor/.atom/packages
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>(disabled)
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>(disabled)
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Saved just before the outage:

This happened to me today as well.  I was working on something important and I didn't commit anything to my repo yet.  This is a serious issue and it is now causing me to use another editor.  I'll probably use PyCharm instead.

I just had this issue and i can't see any recovery folder, am using 1.21, from the previous comment, this has lasted for years now and it isn't fixed i guess is time to move on.
So painful the only file that went blank is that which i constantly update!

Me too :'(
Atom 1.26.1 Windows 10

This just happened to me... BSOD on Windows 10 and when I came back, the file I was working on was completely blank (autosave was enabled with loss of focus). Looking at the file in a hex editor, it's completely filled with zeros.
Why doesn't Atom create a temp clone of the file while it's open? I think this might resolve a lot of issues including #9589.

Experienced this issue with Atom 1.28.0

Sadly the second time I'm posting in this thread, because it just happened again. Win10 started freezing. During the freezing I closed atom and firefox. A few seconds later I got a BSOD with the error DRIVER_POWER_STATE_FAILURE. I rebooted, and here we are again.
I had a bunch of tabs open in atom, and only the current tab got corrupted. Interestingly, the .pyc in the python cache also got corrupted (I didn't run python after rebooting though, just looked at the file). I only lost a couple minutes of work, so it wasn't a big issue this time, but frightening nonetheless.
How is this still an issue 2+ years after the first report? I would guess that not corrupting files would be a pretty high priority for a text editor.

i had the same issue , and the funny thing how i get my file back is from one of testing phones . i was creating Js player and the main.js file was corrupted . so i closed the wifi and started getting the cash firm each phone , and the last one was still have the file cache :) , i hope you fix this , by the way i have the latest atom release

This happened several times with my Ubuntu 16.04 after a system crash. File was saved and executed and caused a Memory Overflow which crashed my machine. Open tabs were converted to weird binary data. Inferring from the comments before I guess one cannot restore the file form the binary blob(?).

@50Wliu @as-cii I believe there is a similar thread in the discussion forums. Recently, someone provided steps I could follow to reliably reproduce the issue.

Using a Mac w/ Atom version 1.30.0 x64

Create new file(s), type some text into them and save it
Leave the files open in various tabs
Press and hold down the power key until the computer turns off suddenly (don’t shut down normally)
Turn back on the computer and say to start all apps.
When Atom comes back up, all the files that you left will be blank, and the files will be zero bytes.

I did not notice any strange characters, so it may be a different issue, but it's definitely related to sudden closure. As I say there, it only happened when I selected "reopen apps" when restarting. The recovery folder does not have anything related to the lost files in it. Having another editor open with the file appears to preserve the original.

this just happened to me after macos crash, lost work in all open tabs, saved file become empty after reboot.
the symptom is exact as @Aerijo said, it can be reproduce by doing "reopen apps" on macos (reboot after crash/sudden power loss)

Reproducing better not done in a VM. Use a desktop and yank out the power plug or use a laptop that is configured not to go into hibernation or sleep mode and wait until the battery dies.

Another incident today. Lost a day of work! Atom erased all files that were in modified state at the time of power outage.

Does the files get erased/corrupted when the power is cut or when Atom is reopened?

So I've tried reproing this in a VM and not in a VM on Mojave and High Sierra, with no luck.
@lee-dohm thinks this might be an issue not with saving the files exactly, but with recovering state. Can anyone who's experiencing this say whether the empty buffers that Atom recovers appear in a saved state? Are the files perhaps still there until you saved the buffers (or, with autosaved, flipped through them?)

I tried in a VM and just holding down the power button on my laptop (something I am admittedly reluctant to do too many times). No dice :(

@queerviolet It's strange; I tested just now with Atom Beta and I could not reproduce it. I then switched to Stable, and it happened. I don't think this means it's fixed upstream, but I'll see if I fine tune the circumstances needed to reproduce it.

@queerviolet Looks like sudo kill -SEGV <atom process ID> can also cause it, which should be safer than actual shutdowns.

I got really excited when you posted the SEGV repro, as I was then able to repro it twice in short order. After that, no luck.
I think the recovery file fix is a good stopgap. I’ll push that out soon. I think we might encounter the problem of a preponderance of recovery files, but frankly emacs has dealt with worse for the last twenty years, so I think we’ll manage.

@queerviolet Regarding persistent recovery files, I think the best way to do it would be allocate a certain size to the folder (user setting), and delete enough old recovery files to bring it back down when it goes over. It could also (try) to only use a single / couple of files for each actual file, rather than flood the folder with the same one after many saves.
It should also use the "make a third file and rename" trick, which the existing recovery service should be improved to do as well IMO. That's not the cause of this issue, but it should make it safer in the event of a crash while data is being transferred.

WHY THIS IS NOT FIXED YET.
Just happened to me, LOST ALL MY WORK...

I don't think developers understand how much pain this can cause. It made me lay down in fetal position and cry.

Had this problem too. The file now has a bunch of 0s only. What is going on? No way to fix it now.

I switched too, to VS Code . In places where you have power outages often or for longer time than one hour you can't use this IDE.. VS Code is great, never lost my files

I think this just happened when restarting Atom due to updating a package. I now have 1480 zeroes (0x00) in the file I've been working on. The file is not in ~/.atom/recovery.

Yeah, I just lost 8 hours of work and there's no file on %USERPROFILE%\.atom\storage on my Win10 machine =\
I'm like super frustrated right now

Ugh ... Same here. Files were saved, but computer froze. Restarted the computer and upon opening Atom I found all of my currently opened files are now just pages of zeros..... Zeros as far as the eye can see!! Jesus... ___
Is this a one strike rule? Is anyone switching to a different editor over this?
I'm on Windows 10 too.

This issue dates back to years ago and yet no Fix... , i switched from atom the moment this thing happened to me (3 yrs ago)

Yes, also switched. Had this crash twice when I used all the power in my laptop battery. Could not have again loss of data. Used Atom for programming but switched back to full IDEs such as https://www.liclipse.com

Hi everyone,
I just had the same problem and two days later I found most of my code in ~/.atom/recovery/. What a huge relief! At least this is working in 1.40.1.
Cheers,
C

Just had this happen. Windows memory management error led to bluescreen, and when I reopened I had a file of zeros. ~/.atom/recovery was 11 days old. 2 days of work lost. Switching editors.

This happened to me too. Nothing in ~/.atom/recovery/ or using Windows file recovery. I love Atom but this is unacceptable behavior from an editor. I lost about two days of work as well. How is this still a bug after 3 years?!

I’d recommend moving to Visual Studio Code. Microsoft acquired Gitlab a
while ago and my guess is that VS code will eventually overtake Atom. Also,
VS code is also on the Electron platform. I’ve been using it as my daily
IDE and have had zero issues with it. I use VS code on Ubuntu and Windows.
On Tue, Nov 26, 2019 at 10:41 AM Hannah Crabtree<EMAIL_ADDRESS>wrote:

This happened to me too. Nothing in ~/.atom/recovery/ or using Windows
file recovery. I love Atom but this is unacceptable behavior from an
editor. I lost about two days of work as well. How is this still a bug
after 3 years?!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/11406?email_source=notifications&email_token=AAPSLP3CB5A6PIHQDC2QPUTQVU7T5A5CNFSM4CALNO5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFGOOSQ#issuecomment-558688074,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPSLP6EORLLEYWCIDV3FWTQVU7T5ANCNFSM4CALNO5A
.

Hi.
Are there going to be any updates on this?
Is this an Electron or Atom bug?
Is there a way the community can help?

The main problem is that even you had your file saved, when there is power outage it will be deleted/nulled just because you had it open in Atom IDE !

@Gennttii I wonder what one would see if he mounts a filesystem after a crash but without booting.

Looks like Atom uses 'fs' Javascript module to do IO.
This looks like the file save function
https://github.com/atom/atom/blob/master/src/file-system-blob-store.js#L43
It seems alright, but it is not atomic. Moreover, there are subtle uses like
https://github.com/atom/atom/blob/master/src/atom-paths.js#L7
I have also found a similar issue in the VS Code bug tracker.
https://github.com/Microsoft/vscode/issues/9589 (Ctrl+F zero filled)
I expected to see IO to be something like this
https://github.com/qt-creator/qt-creator/blob/master/src/libs/utils/savefile.cpp#L97

Looks like Atom uses 'fs' Javascript module to do IO.
This looks like the file save function
https://github.com/atom/atom/blob/master/src/file-system-blob-store.js#L43
It seems alright, but it is not atomic. Moreover, there are subtle uses like
https://github.com/atom/atom/blob/master/src/atom-paths.js#L7
I have also found a similar issue in the VS Code bug tracker.
https://github.com/Microsoft/vscode/issues/9589 (Ctrl+F zero filled)
I expected to see IO to be something like this
https://github.com/qt-creator/qt-creator/blob/master/src/libs/utils/savefile.cpp#L97
https://stackoverflow.com/questions/30886217/node-js-fs-writefile-empties-the-file

If I remember correctly, this only happens if you have the "restore windows on reboot" feature ON but I'm not 100% sure on that.

Just had this issue when my laptop battery slipped out while coding in Atom. ~.atom/recovery directory just has like 5 random files from the past several months, none of which are the one I needed. The file in question isn't even zeros or strange characters, it's just completely blank. I should have built a repository and been using git, but I thought I was still in the tinkering stage until the moment I realized how much I'd lost when App.JS got corrupted.
Lesson learned. I'll use git even when tinkering...and switching to a more reliable editor ASAP. I love Atom, but am really disappointed with this issue. Was surprised to see this open issue going back all the way to 2016!

PHYTON/ 03.06;09
COD.vinc.2456689000
Salvo em 12(dimensões)
Sem problemas de bug.

I’d recommend moving to Visual Studio Code. Microsoft acquired Gitlab a while ago and my guess is that VS code will eventually overtake Atom. Also, VS code is also on the Electron platform. I’ve been using it as my daily IDE and have had zero issues with it. I use VS code on Ubuntu and Windows.
…
On Tue, Nov 26, 2019 at 10:41 AM Hannah Crabtree @.***> wrote: This happened to me too. Nothing in ~/.atom/recovery/ or using Windows file recovery. I love Atom but this is unacceptable behavior from an editor. I lost about two days of work as well. How is this still a bug after 3 years?! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#11406?email_source=notifications&email_token=AAPSLP3CB5A6PIHQDC2QPUTQVU7T5A5CNFSM4CALNO5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFGOOSQ#issuecomment-558688074>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPSLP6EORLLEYWCIDV3FWTQVU7T5ANCNFSM4CALNO5A .

I think you mean Github, not Gitlab.

Had the exact same issue. Clicked CTRL+S to save, in that exact moment the power went out. Destroyed file has the same size but is full of NUL characters. Uninstalling now.

The 5th anniversary of this bug :D

The 5th anniversary of this bug :D

'nuff said

'nuff said

I switched to VS Code last month. Zero data loss so far and zero regrets.

This just happened to me. Lost all my work. Uninstalling Atom, I can't have this happen again.

Sorry to hear. Atom should show a warning each time you start it saying: beware, a power cycle while editing will corrupt your files. It should also have a link to this more than six year old issue. And there is no option to not show this warning again. Perhaps we can make a PR for this. PS This not a joke.

Sorry to hear. Atom should show a warning each time you start it saying: beware, a power cycle while editing will corrupt your files. It should also have a link to this more than six year old issue. And there is no option to not show this warning again. Perhaps we can make a PR for this. PS This not a joke.

To be honest I have been using VS Code for the first time today, and I'm a bit shocked at how much better it is for me than Atom. It seems to be a lot faster, and the default terminal is very good. I think this might have been a blessing in disguise to finally move away from Atom.

Looks like Github is officially sunsetting Atom. Good riddance. Use something else as this damned bug has been around for as long as I can remember and it still hasn't been fixed. I use either Sublime Text or VSCode. Both superior IMHO.
https://github.blog/2022-06-08-sunsetting-atom/

Lost all my data for the second time and yet still no solution for solving this issue or recover my files. This should be a top priority for atom dev team.
I'm currently crying out loud right now because after all my hard work, I'd have to start all over again.

Lost all my data for the second time and yet still no solution for solving this issue or recover my files. This should be a top priority for atom dev team.
I'm currently crying out loud right now because after all my hard work, I'd have to start all over again.

Yeah it's horrible man.  The sick part is I would have still had my work if I didn't save.
The main takeaway is to DELETE ATOM, everyone should delete atom.  I honestly had to stop programming altogether when this happened because of my situation.  I'm only just getting back into it.  Ive been on this thread for at least 4 years and noone mentioned a work around.  Delete it and tell everyone you know to delete it because the devs have officially abandoned it now in favour of commitments to vscode.  The link to the sratement is above.
Vscode is what I've moved to.  It's got everything atom had and more as far as I can tell.  One day I'll try to reverse that garbled file. 🤷♂


Core's Rust driver encryption configuration

Usage and product changes
Implement TLS encryption for the Core's Rust driver, which can be configured through the ConnectionSettings object.
Implementation

Propagate the TLS configuration in ConnectionSettings into GRPC channel

I've merged this PR since @farost is away, and that I believe the issue he raised has been addressed.


Use modern Java and Gradle for development (without affecting compatibility for CLI end-users)

We want to:

keep support for running Maestro on JDK8
use latest JDK & Gradle during development

This is indeed possible to do. There are 2 great blogpost from Jake Wharton that explain how it can be accomplished:

Gradle toolchains are rarely a good idea
Build on latest Java, test through lowest Java

Notes

Using Java 21 requires bumping Gradle to a version that supports it. This in turn will require bumping Android Gradle Plugin to a version 8.x, which will require at least Java 17 for building. But it will have no impact on users of Maestro CLI.

Action items

Create a convention plugin inside buildSrc and apply it to all projects that use the java plugin, to commonize setup in a single place.
update GitHub Actions to compile on latest JDK 21 and Gradle 8.7
update Gradle buildscripts to use Gradle toolchains to run tests on JDK 8, 11, 17 and 21

These 2 dependencies might be problematic though, if their latest versions require JDK 17:
https://github.com/mobile-dev-inc/maestro/blob/dc1c0fa878b3cfde4dd3bf9de62c356c80f647cb/gradle/libs.versions.toml#L53-L54


Stuck? - c# Data Source Configuration Wizard

I'm following this tutorial, but I'm stuck here, since "Category" does not show up. What should I do?
https://stackoverflow.com/questions/60790953/tutorial-stuck-c-sharp-data-source-configuration-wizard

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

ID: b73b2e5a-9526-e664-a2da-556717d344e1
Version Independent ID: 93442b78-6869-139c-bdbc-9a1efa21b7a6
Content: Databinding with WPF - EF6
Content Source: entity-framework/ef6/fundamentals/databinding/wpf.md
Product: entity-framework
Technology: entity-framework-6
GitHub Login: @divega
Microsoft Alias: avickers

@martinandersen3d See https://github.com/dotnet/efcore/issues/19993. Data binding in WPF is broken for both EF6 and EF Core. @diverdan92 indicates that these issues should be filed directly through Visual Studio to reach the WPF team.
/cc @JeremyLikness


react-app-polyfill not working with react-scripts versions >= 5.0.0 for IE11

Describe the bug
react-app-polyfill package doesn't work as intended with react-scripts versions => 5.0.0 for (at least) IE11.
Did you try recovering your dependencies?
No, I created a brand new app to test the reproducibility of this problem.
Which terms did you search for in User Guide?

ie
polyfill

Environment
Environment Info:

  current version of create-react-app: 5.0.1
  running from /<homeDir>/.npm/_npx/52654/lib/node_modules/create-react-app

  System:
    OS: macOS 12.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Binaries:
    Node: 14.19.1 - ~/.nvm/versions/node/v14.19.1/bin/node
    Yarn: 1.22.18 - /usr/local/bin/yarn
    npm: 6.14.16 - ~/.nvm/versions/node/v14.19.1/bin/npm
  Browsers:
    Chrome: 100.0.4896.127
    Edge: Not Found
    Firefox: 99.0.1
    Safari: 15.2
  npmPackages:
    react: ^18.0.0 => 18.0.0
    react-dom: ^18.0.0 => 18.0.0
    react-scripts: 5.0.1 => 5.0.1
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce
Note: I used typescript template but it probably doesn't have an effect.

Use create-react-app to create a brand new project.
Install react-app-polyfill package version 3.0.0.
Add IE 11 to your browserslist development list in the package.json file.
Add the following two lines of code to rows 1 & 2 to your src/index.tsx (following the README).

import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';

Run the app and open it with IE11

Expected behavior
Built code would run on IE11.
Actual behavior
The app breaks with IE11.
Error copied from console:
Object doesn't support property or method 'endsWith'

Reproducible demo
https://github.com/tomaskukk/react-app-polyfill-bug

Add this line in index.html - temp fix,
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
For permanent fix,
if (!String.prototype.endsWith) {
  String.prototype.endsWith = function(searchString, position) {
      var subjectString = this.toString();
      if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
        position = subjectString.length;
      }
      position -= searchString.length;
      var lastIndex = subjectString.indexOf(searchString, position);
      return lastIndex !== -1 && lastIndex === position;
  };
}

The problem was with webpack-dev-server instead. Upgrading that dependency to 4.9.0 solved the issue.


Zafira login error

Hi all. I want to login to Zafira by default login and password (login = admin,password=changeit) but it shows me the message "Invalid credentials"

@HaykHarutyunyan, please collect zafira docker logs and attach to the ticket.
Also log for postgres container could be useful as well as operation system type you use.

closing as of no reply


Use BeaconDB as default instead of MLS

Should I also remove the MLS depreciation warning, or just modify it?:

fixes https://github.com/mjaakko/NeoStumbler/issues/189

I'm planning on doing this as discussed in here: https://github.com/mjaakko/NeoStumbler/issues/189#issuecomment-2283043476
Forcing the user to choose the endpoint before sending any data has the advantages that:

the user understands where their data is sent and can review relevant terms of use etc.
NeoStumbler won't be tightly coupled with a single service (relevant with #79 and #124)

At least there would have to be a warning if the default endpoint was changed

I'm planning on doing this as discussed in here: #189 (comment)

ah ok :+1:


[BUG] Fixer makes template un-usable in Angular inline Templates

Describe the bug
The fixer alters the template, removes the quotation mark on the left hand side, and adds an extra character on the right hand side:
From this:
@Component({
  selector: 'app-device',
  standalone: true,
  imports: [CommonModule, RouterModule],
  template: `<div class="min-h-screen flex"><router-outlet></router-outlet></div>`,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DeviceComponent {}

To This:
@Component({
  selector: 'app-device',
  standalone: true,
  imports: [CommonModule, RouterModule],
  template: `<div class=flex min-h-screenx"><router-outlet></router-outlet></div>`,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DeviceComponent {}

To Reproduce
Steps to reproduce the behavior:

Create an Angular application
Use inline templates
Run the auto-fixer in VSCode

Expected behavior
Fixer should work as expected
Environment (please complete the following information):

OS: Windows 10
VSCode

Additional context
Add any other context about the problem here.
eslint config file or live demo

@dolanmiu I tried reproducing this but on my test project the value of template inside @Component does not get parsed by eslint-plugin-tailwindcss.
Would you mind create and share a repo demonstrating the issue ?
Thanks

@francoismassart sorry about the late response, here is the repo with the bug reproduced
https://github.com/dolanmiu/eslint-plugin-tailwind-classname-order-bug
Run the usual commands to get started:
$ npm install
$ npm run lint

Then try the fixer on VS Code.

The range extracted from the node:
start: node.valueSpan.fullStart.offset
end: node.valueSpan.end.offset
is incorrect but is works on existing test also using @angular-eslint/template-parser see https://github.com/francoismassart/eslint-plugin-tailwindcss/blob/master/tests/lib/rules/migration-from-tailwind-2.js#L239
Patching the offset would make the existing test fail.
So, I must find out why the generated range is incorrect... WIP

Not sure but may be related to this ? https://github.com/jerone/eslint-plugin-angular-template-consistent-this/commit/fb7c29c73c3f952fece51a43ef34bcf577ab3184#diff-da10bcc7d8dff796f50c9358a7268eb5abd2c50f460aecc4b2be1c691a966224R88-R118

Where you able to clone my repo and reproduce it on your side though?
What about compensating for the offset? lol

@dolanmiu I need to find out what is causing the offset but what I could try as a workaround is to add an rangeOffsetsetting which would allow you to manually fix the issue via a change in the configuration until we find out the cause of this.

Notice, on the GIF I posted, the squiggly yellow underline is in the wrong place too. Is it all related?

I can see it on your GIF but on my demo repo I got it underlined at the correct range:

@dolanmiu there is something funky in your demo repo around the eslint config.
When I try to override some settings for specific files like so (simplified):
{
  "root": true,
  "ignorePatterns": ["projects/**/*"],
  "extends": [
    "plugin:tailwindcss/recommended"
  ],
  "overrides": [
    {
      "files": ["*.ts"],
      "rules": {
        "tailwindcss/classnames-order": [
          "warn",
          {
            "rangeOffset": 1
          }
        ]
      }
    },
    {
      "files": ["*.html"],
      "rules": {
        "quotes": ["warn", "double"],
        "tailwindcss/classnames-order": [
          "error",
          {
            "rangeOffset": 0
          }
        ]
      }
    }
  ]
}

The last value of rangeOffset also apply on *.ts files...

Normal behaviour would be like so
eslintrc

results

I believe this is a side effect of using process-inline-templates

I have no way of determining if the parsed code is within an inline template
The workaround using an extra setting rangeOffset cannot be used as only the last declared options are remaining (see also next point)
I believe this issue is not on our side but may be an incorrect location sent by the parser due to using process-inline-templates

Can't do it 🤭

Ok, I have created an issue over there:
https://github.com/angular-eslint/angular-eslint/issues/1319
Let's hope for the best


Problem of getting Gatt Service

Hi everyone! I have a problem with getting Gatt-service through getServices() method. I don't see needed UUID of service, but I see it on method getServiceData(). Is it a bug, or may be I do something wrong?

Do you use enableServicesResolvedNotifications callback? Service resolving takes some time.


MGDOBR-483: move dev env to sso.redhat.com

MGDOBR-483
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[ ] Check if code and Github action workflows have been modified and if the modification is safe
[ ] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

Hi @robpblake @kostola @lucamolteni @jomarko @manstis are you happy with the changes in the pipelines and the documentation?

I don't use /kustomize/startMinikubeDeployLocalDev.sh running both /dev/bin/manager-start.sh and /dev/bin/shard-start.sh locally. Will that use SSO too?

Every local setup will use the local keycloak instance. Only dev and stable will use sso.redhat.com


Docker Image Size improvement

Reduction in docker image size.

Thank you for the PR, but the improvement is minimal and the project itself is no longer maintained. Therefore I am closing it, sorry.


Elastodyn Theory guide

Hi,
I am wondering if the latest Elastodyn theory/user manual is available yet? I found some details related to Elastodyn in Fast v6 manual, but was looking for more recent releases.
Thanks,
Tanmoy

Hi @tchatte3,
Perhaps @rafmudaf is working on something newer in readthedocs, but currently the user documentation of ElastoDyn exists in old FAST v6 User's Manual, with some updates to the input file parameters discussed in the FAST v8 ReadMe file.  For information on the theory basis of ElastoDyn, see the following topic on our forum: https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=424.
Best regards,

@jjonkman Thanks for pointing that out.
Best Regards.


[BUG] MidiService::GetInstalledTransportPlugins is not implemented

As per title

This is in Developer Preview 5

Reopening until we ship to customers


Question about toJson/toYaml

What is the question:
Running this code:
import { WorkflowConverter, workflowBuilder, injectstateBuilder, Specification } from '@severlessworkflow/sdk-typescript';

const workflow: Specification.Workflow = workflowBuilder()
  .id("helloworld")
  .version("1.0")
  .name("Hello World Workflow")
  .description("Inject Hello World")
  .start("Hello State")
  .states([
    injectstateBuilder()
      .name("Hello State")
      .data({
          "result": "Hello World!"
      })
      .end(true)
      .build()
  ])
  .build();

  const workflowAsYaml: string = WorkflowConverter.toYaml(workflow);

  console.log(workflowAsYaml);

the output is really cool and correct - no issues there
id: helloworld
version: '1.0'
name: Hello World Workflow
description: Inject Hello World
start: Hello State
states:
  - name: Hello State
    data:
      result: Hello World!
    end: true
    type: inject

I am just wondering if it's possible to spit out the state type right after the name and not have it last? like:
id: helloworld
version: '1.0'
name: Hello World Workflow
description: Inject Hello World
start: Hello State
states:
  - name: Hello State
    type: inject
    data:
      result: Hello World!
    end: true

Any pointers where this order can be changed please let me know I'd love to help fix this :)

sure, makes sense!!!

I'm sorry but I do not agree. I think this is very arbitrary and introduce additionnal code complexity. I don't really see how to achieve that in a clean and maintainable way.

Ohh I misunderstood the question.
anyway I think that if this is a requirement we have to cover it, I am pretty sure we can find an elegant workaround.
@tsurdilo I understand that the type field is mandatory, but if we create an object without type we will be creating an invalid object according to the json schema. This is, at least, how I see it. What do you think?

@antmendoza from my understanding, the question/request is to explicitly put the type property after name in the serialized JSON/YAML output. @tsurdilo did I get it right ?
Obviously, a missing type property would be invalid, which brings me to #102 but is not related with the current issue.

@antmendoza from my understanding, the question/request is to explicitly put the type property after name in the serialized JSON/YAML output. @tsurdilo did I get it right ?
Obviously, a missing type property would be invalid, which brings me to #102 but is not related with the current issue.

Ohhhh I misunderstood the question again, sorry guys.
I agree, it is complex to maintain.

ok :) thanks!


Screen too small

Is there a way to detect how many indicators fit on the screen such that some indicators can be filtered out to be not shown if they do not fit onto the screen?

If you can get a reasonable estimate of the size of an indicator, you can multiply that by the amount of indicators there are (this is given to you in showIndicator), and check if it fits in the vertical space you have available. Here's an example:
val estimatedIndicatorHeight = ... // Something reasonable based on your text size
                                   // or the height of an icon
fastScrollerView.addOnLayoutChangeListener { _, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom ->
  if (top == oldTop && bottom == oldBottom) {
    // Filter out scrolls
    return@addOnLayoutChangeListener
  }
  // If the screen is short and there are many items,
  // hide every other letter in the fast scroll
  val topIconIndicatorCount = itemIndicators
    .takeWhile { it is FastScrollItemIndicator.Icon }
    .count()
  showIndicator = { indicator: FastScrollItemIndicator, position, unfilteredCount ->
    val estimatedTotalHeight = unfilteredCount * estimatedIndicatorHeight
    when {
      estimatedTotalHeight < height -> true // Everything fits
      position % 2 == 1 -> false // Hide every other indicator
      else -> true
    }
  }
}

Nice, thank you! This worked for me.

Glad to hear it!


ISPN-13170 hibernate and spring guides

https://issues.redhat.com/browse/ISPN-13170
Needs backport to 12.1.x for community site (required for stable doc links)

@oraNod LGTM don

@oraNod link me to the backport when the merge is possible


geodesic distance (or euclidean distance)

Thank you for your great research with codes.
I have a question.
Does the mesh-AE model need to input indices based on geodesic distance in the test phase?
particles,reconstruction = model(data) # => model(data,idx)
Thank you.

Thanks for your interest in our work.
Yes, the indices need to be passed for the test phase as well.

Hello,
I will try to provide a detailed response along with the box bump dataset by the 19th.
I apologize for taking so long to reply.

Box bump generation code added to the repository.
You will need to install pyvista and shapeworks
However, if you can smooth the meshes with any other software, then shapeworks won't be required.

Thank you for your reply.
I will investigate and retry it, deeply.

Sorry, I’d like to get a better understanding of template mesh creation.
In the paper, "For Mesh2SSM template, we use 256 points uniformly spread across the surface... "
How did you create a template mesh? I will do that, is it correct? (But the output mesh is not with uniformly spread vertices, in my check.
import shapeworks as sw
sw_mesh = sw.Mesh(medoid_or_sphere_file_with_2000_vertices)
sw_mesh.remesh(numVertices=256, adaptivity=0.0)
sw_mesh.write(out_template_file)

If the shape is complex, the adaptivity might have to be tuned to get a better spread of particles.
Alternatively, you could open a few (two shapes should be good enough; you can repeat shapes) meshes in ShapeWorksStudio (drag and drop the shapes into Studio) -> skip grooming -> save project -> go to the optimization tab -> set optimizing iterations to zero -> set initialization iterations -> run optimize -> save project again.
The resulting particle files can be used for starting the template.

Thank you for your prompt reply.
I have never used Shapeworks (including studio and Python interface), so thank you for the useful information.
Sorry for an additional question, how did you get faces (vertices connectivity) from particles? (Off course, it might be possible to calculate the faces from the vertices in scratch, if that's possible, it might not be a problem.
Thank you.

Your template point cloud does not need the faces. The template point cloud is only the input to IM-Net.
Your input meshes, which are passed to the mesh autoencoder, have - vertices and edges.

Thank you for your prompt reply.
I understood. But I have some confuse.
Isn't it necessary to convert particles to mesh?
In Fig.1 ("Fig. 1. Top two PCA modes of variations identified ..."),
I can see colored points (as particles) and deformed yellow box-bump meshes.
A yellow box-bump shape was created from the particle placement, in my understanding, is it correct?
Thank you.

For the PCA modes, you can reconstruct the meshes using the particles.
You can use online tools to construct the meshes from the predicted particles or use ShapeWorks to analyze the generated model.
Added a code - generate_project.py, which you can use as a project file for ShapeWorks and open the project in Studio, which will automatically reconstruct the meshes and help you analyze the PCA modes in the analysis tab.

Thank you for your reply.
I understood to reconstruct meshes from the predicted particles using ShapeWorks.
I would like to deeply understand this code and shapeworks.
Thank you


Extending the Memory Network example to Multiple hops gives Error

Hi
I am trying to extend the babi_memnn example to accomodate multiple hops of a memory network.
It seems like just stacking layers would work but I am getting an error of dimension incompatibility.
Exception: Dimension incompatibility using dot mode: 68 != 64. Layer shapes: (None, 4, 68), (None, 4, 64)
while doing the operation:
match1.add(Merge([response0, question_encoder], mode='dot',dot_axes=[2, 2]))
But response0 is derived from layer of the same dimension as question_encoder. I am missing some detail here, but element-wise operations can't change dimensions, so why is this happening?
Dimensions of embedding layers are not consistent.
Here  is the gist. Thanks.

Hi I would like to know how you solve this problem to implement attention.


shuttle does not use change default profile with iterm2

I installed iterm2, then shuttle.
Happy to use them.
Recently I changed iterm2 default profile to solaried theme.
But when I open new terminal window with shuttle.
It still uses the original black profile, not my solarized one.

Hi @alexandnpu v1.2.5 now has an option to set the default theme. Make sure that your Profile solarized is the same spelling and syntax as you see in your iTerm preferences. iTerm themes are case sensitive. See the changes in readme.md for all the new options. Thanks!

@alexandnpu did you get this sorted out? Let me know if you need assistance.

@thshdw , after installing the v1.2.5, my problem solved. Thx.

Thanks for the update! :)


improvement: polish keyboard open and close animations

Summary
Ensures clean keyboard open and close animations on iOS and Android
...
Changelog
- Updates keyboard close/open animation transition speeds

Testing
Platforms

Desktop

[ ] MacOS
[ ] Linux
[ ] Windows

Mobile

[x] iOS
[x] Android

Checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or modified tests that prove my changes work as intended
[ ] I have verified that new and existing unit tests pass locally with my changes
[ ] I have verified that my latest changes pass CI workflows for testing and linting
[ ] I have made corresponding changes to the documentation

Tested on android and approved


Okio will clear the Thread interrupt status

I do not know whether the following question is a bug or not.
I am using Okhttp version 3.4.2.
I have this thread handling code like this.
public abstract class CustomThread<T> extends Thread {

  abstract T execute();
    abstract void onResult(T data);

    @Override
    public void run() {
        T object = null;
        try {
            if (!Thread.currentThread().isInterrupted()) {
                object = execute();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            if (!Thread.currentThread().isInterrupted()) {
                onResult(object);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

I want to call okhttp in abstract T execute () for network requests.
When I invoke CustomThread.interrupt () to interrupt the thread, Okhttp probability will call the following method.
/**
 * Throws an {@link InterruptedIOException} if the deadline has been reached or if the current
 * thread has been interrupted. This method doesn't detect timeouts; that should be implemented to
 * asynchronously abort an in-progress operation.
 */
public void throwIfReached() throws IOException {
    if (Thread.interrupted()) {
        throw new InterruptedIOException("thread interrupted");
    }

    if (hasDeadline && deadlineNanoTime - System.nanoTime() <= 0) {
        throw new InterruptedIOException("deadline reached");
    }
}

Thread.interrupted() will clear the Thread interrupt status. Resulting in CustomThread should not be invoked onResult (object); has been invoked
I would like to know is that your subsequent version can be changed to call Thread.currentThread (). IsInterrupted () to determine whether the thread interrupted?

From the Java documentation:

“By convention, any method that exits by throwing an InterruptedException clears interrupt status when it does so. However, it's always possible that interrupt status will immediately be set again, by another thread invoking interrupt.”

Hi.

By convention, any method that exits by throwing an InterruptedException clears interrupt status when it does so
But it does not throw InterruptedException, it throws InterruptedIOException, which extends IOException.
Also there's SocketTimeoutException (and anything else) which extends InterruptedIOException.
In result we are left in situation when thread-cancelation and socket-errors finish in same way.

Okio 1.x (Java): https://github.com/square/okio/pull/467
Okio 2.x (Kotlin): https://github.com/square/okio/pull/468

Fixed in the next Okio update.


docs(@angular-devkit/build-ng-packagr): Deprecation msg

Add deprecation message so that it shows up on https://www.npmjs.com/package/@angular-devkit/build-ng-packagr

This CI error will be fixed by https://github.com/angular/angular-cli/pull/19009


word-level timestamps?

Hi - thanks for making this. I was trying to get word-level timestamps, but haven't been able to figure out how to. Any tips? Thanks again!

Hi @antiboredom,
You are welcome :) 'Glad you found it useful.
To achieve word-level timestamps, you will need to enable token_timestamps and set max_len to 1, like the following:
from pywhispercpp.model import Model

model = Model('base.en', n_threads=6)
words = model.transcribe('file.mp3', token_timestamps=True, max_len=1)
for word in words:
    print(word.text)

Thank you! not sure why I was having trouble sorting that out myself!!
One more thing, and I'm not sure if this is just a whisper thing or related to your project, but I'm seeing one longer word being broken up. In my test case, "Enormous" is becoming "En", "orm", "ous". Any ideas why that might be happening?

it's a bit tricky to figure it out, as it is not an exact word-level timestamp per say, in fact you can set the max_len to whatever number of chars you want, so when you set max_len to 1, every token will be in its own line, and it will give similar results to a word-level timestamps.
And I think this is the problem with your test case, it seems like "Enormous" is tokenized into 3 tokens, and you get every token by its own. Although, I've never get such a case!
Can you try for example to change the max_len to 8 for example ?

Interesting! When I try max_len set to 8, I get "Enorm" and "ous", and then occasionally multiple words like "and if" appearing on the same line... I have also tried faster-whisper which does work as expected for word-level timestamps, but is significantly slower than your implementation...

You still get two separate words from "Enormous" even after max_len set to 8, interesting test case!
Could you please share the audio file with me, I would like to test it on my end ?
Yes Faster-whisper is great and should give you good results and it should be as fast as well, at least when I test it a while ago! But I didn't compare the performance of the two implementations to be honest.

@dkakaie, I couldn't reproduce the issue with my test files at that time, but yes, you're probably right.
The split_on_word  can be used as a parameter in the transcribe function as well.
Thanks @dkakaie for pointing that out!


Add view.addOnAttachStateChangeListener to ModelViewer constructor to…

… support using ModelViewer within RecyclerView
Issue: https://github.com/google/filament/issues/4724
example of using the custom addOnAttachStateChangeListener:
    modelViewer = ModelViewer(surfaceView, engine, object : android.view.View.OnAttachStateChangeListener {
        override fun onViewAttachedToWindow(v: android.view.View?) {}
        override fun onViewDetachedFromWindow(v: android.view.View?) {
            modelViewer.destroyResource()
            // avoid call engine.destroy() to prevent crash
        }
    })

Thanks for the contribution but please see my comments in the issue. This is not the right way to fix it. ModelViewer is not properly designed for this use case. Destroying resources and the engine on detach is going to be incredibly expensive. I've linked to an example of how to do this right in the issue, please take inspiration from it. This change also exposes internals (destroyEngine, etc.) that could easily be misused and lead to issues.

Hey @romainguy. Thank you so much for your quick review and providing feedback.

Could I understand that you suggest creating our own ModelViewer to share the Engine and various other resources between multiple Views? with names such as 'singleEngineModelViewer' or something like that.
Is it okay for me to create the new 'xxModelViewer' class under google/android/utils/ folder, making it shareable?


Add support for fallback factories in feign client annotation. Fixes …

…issue #1117.1

Current coverage is 73.88% (diff: 100%)

Merging #1373 into master will increase coverage by 0.14%

@@             master      #1373   diff @@
==========================================
  Files           184        184
  Lines          5649       5668    +19
  Methods           0          0
  Messages          0          0
  Branches        858        861     +3
==========================================
+ Hits           4166       4188    +22
+ Misses         1182       1180     -2
+ Partials        301        300     -1

Powered by Codecov. Last update be6f263...4140d98


opendht: 3.1.4 -> 3.1.9

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/savoirfairelinux/opendht/releases.
meta.description for opendht is: A C++11 Kademlia distributed hash table implementation
meta.homepage for opendht is: https://github.com/savoirfairelinux/opendht
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.1.6 with grep in /nix/store/rrx7sazprxn0lhibnryr9av7fakiiahj-opendht-3.1.6
found 3.1.6 in filename of file in /nix/store/rrx7sazprxn0lhibnryr9av7fakiiahj-opendht-3.1.6

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
jami
opendht

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rrx7sazprxn0lhibnryr9av7fakiiahj-opendht-3.1.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opendht https://github.com/r-ryantm/nixpkgs/archive/487a2004e664d723df965d76b5c673f188143168.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/487a2004e664d723df965d76b5c673f188143168#opendht

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/rrx7sazprxn0lhibnryr9av7fakiiahj-opendht-3.1.6
ls -la /nix/store/rrx7sazprxn0lhibnryr9av7fakiiahj-opendht-3.1.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

jami

1 package built:

opendht

Maintainer pings
cc @Radvendii @olynch @thoughtpolice for testing.

@ofborg build jami

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/savoirfairelinux/opendht/releases.
meta.description for opendht is: A C++11 Kademlia distributed hash table implementation
meta.homepage for opendht is: https://github.com/savoirfairelinux/opendht
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.1.7 with grep in /nix/store/54a8w5v81n2x5rz3mq1zbks27az3998w-opendht-3.1.7
found 3.1.7 in filename of file in /nix/store/54a8w5v81n2x5rz3mq1zbks27az3998w-opendht-3.1.7

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
jami
opendht

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/54a8w5v81n2x5rz3mq1zbks27az3998w-opendht-3.1.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opendht https://github.com/r-ryantm/nixpkgs/archive/c265aac2e4eda8b3147f2f1ee7018f84ba2904ec.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c265aac2e4eda8b3147f2f1ee7018f84ba2904ec#opendht

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/54a8w5v81n2x5rz3mq1zbks27az3998w-opendht-3.1.7
ls -la /nix/store/54a8w5v81n2x5rz3mq1zbks27az3998w-opendht-3.1.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

jami

1 package built:

opendht

Maintainer pings
cc @Radvendii @olynch @thoughtpolice for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/opendht/versions.
meta.description for opendht is: A C++11 Kademlia distributed hash table implementation
meta.homepage for opendht is: https://github.com/savoirfairelinux/opendht
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.1.9 with grep in /nix/store/75hp800alal53fx0p6z035nrfpqwz2v2-opendht-3.1.9
found 3.1.9 in filename of file in /nix/store/75hp800alal53fx0p6z035nrfpqwz2v2-opendht-3.1.9

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
jami
opendht

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/75hp800alal53fx0p6z035nrfpqwz2v2-opendht-3.1.9 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opendht https://github.com/r-ryantm/nixpkgs/archive/0963f406d7c0db117fdcb9d3997e72c416855135.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0963f406d7c0db117fdcb9d3997e72c416855135#opendht

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/75hp800alal53fx0p6z035nrfpqwz2v2-opendht-3.1.9
ls -la /nix/store/75hp800alal53fx0p6z035nrfpqwz2v2-opendht-3.1.9/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package failed to build:

jami

4 packages built:

opendht
opendht.dev
opendht.lib
opendht.man

Maintainer pings
cc @Radvendii @olynch @thoughtpolice for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/savoirfairelinux/opendht/releases.
meta.description for opendht is: A C++11 Kademlia distributed hash table implementation
meta.homepage for opendht is: https://github.com/savoirfairelinux/opendht
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.1.11 with grep in /nix/store/v8a5yznp8mrdjwln56y0bbjl8q91np49-opendht-3.1.11
found 3.1.11 in filename of file in /nix/store/v8a5yznp8mrdjwln56y0bbjl8q91np49-opendht-3.1.11

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
jami
opendht

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/v8a5yznp8mrdjwln56y0bbjl8q91np49-opendht-3.1.11 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opendht https://github.com/r-ryantm/nixpkgs/archive/bdea0477bea4a29fb5cc7298f6984c23195be736.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bdea0477bea4a29fb5cc7298f6984c23195be736#opendht

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v8a5yznp8mrdjwln56y0bbjl8q91np49-opendht-3.1.11
ls -la /nix/store/v8a5yznp8mrdjwln56y0bbjl8q91np49-opendht-3.1.11/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package failed to build:

jami

4 packages built:

opendht
opendht.dev
opendht.lib
opendht.man

Maintainer pings
cc @Radvendii @olynch @thoughtpolice for testing.

Was updated in #305983, closing this.


Add Ambrose Matata card info

PR MERGED! Thanks for contributing.

Thank you so much. I intent to increase my contribution. I will look out for any issues I can help to resolve.


Problem

I have errors in Netbeans and Eclipse too ( i prefer switch to android studio ) need video describe how to import project and run it ..

What errors are you getting?
To import project in Netbeans follow these steps-

Download as zip
Extract the folder
You can import zip folder in Netbeans so you'll have to create RemoteControlPC-Desktop.zip and RemoteControlPC-Libraries.zip from the extracted folder
First import  RemoteControlPC-Libraries.zip and then RemoteControlPC-Desktop.zip.
To import click on File -> import -> import from zip (choose source zip folder and destination)
After importing RemoteControlPC-Libraries followed by RemoteControlPC-Desktop, clean and build.

If you still get problems, I'll upload video.

You will have to import android part of this project into eclipse. Follow this link to import http://agile.csc.ncsu.edu/SEMaterials/tutorials/import_export/ . If you want to switch to Android-studio, you will have to manually create all classes in android studio project.
If you still get any specific error while importing into eclipse, you can reopen the issue.

Sorry. You can import eclipse project in android-studio. Earlier I didn't know this.


Some code assumes that a critical-section impl is available

While critical-section is a non-optional dependency of rp2040-hal, it's not sufficient to make critical sections work: There also needs to be an implementation of critical sections, which can be provided by activating the non-default feature critical-section-impl.
We don't want to make it a default feature, because users might want to provide their own implementation, and disabling a default feature of a crate that might be a transitive dependency of several other crates in the dependency tree is difficult.
But if it is not enabled, and some code uses a critical section, compilation fails with an ugly error message:
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/jan/bin:/home/jan/.local/bin:/home/jan/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "rust-lld" "-flavor" "gnu" "/tmp/rustckO5ixS/symbols.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.116l1o6y0ws3ikmf.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.1240kkeaiaeptb8m.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.1olbm9dtehzbfoiv.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.1vc85p8ilhvfb0u7.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.21ffakp0r6ft9tm8.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.2mg28lqvzv0qh0nk.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.2vsr8w0m5nchtsub.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.32yemg19tcj3me2s.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.3mpgq02128zj6oly.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.3q1goxu254lbnh2x.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.4b9hxgqas1lz440o.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.4i0a6t0pf0uquejs.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.4t03c1lkizmhxq3e.rcgu.o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.5fp7o7t4eqye4fw1.rcgu.o" "--as-needed" "-L" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps" "-L" "/home/jan/rp2040/rp-rs/rp-hal/target/debug/deps" "-L" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/build/cortex-m-1733cefd90abcc73/out" "-L" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/build/cortex-m-rt-411ac116f3d48a1d/out" "-L" "/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/thumbv6m-none-eabi/lib" "-Bstatic" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/librp2040_boot2-1dcd76b2f3b687bf.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libcortex_m_rt-7323e21c59b549c4.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/librp2040_hal-f241d53391970955.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libitertools-c0c4dd7e1a6ae53d.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libeither-5f353ddb08b04ce2.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/librand_core-80ff9e69f1776a52.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libusb_device-8affccd8628e8390.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libpio-8e8e8174efaeea39.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libnum_enum-c95269096d8017e3.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libarrayvec-d76fd001016d3893.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libfrunk-de8e896049a8c9e2.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libfrunk_core-de6212ab72d321ec.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libembedded_dma-06539f764c356729.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libstable_deref_trait-f85ab0c686f2fe7a.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libfugit-e35ab124d9d7d056.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libgcd-c667f223a468aba8.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/librp2040_pac-22d363654603e777.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libcritical_section-482151d4038dcca5.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libcortex_m-627803f227186cb6.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libembedded_hal-11c3172128a46aa2.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libvoid-e51547c64fc39745.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libnb-b1059bdd4d907b32.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libnb-33b419822c7362b3.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libvolatile_register-ffde6850c2afd136.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libvcell-a3bc3c8374a67c41.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libbare_metal-07b37e8bdc532b16.rlib" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/libpanic_halt-166dfbacac86322d.rlib" "/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/thumbv6m-none-eabi/lib/librustc_std_workspace_core-1c99b3969922bd66.rlib" "/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/thumbv6m-none-eabi/lib/libcore-0a902ab4b6bc6124.rlib" "/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/thumbv6m-none-eabi/lib/libcompiler_builtins-3215823e2eb3c8fe.rlib" "-Bdynamic" "--eh-frame-hdr" "-z" "noexecstack" "-L" "/home/jan/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/lib/rustlib/thumbv6m-none-eabi/lib" "-o" "/home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7" "--gc-sections" "--nmagic" "-Tlink.x"
  = note: rust-lld: warning: section type mismatch for .got
          >>> <internal>:(.got): SHT_PROGBITS
          >>> output section .got: SHT_NOBITS

          rust-lld: warning: section type mismatch for .got.plt
          >>> <internal>:(.got.plt): SHT_PROGBITS
          >>> output section .got: SHT_NOBITS

          rust-lld: warning: section type mismatch for .got
          >>> <internal>:(.got): SHT_PROGBITS
          >>> output section .got: SHT_NOBITS

          rust-lld: error: undefined symbol: _critical_section_1_0_acquire
          >>> referenced by lib.rs:180 (/home/jan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/critical-section-1.1.1/src/lib.rs:180)
          >>>               /home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/examples/blinky-32c74e077a2f6cd7.4b9hxgqas1lz440o.rcgu.o:(critical_section::with::h0ba4113ae293ccae)

          rust-lld: error: undefined symbol: _critical_section_1_0_release
          >>> referenced by lib.rs:197 (/home/jan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/critical-section-1.1.1/src/lib.rs:197)
          >>>               rp2040_hal-f241d53391970955.zs3dbzwwlghqwft.rcgu.o:(core::ptr::drop_in_place$LT$critical_section..with..Guard$GT$::h13e5e4c1260f7cc9) in archive /home/jan/rp2040/rp-rs/rp-hal/target/thumbv6m-none-eabi/debug/deps/librp2040_hal-f241d53391970955.rlib

error: could not compile `rp2040-hal` (example "blinky") due to previous error

From this error message, it's not obvious how to solve the issue.
This is mitigated a bit by the fact that we do activate critical-section-impl from the BSP crates. (See https://github.com/rp-rs/rp-hal/pull/444 for details.)
Still, it would be nice if we could improve that error message, avoid the situation altogether, or at least describe the requirement to activate critical-section-impl (or provide an alternative implementation) in the docs.

This could be worked around by making the example explicitly require the feature to be enabled:
https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-required-features-field
The down side is that one would still need to pass it to the command line. At least it makes the error caught earlier and leaves a much less cryptic error message.

For the examples, that's exactly what I did in https://github.com/jannic/rp-hal/commit/3d17af0852fe944fa8ba3a16e4d457f8ed759800 (I will send a PR once the PAC update is released)
However it doesn't help users who write their own firmware based on rp2040-hal without using a BSP. They still need to remember to activate critical-section-impl (or some alternative).

We can probably do something similar to what IIRC defmt does with a symbol in linker file that's attempted to be linked if there's something missing

I had the following idea, which unfortunately didn't work:

always reserve Spinlock31 for critical-section-impl, independent of the feature flag
if the feature flag isn't set, instead of calling critical_section::set_impl!(RpSpinlockCs);, implement the two acquire/release symbols manually, but

don't call them _critical_section_1_0_acquire / _critical_section_1_0_release, but give them some distinct name
that way, they don't collide if some other crate registers a critical-section impl

add something like PROVIDE(_critical_section_1_0_acquire =_critical_section_1_0_acquire_rp2040_default ) (and the same for release) to the linker script, to make the symbol known under the canonical name

"The PROVIDE keyword may be used to define a symbol, such as ‘etext’, only if it is referenced but not defined."
This seems to be exactly what we need. Didn't try it though, because my plan broke down at an earlier point

So why didn't this work? Well, besides defining the two symbols, one also needs to tell critical-section about the type of the restore state, which can vary between 0 and 64 bit (() — u64). This is done by activating some feature flags on critical-section, and decides which return type _critical_section_1_0_acquire has and which parameter type _critical_section_1_0_release expects. If no value is selected, critical-section defaults to (), which is not what we need.
But we also can't just set the feature flag, because that may collide with a custom impl which needs a different restore state.


Update to latest CoffeeNet parent version 0.29.0

New CoffeeNet parent version 0.29.0 was released! Please check https://github.com/coffeenet/coffeenet-starter/blob/master/CHANGELOG.md for more information

Pull Request Test Coverage Report for Build 26

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

Totals

Change from base Build 25:
0.0%

Covered Lines:
17

Relevant Lines:
23

💛  - Coveralls


Add wait timeout during docker compose up

Description
Sometimes docker times out before integration test is ready to run. This change waits till all services are up and healthy before starting running integration tests
Type of change
Please select all options that apply to this change:

[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Documentation update

Checklist:
Confirm you have completed the following steps:

[x] My code follows the style of this project.
[x] I have performed a self-review of my code.
[ ] I have made corresponding updates to the documentation.
[ ] I have added/updated unit tests to cover my changes.
[ ] I have added/updated integration tests to cover my changes.

Hi @abhishek Patro,
Getting below Error while running using Docker Compose, Where we have to keep the ServerCert & ServerKey Files ??
panic: open /etc/tesla/certs/server/vehicle_device.app.cert: no such file or directory
fleet-telemetry-app-1 |
fleet-telemetry-app-1 | goroutine 1 [running]:
fleet-telemetry-app-1 | main.main()
fleet-telemetry-app-1 | /go/src/fleet-telemetry/cmd/main.go:38 +0x50

Hi @abhishek Patro,
Getting below Error while running using Docker Compose, Where we have to keep the ServerCert & ServerKey Files ??
panic: open /etc/tesla/certs/server/vehicle_device.app.cert: no such file or directory fleet-telemetry-app-1 | fleet-telemetry-app-1 | goroutine 1 [running]: fleet-telemetry-app-1 | main.main() fleet-telemetry-app-1 | /go/src/fleet-telemetry/cmd/main.go:38 +0x50

Hi Nitish
Right now we are working on ramping up official support for this project so unfortunately we cannot do offline collaboration at the moment. Its preferred to open a github issue to get more visibility about the problems you are encountering when setting up the service than posting on this PR. This will enable getting help from other contributors of the project. Looking at the logs you posted, I have few observations:-

We use docker compose file for our integration tests. It is not recommended to use it for production deployments. For production deployments, see this section
If you were trying to run it for local developments, use make integration to run the docker-compose file. It ensures that test certs are generated before running the integration test

Hope this helps


delete SSM stored parameter

Issue #, if available:
Description of changes:

added directions for users to manually delete the SSM stored parameter
checked in new VPC CloudFormation that automatically deletes the SSM stored parameter

However we will NOT use the new VPC CloudFormation until after the Friday webinar.  After that I will probably remove the manual directions
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

You wanted me to review but this is merged?


bridge losing connection to wallet & wallet not connecting

What version of Wallet are you using?
Version: 0.16.1
What is happening?
The video below shows what's happening.
https://github.com/FuelLabs/fuels-wallet/assets/114662397/f5c5d77e-3a81-4d11-a2e3-5064c4538873
steps to reproduce
See video above
How it should behave?

The bridge should not lose access to the accounts
The bridge should always connect to the wallet when I'm clicking on it
The wallet should indicate which accounts are connected to the bridge and which are not
The wallet should always make clear that the user is trying to use an account that is not connected to the bridge

Checking industry standard wallets, Metamask always defaults to the active wallet when connecting.

Metamask always warns the user if they're not connected to an account.

The whole discussion between @helciofranco and me can be found on Slack here https://fuellabs.slack.com/archives/C04MA809YC9/p1711446576391309
What os are you seeing the problem on?
Mac/Apple Desktop
What browser?
Chrome
What is your browser version?
Version 123.0.6312.59 (Official Build) (x86_64)

related to https://github.com/FuelLabs/fuels-npm-packs/issues/65


Update Design System team page

You can preview this change here:
Built with commit 49ca23d3c422b5654a0b49675b47dd2703cc84a7
https://deploy-preview-1391--govuk-design-system-preview.netlify.app


forgot some parallel_flag to parfor_flag replacements

@jsherfey @erik-roberts could you please take a look? in particular to dynasim.m


yarn install fails (every other)

ENOENT: no such file or directory, lstat '.../Documents/git/elmsln/company/factories/lrnwebcomponents/elements/hax-body-behaviors/node_modules/uglify-es'".

I've run into a similar issue before.
As a work around, I set up a custom task that calls rm -rf node_modules && yarn.

looking like it might have been related to a local dependency conflicting w/ the global. When I cleaned up the package.json of the offending element it went away


rustup toolchain list should only consider directories as toolchains

Was pretty surprised seeing .DS_Store as a toolchain since I don't remember installing it ;)
$ rustup toolchain list
nightly-x86_64-apple-darwin (default)
.DS_Store

Of course one can also trick rustup by making an empty directory in its toolchains directory, but I suppose this is by design
$ mkdir $RUSTUP_HOME/toolchains/foo_bar
$ rustup toolchain list
nightly-x86_64-apple-darwin (default)
.DS_Store
foo_bar

Haha yes. This should be an easy fix. Just change the code here to check is_directory.

@brson yep, already submitted a PR (#544)!


add exec

Hello，there! Can we enter the node through exec to view some information or execute some scripts ？ Thank you!

Hi
as a part of #841 and https://github.com/kubeshop/botkube/issues/675 you will be able to easily attach a ServiceAccount with a dedicated rule that will allow you to run exec on nodes, e.g.:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: default
  name: exec
rules:
- apiGroups: [""]
  resources: ["exec/exec"]
  verbs: ["create"]


BUG: .extractall() throws AssertionError if capture group length > 1

Code to replicate error:
import pandas as pd
s = pd.Series(["a13a23", "b13", "c13"], index=["A", "B", "C"])
s.str.extractall("[ab](\d\d)")

Note that the regex [ab](\d) from the documentation page works, whereas [ab](\d\d) above doesn't. It seems that any captured group with a length of > 1 causes this error.
Though playing with this a bit more, the following regex's all seem to work correctly without error:
([ab])(\d\d)
()[ab](\d+)
(a13)(\d\d)

I've reproduced the issue in both versions 0.18.0 and 0.18.1. I'll admit I've not checked against the master branch though.
Note: I posted this to the mailing list, but haven't had any responses - thus I assume this is a bug.
I'm unsure what the underlying cause is here (maybe it doesn't like the first regex character not being within a capture group?).

cc @tdhock
yeah this looks buggy. welcome to have you step thru and see where the error is / pull-request.

I've narrowed it down to the list comprehension on this line. When the tuple is of length 1, it separates out the string into individual chars, rather than iterating over the (single) tuple value(s).
>>> [x for x in ('ab', 'xy')]
['ab', 'xy']
>>> [x for x in ('ab')]
['a', 'b']

I suppose code can be added beforehand to check for this particular case (though checking the length has the same issue - both examples above are length 2), but is there a cleaner fix?

you can just make a list of the capture groups i think
In [9]: [ x for x in ('ab')]
Out[9]: ['a', 'b']

In [10]: [ x for x in ['ab']]
Out[10]: ['ab']