Experimental serial support for atmega 328p

Hi Zevero,
I have added serial support for atmega328p, and have made it an option in the Makefile. When enabled, the bootloader will first wait for serial, and if it detects serial flashing took place, mmc flashing will be skipped. The option is disabled if UART debugging is enabled, for obvious reasons.
I have also added a few compiler optimizations, they are not strictly necessary, I get a bootloader for 328p, with serial at 3992 bytes. But with the optimizations, size is reduced to 3696 bytes, which is almost an 8% saving.
PS: Sorry my commit history is a bit messy.
Regards,
Jadin

Wow!
Before pulling I think we should test.
I am concerned with FAT32 beeing disabled... I (and presumably others) use at least 4 GB SD-Cards. I have never tried switching off FAT32 support. But I suppose it won't work?

Good point with regards to fat32 and sd cards > 2gb. I just had a look again, compiling for both fat16 and fat32, produces a bootloader at 4142 bytes, just a few bytes too big. However, compiling with just fat32 support, 3922 bytes, and just fat16 3696 bytes.
I will test later tonight, but I doubt petitFat will read fat32 cards with fat32 disabled. For now, I'm going to leave my master as is, and have left fat32 as the default for now, since at least you can format smaller sd cards to fat32.
I will create another branch where I'm going to start disassembling and rewriting parts of stk500v1.c. We can save some bytes by using common uart and program flashing code.

Ok ... I did not realize that we can fit FAT32 only in 3922 (or I guess 3972 for atmega1284p).
Thats just perfect!
Is there anyone still using FAT16? It is getting difficult to buy SD-Cards with 2 GB or less...
I would be OK with only supporting FAT32.
@per1234 what do you think?

I recently did a some shopping on Aliexpress for cheap SD cards to use with Arduino so I don't chance messing up my nice ones and I saw that you can get the <1 GB SD cards for very cheap. Even 128 MB is probably more than anyone could need. On the other hand I noticed that usually they are available on multi-item listings and the lower capacity card options are sold out so they may just be added by the seller to have the listing show up higher in the "sort by price low to high" search results. I ended paying ~$2 more to get 4 GB cards that will useful for other purposes but I could definitely see cases where someone is just trying to keep the BOM cost as low as possible. I'm picturing something like a kit for an Arduino game console that includes multiple SD cards, each with a different game on it.
I think it would be ideal to support the widest range of cards but fitting serial upload support in a 4 kB boot section is probably more useful to the average user.
Could we add a configuration parameter to the makefile to make it easy to enable/disable FAT16 support? I can add a custom menu to the Arduino IDE's Tools menu to offer both options for people installing the bootloader that way.

This i great! This is exactly what i needed for my 1284p and 328p projects. Fat32 is all i would need. But i agree that options in the board menu would be the best route for the end user. I dont think fat16 would turn up often at all for most of us. Great work though. Ill test it out later on all my sd enabled projects. Just curious, is this working on 1284p yet?
Sent from BlueMailhttp://www.bluemail.me/r?b=9531
On May 1, 2017, at 3:03 AM, per1234 <notifications<EMAIL_ADDRESS>wrote:
I recently did a some shopping on Aliexpress for cheap SD cards to use with Arduino so I don't chance messing up my nice ones and I saw that you can get the <1 GB SD cards for very cheap. Even 128 MB is probably more than anyone could need. On the other hand I noticed that usually they are available on multi-item listings and the lower capacity card options are sold out so they may just be added by the seller to have the listing show up higher in the "sort by price low to high" search results. I ended paying ~$2 more to get 4 GB cards that will useful for other purposes but I could definitely see cases where someone is just trying to keep the BOM cost as low as possible. I'm picturing something like a kit for an Arduino game console that includes multiple SD cards, each with a different game on it.
I think it would be ideal to support the widest range of cards but fitting serial upload support in a 4 kB boot section is probably more useful to the average user.
Could we add a configuration parameter to the makefile to make it easy to enable/disable FAT16 support? I can add a custom menu to the Arduino IDE's Tools menu to offer both options for people installing the bootloader that way.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/zevero/avr_boot/pull/24#issuecomment-298313901, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APMzF-xSzFWmXlAAZ4F58ByAgMv-keeXks5r1a2tgaJpZM4NMs3H.

@zevero Actually, I was using fat16, but only because I had received 2gb sd cards with my ethernet shields. I don't think there are any obvious reasons to support fat16, other than we can support it. You are right, it's really hard to purchase small sd cards these days, I actually don't think I can buy 4gb cards locally anymore, the smallest I see are 8gb cards and they are super cheap, the equivalent of about 2 or 3 dollars.
@per1234 I can add an option to the makefile for fat16 support, no problem. Could you perhaps let me know what naming convention you want to use for the bootloaders with serial support, and with fat16/32 etc?
I assume something like what I used in my builds will suffice.
eg:
atmega328_cs4_16000000L_serial_fat32.hex
atmega328_cs4_16000000L_serial_fat16.hex
@SergeantSeven Unfortunately, I have only been able to compile successfully for 328p, I know the problem is that there is no definition for 1284p in stk500v1.c. Also, I don't have a 1284p to test on, so hopefully you can help out with this if you have time. Though, this will not even be a problem if we dismantle stk500 and use uart.h and the program flashing function in main.c. This will also reduce this size considerably, my guess is around 300 bytes minimum can be shaved by doing this, then there will be no need to have separate bootloaders for fat16/32 either.
I had a look at your fork, and it looks like this is the route you were taking, I think it's the right way to go, I just wanted to 'get serial working' by any means necessary as I had used avr_boot in a project, and it sucked having to remember which arduino's had avr_boot, and having to upload a firmware to sd card when I just wanted to try something out, or flash a stock bootloader.. At least now, it's a lot easier on 328p boards.

@zevero that's fine, pulling is up to you. Serial does compile for atmega128 as well, but I can't test that, but see no reason why it shouldn't work. Perhaps I can look into adding definitions for 1284p and 32u4 to stk500, then at least most of the atmega's supported by avr_boot will be supported with serial. I don't know how to get this working on a 2560 though.
I do want to take stk500 apart, and only keep what is needed, it's silly to have separate program flashing code in avr_boot and stk500, it might not even be that much work in the end.

We haven't managed to get avr_boot working for uploading from SD to ATmega2560 yet (see https://github.com/zevero/avr_boot/issues/4) so if you can't get serial working for ATmega2560 that won't limit the functionality of the bootloader as it is currently, though it would be great if we could add ATmega2560 support eventually.

Ah I see. Ok, I will have a look to see what I can do about 1284p support at the very least, any pointers that may help me? Also, I need to make a few purchases, I don't own a 1284p for testing, do you have any suggestions about what to get and where?
I just added a few builds for atmega128 and 328p, with serial and different cs pin and fat16/32 configs, please test them out if you get a chance. I am at work, so I can't right now, but they should work as long as I got the cs ports setup correctly..

@JadinAndrews
I have a board with a 1284p which I can test.
I have looked into stk500v1.c and spi_pins.h and I feel quite a bit intimidated.
If you happen to know how to set AVR_ATmega1284p I would beg you to give it a try, or at least some directions. Otherwise I fear it would take me quite some time for my guessing trial and error approach ...

I don't own a 1284p for testing, do you have any suggestions about what to get and where?

I've gotten by for years a homemade ATmega1284P on a stripboard setup and another one on a breadboard.
I recently got some of these "Minimum System Board":
https://www.aliexpress.com/item/ATMEGA16-ATmega32-ISP-Minimum-System-Board-AVR-Minimum-System-Development-Board/32729506217.html
To use for testing with ATmega1284P and other DIP-40 AVRs. The price is ridiculously low for a board with a ZIF socket. That one has holes to allow you to solder some resistors and LEDs. They are connected to PA6 and PA7. I actually hacked mine by adding a greenwire on the bottom and cutting a trace so there is one LED and a male pin so I can jumper any pin I want to the LED. I wish it had an FTDI header on it. I'm planning to make an adapter board I can plug onto them for that. It's kind of annoying to me that it has the 10 pin ICSP header because I usually use the 6 pin ISP programmer but it's only a couple bucks for a 10 pin USBasp so not a big deal. The crystal is socketed so you can easily test different clock speeds. There are a variety of versions of that "Minimum System Board"  all around the same price. I like the one at the link above because of the LEDs option and it's all through hole but there is another one that has standoff feet installed that was a close contender since I always add those to my boards.
I have one of these sweet ATmega1284P boards on the way to me now:
https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board/
This is made and sold by the guy who wrote MightyCore and a bunch of other really nice hardware packages for Arduino so it's cool that you can support his work and get some nice hardware at the same time.

@zevero I'm the author of spi_pins.h so I can probably answer any questions about that file. As for stk500v1.c, not so much...

Just a quick "I am a noob", I built for atmega128 by mistake, I meant to build for 168. 168 builds as well, but the 128 builds probably won't work because I used ports and boot start address for 168.. Will fix this later, but seems like at least serial should be working for at least 3 boards if there aren't other complications.
@per1234 Thank you for the links! I will definitely get a few of those minimum system boards with my next purchase.
I can't guarantee I can do anything for 1284p support without a unit to test, but I will do some research, and look through bootloaders that do support it.

My understanding is that adding serial upload support for ATmega32U4 will still not allow uploading as you would normally to an ATmega32U4 based Arduino such as Leonardo, Pro Micro, etc. as that is a completely different bootloader. What it will allow you to do is a standard "Uno" type of upload via a USB-serial chip attached to the USART pins, which could still be useful.
I know Optiboot supports ATmega1284P:
https://github.com/Optiboot/optiboot/tree/master/optiboot/bootloaders/optiboot
and also Ariadne. Here's the commit where support for ATmega1284P was added to that bootloader:
https://github.com/LoathingKernel/Ariadne-Bootloader/commit/10c5e7728d04ab03f020554c93106c7ffa984f8f

Thanks fr the info @per1234 Maybe, I should just look at dumping stk500v1.c, and dropping in optiboot. I noticed that's what they did in ariadne the tftp bootloader, will have a look when I get a chance.

I feel like a lot of the optimizations everyone is looking at doing here may have already been done in Optiboot. There may be more that can be done related to the extra SD code of avr_boot but it would certainly be a good start. Optiboot has traditionally not supported >128 kB flash such as ATmega2560, ATmega2561 but that limitation has been overcome:
https://github.com/Optiboot/optiboot/pull/190

I started down this path myself but quickly lost interest as I became overwhelmed. I only know so much about this kind of stuff. but I did start to try and dismantle the stk500 code. there are bits and pieces of it we could drop in and modify to work but the optimization part was trickier then I could handle. also, I was going to try and modify the serial parts to utilize avr_boots flashing mechanism. but could not figure out how to translate it from the way stk500 does it. maybe you can shed some light on that for me, once I get my head around that I can be of more help.

@SergeantSeven Here's what I found, stk500 calls a function write_flash_page() inside the function handle_write(). If you look at the definition of write_flash_page() in prog_flash.c, you will see that it is somewhat similar to the doFlash() definition in main.c. The big differences are how the pagebuffers are filled and the page compare stuff.
avr_boot fills the buffer with a call to pf_read (on line 124 of main.c) and stk500 fills it with a for loop on line 428 of stk500v1.c.
A good start would be to use the same pagebuffer for both functions, at least that will save some ram, but won't reduce the size much. The next step would be to modify one of the functions to handle filling the buffer, from either flash or sd. I think it is a good idea to keep the page compare stuff, for both serial and sd flashing, so might be a good idea to modify doFlash() to work with stk500v1.c.
All this said, I think it is better to focus on 1284p support, by switching to using optiboot instead of stk500v1.

So, I decided to try add definitions to stk500 for 1284, and it compiled. It should work for 1284p as well, I made a build with cs4, could one of you guys please flash and see if it works?
https://github.com/JadinAndrews/avr_boot/blob/master/build/atmega1284p_cs4_16000000L_serial_fat32.hex

It uses uart port 1, this can be changed in stk500v1.c. If the bootloader works on 1284p devices, I can add an option to the makefile to choose between the two available ports.

I have been able to do serial and SD card upload to ATmega1284P and ATmega328P using your bootloader file. Good work!
I must admit that even though you warned us I was a bit confused when AVRDUDE kept thinking my chip was an ATmega1284 instead of ATmega1284P. I forgot that the bootloader supplies the signature during serial uploads.
I was sidetracked by the uart port 1 comment, actually the bootloader works on port 0, not 1.

@per1234 I am really glad it worked, it was a bit of a shot in the dark, but I realized that the only thing that was missing from stk500 was the initialization of the usart port, and looking over some other bootloaders, I saw that the setup was the same as on atmega 128, and 1280. So literally all I did to get this working on 1284 was to add || defined (__AVR_ATmega1284__) in a few places in stk500. Have a look at the commit for yourself:https://github.com/JadinAndrews/avr_boot/commit/2e5f34a944d7f8f0306f55604837ec5a09c40d5d
It really was that easy..
Sorry about the confusion with regard to the port numbering, I forgot that the ports were zero indexed, this is actually also an error in stk500v1.c, where the ports are numbered from 1-4 for atmega1280. I'll fix this at some point and look at adding defs specifically for 1284p. It wouldn't compile for 1284p, and I didn't have time to figure out why. I literally threw this together during my coffee break.
So after a few small issues are fixed, I believe serial + sd is confirmed working for atmega328p and 1284p, and should be working on atmega128, atmega168, atmega1280 but I doubt there is much demand for those chips.

I can also test ATmega32A and ATmega32U4. ATmega32A is not so commonly used in the Arduino world but there is already good support for it in MightyCore and it's a great price for a DIP-40 microcontroller.
ATmega168 doesn't have 4 kB boot section option (2 kB max) so that one won't be possible to support without optimizing the code down a lot. I can test ATmega168 if the time comes when that is necessary.
Arduino used to make a "Mega 1280" so there are probably still some of those floating around. The Wiring 1.0 board was ATmega128 so there are probably some of those out there, maybe collectors items at this point. ATmega644 has been on multiple semi-popular boards.

Well as far as I know atmega1284 and atmega644 are almost identical, so that should be pretty easy to support. I believe the atmega644 has been used a lot in the 3d printing world? I'm sure they would love to have serial + sd support.
I am curious if my builds for the atmega328p will work on a atmega32u4 oratmega 32A? they seem pretty similar on paper, either way, supporting them would just be a matter of adding definitions as I did for the atmega1284. Unless they're wildly different.
Thanks for pointing out that this will not work on the atmega168, shaving this down to 2kB, seems pretty hard at this stage, but not impossible. I have some ideas to trim this bootloader down a bit, but I think that's a separate issue for now.
Thanks for testing my bootloader files, did you compile, or just use the ones in the build directory?

I agree that the focus of this pull request should be just adding serial upload support. Any optimizations that can be done after that are great but adding this feature in 4 kB is wonderful by itself. It's hard to believe that 2 kB could be shaved off but 2boots has shown it can be done and optiboot did manage to go from the 2 kB standard serial bootloader to 0.5 kB. Even if it's not possible to get to 2 kB, getting it smaller could allow FAT16 to be added back in with FAT32 or leave room for other new features.
I used the files you provided. I figured it was best that we all test with the same files to reduce the number of variables.

@per1234 I'm curious if the readme for avr_boot is incorrect, it says that avr_boot was tested successfully on ATmega168? How is that possible with its 2kB boot section? I am very curious to figure out how 2boots managed all this in 2kB. It does only support fat16, but the difference between fat16 and fat32 with petit fat is really not that massive. There must be more (or less) going on than meets the eye.
@zevero @SergeantSeven do you guys have a 644p to test on? I think that it would be nice to support that mcu with this pull as well, but I don't have one to test.

@zevero wrote that about the ATmega168:
https://github.com/zevero/avr_boot/commit/2f2cefac89c6872c7fd4c78fa1105ee03495e9d0
It would be great if I was wrong and it is possible to use with avr_boot. You can get ATmega168 Pro Minis for a little cheaper than the ATmega328P ones and some people even end up buying them by mistake because the sellers use misleading titles on their listings so that is a pretty common part.
If nobody else has an ATmega644P I'd be willing to buy one. I've been meaning to put one on my next Digikey order but haven't recently needed to buy enough components at one time to make one economical. Surprisingly Aliexpress and eBay don't have the usual super low prices on these parts in the DIP-40 package..

I'll also be making a few purchases, but in most cases shipping takes about a month or two to South Africa from abroad.

I do not have a 644P right now. but I will be testing it extensively on my 1284P projects. I'm very happy about this development, great work! and thank you for doing what I started to do but got confused on. lol. As far as optimizations go, trimming this down in size would also be great so that I could add in some features that I need such as version checking and a couple other things. I'll look forward to that branch.

I have a couple ATmega644P on their way to me from Digikey.

@SergeantSeven thanks, let us know if it works or if you find some bug in some corner case.
@per1234 That's perfect! I had a look at some local suppliers and they had 644p's and 1284p's at about the same price as Aliexpress and Ebay. Really surprising, but I guess I will get some as well.
By the way, I've started working on my own bootloader in the meantime, and found this resource very helpful:
http://www.avrfreaks.net/sites/default/files/bootloader_faq.pdf

@JadinAndrews the ATmega644Ps arrived today so I'm ready to do testing whenever you are.

@per1234 That was fast.. Glad you received it, I'm still waiting for my orders. I have added a build for Atmega644P, and included the makefile I used, so you can double check the ports I used for the CS pin. I used the same port settings as for the Atmega1284P build.
Let me know if it works!

Yeah, the price with shipping was $0.60 USD/ea more but I figured in this case it would be better not to deal with shipping delay of as much as 2 months sometimes. There's also that extra feeling of confidence of getting parts from a trusted supplier. I really haven't had many problems with the super cheap Chinese parts but I'm always a bit suspicious of them.
Once I corrected the BOOT_ADR value and rebuilt the bootloader I was able to upload over serial and SD card to the ATmega644P.

Thank you for pointing that out, may I ask how you get that boot adr? I used the default value from here:
http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega644p
Will make the correction now.
Apart from the usual, colors not being as in the picture, or receiving the wrong part, I've also mostly had a good experience ordering from China, the worst issue I had was mislabeled RX/TX pins on some controller. Simple fix, but it took me an hour to check everything else.

You look up the boot start address for the 2048 words boot flash section, which is 0x7800, but that address is in words and we need bytes so to convert you multiply it by two bytes per word, which comes out to be 0xF000. There's also a "Boot size configuration" table in the datasheets, which lists it (also in words) in the "Boot reset address (start bootloader section)" column but I do usually use that fuse calculator because it makes it easy to get the fuse values at the same time.
I got a Chinese Pro Mini or Micro with those pins mislabeled also, definitely confused me for a while.

Thanks for clearing that up, I made that change and rebuilt for Atmega644p. The commit is before your comment, because I was working in a vm and the clock wasn't synchronized. I need to be careful of that.
I think we are almost ready to pull,  I just want to get the signature issue sorted out for Atmega1284p and test a bit more. Are you happy with the way


version issue in package.json

https://github.com/microsoft/mixed-reality-extension-sdk/blob/red/packages/sdk/package.json
the mixed-reality-extension-common is requiring 0.16 but only 0.1.0 exists

That package hasn't been published yet. The link above is referencing the red branch. This branch is where we do development. When we make a release, we merge red to master, then publish from master. The common package will be released in 0.17.
If I knew more about why you're referencing the red branch, I might be able to help further.

When you go the website, it's defaulted to the red branch. When you clone, you start out on the red branch. Not sure why. Perhaps the default branch setting in github for the repository is set to red?

That's correct, our default branch is set to red. This is because all PRs should target red. Anyone interested in making a change to the SDK should target the red branch. Having red as the default makes it less likely someone will develop and open a PR against master.
There are a few reasons you might want to work from SDK source rather than use the npm package:
1/ You are interested in making changes to the SDK.
2/ You want access to a feature that isn't released yet.
For these scenarios, it makes sense to clone the repo and have your project reference the local copy. The npm link command is convenient for setting up this local dependency. Is this what you're doing?

The common package has been updated.


Minor type related fixes/additions to Floor function

Just a few minor additions needed in the Floor function to make it correctly compatible across different numeric types. More or less following the additional suggestions provided in #898.
There was also some duplicate code related to the ceiling function - just removed the duplicate part.
Resolves #927

Coverage decreased (-0.07%) to 75.692% when pulling 3c2326c66b41b864218bc599a28f4e8f68c017ab on saatviks:floorfix into 790e61e628a535572aea7b92d53400922c46db10 on cmu-db:master.

@saatviks Do we have test cases for these different types?

Yea, this had been tested in decimal_functions_test.cpp earlier itself.
The SQL test however is only for decimal types, since floor is basically a no-op for other integer types.


Added reporting script and updated privx_api module

Added couple of reporting scripts

get-access-report.py (Get historical connection data for ALL or individual user)
get-roles-mapping-report.py (Get role mapping data to generate access report, who can access what)

Added functions to privx_api module and updated _http_get
Updated README inside examples folder.

Hey, good looking code!
There are some minor style issues with the changes, some long lines, some misplaced whitespace etc. Minor things.
You should flake8 to check style issues by running flake8 in the examples directory.  Also your function naming is not up to Python style guide: "Function names should be lowercase, with words separated by underscores as necessary to improve readability."
I would also refactor away all global keywords. They can be replaced by passing the variables as arguments to functions. Makes function easier to read.

Hey, good looking code!
There are some minor style issues with the changes, some long lines, some misplaced whitespace etc. Minor things.
You should flake8 to check style issues by running flake8 in the examples directory. Also your function naming is not up to Python style guide: "Function names should be lowercase, with words separated by underscores as necessary to improve readability."
I would also refactor away all global keywords. They can be replaced by passing the variables as arguments to functions. Makes function easier to read.

Thanks for reviewing and providing input, all required change done.


Search functionality enhancement - better feedback to users when no search results are returned

When certain combinations of selected search filters return no matches in the search results, the current implementation simply renders the basic "No results found" message. It will be a better user experience to show some feedback when this happens.

Changes were approved and merged.


HTAN 1.0 Data Model: sunset planning

Initiate as part of 24-5 sprint.
This ticket (likely one of several to emerge from this ticket) to facilitate scoping and planning of actions related to sunsetting the HTAN data model through the end of HTAN 1.0 (current end date August 31, 2024). Consider a phased approach:

LOCK - Initial thought is to implement a "lock" of the data model as of June 1, 2024. This will be the deadline for incorporating any new components into the data model. After this, support for the data model will transition to a maintenance mode to ensure continued alignment with FAIR Data tooling and implement any fixes to unblock submission for the final HTAN Data Release 6.0.
RETROSPECTIVE - Proposed for July 2024. Should be focus of activities for this sprint, in parallel with any essential data model support related to HTAN Data Release 6.0. Suggest focused discussion among HTAN DCC staff and key contributors (e.g during liaison meetings). Additional participation from FAIR Data staff. Expected outcomes are to help consolidate key learnings and considerations of the development and implementation of the data model in HTAN 1.0, which will help inform efforts and approach in HTAN 2.0
ARCHIVE - Proposed for August 2024. Understand and planning of steps to 'archive' the HTAN 1.0 Data Model. This will include understand if/what data are potentially still expected to be submitted under this model beyond August 31, 2024, and how this will be supported.
RENEWAL PLANNING - Proposed for August-September 2024. Scoping of efforts related to the HTAN 2.0 Data Model in the first 6 months of the renewal. Will include review of retrospective analysis above to understand priorities and dependencies to, as well as determination and set up of related infrastructure to support the data model (e.g. new github repo? updated versioning? etc)

Re: 1. LOCK - Additional components expected and triaged for 24-5 sprint:

[ ] microarray (minimal) - https://github.com/ncihtan/data-models/issues/393
[ ] multiplex-CITE-seq (minimal) - https://github.com/ncihtan/data-models/issues/394
[ ] CDS-friendly seq - https://github.com/ncihtan/data-models/issues/396

Re: 2. RETROSPECTIVE
2 key retrospectives:

Data model - key: Adam, Aditi, Jess, Ashley, Milen, Kristen, Dar'ya, Dave, Ino, Amy H, maybe another FAIR eng; recorded observers: Orion? Christina? ANV? Jineta?
schematic/DCA - chat with Amy H

HTAN DCC Data Model Retrospective scheduled for July 10. I will be working with Tiara to coordinate planning and outcomes through our 24-7 sprint.

Re: 3. ARCHIVE
See https://github.com/ncihtan/data-models/issues/448


fix cors id thing for sidecar

🚀 Deployed on https://6732ce02f786343dfef67d39--cozy-fox-0defec.netlify.app


AnimatedTexture: Fix crash when loaded from a thread

Signals (like most, or all?, of the Object API) is not thread-safe. AnimatedTexture tries to connect to RenderingServer's singal frame_pre_draw in the constructor. The issue is that such constructor may be running on any thread.
An alternative solution would be to make all the signal API in Object virtual so that RenderingServer can wrap all the functions with the server_wrap_mt_common.h utilities. However, that would harm performance in every other case.
In conclusion, it's OK to consider the specification for writing resource classes to include it should only deal with thread-safe APIs.

Thanks!


Slight changes for development

Description
Please include a summary of the change and which is fixed.

Optimize ML validator creation - might help in multijob usage, e.g. #424
Reorganize parent classes in DeepScanner to add new scanners in separated lines and reduce possible conflicts
optimize file signature detection: startswith instead each element comparison

How has this been tested?
Please describe the tests that you ran to verify your changes.

[x] UnitTest
[ ] Benchmark - no benchmark impact

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (48bbc37) 90.83% compared to head (9a3fc09) 90.77%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #441      +/-   ##
==========================================
- Coverage   90.83%   90.77%   -0.06%
==========================================
  Files         125      125
  Lines        4168     4175       +7
  Branches      659      661       +2
==========================================
+ Hits         3786     3790       +4
- Misses        251      252       +1
- Partials      131      133       +2

Files
Coverage Δ

credsweeper/app.py
87.11% <100.00%> (-1.13%)
:arrow_down:

credsweeper/deep_scanner/deep_scanner.py
95.00% <100.00%> (ø)

credsweeper/utils/util.py
87.57% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Rollback ML optimization for #424 only

New code block of _use_ml_validation() seems duplicated with post_processing()'s one. But i assume it will be used on next PR.
LGTM 👍

Partially, it is.
There is possibly case when the same value is available for ml but after grouping it will be skipped.

Good


Fe assignment 2

Screenshots:
Assignment 2 Frontend 49b942c1259c46b39e6d2a2e5beadb7d.pdf
Video URL:
https://drive.google.com/file/d/1tR2kYU3InL_leX4FpPxzzvMji4butRU4/view?usp=sharing
Node.js Application README
Overview
This Node.js application provides functionalities for user authentication, posting, and real-time chatting. It utilizes Express.js for routing, Socket.IO for real-time communication, and CORS for enabling cross-origin requests.
Server Setup
To start the server, run the following command:
npm run start-server.js

The server will start running on port 3000.
APIs
Authentication
Login

Endpoint: POST /api/user/login
Description: Authenticates users based on provided credentials.
Request Body:

username: User's username
password: User's password

Posts
Fetch Posts

Endpoint: GET /api/posts/:pageSize/:page
Description: Retrieves paginated posts.
Parameters:

pageSize: Number of posts per page
page: Page number

Example: GET /api/posts/5/1 (Fetches 5 posts from page 1)

Get Post by ID

Endpoint: GET /api/posts/:id
Description: Retrieves a post by its ID.
Parameters:

id: ID of the post

Example: GET /api/posts/post1 (Fetches post with ID "post1")

Create Post

Endpoint: POST /api/posts/
Description: Creates a new post.
Request Body:

username: User's username
timestamp: Timestamp of the post
message: Content of the post
img: Image URL (optional)

Real-time Chat
Fetch Chat

Endpoint: GET /chat/:sortedFromToUserKey
Description: Retrieves chat messages.
Parameters:

sortedFromToUserKey: Key for identifying chat participants

Add Message to Chat

Endpoint: POST /chat/:sortedFromToUserKey
Description: Adds a new message to the chat.
Parameters:

sortedFromToUserKey: Key for identifying chat participants

Request Body:

messageObject: Object containing message details

Usage

Make requests to the specified endpoints using appropriate methods (e.g., POST, GET).
Handle real-time chat using Socket.IO events.

Dependencies

Express.js
Socket.IO
CORS

Metric
Value

alert_status
:white_check_mark: OK

bugs
5

code_smells
24

reliability_rating
E (at least 1 Blocker Bug)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0

things missing -
i) on clicking messages in chat window, the icon should be bold.
ii) In general alignment of icons.
iii) missing error handling cases in video.


Can the noise during updates be reduced?

I must say, this is a fantastic project,
and I would like to use this library in my next game.
However, I am wondering if there is a way to reduce noise
in real-time rendering and make it more efficient.
Maybe like the game “Control”  ^ - ^

The computer I am using is M2 Pro 16GB and it's not running smoothly at this setting.

There is a denoiser in the project but in general this is designed to be a high fidelity path tracer comparable to Cycles in Blender rather than a real time one. There further improvements and optimizations that could be made but they are not an immediate priority for me. Feel free to take a look at some issues and contribute some new features if you'd like to, though.

Thank you for your response.
So, this denoiser lib can be used in real-time rendering, right?
I will try it out.

So, this denoiser lib can be used in real-time rendering, right?

I cannot make any promises about the quality and performance of the denoiser for real time purposes.


refactor(core): refactoring core and engine :fire:

Refactor textlint-core and  textlint-engine :fire:
Architecture
Overview

CLI

options.js

Parse cli options

cli.js

create config
run engine
output result

Engine
Process files are wanted to lint/fix.

textlint-engine.js
rule-manager.js
textlint-module-resolver.js

These are shared between config and engine.
Don't shared between engine and core.
Core
Process file/text wanted to lint/fix

textlint-core.js
source-code.js
rule-creator-set.js
task/
linter/
fixer/

Shared
These are shared between config and engine and core.

rule-severity
union-syntax

:droplet:  :fire: :droplet:

merge :rocket:


FYI: other hal crates in progress

I found https://github.com/jannic/rp-microcontroller-rs, but I couldn't think of how else to let this group know :)
I would urge you to reach out and collaborate!

Thanks @thejpster , I will reach @jannic and invite him to join us in this organization.

Thanks @thejpster , I will reach @jannic and invite him to join us in this organization.


whats the setting to adjust spaces?

For the most part I prefere the Wordpress coding standards and I'm using them with https://github.com/squizlabs/PHP_CodeSniffer in vscode for general php formatting...
however one thing is pissing me off with it.. and that is the amount of extra spaces it is shoving everywhere.. like
return view( 'companies.index', [ 'companies' => $companies ] );
when I'm wanting this....
return view('companies.index', ['companies' => $companies]);
I just don't care for 'all' the extra spaces... where do I change it? the only spaces that should be in that return line are 3spaces and even then the spaces around => could be removed.. leaving just the 1 space after the ,

The amount of whitespace is somewhat fundamental to coding standards in WordPress.
But, have a read of https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties#arbitrary-parentheses-amount-of-whitespace-required and similar whitespace custom properties.

Run phpcs -s over the file, which will cause the sniff codes to be shown in the report. Then you can create your own custom ruleset, with those rules excluded. See the example ruleset: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/phpcs.xml.dist.sample#L37-L38

What @GaryJones and @JDGrimes said.
Also - if you go the custom ruleset way and want limited spaces, have a look at the WPCS customizable properties and the PHPCS customizable properties - for a number of sniffs (by far not all), you can adjust the spacing which the sniff demands.


Certain files are failing to decompile.

I have a series of lzma compressed files hosted on an http server that I plan on downloading and decompressing with minlzma.  The issue is, some files fail to decompress for unknown reasons.  I know they are valid files because the linux command xz and functions from liblzma can decompress then just fine, but they are failing to decompress with minlzma.
I did do some research into some of the files and it seems like when the "reset state" is 1, it is unhandled, which causes the file decompression to fail.  I tried to implement my own fix for this, however I know very little about the lzma compression method, and may have done it incorrectly.  My attempt can be found here.  This allowed a lot more files to be decompressed successfully, but there were still some left that I did not look into very deeply that failed.
I have attached a zip file called "reset-state" which contains files that failed for me because of the reset state, and one called "misc-fail" that failed for some other unknown reason.
reset-state.zip
misc-fail.zip
If you wish to view the entire repository of lzma compressed files, they
are currently being hosted here:
https://svn.openfortress.fun/files/
And for reference, this is how I tried implementing minlzma in the launcher:
https://github.com/Walaryne/oflauncher-stainless/blob/bc03388f1bd427af906511d3d72de7f2d40278f9/src/launcher/net/OFSNet.cpp#L61

Just wanted to comment here publicly since we talked on Twitter, and I don't want external people to look at the repo and feel I'm ignoring issues :)

Confirmed those files are failing due to 3 reasons

Lack of support for 'soft' dictionary reset. I had never seen this happening before. Will add support for this.
An issue that was found in some other internal testing, that will have a PR up for soon. This fixes the vast majority of the other files.
Compressed empty files. I believe you can just make sure openfortress never sends compressed empty files. I don't really want to handle this scenario :)

By early next week, these issues should be addressed in the repo and your files should work. Would be awesome to see the launcher go back to using minlzma :)


Unable to extract uploader id

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

C:\Users\Naeem>youtube-dl --verbose "https://www.youtube.com/watch?v=RRY1jrIDhvU&t=29s"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=RRY1jrIDhvU&t=29s']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.12.1 (CPython) - Windows-11-10.0.22631-SP0
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] RRY1jrIDhvU: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\Naeem\AppData\Local\Programs\Python\Python312\Lib\site-packages\youtube_dl\YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Naeem\AppData\Local\Programs\Python\Python312\Lib\site-packages\youtube_dl\YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
^^^^^^^^^^^^^^^
File "C:\Users\Naeem\AppData\Local\Programs\Python\Python312\Lib\site-packages\youtube_dl\extractor\common.py", line 534, in extract
ie_result = self._real_extract(url)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Naeem\AppData\Local\Programs\Python\Python312\Lib\site-packages\youtube_dl\extractor\youtube.py", line 1794, in _real_extract
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Naeem\AppData\Local\Programs\Python\Python312\Lib\site-packages\youtube_dl\extractor\common.py", line 1012, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Description

WRITE DESCRIPTION HERE
Youtube-dl is unable to extract the uploader's id, returns RegexNotFoundError in attempt to do so

I'm experiencing the same bug with version 2021.12.17 on Linux (NixOS).

This is a known issue, refer to #30839 known issues section for your solution

[ ] I'm reporting a broken site support issue

You are.

[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

But surprisingly this didn't reveal the master issue?

What is the original source of the issue ??? https://github.com/ytdl-org/youtube-dl/issues/30839 doesn't look like a solution (but it's also listed here : https://github.com/ytdl-org/youtube-dl/issues/32774 and here https://github.com/ytdl-org/youtube-dl/issues/32754 and everywhere it always redirect to pinned message but it doesn't redirect to the source issue of this recurrent issue. How would one found the issue without having to read the 92 opened issue that has "uploader id" ?

By simply reading the pinned issue you'll see this, with links to master issues:

...
Known issues, fixed in git master code, or update/install from the nightly release repo:
NY

YouTube: Unable to extract yt initial data on playlist (also a swathe of related errors)
YouTube: Unable to extract uploader id
,,,

I'm sorry, i've spend 20min trying to solve this simple error, there is too much to read,
i'll simply not download my liked youtube video and create another playlist for "liked" video in order to avoid having the capped 5000 playlise of liked video remove first entries.

Just install the latest nightly build, like it says. You don't have to worry about any other historical stuff.

I wouldn't have spent 20 min reading all if downloading the last nightly release would have directly solved my issue (and i wouldn't have made a low quality meme in this thread). But i can't really open a new issue on https://github.com/ytdl-org/ytdl-nightly so i don't really know what else to do than shitpost meme here before being marked as spam.

If the problem is not fixed by the latest nightly, you are probably still running the old version; make sure it's fully uninstalled.
Should the nightly build have a problem, as the nightly repo says, open an issue here (yes, #30839 again). Your original log is clearly the last stable release, where the bug was latent at the time of release and subsequently revealed by YT changes.
I don't think it's too onerous to expect people to search for a known fixed issue in the list, which is so short that Ctrl+F isn't really needed. Still, the meme was funny enough.


Attach to object

Great codes. I have a brick breaker game and want particle on place where ball hits the brick.
From Main class:
//collision to bricks
for (int y = 0; y < Brick_Pattern[currentLevel].length; y++) {
    for (int x = 0; x < Brick_Pattern[currentLevel][0].length; x++) {
	if (bricks_current_level[x][y] != null) {
		if (balls.get(i).CollidedWith(bricks_current_level[x][y])) {
			balls.get(i).speedy = -balls.get(i).speedy;
			balls.get(i).speedx = -(bricks_current_level[x][y].x + (bricks_current_level[x][y].getWidth() / 2) - balls.get(i).x) / 4;
			if (bricks_current_level[x][y].tag == b1 || bricks_current_level[x][y].tag == b2 ||
		           bricks_current_level[x][y].tag == b3 || bricks_current_level[x][y].tag == b4)
		{
		//collided to brick 1, 2...
	bricks_current_level[x][y] = null;     // brick gone

And now behind that I put ParticleSystem code inside:
	runOnUiThread(new Runnable() {
       @Override
public void run() {
...code here....
	}
  });

because my View is defined in Screen class and Main class extends Screen class.
From Screen.java:
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		activity = this;
		//full screen
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

		//create surface
		layout = new RelativeLayout(this);
		surface = new SurfaceView(this);
		layout.addView(surface);
		setContentView(layout);

And as a result I always got particles in middle of layout insted of place where destroyed brick is.
How to attach code to bricks_current_level[x][y] position?

There are methods for emitters based on X-Y coordinates, but not for oneShot, although it should not be hard to add them.
However, building a game using Views you are going to encounter performance problems quite soon. If you are doing it for the learning experience, I recommend you to take a look at Mastering Android Game Development which has a chapter about particle systems based on this library. It also has a chapter about efficient collision detection.
Otherwise, to build a breakout style game, which is 2D, I'd recommend using an engine, like AndEngine, which also has its own particle system implementation.

OK, I will check and try with emiter, I also found that book.

There is one quick hack you can do, which is to have a 1 x 1 dip view with no background and use that one as the anchor for the particle system.
You need to reposition that view to the x, y and then do the oneShot, it will read the position of the anchor view.
As I said it is a hack / woraround, but it should do the trick.


[SPARK-7255] [Streaming] [Documentation] Added documentation for spark.streaming.kafka.maxRetries

Added documentation for spark.streaming.kafka.maxRetries

Can one of the admins verify this patch?

Does it need to be said that this only applies to the direct receiver?

I think so yes now that you mention it.

Somewhat nitpicky, but I'd say something like "maximum number of consecutive trials", just to make it clear it's not a limit for the lifetime of the job.
Again, thanks for noticing this.

Yup, no problem, will adjust that.

Yknow, I just looked at the code for other reasons, and it is the number of retries, not tries (so the default setting of 1 means a max of 2 consecutive attempts).  Sorry for being spacey earlier in the jira ticket.
val o = kc.getLatestLeaderOffsets(currentOffsets.keySet)
if (o.isLeft) {
  val err = o.left.get.toString
  if (retries <= 0) {
    throw new SparkException(err)

Do you think it will be clear enough if we still keep the default value at
1 and explains this means 2 tries maximum?
Or should we change the default value or the code or the name of the conf?
On 30 Apr 2015 8:23 pm, "Cody Koeninger"<EMAIL_ADDRESS>wrote:

Yknow, I just looked at the code for other reasons, and it is the number
of retries, not tries (so the default setting of 1 means a max of 2
consecutive attempts). Sorry for being spacey earlier in the jira ticket.
val o = kc.getLatestLeaderOffsets(currentOffsets.keySet)
if (o.isLeft) {
val err = o.left.get.toString
if (retries <= 0) {
throw new SparkException(err)
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97907134.

I think the code, the name of the conf, and the default setting are all
correct.
1 retry means try initially, retry once, then give up, for a total of 2
attempts.
On Thu, Apr 30, 2015 at 1:51 PM, Ben Fradet<EMAIL_ADDRESS>wrote:

Do you think it will be clear enough if we still keep the default value at
1 and explains this means 2 tries maximum?
Or should we change the default value or the code or the name of the conf?
On 30 Apr 2015 8:23 pm, "Cody Koeninger"<EMAIL_ADDRESS>wrote:

Yknow, I just looked at the code for other reasons, and it is the number
of retries, not tries (so the default setting of 1 means a max of 2
consecutive attempts). Sorry for being spacey earlier in the jira ticket.
val o = kc.getLatestLeaderOffsets(currentOffsets.keySet)
if (o.isLeft) {
val err = o.left.get.toString
if (retries <= 0) {
throw new SparkException(err)
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97907134.

—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97923681.

Ok, will update the doc accordingly.
On 30 Apr 2015 9:10 pm, "Cody Koeninger"<EMAIL_ADDRESS>wrote:

I think the code, the name of the conf, and the default setting are all
correct.
1 retry means try initially, retry once, then give up, for a total of 2
attempts.
On Thu, Apr 30, 2015 at 1:51 PM, Ben Fradet<EMAIL_ADDRESS>wrote:

Do you think it will be clear enough if we still keep the default value
at
1 and explains this means 2 tries maximum?
Or should we change the default value or the code or the name of the
conf?
On 30 Apr 2015 8:23 pm, "Cody Koeninger"<EMAIL_ADDRESS>wrote:

Yknow, I just looked at the code for other reasons, and it is the
number
of retries, not tries (so the default setting of 1 means a max of 2
consecutive attempts). Sorry for being spacey earlier in the jira
ticket.
val o = kc.getLatestLeaderOffsets(currentOffsets.keySet)
if (o.isLeft) {
val err = o.left.get.toString
if (retries <= 0) {
throw new SparkException(err)
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97907134.

—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97923681.

—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/5808#issuecomment-97930903.

Updated the doc to explain the default value.


Generate cloe/version.hpp header for cloe-runtime

Depends on #198.
This allows users to support multiple Cloe runtime versions at compile-time.
This is generated from src/runtime/version.hpp.in
See the file for the documentation.

see comments in #198 also there are conflicts apparently


Fix Application Factories pattern

Fix for #38

Can we merge that, I hit the same bug

Sorry I messed up with the branch of @justprox Really sorry! I have to recreate this PR

See PR #43


Tauri 2.0.0-beta builds on Linux, but not on macOS and Windows

Hi there,
I'm not sure if this is related to Tauri action or Tauri itself, but so far I've only tested it with GitHub workflow.
The following problem occurs:
On Windows:
Finished `release` profile [optimized] target(s) in 9m 29s
Info Verifying wix package
Downloading https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
Info validating hash
Info extracting WIX
Info Target: x64
Downloading https://go.microsoft.com/fwlink/p/?LinkId=2124703
Error failed to bundle project: `The system cannot find the file specified. (os error 2)`
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

On macOS:
Finished `release` profile [optimized] target(s) in 8m 56s
Warn The updater bundle target exists but couldn't find any updater-enabled target, so the updater artifacts won't be generated. Please add one of these targets as well: app, appimage, msi, nsis
Error failed to bundle project: No bundles were built
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

On Linux (Ubuntu) - NO ISSUE:
Finished `release` profile [optimized] target(s) in 5m 38s
Bundling liquidlauncher_0.2.2_amd64.AppImage (/home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage)
Bundling liquidlauncher_0.2.2_amd64.deb (/home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/deb/liquidlauncher_0.2.2_amd64.deb)
Bundling /home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage.tar.gz (/home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage.tar.gz)
Finished 2 bundles at:
        /home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage
        /home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/deb/liquidlauncher_0.2.2_amd64.deb
        /home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage.tar.gz (updater)
    Finished 1 updater signature at:
        /home/runner/work/LiquidLauncher/LiquidLauncher/src-tauri/target/release/bundle/appimage/liquidlauncher_0.2.2_amd64.AppImage.tar.gz.sig
Done in 509.42s.

GitHub Workflow Config:
https://github.com/CCBlueX/LiquidLauncher/blob/aad3aed277ae5d71d6cbd6066347314d02f58fa7/.github/workflows/build.yml
Workflow Run:
https://github.com/CCBlueX/LiquidLauncher/actions/runs/8368961167
Info (from my local machine):
yarn tauri info
yarn run v1.22.21
$ tauri info

[✔] Environment
    - OS: Manjaro 23.1.3 X64
    ✔ webkit2gtk-4.1: 2.42.5
    ✔ rsvg2: 2.57.1
    ✔ rustc: 1.77.0-nightly (5bd5d214e 2024-01-25)
    ✔ cargo: 1.77.0-nightly (7bb7b5395 2024-01-20)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: nightly-x86_64-unknown-linux-gnu (default)
    - node: 21.6.2
    - yarn: 1.22.21
    - npm: 10.5.0

[-] Packages
    - tauri [RUST]: 2.0.0-beta.12
    - tauri-build [RUST]: 2.0.0-beta.10
    - wry [RUST]: 0.37.0
    - tao [RUST]: 0.26.1
    - @tauri-apps/api [NPM]: 2.0.0-beta.5
    - @tauri-apps/cli [NPM]: 2.0.0-beta.9

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:5173/
    - framework: Svelte
    - bundler: Vite
Done in 8.74s.

Anyone with a similar problem? I have not been able to find a related issue in any of the repositories.

macos fails because bundle.targets in tauri.conf doesn't contain any macos bundle types. I'm not too happy that it's failing the ci because of that but it's an issue with the tauri cli, not the action.
I can't check out windows until later but in the meantime maybe try adding args: --verbose to the tauri-action step and see if it gives us more info.

windows with --verbose:
Compiling urlencoding v2.1.3
    Finished `release` profile [optimized] target(s) in 10m 51s
    Info [tauri_bundler::bundle::windows::msi::wix] Verifying wix package
    Downloading [tauri_bundler::bundle::windows::util] https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
    Debug [ureq::stream] connecting to github.com:443 at <IP_ADDRESS>:443
    Debug [rustls::client::hs] No cached session for DnsName("github.com")
    Debug [rustls::client::hs] Not resuming any session
    Debug [rustls::client::hs] Using ciphersuite TLS13_AES_128_GCM_SHA256
    Debug [rustls::client::tls13] Not resuming
    Debug [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
    Debug [rustls::client::hs] ALPN protocol is None
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
    Debug [ureq::unit] writing prelude: GET /wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip HTTP/1.1
Host: github.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] zero-length body returning stream directly to pool
    Debug [ureq::pool] adding stream to pool: https|github.com|443 -> Stream(RustlsStream)
    Debug [ureq::unit] response 302 to GET https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
    Debug [ureq::unit] redirect 302 https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip -> https://objects.githubusercontent.com/github-production-release-asset-2e65be/17723789/6aaeda80-da25-11e9-8564-82dd8c5115cd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240321T115902Z&X-Amz-Expires=300&X-Amz-Signature=077db34a41106671d5552b3a0ac00f4dbb2f31284f0d604f0aad75414adbc37e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=17723789&response-content-disposition=attachment%3B%20filename%3Dwix311-binaries.zip&response-content-type=application%2Foctet-stream
    Debug [ureq::stream] connecting to objects.githubusercontent.com:443 at <IP_ADDRESS>:443
    Debug [rustls::client::hs] No cached session for DnsName("objects.githubusercontent.com")
    Debug [rustls::client::hs] Not resuming any session
    Debug [rustls::client::hs] Using ciphersuite TLS13_AES_128_GCM_SHA256
    Debug [rustls::client::tls13] Not resuming
    Debug [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
    Debug [rustls::client::hs] ALPN protocol is None
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://objects.githubusercontent.com/github-production-release-asset-2e65be/17723789/6aaeda80-da25-11e9-8564-82dd8c5115cd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240321T115902Z&X-Amz-Expires=300&X-Amz-Signature=077db34a41106671d5552b3a0ac00f4dbb2f31284f0d604f0aad75414adbc37e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=17723789&response-content-disposition=attachment%3B%20filename%3Dwix311-binaries.zip&response-content-type=application%2Foctet-stream
    Debug [ureq::unit] writing prelude: GET /github-production-release-asset-2e65be/17723789/6aaeda80-da25-11e9-8564-82dd8c5115cd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240321T115902Z&X-Amz-Expires=300&X-Amz-Signature=077db34a41106671d5552b3a0ac00f4dbb2f31284f0d604f0aad75414adbc37e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=17723789&response-content-disposition=attachment%3B%20filename%3Dwix311-binaries.zip&response-content-type=application%2Foctet-stream HTTP/1.1
Host: objects.githubusercontent.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] Streaming body until content-length: 34670186
    Debug [ureq::unit] response 200 to GET https://objects.githubusercontent.com/github-production-release-asset-2e65be/17723789/6aaeda80-da25-11e9-8564-82dd8c5115cd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240321%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240321T115902Z&X-Amz-Expires=300&X-Amz-Signature=077db34a41106671d5552b3a0ac00f4dbb2f31284f0d604f0aad75414adbc37e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=17723789&response-content-disposition=attachment%3B%20filename%3Dwix311-binaries.zip&response-content-type=application%2Foctet-stream
    Debug [ureq::pool] adding stream to pool: https|objects.githubusercontent.com|443 -> Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Info [tauri_bundler::bundle::windows::util] validating hash
    Info [tauri_bundler::bundle::windows::msi::wix] extracting WIX
    Info [tauri_bundler::bundle::windows::msi::wix] Target: x64
    Downloading [tauri_bundler::bundle::windows::util] https://go.microsoft.com/fwlink/p/?LinkId=2124703
    Debug [ureq::stream] connecting to go.microsoft.com:443 at <IP_ADDRESS>:443
    Debug [rustls::client::hs] No cached session for DnsName("go.microsoft.com")
    Debug [rustls::client::hs] Not resuming any session
    Debug [rustls::client::hs] Using ciphersuite TLS13_AES_256_GCM_SHA384
    Debug [rustls::client::tls13] Not resuming
    Debug [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck, Unknown(UnknownExtension { typ: EllipticCurves, payload:<PHONE_NUMBER>1d })]
    Debug [rustls::client::hs] ALPN protocol is None
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://go.microsoft.com/fwlink/p/?LinkId=2124703
    Debug [ureq::unit] writing prelude: GET /fwlink/p/?LinkId=2124703 HTTP/1.1
Host: go.microsoft.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] zero-length body returning stream directly to pool
    Debug [ureq::pool] adding stream to pool: https|go.microsoft.com|443 -> Stream(RustlsStream)
    Debug [ureq::unit] response 301 to GET https://go.microsoft.com/fwlink/p/?LinkId=2124703
    Debug [ureq::unit] redirect 301 https://go.microsoft.com/fwlink/p/?LinkId=2124703 -> https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/c8e4de1e-1621-4dfc-bb37-5c390ed2c052/MicrosoftEdgeWebview2Setup.exe
    Debug [ureq::stream] connecting to msedge.sf.dl.delivery.mp.microsoft.com:443 at <IP_ADDRESS>:443
    Debug [rustls::client::hs] No cached session for DnsName("msedge.sf.dl.delivery.mp.microsoft.com")
    Debug [rustls::client::hs] Not resuming any session
    Debug [rustls::client::hs] ALPN protocol is None
    Debug [rustls::client::hs] Using ciphersuite TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    Debug [rustls::client::tls12::server_hello] Server supports tickets
    Debug [rustls::client::tls12::server_hello] Server may staple OCSP response
    Debug [rustls::client::tls12] ECDHE curve is EcParameters { curve_type: NamedCurve, named_group: secp384r1 }
    Debug [rustls::client::tls12] Server DNS name is DnsName("msedge.sf.dl.delivery.mp.microsoft.com")
    Debug [ureq::stream] created stream: Stream(RustlsStream)
    Debug [ureq::unit] sending request GET https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/c8e4de1e-1621-4dfc-bb37-5c390ed2c052/MicrosoftEdgeWebview2Setup.exe
    Debug [ureq::unit] writing prelude: GET /filestreamingservice/files/c8e4de1e-1621-4dfc-bb37-5c390ed2c052/MicrosoftEdgeWebview2Setup.exe HTTP/1.1
Host: msedge.sf.dl.delivery.mp.microsoft.com
User-Agent: ureq/2.9.6
Accept: */*
accept-encoding: gzip
    Debug [ureq::response] Streaming body until content-length: 1617[864](https://github.com/CCBlueX/LiquidLauncher/actions/runs/8374381128/job/22929494243#step:8:865)
    Debug [ureq::unit] response 200 to GET https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/c8e4de1e-1621-4dfc-bb37-5c390ed2c052/MicrosoftEdgeWebview2Setup.exe
    Debug [ureq::pool] adding stream to pool: https|msedge.sf.dl.delivery.mp.microsoft.com|443 -> Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Debug [ureq::stream] dropping stream: Stream(RustlsStream)
    Error [tauri_cli_node] failed to bundle project: `The system cannot find the file specified. (os error 2)`
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

thanks.
The issue is your licenseFile config. The config is a path relative to the tauri.conf.json file so just LICENSE is wrong and it should be ../LICENSE instead

Thank you very much! I will try it.


When multiple web-component are used on the same site only one works

Vue version
3
Link to minimal reproduction
https://github.com/davidedisalvo/webComponent1
Steps to reproduce

Clone both webComponent 1 and webComponent 2: https://github.com/davidedisalvo/webComponent1 https://github.com/davidedisalvo/webComponent2 (They have the same set up I just changed some name for demonstration purpose).
Run pnpm install in both.
Run pnpm build in both.
Host the output. I have done this already: https://webcomponent1.netlify.app/index.js https://webcomponent2.netlify.app/index.js
Use the 2 javascript output in a html page. I have done this here https://github.com/davidedisalvo/testSite and you will see just 1 web-component instead of 2. https://testsitewithwebcomponent.netlify.app/

What is expected?
Expect both web-components to load.
What is actually happening?
Our use case is to ship web-components to clients that has a site powered by headless CMS, hence the custom element and the javascript that powers it is loaded dynamically. Also our clients sites may not be using Vue. So we have to bundle the Vue runtime as part of the output javascript. We noticed that using our setup in vite config it will bundle the vue runtime and it will declare functions in the window object/global scope. In one instance we found out that it was overwriting window.addEventListener and crashing client sites. We assumed it is due to a failed uglify output. Although we can't no longer reproduce this particular case we learnt that it is injecting things into the window object which may cause name conflicts when more than 1 web-component javascript is loaded on the same site.
You can see the console error here: https://testsitewithwebcomponent.netlify.app/
It says: Identifier 'gs' has already been declared (at index.js:1:1)
System Info
No response
Any additional comments?
No response

It seems you are using the esm build version of your libs and then include them as normal scripts. These files are meant to be used as models though (<script type="module">). if you include them as a plains script, they will add all of their code to the global namespace, which is why you see all of these problems.
Solution: use the iife or umd version of your built files.
Not related to Vue or web components in any way.


FOR NEW INITIAL MODEL - Modality order change

Evan had the following order specified in his 'order' file given to us related to his new initial model:
order = t1 t2 flair t1c
The change in this PR is meant to match that order for our NNUnet data preprocessing.

Closing as I will work this into the changes to set max batches to 250. this version had the merge, revert_merge combo we will now be avoiding.


Add TRAILING_STOP_MARKET order type (Binance futures)

If there's interest, I can create a PR with the support for placing such orders.

Should I make a PR for actually using this order type?


filter_upwards fails when given s ∈ map m f while expecting _ ∈ f

This shouldn't be a problem (and it isn't in Lean3) because s ∈ map m f is defeq to m ⁻¹' s ∈ f.
I don't have a lot of time to investigate more, but I suspect an easy fix would be inferring the filter we are working with from the goal and feed it explicitly to the lemmas in order to help Lean see that this is fine.
Lean 3 behavior:
import order.filter.basic

open filter

variables (α β : Type _) (m : α → β) (f : filter α) (g : filter β) (p : α → Prop) (q : β → Prop)

example (h₁ : tendsto m f g) (h₂ : ∀ᶠ y in g, q y) (h₃ : ∀ x, q (m x) → p x) :
    ∀ᶠ x in f, p x := by
  filter_upwards [h₁ h₂] using h₃ -- works

Lean 4 behavior:
import Mathlib.Order.Filter.Basic

open Filter

variable (α β : Type _) (m : α → β) (f : Filter α) (g : Filter β) (p : α → Prop) (q : β → Prop)

example (h₁ : Tendsto m f g) (h₂ : ∀ᶠ y in g, q y) (h₃ : ∀ x, q (m x) → p x) :
    ∀ᶠ x in f, p x := by
  filter_upwards [h₁ h₂] using h₃ -- fails

example (h₁ : Tendsto m f g) (h₂ : ∀ᶠ y in g, q y) (h₃ : ∀ x, q (m x) → p x) :
    ∀ᶠ x in f, p x := by
  filter_upwards [mem_map.mp <| h₁ h₂] using h₃ -- works

This came up in #2638

This is fixed in #4396.


[BUG] how to reset all by chip-tool commands in controller

Reproduction steps
I don't know the correct reset steps.
Here are my reset steps：

Device unsubscription use this command

subscriptions shutdown-all-for-node <node_id>

Device remove use this command

pairing unpair <node_id>

clear storage use this command

storage clear-all

reset otctl

ot-ctl factoryreset

restart server

~/connectedhomeip/aaa/chip-tool interactive server

My Question is:

Is this the correct reset steps？
when i use storage clear-all command, it can't pass parameters; i have three files in storage tmp, when i execute the command, it just clear default chip_tool_config.ini and chip_tool_kvs, but not clear chip_tool_config.alpha.ini, how can i clear chip_tool_config.alpha.ini?

root@pi48g:~/connectedhomeip/aaa/chip-tool-tmp# ls
chip_tool_config.alpha.ini  chip_tool_config.ini  chip_tool_kvs

Bug prevalence
nil
GitHub hash of the SDK that was being used
nil
Platform
raspi
Platform Version(s)
No response
Anything else?
No response

@jaggerwoo If you want an easy way to just reset all the local chip-tool state, make sure to run it with --storage-directory pointing to a directory to your choice, then remove everything in that directory to reset.

@bzbarsky-apple thank you~


Update checks action to remove NodeJS version warning

Successful branch run: https://github.com/devcontainers/ci/actions/runs/4378551507


Enable running some commands from subdirectories

Fixes #2828.
@karthik2804 you asked me a couple of days ago about something related to this, so I am not sure if you were already working on it - there was nothing in GitHub and I saw you were working on something much cooler - if you did have something under way then feel free to close this.
The experience for running from a subdirectory looks like this:

(Exception: spin doctor where it integrates into an existing "this is the file you're partying on" notification.)
That output is not currently centralised - I thought about making the spin_common function print it, but spin up can't use that function anyway, and it would have required spin_common to depend on terminal, so I passed on that for now.  But we can do it if people prefer.  I certainly don't much love the internal API (loose booleans, oh the self-loathing) but thought I'd get feedback before I determined how to clean it up.
Also, the way I did it resulted in showing the absolute path (/home/ivan/whatever/spin.toml) rather than the relative path (../spin.toml).  The UX here seemed a little tricky - for one or two levels, the relative path is probably more helpful, but for more than that it just turns into a blur (../../../../../spin.toml).  For now I went with the absolute path because I had it to hand, but realistically the commonest case is one level down, maybe two, so there's a strong case for doing it the other way.  (Indeed, I'm thinking the terror and confusion of ../../../../../spin.toml would actually make it more noticeable that you were hitting some crazy random manifest you didn't intend.)
This PR adds the "run from subdirectory" behaviour to:

build
doctor
registry push
up
watch

We could add it to spin add but I think it might get confusing where the new component's directory got created.  We do already allow spin add -f ../.. though, so maybe I'm being overly cautious.  Maybe not behaving like other commands is worse from a potential surprise POV.

  I can't merge because Karthik isn't an approved reviewer.  Aaaugh!


Refactor search API

Coverage increased (+0.01%) to 57.219% when pulling 97972028e13faf472d7999dd1d2c8e3b20a69723 on ywk253100:170524_search into 924a62df7e5a4f04e976aca3ec618a291ceaab46 on vmware:master.


Changed the events page - #255 issue resolved

Great Work 🎉. Looking forward for more PRs and you can resolve the issues in the home and the events pages next.


I meet a crash

It seems that it got problems while solving ResourceKey[minecraft:worldgen/placed_feature / reterraforged:redwood_trees]
crash-2024-06-21_01.59.11-server.txt

this is fixed in the next update but you can temporarily fix it by disabling custom biome features


Create docs page Reference/Material for MkDocs

Purpose
What you would need to know to contribute to our documentation sites
Page Tree
nav:
  ...
  - Reference:
    ...
    - Material for MkDocs: reference/material-for-mkdocs.md

Contents

Relevant files

docs/
mkdocs.yml

Page tree

Reference demo/syntax
GitHub pages integration

GitHub actions
Repository setup

Relevant Resources

https://patrick-5546.github.io/notes/reference/mkdocs/
https://squidfunk.github.io/mkdocs-material/reference/

Might not need a docs page, could just point to references in the main README


Global option to preserve empty attributes and global option to set UseOriginalName by default. solves #445 and #446

All current behavior is kept by default.
This PR solves #445 and #446

The pull will be refused to make it easier on my side.
The #445 is manually merged and #446 is already possible (had an issue but we fixed it).
The new version should be released in a few minutes, I will explain it more directly into the issue.

Btw, thank a lot for your code and help :)


Fixed NerdTree being used as filename by the checker.

Hi there,
first, thanks for the awesome package! Lately, I have being having issues when using syntastic together with NERDTree plugin. In some circumstances, when I saved the file, it was complaining that the file didn't exist, and this was due to the fact that it was using the NERDTree buffer name instead of the file.
I tried to track down what was happening today, and discovered that, for some reason, the BufWritePost was being called with @% set to the NerdTree, and because of this fname on the g:SyntasticChecker.makeprgBuild(opts) function was failing. Thus, I changed the fname value to be retrieved through syntastic#util#shexpand( expand('', 1) )), instead using '%'.
Hope it does not crashes other cases, but it seems to be working nice :D

Sadly, your patch doesn't make sense when syntastic runs in passive mode.
Similar problems have been reported in the past (cf. #1131, #1924, #1937).  At this point, a bug in syntastic can't be ruled out completely but is highly unlikely.  Your approach to a fix is naive either way.  You don't provide enough information to track the actual problem, but I suggest you try to disable all other plugins aside from NERDTree and syntastic and see if you can still reproduce it.

Ok, sorry, I had reasons to imagine that this patch was too naive. Either way, I won't have time until end of march to discover exactly what is producing the issue. As such, I think this can be closed till I can take a deeper look into this.


The URL for provisioning new Microsoft New Employee Onboarding sites will takes me to a page for creating MICROSOFT 365 LEARNING PATHWAYS

I am reading this article @ provision-neo-hub on how to provision NEO hub sites, but when i click on this link :-

I will be redirected to a page to provision the "MICROSOFT 365 LEARNING PATHWAYS" and not the NEO sites.. any advice please? what is the url for creating NEO sites?

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


[SR-16079] swiftpm-xctest-helper crashes when swapping sanitizers

Previous ID
SR-16079

Radar
None

Original Reporter
@adam-fowler

Type
Bug

Environment
swift-driver version: 1.45.2 Apple Swift version 5.6 (swiftlang-<IP_ADDRESS>3.62 clang-13<IP_ADDRESS>)
Target: x86_64-apple-macosx12.0

Additional Detail from JIRA

Votes
0

Component/s
Package Manager

Labels
Bug

Assignee
None

Priority
Medium

md5: 81090cc4329894afe64d435f0c2d4b6d

Issue Description:
It is possible to hang `swift test` by building your package using the address sanitizer and then requesting to list tests while skipping build and using the thread sanitizer. It appears `swift test` is waiting on results from `swiftpm-xctest-helper`. When you kill the `swift test` process it does not kill the `swiftpm-xctest-helper` process which continues to use 100% of one processor and will run indefinitely.
Repro steps:
git clone https://github.com/apple/swift-nio
cd swift-nio
swift build --sanitize=address --build-tests
swift test --list-tests --skip-build --sanitize=thread

Expected:
`swift test` call will either successfully return an error or provide the list of tests
Actual:
`swift test` never returns and leaves an orphaned process `swiftpm-xctest-helper` when killed.
This only occurs on macOS

I thought I would verify this is still an issue. The issue has now changed. It crashes with the following message
[1/1] Planning builderror: signalled(6): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec/swift/pm/swiftpm-xctest-helper /Users/adamfowler/Developer/server/apple/swift-nio/.build/arm64-apple-macosx/debug/swift-nioPackageTests.xctest /var/folders/6v/zhyq15kx1fz1d9hjv1zq9n8c0000gn/T/TemporaryFile.TIzRGK output:
    ==57849==Unable to find a memory range for dynamic shadow.
    ==57849==space_size = 0x100000003fff, largest_gap_found = 0x017ffffe0000, max_occupied_addr = 0x7e8000000000, new_max_vm = 0x0bfffff00000
    AddressSanitizer: CHECK failed: sanitizer_mac.cpp:1274 "((0 && "cannot place shadow")) != (0)" (0x0, 0x0) (tid=275360)
        <empty stack>

Are you still seeing this issue, Adam? swiftpm-xctest-helper is part of Xcode's version of XCTest, so we may need to migrate this issue over to Feedback Assistant.

No this appears to have resolved itself


Adding two loops into pipeline with stencil asserts

Adding an extra loop  into the pipeline.stencils  test triggers the following assert:
pipeline_test: ./runtime/buffer.h:72: std::ptrdiff_t slinky::dim::flat_offset_bytes(slinky::index_t) const: Assertion `i >= min_' failed.

The only change in the test is modification of the following line:
stencil.loops({{y, split, lm}});

to
stencil.loops({{y, split, lm}, {x, 1}});

I did a little bit of investigation on this. There's one easy problem to fix, we try to fold in both dimensions. That's fixed in the commit I just tagged this issue with.
The other issue is more tricky. I think the same issue would be exposed by existing tests if it wasn't for this hack: https://github.com/dsharlet/slinky/blob/15372df75c2105018488b7f0d4a6f2c9fba45a42/builder/infer_bounds.cc#L599
The problem is when we have two nested loops, the crop that gets added for the outer loop can't be removed, because it's needed to crop the producer inside the loop.
This will need some thought on how to solve this problem...

I think this particular issue is fixed, but there is still a problem when trying this, filed #127


2022101401

Closes #7417
Closes #7405
Closes #7977
Closes #6693
Closes #7338
Closes #7341
Closes #7342
Closes #6451
Closes #6452
Closes #6715
Closes #6716
Closes #6718
Closes #6719
Closes #6720
Closes #6721
Closes #6722
Closes #6723
Closes #6724
Closes #6725
Closes #6726
Closes #6727
Closes #6728
Closes #6729
Closes #6730
Closes #6731
Closes #6732
Closes #6734
Closes #6735
Closes #6736
Closes #6739
Closes #6745
Closes #6746
Closes #6747
Closes #6748
Closes #6749
Closes #6750
Closes #6751
Closes #6752
Closes #6753
Closes #6754
Closes #6755
Closes #6756
Closes #6757
Closes #6758
Closes #7399
Closes #6759
Closes #6760
Closes #6761
Closes #6762
Closes #6763
Closes #6764
Closes #6765
Closes #6766
Closes #6767
Closes #6769
Closes #6771
Closes #6772
Closes #8059

The reason for such a low number of additions is that most of the reports have large duplicate entries already in the denylist.

https://github.com/helium/denylist/issues/8031
I hope you can spare some time to watch and reply @6CornerDefender

If an open issue is edited (e.g. Cluster is bigger and hotspots are added) and gets merged, do the edited HS not go onto the denylist? Thx

The reason for such a low number of additions is that most of the reports have large duplicate entries already in the denylist.

@6CornerDefender please. i had this 3 from february, #7944 #7943 #7942

The reason for such a low number of additions is that most of the reports have large duplicate entries already in the denylist.

https://github.com/helium/denylist/issues/8031
I have provided the evidence, and also asked professional people to help me confirm. If there is no doubt, I hope to unseal my hot spot as soon as possible, and please reply to me even if you can't deal with it immediately. Thank you very much @6CornerDefender @mrpatrick1991

@6CornerDefender @KXI1 @mrpatrick1991 Sorry to trouble you and would you please help to remove my hotspot from the denylist as it is real deployed. Thanks!
#7951

One more review. Let´s go....


Merkle tree perf tweaks

I had a feeling that hashing done on each level of the Merkle tree could be done in parallel, and it seems that it does work and brings a nice performance boost - with this change, my snarkOS ledger loads in 33s instead of 208s, which is a 84% decrease.

Note: this will also improve the performance of any other operation which requires the Merkle tree to be rebuilt - the node launch is just the most visible improvement.

This is a fantastic improvement!

Earlier on I felt a bit tired already, but I felt evening inspiration and actually managed to pull it off :sunglasses:.
As expected, it's now even faster, and even with around 10% extra blocks (I needed to sync a bit), the start-up time actually went down to 29s.

Thanks, this is awesome!


Server-side Blazor causes the UI to refresh twice

Fix described at Stateful Reconnection after Prerendering

Fixed: b5ba010


Code needs to update naming conventions

First of all, thank you for this service. It's been great so far. As a new customer there are some things that I find confusing, especially when everything is marketed to people trying to build social networks.
https://github.com/GetStream/stream-js/blob/master/src/lib/feed.js#L144
targetUserId implies we can only follow users. But this system is more robust than that, and makes things more confusing.

@mahboubii since we're going for breaking changes, we might try to handle this too. It's very inconvenient and error prone.
At least, in the simpler version having a consistent case style (snake vs camel) would be better.


Add per-frame iterator

Currently there is only the samples iterator for reading files. It would be useful to have a similar iterator that gives a whole frame per iteration (i.e. one sample per channel in a slice) as that's usually the unit of processing.
A similar feature for the writer would also seem useful.

Thank you for taking the time to open an issue!

It would be useful to have a similar iterator that gives a whole frame per iteration (i.e. one sample per channel in a slice) as that's usually the unit of processing.

Would iter::chunks suffice for this? You might think that Hound could do a more efficient job, but it is difficult in general, because the underlying interface is a Reader, not a slice.

A similar feature for the writer would also seem useful.

That sounds like it could be useful indeed, not just for frames but for arbitrary slices, to save the overhead of checking the result after every sample. Even more general would be to accept an iterator rather than a slice. I added SampleWriter16 with a similar intent, but it is "push based" in the sense that it still requires writing every individual sample. That is more general than an iterator though, because you can easily do .for_each(writer.write_sample) on an iterator, but turning something that is not an interator into one is a lot harder. Taking a slice could still be useful just as a convenience method though.

It would be useful to have a similar iterator that gives a whole frame per iteration (i.e. one sample per channel in a slice) as that's usually the unit of processing.

Would iter::chunks suffice for this? You might think that Hound could do a more efficient job, but it is difficult in general, because the underlying interface is a Reader, not a slice.

That's what I'm doing right now, copying each sample of the frame into a pre-allocated slice on each iteration. That's a bit annoying and seems inefficient, but it works.
I can see the problem with Reader though and don't really have a suggestion how that could be done better :)


Add support for different types of basicPublish

Implement these methods:

basicPublish(String exchange, String routingKey, AMQP.BasicProperties props, byte[] body) [IMPLEMENTED]
basicPublish(String exchange, String routingKey, boolean mandatory, AMQP.BasicProperties props, byte[] body)
basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, AMQP.BasicProperties props, byte[] body)

Check the signatures in the java doc of the official java client:
https://rabbitmq.github.io/rabbitmq-java-client/api/current/com/rabbitmq/client/Channel.html

To implement both mandatory and immediate, shouldn't we add the notion of "ReturnListener" (as a  ReturnStream or something like that) ? Or maybe it is another separate feature?
 What do you think about that?

@cdelmas I'm not sure I follow. Both basicPublish methods return void in the Java driver. What do you mean with "checking the return"?

When using the mandatory and/or immediate flags, you expect the server to return the message if it was not routed. For that, the Java SDK Channel allows to add a ReturnListener, in order to get back the message and do something adequate.

Oh I see now, not sure how I'd go about it, I'll need to look into the API. With the Java driver one needs to guess what to expect...
Going to sleep soon but feel free to propose something. I'll try to give it a read to the API these days.

@cdelmas just to let you know I'm working on this. Modifying the publishing algebra for now and registering the listeners on the channel seems to work. Still need to add tests but I believe a PR will be coming soon.
I found the interface you were talking about:
/**
 * Implement this interface in order to be notified of failed
 * deliveries when basicPublish is called with "mandatory" or
 * "immediate" flags set.
 * For a lambda-oriented syntax, use {@link ReturnCallback}.
 * @see Channel#basicPublish
 */
public interface ReturnListener {
    void handleReturn(int replyCode,
            String replyText,
            String exchange,
            String routingKey,
            AMQP.BasicProperties properties,
            byte[] body)
        throws IOException;
}

More information that I'd like to add to the docs:
bit mandatory
This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.
The server SHOULD implement the mandatory flag.
bit immediate
This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.
The server SHOULD implement the immediate flag.
Source: https://www.rabbitmq.com/amqp-0-9-1-reference.html


Bug Report

What version of Go are you using (go version)?

$ go version
go version go1.16 darwin/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?

Install analysis tools on VSCode

What did you expect to see?
What did you see instead?

Please complete the template, mention what fails or goes unexpected. Thanks.


[Bug]: Endless "Outline has been successfully initialized, please try again to connect to the server." (Ubuntu 18.04)

Application
Outline Client
Describe the bug
When I try to connect to a server, I get a message "We will initialize Outline, which may require admin permissions. Would you like to proceed?". I press Ok, enter my password, and after a few seconds get the following message: "Outline has been successfully initialized, please try again to connect to the server.". When I press connect again, the same exact process repeats. So I cannot actually connect to a server, it seems that I am just endlessly initializing Outline.
Steps to reproduce

Download the Outline AppImage, make the file executable, double click on the icon.
Add a server.
Click connect on the newly added server, get "We will initialize outline, which may require admin permissions. Would you like to proceed?" message.
Click Ok, enter your password when prompted, get "Initializing Outline..." message, then in a few seconds get "Outline has been successfully initialized, please try again to connect to the server." message.
Repeat steps 3-4 for as long as you like without any changes happening.

What did you expect to happen?
I should be able to connect to a server after Outline has been initialized (i.e., after the first or the second time I press connect).
What actually happened?
I do not connect to a server, just keep initializing Outline.
Outline Version
1.13.1 (476278)
What operation system are you using?
Linux
Operating System Version
Ubuntu 18.04 LTS
Screenshots and Videos

I have the same problem. Did you fixed it?

@VoidEvWh Nope, I have not found a solution yet.

Same problem.
Here is console log:
connecting to b3246ced-b2f3-4a0e-b393-20dad5e70fd9...
using tun2socks to check connectivity
[EXIT - tun2socks]: Exited with code 0
UDP support: true
starting routing daemon
Routing daemon socket setup failed Error: connect ENOENT /var/run/outline_controller
    at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'connect',
  address: '/var/run/outline_controller'
}
could not connect: G (routing daemon is not running)
[EXIT - tun2socks]: Exited with code 12
could not stop tun2socks: Process terminated by non-zero exit code: 12
tun2socks terminated due to Error: Process terminated by non-zero exit code: 12
disconnected from b3246ced-b2f3-4a0e-b393-20dad5e70fd9
installing outline routing service...
copying service installation files to /tmp/SiA5Wp
all service installation files copied to /tmp/SiA5Wp successfully
trying to run command as root:  trap "/usr/bin/chattr -R -i /tmp/SiA5Wp" EXIT; /usr/bin/chattr -R +i /tmp/SiA5Wp && /usr/bin/echo "e0644a3750b6c770e4f2f2e2e7de0de1e46386eed733d7841f35d9e4aa53c1cd  /tmp/SiA5Wp/install_linux_service.sh" | /usr/bin/shasum -a 256 -c && /usr/bin/echo "0a2d2b874d4d200145b1e3a7cc5818fb27e5c0ed69ebb4f4057e066e0b7fdc4a  /tmp/SiA5Wp/OutlineProxyController" | /usr/bin/shasum -a 256 -c && /usr/bin/echo "8bfab08036441bcbb558927bdecd97eebf8c2d365a2a7fdb6c0032c2afc965a2  /tmp/SiA5Wp/outline_proxy_controller.service" | /usr/bin/shasum -a 256 -c && "/tmp/SiA5Wp/install_linux_service.sh" "why"
/tmp/SiA5Wp/install_linux_service.sh: OK
/tmp/SiA5Wp/OutlineProxyController: OK
/tmp/SiA5Wp/outline_proxy_controller.service: OK
user why has been added to outlinevpn group

+ readonly PREFIX=/usr/local
+ PREFIX=/usr/local
+ readonly SERVICE_DIR=/etc/systemd/system
+ SERVICE_DIR=/etc/systemd/system
+ readonly SERVICE_NAME=outline_proxy_controller.service
+ SERVICE_NAME=outline_proxy_controller.service
+ readonly GROUP_NAME=outlinevpn
+ GROUP_NAME=outlinevpn
++ dirname /tmp/SiA5Wp/install_linux_service.sh
+ readonly SCRIPT_DIR=/tmp/SiA5Wp
+ SCRIPT_DIR=/tmp/SiA5Wp
+ /usr/sbin/groupadd -f outlinevpn
+ /usr/bin/id why
+ /usr/sbin/usermod -aG outlinevpn why
+ /usr/bin/echo 'user why has been added to outlinevpn group'
+ /usr/bin/cp -f /tmp/SiA5Wp/OutlineProxyController /usr/local/sbin
+ /usr/bin/cp -f /tmp/SiA5Wp/outline_proxy_controller.service /etc/systemd/system/
+ /usr/bin/id why
++ id -u why
+ owneruid=1000
+ /usr/bin/sed -i s/--owning-user-id=-1/--owning-user-id=1000/g /etc/systemd/system/outline_proxy_controller.service
+ /usr/bin/systemctl daemon-reload
+ /usr/bin/systemctl enable outline_proxy_controller.service
+ /usr/bin/systemctl restart outline_proxy_controller.service
+ /usr/bin/sleep 2

outline routing service installed successfully

did anyone found the issue ?

Any updates?

I have the same problem


PBTS: Update Consensus Params in SDK

In addition to ensuring Synchrony Params are added to the SDK's consensus module params, #2063 introduced an additional Consensus Parameter which will include the feature flags/enable height for both Vote Extensions and PBTS (for chains that opt to initialize with BFT Time or will need to upgrade to PBTS).
Acceptance Criteria

[ ] Introduce Synchrony Params
[ ] Introduce Feature Params
[ ] Refactor ABCI/Vote Ext Enable Height to Feature Params

We are depending on SDK, issue opened: https://github.com/cosmos/cosmos-sdk/issues/19603


Add dataset: v4design_europeana_style_dataset

A URL for this dataset
https://doi.org/10.5281/zenodo.4896487
Dataset description

V4Design is a project focused on developing digital tools for art and architecture. The painting styles dataset aims to provide training data for building a deep learning model that classifies paintings in different styles - "aesthetics'' in the V4Design terminology. The motivation for building this model is to allow non expert audiences to retrieve visual works and information about them.

The current dataset contains 1614 paintings belonging to the categories Baroque, Rococo, and Other. The images were obtained using the Europeana Search API, selecting open objects from the art thematic collection. 24k images were obtained, from which the current dataset was derived. The labels were added by the V4Design team, using a custom annotation tool. As described in the project documentation, other categories were used besides Baroque and Rococo. But for the sake of training a machine learning model we have retained only the categories with a significant number of annotations.

Dataset modality
Image
Dataset licence
Other license
Other licence
Creative Commons Attribution Non Commercial Share Alike 2.0 Generic
How can you access this data
As a download from a repository/website
Confirm the dataset has an open licence

[X] To the best of my knowledge, this dataset is accessible via an open licence

Contact details for data custodian
No response

#self-assign

I will add some additional documentation to this dataset shortly but will prioritise getting some other datasets completed first!


METRON-536: Add ASA Parser Artifacts to RPM spec files

Tested on Docker cluster following procedure here: Metron MPack

RPMs build successfully
MPack deployment successful.
Asa files are in correct locations.

+1 (non-binding)
I have verified this on a openstack VM. Before the fix, building metron RPMs using docker was failing complaining about the unpackaged ASA json files. Now with the fix applied, I am able to build the RPMs fine. Thank you!

Booting Travis. There is nothing in this PR that would cause the ElasticsearchWriter integration test to fail.

+1, by inspection.