Multirom support

Hi,
I've started to implement support for multiple ROMs in ems-flasher. There is room for improvement but it is functional. You can insert/delete/remove ROMs. The incremental defragmenter is working too and well tested.
I've reused some Awk scripts (insert.awk and update.awk) from the prototype that I call from C with popen()
but I could rewrite them in C later.
Compilation:

Install RGBDS (https://github.com/bentley/rgbds)
Update the menu submodule: git submodule init && git submodule update
Compile with make MENUDIR=. LIBEXECDIR=. to be able to test it without installation
You may also run tests.sh to test the Awk scripts.

Commands:
--title:
Print the listing of the page selected by --bank.
The starting bank number (a bank is 16K) is indicated for each ROM (see --delete).
Maybe it would be more appropriate to rename --title in --list?
By the way, I think --bank should  be renamed in --page.
--delete:
Accept a list of banks corresponding to the ROMs to delete.
Currently, it doesn't check if the bank belong to the selected page (it ignores --bank)
I've choosed to use bank numbers instead of indexes to limit the chance that references to ROMs change between two invokations of ems-flasher. So the user can invoke ems-flasher --title and then delete ROMs in multiple steps without risk (unless he adds new ROMs and defragmentation is needed).
We could add the possibility to delete ROMs by name
--format:
Delete all ROMs of the selected page
--write:

It now  accepts multiple files as arguments.
A menu is added when ROMs are inserted to an empty page. The features/enhancements bits (color, sgb) are copied from the first ROM.
It doesn't check if the added ROMs have exactly the same features enabled as the menu (this information is available with --title though). We should check that as a game may no work properly otherwise. But we could be less strict if we knew the target hardware. By example if the user has no SGB, it could mix SGB enhanced ROM with classic ROMs.
It doesn't warn the user if no menu was found (but it should) and allow insertion of new ROM.
It doesn't check for title duplicates.
The romsize code of a ROM must match the file size. We could be less strict by allowing the file to be smaller or, better by correcting the romsize code field on the fly when necessary.
When flashing a file it doesn't check if the file has changed since the time the file was first read to get its header and size. We could check that or load the file in memory when first accessed.

Improvements:

Add a progress bar
implement --read
When flashing a ROM, we could write the last bytes of the header last so the ROM would not be valid until all bytes have been effectively flashed.
Prevent the software to be interrupted in critical parts where it would block the card (requiring the user to reconnect the device). By example, in the middle of a USB transfer.

The file Tech has some information about the device USB programming.
The menu is developed there : https://github.com/chastai/menugb
Of course I will continue to work on this. Any comments/critics are welcome.
Christophe.

This is a sizable body of work. It looks very nice, thank you for your outstanding contribution!
I have misplaced my cart so I can't test directly, but from what I read above it all makes sense. My only concern with renaming --bank to --page is that it will break compatibility with existing users.
I see some minor issues with the menu folder. First, if the submodule is not checked out the behavior is a bit user-hostile:
make[1]: Entering directory `.../ems-flasher/menu'
make[1]: *** No targets specified and no makefile found.  Stop.

I also don't want ordinary users to have to install rgbds to build the menu. We should make the build scripts a bit smarter and:

do the Right Thing when the submodule is not checked out
ship a menu.gb that works for 99% of everyone
I don't want to force users to download rgbds to build the menu if we can avoid it. Can we ship a compiled menu.gb and have the build scripts intelligently detect

You're welcome.
The hardest part was the development of the defragmenter. I found the right algorithm intuitively at the first attempt but I was not sure that it was correct. So I put into practice this adage of Ken Thompson: "When in doubt, use brute force." and I created a script to generate fragmented images randomly to test the algorithm to prove than, at least, I was following the right direction. Eventualy, the penny has dropped and after two rewrites it was ready to going public.
For the problems with the dependency to RGBDS and with the submodule:
We could provide the menu.gb binary in the root directory. The other versions of the menu (with different headers for color/sgb enhancements...) could be built automatically by a portable shell script (with awk and od) to avoid invoking rgbfix. This will also allow the user to use a different menu simply by replacing menu.gb.
So, when the user invoke make alone, menu.gb is left untouched. make stockmenu (by example) will ensure that ems-flasher is compiled with the stock menu.gb binary (the original menu.gb will be restored from a file). make menugb will compile ems-flasher with the specified menu program (and menu.gb will be overwritten). The script will ask the user to invoke the adequate git commands when the menu subdirectory is empty. Of course, we could also detect the presence of RGBDS. Or we could even write a Game Boy assembler in Awk :-)
We could also replace the submodule by incorporating the menu repository with a subtree merge.
Also, I would rename the menu directory by menugb as menu.gb is a menu software among others.
Christophe.

I'm happy to leave the menu as a separate repository. We should use different Makefile targets for using built-in menus or rebuilding the menu from source. I'd like the default behavior (just running make) to be sensible, preferably using the menu designed for color/b&w.

I've work a bit on it this weekend:

I've made a special version of ems-flasher which operates on a file so you can test it without the actual cartridge.
You can build it with make ems-flasher-file. By default the image file is image.gb but you can change it by exporting the IMAGEFILE environment variable.
This version doesn't support operations on SRAM yet.
The image combines both pages. You can use split -n2 to split it in two files and use them with an emulator supporting EMS smartcard page images like BGB (works well with Wine).

I've added two rules to ease compilation of development versions in Makefile:
ems-flasher-dev and ems-flasher-file-dev build both versions of ems-flasher with MENUDIR=. and LIBEXECDIR=. so they can be tested without installation.

I've added a precompiled version of the menu and changed Makefile this way:
check-menu: it builds the variants of the menu (color/super/color+super) from menu.gb.
menu.gb: check if menu.gb exists and inform the user of how to install it if not. menu.gb is present in the repo.
menu-orig: copy menu.gb.orig to menu.gb to restore the precompiled menu.
menu: make the menu from source and instruct the user how to update the submodule if necessary.

I've started to implement the display of a progression status.

I'll try to work on other details this week. Of course, once merged, feel free to change anything to your taste.
Christophe.

Hello,

Here are the important things I've done since the last time :
 - converted the insert/update awk scripts executed by the program to C
   functions
 - terminate cleanly when a --write operation is interrupted by a signal
 - show the estimated time left in the progression status
 - on write and move operations, the integrity of flashed ROMs is guaranteed by
   keeping the header invalid until the last write operation. When moving a ROM
   (defragmenting), the source ROM is deleted after the copy is successful.
 - the menu switches the palette to grey instead of the default dark green on
   a Game Boy Color when running a Classic Game Boy ROM.

Important things that remain to be done:
 - if libusb is multithreaded (it concerns at least the versions with the
   hotplug feature on Linux and Mac), we must ensure that the signals are
   blocked in all threads except the main thread.
 - signals (at least SIGHUP/SIGINT/SIGTERM) must be blocked during flash
   I/O operations in cmd_title(), cmd_delete(), cmd_format(), cmd_title()
   and cmd_write() (for the call to list()).
 - define a time out for I/O operations
 - --read individual ROMs
 - a command to update the menu
 - handling the compatibility of the hardware enhancements of ROMs in the same
   page.
 - ...

I will add some unit tests later.

The menu is precompiled in menu.gb (compat mode).
Use make check-menu to create the variants (color/sgb/color+sgb headers).

make ems-flasher-dev will compile a version that uses the menus in the current
directory.
make ems-flasher-file-dev will compile a version using a file (image.gb) in
place of the real cartridge.

Random notes:

--title (cmd_title()):

 - The title of the menu ROM is now "MENU#" and the publisher is Nintendo (this
   combination allows the grey palette to be selected (the checksum of the title
   matches the one of the game "X"). The title of the menu from EMS is "GB16M".

 - Title of ROMs: the Nintendo ASCII character set is used (64 characters, it
   lacks lowercases by example), unknow characters are replaced by a space. EMS
   uses an extended ASCII character set.

 - ROM listing (list()):
   This version is quite naive and skips the ROMs that are misaligned or whose
   the size declared in the header is not a power of two or is wrongly coded as
   these ROMs would make the degragmentation algorithm crazy (note that to my
   knowledge the only ROMs not a power of two are firmware ROMs for the camera
   or other extensions).
   This means that these "faulty" ROMs could be overwritten as list() is also
   used by --write.
   I think we should warn the user if one of these problems should occur and
   simply forbid any change until the problems are solved: i.e. by deleting the
   ROM. The user could possibly --read the faulty ROM before that.

 - Hardware enhancements: these are defined in the menu ROM header and apply
   to all ROMs of the page. There are four modes:
   - DMG exclusive: emulate the behaviours of the Classic Game Boy when run
     on a Game Boy Color (notably regarding the sprite overlapping rules,
     the palette, ...).
   - DMG/CGB compatible: enable extended features when run on a Color Game
     Boy (the program will take the differences between a DMG and a CGB
     into account).
   - CGB exclusive: not enforced by the hardware. Normally, the program will
      display an error message if run on a DMG.
   - SGB: enable SGB features on a SGB.

     DMG exclusive and DMG/CGB compatible are mutually exclusive.
     CGB exclusive is technically equivalent to DMG/CGB compatible.

    Problems would arise if
      - a CGB ROM ran on a CGB in DMG exclusive mode.
      - a DMG ROM ran on a CGB in DMG/CGB compatible mode.
         (different rules for sprite overlapping, ...)
      - a SGB ROM ran on a SGB in non SGB mode
          (it is possible that the program would backup to DMG functionalities
           if it can't detect the SGB)
      - a DMG or CGB ROM ran on a SGB in SGB mode.
         (this is perhaps less problematic. The only risk is if the program use
          the addresses of the mapped ports).

 This version of --list displays the modes set in the header of each ROM and the
 actual one.

--delete
   I've used the term "bank" to designate a ROM location, that could be confusing as
   this word is used to designate a page elsewhere.

--write:

    - At start, the headers of the ROM files are read, but the data are loaded
      only when the ROM is flashed. It uses the ctime to see if a file has not
      been modified since the header was read. I don't remember why I did that
      like that but may be it would be easier to load the entire files at start.

    - The size in the header must match the file size. Maybe it's too strict? considering
      that this parameter is not checked by the hardware). Instead, the size could be
      adjusted on the fly when it doesn't match.
      Also we could allow the file to be smaller (when the ROM has not be
      padded).

    - A menu is always present even when the ROM is isolated on a page (excepted
      for 4 MB ROMs) so that the grey palette is selected when run on CGB
      whether there is one or more ROMs (in fact, it's only necessary for DMG
      ROM).
      Also, we should propose a --no-menu option. Of course, only one ROM could
      be written in this case.
      Note that the menu software will launch the ROM directly if the ROM is
      isolated.

    - Compatibility of hardware enhancements: no check is made to see if the
      ROMs added are compatible with the header of the menu.
      The enhancments written in the header of the menu are determined by the
      first ROM added.

      We could simply prevent the user from mixing ROMs with incompatible settings
      but if, e.g. he has specified that he doesn't own a SGB, we could then
      ignore the SGB enhancement flag and allow mixing of SGB and non SGB ROMs on a
      same page or if the user state that it doesn't own a CGB, it could mix
      CGB and DMG games... The user choice could be stored in the menu by
      example.

    - Compatibility with EMS:
        - all ROMs flashed by the EMS software are visible by our software.
        - the EMS software expects the ROMs to be sorted by size in ascending
          order so some ROMs created by ems-flasher won't be visible by their
          software.
        When we detect a cartridge created with EMS software (the title of the
        menu is "GB16M"), we should not allow any change until the user has
        changed the menu software.
       And by the way, there should be a command to update/set the menu.

That's all for now.

Feel free to keep/remove/rearange the code like you want.

Christophe.

Hey Christophe, is there anything else you'd like to add to this? I will merge the pull request if I don't hear back in a few days.
Thanks as always for your fine work on this!


Documentation Error

On the documentation, specifically for the <AnimateKeyframes /> component, the following code is presented:
<AnimateKeyframes
    play
    delay={1}
    duration={10}
    iterationCount={3}
    direction="alternative"
    keyframes={[
      'transform: translateY(0)',
      'transform: translateY(10px)',
    ]}
  >
    <YourComponent />
  </AnimateKeyframes>

However, direction="alternative" is not a valid prop. I believe this should be alternate.
https://react-simple-animate.now.sh/animate-keyframes

you are right! thanks

fixed.


Issue when changing used model

Hello,
I'd like to use pocketsphinx to recognize french language phonemes, on an android application.
I have downloaded the demo application for android, and I tried to modify the accoustic model and dictionary, but all I get now is an error :
E/cmusphinx: ERROR: "fsg_search.c", line 141: The word 'phones' is missing in the dictionary
I had some other errors like that that I have been able to remove by replacing the original english words by french ones, but even if I changed everything, this error is still there.
I'm using the french model from here : https://sourceforge.net/projects/cmusphinx/files/Acoustic and Language Models/
Any solutions ?

Seems like this word is still in the grammar, you need to search better ;)

You can upload your whole modified package, I'll take a look.

nevermind, found it, it was just that some of the files (the .gram, the ones with the specific words to use in menus) were still not changed... It works well now. Sorry for the disturbance.


License information

Is it possible to add LICENSE file which explains which license this code is released under? This could simplify contributions to DeepRecSys project.

Thank you for catching this. I have added the MIT license file for this work.


python310Packages.pytest-subtests: 0.9.0 -> 0.10.0

Changelog: https://github.com/pytest-dev/pytest-subtests/blob/0.10.0/CHANGELOG.rst
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@ofborg build python310Packages.pytest-subtests python311Packages.pytest-subtests python311Packages.cryptography python311Packages.celery python311Packages.pint


Codable Routing for DELETE should return '204 No Content' on success

Currently a successfully return from a DELETE action in Codable Routing results in 200 OK. Best practices for REST are that this should return `204 No Content'.

Opened a PR for this


Add UICache

UICache in its current state has problems in multiplayer. It may be that it sends UI changes before peer initialization is complete and they are ignored.
First, make sure that the UI changes are sent when the player joins. If so, consider using onPlayerJoin/onPlayerLeave as an alternative to the current method.

Maybe ui_cache.addMapObject should be renamed to ui_cache.setMapObject


Rfs supporting macos

will be there any version of rfs supporting macos ?

will be there any version of rfs supporting macos ?

do we have usecase for this?
If yes, i will be happy to take it.

@iwanbk
Yes we need this one.

Hi @ramezsaeed
I can make it compiled, do you have simple flist for testing?

got issue when trying to create .fl from Redis docker image, tracked at #79


Vertically centered table rows are not actually vertically centered

Using the default theme, the following Asciidoc generates the table seen in the screenshot below. Vertical-alignment seems to be off? I'm not a Ruby guy and can't figure this codebase out enough to fix, but I think this might be a good starting point? First added along with tests in this commit.
[cols=">.<,^.^,<.>",grid=all,frame=ends]
|=========
| *Top*
| *Center*
| *Bottom*
|=========

Getting text to vertically align center in Prawn is nearly impossible. That's because every font has a built-in line height, and how that information is reported varies from font to font. If we get it working for one font, then it's off for a different font. I have spent many, many hours trying to make it work consistently, and I just can't do it. So I regret to information you that this is just the way it is. It will never be perfect.

To clarify, I have already fixed the middle alignment in the main branch. However, I couldn't fix the bottom alignment, which ends up matching the middle alignment. But it's at least better than the screenshot you posted.
Unless someone can show me a better way to do it, I'm closing this issue as I have no plans to work on it any further.

Thanks for the quick response! I don't know a lot about font rendering, but I took a stab at a fix in prawn-table, just by re-using their cheeky move-before-rendering alignment code. Here's the PR. I move up for Top, don't move at all for Center, and move down for Bottom. Do you see this breaking things for other fonts, given I'm using the same variables (font.line_gap and font_descender) for movement? If I knew what those variables are exactly I could maybe fine tune it.

That may work for the built-in fonts, but it's the TTF fonts where things get tricky (like NotoSerif). They are the ones that have a built-in line height. That's further complicated by the fact that Asciidoctor PDF itself supports a line height that has to be taken into consideration. The fix in Prawn itself will not be enough to fix the alignment universally in Asciidoctor PDF. You are welcome to try to make the fix in Asciidoctor PDF, and I will review it. But I won't be investing any time in it myself.

Thanks again for the time. I ran a test on 310 Windows TTF fonts, and my change seems to fix most TTF fonts. In cases where it doesn't help, things aren't any worse than the existing behavior, they just don't get much better. Hope to see this merged upstream so users can at least get some expected behavior for majority of cases, vs current behavior of being broken everywhere for even the builtin fonts.
If the Prawn fix doesn't help Asciidoctor, can I suggest adding a note in the PDF theming guide that vertical-alignment is broken? I spent a fair amount of time digging into this only to find it's a known issue but still being presented to users as a working feature.

You're welcome to submit a docs or code fix to Asciidoctor PDF, and I will review. As I said, I'm not going to initiate the effort to address this issue because I am already overstretched. But I will take the time to review an effort that is being driven by a community member.


Add weighted constraints to CQM intro and edit docstrings

Codecov Report

Merging #1253 (9daff6d) into main (de40db8) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1253      +/-   ##
==========================================
+ Coverage   94.89%   94.90%   +0.01%
==========================================
  Files          83       80       -3
  Lines        8247     8146     -101
==========================================
- Hits         7826     7731      -95
+ Misses        421      415       -6

Impacted Files
Coverage Δ

dimod/binary/binary_quadratic_model.py
92.93% <ø> (ø)

dimod/constrained.py
94.59% <ø> (ø)

dimod/quadratic/quadratic_model.py
92.20% <ø> (ø)

dimod/variables.py

dimod/binary_quadratic_model.py

dimod/__init__.py

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


FI recoveryservicesbackup release into master

Can one of the admins verify this patch?

Can one of the admins verify this patch?


I2S with MAX98357A  like a robot

Hi,
Sorry, my english is not my native language. So I'll make short sentences
I'm trying to test the I2S with your firmware and examples:

esp32 wrover
your firmware
taunt-16k-16bits-mono.wave

I have sound coming out of the speaker, but it's not audible, like a robot. I use MAX98357A 3W board
I made the same connections as your Hardware Test Setup:
bck_pin = Pin (21) -> BCK board
ws_pin = Pin (22) -> LCR board
sdout_pin = Pin (27) -> DIN board
SD board -> nothing
Gain board-> test GND or VCC
I used your example: play-stereo-wav-from-internal-flash.py
I tried changing some setting, but it doesn't improve the sound.
Can you tell me what I'm doing wrong?
Thank you so much

It's my mistake. The speaker I am using is not good. I changed it and it works great. Thank you


shattered-pixel-dungeon: 0.9.2b -> 0.9.3

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[x] (Package updates) Added a release notes entry if the change is major or breaking
[x] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 126215 at 9306fb9f run on x86_64-linux 1

1 package built successfully:

shattered-pixel-dungeon

2 suggestions:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/games/shattered-pixel-dungeon/default.nix:68:3:
   |
68 |   installPhase = ''
   |   ^

warning: missing-phase-hooks
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/games/shattered-pixel-dungeon/default.nix:59:3:
   |
59 |   buildPhase = ''
   |   ^


🐛 Fix Photopicker cutoff on iPhone X and newer

This adds some padding to the photo picker in order to "fix" the cutoff on iPhone X and newer.
Like @lifenautjoe mentioned in #182 detecting specific phones isn't pretty, so the padding is applied for all devices.
For the post actions bar/container (bar with yellow photo button) the padding is also applied to the top, so it also remains symmetrical on other devices.

Picker tiles padding is good, however we might have some other places that have the same problem, for example when pressing the more icon on a post or more on a person's profile.
Would be good to keep it consistent across the place.
On regards to the padding on the Post actions, it might be too much for when typing in a post. Perhaps we can add it only when the textfield is not active and only bottom padding in a similar fashion to the picker tiles?

Picker tiles padding is good, however we might have some other places that have the same problem, for example when pressing the more icon on a post or more on a person's profile.

I've checked throughout the app, but it isn't a problem in other places because than the tabbar acts as a buffer.

On regards to the padding on the Post actions, it might be too much for when typing in a post. Perhaps we can add it only when the textfield is not active and only bottom padding in a similar fashion to the picker tiles?

I'll take a look at this 👍

I've took a quick look and it doesn't seem to get in the way, even on a smaller iPhone 5S.

Awesome @WouterJanson 🙏

Whoops, new comment in between. You mean doesn't get in the way about the padding right?
Over the one added to the Post actions, still would be nice to make it happen only when textInput not focused and extra padding only at the bottom.

Yesh the padding on the Post actions doesn't interfere with the user interaction, when writing a post.
But I can always look if I set the padding based on the focused state of the text input.

Yes please 🙏  .More on the aesthetic side of things, as in only use the padding when it's needed.

I think 180b3e1 should do the trick.

Hi Wouter! I think something that might be better is using a FocusNode and passing it to the OBCreatePostText which would then use it on the TextField.
This focus node is a ChangeNotifier meaning you can listen to its events and then check for focusNode.hasFocus.
Remember to also clean up events by overriding the widget dispose method too if you do this :-)

This way I learn a bit more about Flutter every day. Thank you, I will take a look at it this weekend.

Awesome @WouterJanson , no problem, take your time and enjoy the sunny weather! 👯♂

Method of detecting focus on the textfield is changed to the usage of a FocusNode.

Awesome @WouterJanson ! Thank you.


upgrade: fix style in help text

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?
[x] Have you successfully run brew man locally and committed any changes?

Fix a small spacing issue in the upgrade help text.
Before:
      --formula, --formulae        Treat all named arguments as formulae. If
                                   no named argumentsare specified, upgrade
                                   only outdated formulae.

After:
      --formula, --formulae        Treat all named arguments as formulae. If
                                   no named arguments are specified, upgrade
                                   only outdated formulae.

Review period skipped due to critical label.


add e2e testing base on docker-compose

I'm not familar with drone. So, just provide a GitHub Action script to run the testing. Please comment below if you have any suggestions about the e2e testing. Consider  there are a lot of APIs, I just added some of them.
By the way, the following project (drone plugin) was archived.

https://github.com/thegeeklab/drone-docker-buildx?tab=readme-ov-file

close https://github.com/cnrancher/autok3s/issues/646
the related issue is https://github.com/cnrancher/autok3s/issues/9

hi @JacieChao I'm wondering if you have free time to review this PR.

Thanks for your contribution @LinuxSuRen
I will add this to my schedule when I have time.

Yes, We have not enough quota to do pull request GitHub action e2e test, reuse drone and do e2e testing in tag stage is better.
Dapper has a certain learning and usage cost for contributors, perhaps @JacieChao @orangedeng you guys can help optimize the PR with use Dapper.

The following logs are run with docker-compose.yml with autok3s v0.9.1. I am not sure it is passed or not.
testcase.yaml pattern 1
found suites: 1
2023-12-05T02:39:36Z    ERROR   tracer.go:186   open stream error rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:11800: connect: connection refused"      {"SW_CTX": "[Your_ApplicationName,87b6dcc5931711ee93900242ac170003@<IP_ADDRESS>,N/A,N/A,-1]"}
2023-12-05T02:39:36Z    ERROR   tracer.go:186   report serviceInstance properties error rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:11800: connect: connection refused"        {"SW_CTX": "[Your_ApplicationName,87b6dcc5931711ee93900242ac170003@<IP_ADDRESS>,N/A,N/A,-1]"}
2023-12-05T02:39:36Z    ERROR   tracer.go:186   fetch dynamic configuration error rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:11800: connect: connection refused"      {"SW_CTX": "[Your_ApplicationName,87b6dcc5931711ee93900242ac170003@<IP_ADDRESS>,N/A,N/A,-1]"}
2023-12-05T02:39:36Z    ERROR   tracer.go:186   open stream error rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:11800: connect: connection refused"      {"SW_CTX": "[Your_ApplicationName,87b6dcc5931711ee93900242ac170003@<IP_ADDRESS>,N/A,N/A,-1]"}
2023-12-05T02:39:36Z    ERROR   tracer.go:186   open stream error rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:11800: connect: connection refused"      {"SW_CTX": "[Your_ApplicationName,87b6dcc5931711ee93900242ac170003@<IP_ADDRESS>,N/A,N/A,-1]"}
map[data:map[actions:map[] createTypes:map[cluster:http://autok3s:8080/v1/clusters] data:[map[actions:map[disable-explorer:http://autok3s:8080/v1/clusters/k3d-wxVY?action=disable-explorer download-kubeconfig:http://autok3s:8080/v1/clusters/k3d-wxVY?action=download-kubeconfig enable-explorer:http://autok3s:8080/v1/clusters/k3d-wxVY?action=enable-explorer join:http://autok3s:8080/v1/clusters/k3d-wxVY?action=join upgrade:http://autok3s:8080/v1/clusters/k3d-wxVY?action=upgrade] id:k3d-wxVY links:map[nodes:http://autok3s:8080/v1/clusters/k3d-wxVY?link=nodes remove:http://autok3s:8080/v1/clusters/k3d-wxVY self:http://autok3s:8080/v1/clusters/k3d-wxVY] master:1 name:wxVY provider:k3d status:Failed type:cluster worker:0] map[actions:map[disable-explorer:http://autok3s:8080/v1/clusters/fCRX?action=disable-explorer download-kubeconfig:http://autok3s:8080/v1/clusters/fCRX?action=download-kubeconfig enable-explorer:http://autok3s:8080/v1/clusters/fCRX?action=enable-explorer join:http://autok3s:8080/v1/clusters/fCRX?action=join upgrade:http://autok3s:8080/v1/clusters/fCRX?action=upgrade] id:fCRX links:map[nodes:http://autok3s:8080/v1/clusters/fCRX?link=nodes remove:http://autok3s:8080/v1/clusters/fCRX self:http://autok3s:8080/v1/clusters/fCRX] master:1 name:fCRX provider:native status:Failed type:cluster worker:0]] links:map[self:http://autok3s:8080/v1/clusters] resourceType:cluster type:collection]] == len(data.data) == 2
map[data:map[actions:map[] createTypes:map[sshKey:http://autok3s:8080/v1/sshKeys] data:[map[actions:map[export:http://autok3s:8080/v1/sshKeys/zurE?action=export] has-password:false id:zurE links:map[remove:http://autok3s:8080/v1/sshKeys/zurE self:http://autok3s:8080/v1/sshKeys/zurE] name:zurE ssh-key-public:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmQJLRFdAfRpzBqsPZydIFlsNc1dO+FvCJdH0Ag5tB6Km0GPFWfFFg/A+xTqFTQGjtkc6+XXAZREjmiBdHI3PCDnCS+yj9oezwDPfC/hmWGRzr8t3CuIzdCyXxSlAiMz2dvLr8USho3ixyzrGNVdUssBFWgMW0fNje4zzAqXEFWRGZLIbjNabhTgedBxBjEr3uV0o721sAFuK+15aGgD92MjiawM4k0TvQHXnf++d7dhe3je3AhFEkjIUkA4YO2J+bmUJN79CgbGCz1xh/l6gFS2YcrWbg5E/FYxMscm9m6JJ/4X/fflyBY9MfyB+KAqAYbdYPYyoM5MS4eq8Oy557
 type:sshKey]] links:map[self:http://autok3s:8080/v1/sshKeys] resourceType:sshKey type:collection]] == len(data.data) == 1
map[data:map[actions:map[] createTypes:map[addon:http://autok3s:8080/v1/addons] data:[map[description:Default Rancher Manager add-on id:rancher links:map[remove:http://autok3s:8080/v1/addons/rancher self:http://autok3s:8080/v1/addons/rancher update:http://autok3s:8080/v1/addons/rancher] manifest:Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBOYW1lc3BhY2UKbWV0YWRhdGE6CiAgbmFtZTogY2VydC1tYW5hZ2VyCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBOYW1lc3BhY2UKbWV0YWRhdGE6CiAgbmFtZTogY2F0dGxlLXN5c3RlbQotLS0KYXBpVmVyc2lvbjogaGVsbS5jYXR0bGUuaW8vdjEKa2luZDogSGVsbUNoYXJ0Cm1ldGFkYXRhOgogIG5hbWVzcGFjZToga3ViZS1zeXN0ZW0KICBuYW1lOiBjZXJ0LW1hbmFnZXIKc3BlYzoKICB0YXJnZXROYW1lc3BhY2U6IGNlcnQtbWFuYWdlcgogIHZlcnNpb246IHYxLjExLjAKICBjaGFydDogY2VydC1tYW5hZ2VyCiAgcmVwbzogaHR0cHM6Ly9jaGFydHMuamV0c3RhY2suaW8KICBzZXQ6CiAgICBpbnN0YWxsQ1JEczogInRydWUiCi0tLQphcGlWZXJzaW9uOiBoZWxtLmNhdHRsZS5pby92MQpraW5kOiBIZWxtQ2hhcnQKbWV0YWRhdGE6CiAgbmFtZTogcmFuY2hlcgogIG5hbWVzcGFjZToga3ViZS1zeXN0ZW0Kc3BlYzoKICB0YXJnZXROYW1lc3BhY2U6IGNhdHRsZS1zeXN0ZW0KICByZXBvOiB7eyAucmFuY2hlclJlcG8gfCBkZWZhdWx0ICJodHRwczovL3JlbGVhc2VzLnJhbmNoZXIuY29tL3NlcnZlci1jaGFydHMvbGF0ZXN0IiB9fQogIGNoYXJ0OiByYW5jaGVyCiAgdmVyc2lvbjoge3sgLlZlcnNpb24gfCBkZWZhdWx0ICIiIH19CiAgdmFsdWVzQ29udGVudDogfC0KICAgIGhvc3RuYW1lOiAie3sgcHJvdmlkZXJUZW1wbGF0ZSAicHVibGljLWlwLWFkZHJlc3MiIH19Ont7IC5QdWJsaWNQb3J0IHwgZGVmYXVsdCAzMDQ0MyB9fSIKICAgIGluZ3Jlc3M6CiAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgICBnbG9iYWw6CiAgICAgIGNhdHRsZToKICAgICAgICBwc3A6CiAgICAgICAgICBlbmFibGVkOiBmYWxzZQogICAgYm9vdHN0cmFwUGFzc3dvcmQ6IHt7IC5ib290c3RyYXBQYXNzd29yZCB8IGRlZmF1bHQgIlJhbmNoZXJGb3JGdW4iIH19CiAgICBhbnRpQWZmaW5pdHk6ICJyZXF1aXJlZCIKICAgIHJlcGxpY2FzOiAxCi0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZXJ2aWNlCm1ldGFkYXRhOgogIGxhYmVsczoKICAgIGFwcDogcmFuY2hlcgogIG5hbWU6IHJhbmNoZXItbGItc3ZjCiAgbmFtZXNwYWNlOiBjYXR0bGUtc3lzdGVtCnNwZWM6CiAgcG9ydHM6CiAgICAtIG5hbWU6IGh0dHAKICAgICAgcG9ydDoge3sgLkhUVFBQb3J0IHwgZGVmYXVsdCAzMDA4MCB9fQogICAgICBwcm90b2NvbDogVENQCiAgICAgIHRhcmdldFBvcnQ6IDgwCiAgICAtIG5hbWU6IGh0dHBzCiAgICAgIHBvcnQ6IHt7IC5QdWJsaWNQb3J0IHwgZGVmYXVsdCAzMDQ0MyB9fQogICAgICBwcm90b2NvbDogVENQCiAgICAgIHRhcmdldFBvcnQ6IDQ0MwogIHNlbGVjdG9yOgogICAgYXBwOiByYW5jaGVyCiAgc2Vzc2lvbkFmZmluaXR5OiBOb25lCiAgdHlwZTogTG9hZEJhbGFuY2VyCg== name:rancher type:addon]] links:map[self:http://autok3s:8080/v1/addons] resourceType:addon type:collection]] == len(data.data) == 1
routing end with 1.102108892s
API Average Max Min QPS Count Error
POST http://autok3s:8080/v1/sshKeys 84.490682ms 84.490682ms 84.490682ms 0 1 0
POST http://autok3s:8080/v1/clusters 55.360631ms 163.466559ms 1.007418ms 0 3 0
POST http://autok3s:8080/v1/credentials 10.309855ms 11.049823ms 9.902385ms 0 4 0
GET http://autok3s:8080/v1/sshKeys/zurE 1.977901ms 1.977901ms 1.977901ms 0 1 0
GET http://autok3s:8080/v1/clusters 1.419202ms 1.419202ms 1.419202ms 0 1 0
GET http://autok3s:8080/v1/clusters/k3d-wxVY?link=nodes 1.33113ms 1.33113ms 1.33113ms 0 1 0
DELETE http://autok3s:8080/v1/clusters/k3d-wxVY 1.027705ms 1.027705ms 1.027705ms 0 1 0
GET http://autok3s:8080/v1/sshKeys 938.248µs 938.248µs 938.248µs 0 1 0
GET http://autok3s:8080/v1/addons 841.101µs 841.101µs 841.101µs 0 1 0
consume: 1.102246087s

There are serial issues needed to be addressed:

If running pr testing, following error will be thrown as the version is in the wrong formatpanic: version string "pr-LinuxSuRen-647" doesn't match expected regular expression: "^v(\d+\.\d+\.\d+)"

goroutine 1 [running]:
k8s.io/component-base/metrics.parseVersion({{0x0, 0x0}, {0x0, 0x0}, {0x54e4fc0, 0x11}, {0x54fe280, 0x28}, {0x54df168, 0x5}, ...})
       /go/pkg/mod/k8s.io/component-base@v0.26.0/metrics/version_parser.go:47 +0x274
k8s.io/component-base/metrics.newKubeRegistry({{0x0, 0x0}, {0x0, 0x0}, {0x54e4fc0, 0x11}, {0x54fe280, 0x28}, {0x54df168, 0x5}, ...})
       /go/pkg/mod/k8s.io/component-base@v0.26.0/metrics/registry.go:349 +0x119
k8s.io/component-base/metrics.NewKubeRegistry()
       /go/pkg/mod/k8s.io/component-base@v0.26.0/metrics/registry.go:363 +0x78
k8s.io/component-base/metrics/legacyregistry.init()
       /go/pkg/mod/k8s.io/component-base@v0.26.0/metrics/legacyregistry/registry.go:30 +0x1d

The e2e testing needs a passed/failed result.
Resource clean logic should be considered in e2e testing. The autok3s won't start docker daemon so it will probably re-use the host docker to do k3d testing. Some k3d containers will be left over after the test finished.

The following command will return the exit code if there are some errors happen.
atest run -p testcase.yaml
All the test cases passed as show in your log output. But I don't know how the error reproduce:
panic: version string "pr-LinuxSuRen-647" doesn't match expected regular expression: "^v(\d+\.\d+\.\d+)"

The e2e testing needs a passed/failed result.

Currently, we can see the result from the table. And see the each test case if there is an error.  And I think it could have a new feature to report a summary. Such as: Total: 10, Error: 2

Resource clean logic should be considered in e2e testing

Currently, we could add the post to do that. Please allow me to do more tests.


Add logger as a runtime dependency rather than default gem

Description 📖
The default gem logger will be removed from Ruby 3.5.0 and must now be installed separately. This also resolves a warning in Ruby 3.3.5.
Background 📜
Ruby is removing some of the “default” gems so they now need to be installed separately.
The Fix 🔨
I’ve added the logger gem as a runtime dependency.
Screenshots 📷
I don’t have any screenshots, but I have a copy of the warning message in Ruby 3.3.5.

warning: logger was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.

Thanks!


Sample App: Appt Booking - "We could not find any ...." message should not appear

See attache video - while waiting for the API, an incorrect message saying "We could not find...' appears. That must not appear. It should only come up if there are no appts available
https://user-images.githubusercontent.com/10066434/222022609-c3c85098-b2f9-4f71-ba08-201d123ad733.mov
cc @amin-nas

Fixed, please check now.

@gaurikalp please close an issue when it has been fixed


metal: build ios shaders in Makefile

Fixes #3086
PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[ ] tested examples with the following backends:
[ ] rustfmt run on changed code

@kvark all done. Can i also make PR in 0.4 branch ?

Can i also make PR in 0.4 branch ?

That would be great, yes!


Upgrade to 0.10.0 fails

I got the following message when running a spin cloud command (it was spin cloud variables set ..., but I don't think that matters)
This plugin can be upgraded. Version 0.10.0 is available,
but may not be backward compatible with your current plugin.
To upgrade, run `spin plugins upgrade cloud`.

Hence I tried the upgrade command, but that leads to this error:
vscode ➜ /workspaces/verified-bluesky (tfe/only-verifiy-mode) $ spin plugins upgrade cloud
Error: Newer version 0.9.1 of plugin 'cloud' is already installed. To downgrade to version 0.10.0, run `spin plugins upgrade` with the `--downgrade` flag.

Here is a screenshot of the full flow

I guess the version comparison is broken?

Yes, sorry, this is fixed in https://github.com/fermyon/spin/pull/2947 but that's not in a release yet.  For the time being you would need to uninstall-reinstall to upgrade.  I apologise for this!


Simplify network connection and user sign on

Create a new developer interface for connecting a user to a web application.
Suggested interface:
const options = {}
const context = new Context(`CONTEXT_NAME`, 'testnet', options)

See #92

@kalanamt probably need to talk to @tahpot regarding implementing this change, since we want it to remain backwards compatible so client code doesn't break.


Laravel 11.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 11.x.
Before merging, you need to:

Checkout the l11-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: Shift detected GitHub Actions which run jobs using a version matrix. Shift attempted to update your configuration for Laravel 11. However, you should review these changes to ensure the desired combination of versions are built for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/laravel-tel-input.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "victorybiz/laravel-tel-input": "dev-l11-compatibility",
    }
}

Finally, run: composer update

@victorybiz Possible to merge this please ?


First pass adding samples folders

Issue #, if available:
Description of changes:

Added webrtc and producer c samples folders

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I would put a CmakeLists.txt in each sample directory and have that download dependencies. If we do submodules the issue is that people can't copy this into their own projects.
I would do the directory structure like this, since we have some samples that use WebRTC and Producer

webrtc-with-gstreamer
producer-with-gstreamer
webrtc-and-producer-from-file

etc... then at anytime someone copy that directory out and it would continue to work. Please push back if you disagree!


Re-assigned nets to smoothed tracks

Hey Matt,
I know this extension is a lower priority for you now that you're using EE Pro, but do you know of a way to solve this issue?
If a schematic is changed, tracks nets are updated with Import Changes, but the nets of the associated smooth-tracks are incorrect.

I tried using another extension (SmartReconnectTracks), which works for many of these situations, but unfortunately no dice here.
Or even a way to remove all of the areas created by this extension?
All the best,
Dax.

I think this is due to having used the Smooth Tracks function on a PCB that already had smoothed tracks. This was necessary due to updates to the design.
Looks like duplicates are causing the problem. We need an easy way to remove them.


feat(ci): deploy via releases

Codecov Report

Merging #73 (a53dff1) into master (a0fc106) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #73   +/-   ##
======================================
  Coverage    6.79%   6.79%
======================================
  Files          31      31
  Lines        2148    2148
======================================
  Hits          146     146
  Misses       1984    1984
  Partials       18      18

Continue to review full report at Codecov.

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


Please add support for Lambdas in the local scope

Nothing to add to the title.  I am unclear why AFE completely ignores names in the Worksheet scope.

AFE was originally created as a way to author LAMBDA's that could be shared across documents, and worksheet scope coupled the functions to the document. Since then, AFE has expanded to support name manager capabilities but we have not prioritised parity with the name manager as that was never a goal.
We currently do not have plans to add this and in terms of feature priority, we would rather add more features for sharing functions across documents. Will add this as a feature request for tracking.

Thank you for your reply, Jack.
We share a goal – although our approaches differ considerably.   I too need to worry about keeping (global) Lambdas up to date across our Excel environment.  The way I do this is via simple Notepad text files.  Example copy from one such:
' SAMEROWS/COLS extracts from super_range a subset of rows/columns that corresponds to row/columns of sub_range.  This is
'             useful when you have a named range spanning some rows/columns and you are trying to grab the same rows/columns in
'             a different (unnamed) column/row.   For example, when using SUMIFS, you may know the sum_range and want to derive
'             the corresponding criteria_range, eg =SUMIFS(sum_range,SAMEROWS(A:A,sum_range),"*").
' 20/01/2023 V1.0, OVR
SAMECOLS = LAMBDA(super_range,sub_range, LET( _
subCol1, COLUMN(INDEX(sub_range,1,1)), _
subColN, COLUMN(INDEX(sub_range, 1, COLUMNS(sub_range))), _
supCol0, COLUMN(INDEX(super_range,1,1)) - 1, _
INDEX(super_range,1,subCol1-supCol0):INDEX(super_range,ROWS(super_range),subColN-supCol0) _
))
These .lbd files are distributed to team members via Sharepoint and read into each XLSM upon startup via VBA.  This works so well that I have not kept up to date with recent developments of AFE in that respect.
To maximize my control over the source code of Lambdas, I too wish to “globalize” Lambdas as much as possible.  To that end, I take a two-tier approach.   Conceptually speaking, this looks like so:
Worksheet!myLambda(Private.myLambda(range1, range2, …))
Workbook!Private.myLambda(wsRange1, wsRange2, … LET( … ))
That is, the local myLambda – the “public face” of myLambda – does nothing more than to provide the local Worksheet context into the global Private.myLambda, which does all the work and which I can control thru my .lbd file.
Now, what I am more interested in as regards AFE are your recent efforts to provide debugging for Lambdas *).   But here I come totally unstuck because the AFE debugger refuses to look thru the local myLambda and any attempt at debugging the global Private.myLambda hence fail.  Which is frustrating.
Kind regards – ovr.
*) I must admit that I have not quite understood the mnemonics yet of the AFE debugger but I am sure that fault lies entirely with me.  (Is there a tutorial somewhere?)  I also have issues with the GUI.  I cannot figure out how to stop the Lambda signature from taking up 50% of the screen real estate. I only really care to see the code... ☹
From: Jack Williams @.>
Sent: 20 August 2024 09:00
To: microsoft/advanced-formula-environment @.>
Cc: Olaf von Rein @.>; Author @.>
Subject: Re: [microsoft/advanced-formula-environment] Please add support for Lambdas in the local scope (Issue #88)
AFE was originally created as a way to author LAMBDA's that could be shared across documents, and worksheet scope coupled the functions to the document. Since then, AFE has expanded to support name manager capabilities but we have not prioritised parity with the name manager as that was never a goal.
We currently do not have plans to add this and in terms of feature priority, we would rather add more features for sharing functions across documents. Will add this as a feature request for tracking.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/advanced-formula-environment/issues/88#issuecomment-2298216762, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BJYG54DTHIM5Y3AVVH4VPMDZSLZO7AVCNFSM6AAAAABKTE5UBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJYGIYTMNZWGI.
You are receiving this because you authored the thread.Message ID: @.***>


[qt5] Update to 5.15.16

Upstream changes (qtbase): https://github.com/qt/qtbase/compare/v5.15.15-lts-lgpl...v5.15.16-lts-lgpl
Instruction: https://github.com/microsoft/vcpkg/pull/24660#issuecomment-1124329485
Changes:

qt5-base: drop merged patches. patch-qtbase-memory_resource.diff has been partially merged.
qt5-multimedia: drop merged patches.
qt5-webengine: drop merged patches.

I'm manually checking qt5-webengine right now....

I'm manually checking qt5-webengine right now....

No need, the checks have passed before you merged the PR.

No need, the checks have passed before you've merged the PR.

Too late! :)
Building<EMAIL_ADDRESS>-- qt5-webengine requires a lot of free disk space (>100GB), ram (>8 GB) and time (>2h per configuration) to be successfully build.
-- As such qt5-webengine is currently experimental.
-- If qt5-webengine fails post build validation please try manually reducing VCPKG_MAX_CONCURRENCY andDownloading qtwebengine-everywhere-opensource-src-5.15.16.tar.xz
Successfully downloaded qtwebengine-everywhere-opensource-src-5.15.16.tar.xz.
-- Extracting source D:/vcpkg/downloads/qtwebengine-everywhere-opensource-src-5.15.16.tar.xz
-- Applying patch common.pri.patch
-- Applying patch gl.patch
-- Applying patch build_1.patch
-- Applying patch 0001-Support-ICU-74-in-LazyTextBreakIterator.patch
-- Applying patch workaround-protobuf-issue.patch
-- Applying patch 0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch
-- Using source at D:/b/qt5-webengine/src/5.15.16-af4f9b3d26.clean
-- Getting CMake variables for x64-windows
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst.
-- Using cached msys2-msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst.
-- Using msys root at D:/vcpkg/downloads/tools/msys2/21caed2f81ec917b
-- Configuring x64-windows-rel
-- Configuring x64-windows-rel done
-- Configuring x64-windows-dbg
-- Configuring x64-windows-dbg done
-- Package build-x64-windows-dbg
-- Package build-x64-windows-rel
-- Package install-x64-windows-dbg
-- Package install-x64-windows-rel
-- Installing: D:/vcpkg/packages/qt5-webengine_x64-windows/share/qt5-webengine/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 2.5 min.
Elapsed time to handle qt5-webengine:x64-windows: 1.4 h
qt5-webengine:x64-windows package ABI: e0427ae8a6e97458be32bd4b88815c952c6b4f699e1113f93e9e3593f7be0878
Total install time: 1.8 h


New Timers

This issue serves to track efforts on re-designing the timer API as part of #130.  As a first step, I think we should gather a list of "use-cases" that should be supported:

PWM for LED Brightness
PWM for Servo Control
Time-Keeping a la millis()
Waveform with variable frequency, e.g. sound output
Phase-correct PWM for motor drivers

Cc: @koutoftimer

Waveform generation using the CTC mode.

PWM for controlling a MOSFET.

Is there an API that translates from the data sheet to the register writes?  Right now I have code that does
tmr1.tccr1a.write(|w| w.wgm1().bits(0b00));
tmr1.tccr1b.write(|w| {
    w.cs1()
        //.prescale_256()
        .variant(CLOCK_SOURCE)
        .wgm1()
        .bits(0b01)
});
tmr1.ocr1a.write(|w| unsafe { w.bits(ticks) });
tmr1.timsk1.write(|w| w.ocie1a().set_bit()); //enable this specific interrupt

It would probably be more readable if it looked like
let timer1 = Timer::wrap(dp.TC1);
timer1.set_clock_select(CS1_A::PRESCALE_256);
timer1.set_waveform_generation_mode(WaveformGenerationMode::CTC_OCR1A);
timer1.set_output_compare_register_1a(ticks);
timer1.set_output_compare_a_match_interrupt_enable(true);

or maybe
let timer1 = Timer::configure_and_enable_timer(
    &dp.TC1,
    CS1_A::PRESCALE_256,
    WaveformGenerationMode::CTC_OCR1A,
    ticks,
);

Although I am certain that the example code I provided drastically oversimplifies the options.
I assume this code will look a little different for each AVR implementation unless they all have the same register layout.

A quick review of the datasheets for the atmega328p (https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf) and the atmega2560(https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf) shows:
328p:
8-bit timer (TC0, section 14.9)
16-bit timer ( TC1, section 15.11 )
8-bit timer w/ async-op (TC2, section 17.11 )
2560:
8-bit timers (TC0, section 16.9)
16-bit timers (TC1,3,4,5, section 17.11 )
8-bit timer w/ async-op (TC2, section 20.10 )
When comparing the registers on the 328p and the 2560 one thing that jumps out is that the 2560 has A, B, and C (section 17.11.17-28) comparators on its 16-bit timers, while the 328p only has A and B (section 15.11.5&6).
I was hoping that the two models could be unified by some traits, but it will not be as clean as I initially hoped.  I'm also unsure how this timer architecture generalizes across the other AVR implementations.

I have created a couple of timer experiments that I hope to turn into examples for the avr-hal project:
https://github.com/mutantbob/avr-timer/blob/master/led-pwm/src/megalovania.rs uses PWM and a buzzer to play a chiptune
https://github.com/mutantbob/avr-timer/blob/master/led-pwm/src/led-pwm.rs uses PWM with a duty cycle to control LED brightness.
If these apps are suitable use cases for the arduino-uno examples, let me know what changes are needed to bring them to their final form.  It is also possible that they can serve as uses cases to drive a more friendly timer API.


Expose HostShardSets from topology map

@xichen2020

Coverage decreased (-0.001%) to 78.55% when pulling 7c18067ec09f03c22ecae346b956492bb088f6f5 on chao-host-shardset into d2bf1c40690965070214c5d4859a46a7d354f0b1 on master.


Wrong encoding used in org.oscm.app.security.StringScrambler

Hi,
if i am not mistaken a wrong encoding is used in line (45) decoded = new String(encoded, "UTF8"); in method public static final String decode(final long[] obfuscated)
UTF8 should probably be renamed to UTF-8. If the password was encoded with UTF8 it cannot be decoded with UTF-8.

I have done sample code. Just run it in two variants:
public static void main(String... args) throws UnsupportedEncodingException {         byte[] bytes = "łódź!@#$%^&*()".getBytes("UTF-8");         byte[] bytes2 = "łódź!@#$%^&*()".getBytes("UTF8");         for (int i = 0; i < bytes.length; i++) {             if(bytes[i] != bytes2[i]) {                 throw new RuntimeException("Sven is right");             }         }         System.out.println("No, he is not.");     }
and then change one of UTFs to ISO-8859-1.
I believe I can close the issue.

Hi Dawid,
that sounds great. Then you can simply use the correct locale. Did you change it?
Best regards,
Sven

Hi, I wish. Modifying that creates to big overhead (new branch, tests, jenkins). We have tight schedule and do not event have time for P2 issues.
I closed it without fixing as this is not an issue. Code is working as it should, right?


Include access for network locations

Is your feature request related to a problem? Please describe.
I can't get access for Network locations
Describe the solution you'd like
Get access in the UI for network locartions
Describe alternatives you've considered
I come back to file explorer
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

Support for network locations has been added in 1.3 which is going to be released on the store in a few days 👍


BottomSheet

Overview

Created BottomSheetScaffold in HomeScreen.kt.
Contains an editButton and LazyRow of locations.
Add LocationItem to be used on LazyRow in BottomSheet.
Added .png files of icons.
When editButton is clicked, the LocationItems will change: a remove button will be added.

I made some tweaks here to fix font weights and padding in commit 29215dc. Make sure to double check that your UI matches with Figma; please take a look at what I changed!


Istio cannot be deployed on IPv6-first DS clusters

Bug Description
Hello everyone,
I have noticed that if I deploy Istio on a DS clusters which has IPv6 as default family it will never go ready.
In particular, the controller will be ready, but the gateways (and sidecars) will not.
This is caused by the readiness probe that will never succeed as shown from kubectl describe:

Readiness probe failed: Get "http://[2001:db8:42::15]:15021/healthz/ready": dial tcp [2001:db8:42::15]:15021: connect: connection refused

This behavior does not show up in DS clusters that have IPv4 as default family.
I was able to reproduce the behavior with both Istio 1.15.2 and Istio 1.14.4.
Here are some steps to easily reproduce the issue:

Download and Install Kind 0.16.0. It is better to have the latest KinD version as previous older versions may not support IPv6-first DS clusters deployment.
Create a yaml file with the following KinD configuration:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  ipFamily: dual
  podSubnet: "2001:db8:42:0::/56,<IP_ADDRESS>/16"
  serviceSubnet: "2001:db8:42:1::/112,<IP_ADDRESS>/12"

N.B: The fact that the IPv6 CIDR comes before the IPv4 one will determine the IPv6-first nature of the cluster.

Create the cluster via kind create cluster --config path_to_yaml
Verify that the DS cluster has IPv6 as the default IPFamily

$ kubectl create deployment nginx --image=nginx
$ kubectl get pod nginx_pod_name -o jsonpath='{.status.podIP}'
<You should see an IPv6 address>

Install Istio 1.15.2 via istioctl install --set profile=demo
Check that the gateways are not going ready due to the probes failing after waiting for a while.

NAMESPACE            NAME                                         READY   STATUS    RESTARTS   AGE
istio-system         istio-egressgateway-5c7dbb79bf-6kqms         0/1     Running   0          8m45s
istio-system         istio-ingressgateway-577d6c976f-g594v        0/1     Running   0          8m45s
istio-system         istiod-749dd8f9c4-qdcjc                      1/1     Running   0          8m53s

I also tried to manually contact the stats endpoint of the proxies and I also found similar connectivity issues.
Let me know if more information is needed
Version
$ istioctl version
client version: 1.15.2
control plane version: 1.15.2
data plane version: 1.15.2 (2 proxies)

Additional Information
ds_ipv6.tar.gz

Thank you @zhlsunshine
I will keep this open so that you can link your DS PR once that is open 👍

Hi @LithiumSR, I think you can have a try on both master and experimental-dual-stack branch for your issue. And hope you can leave the message here for your test result. Thanks in advance!

Hello @zhlsunshine
Thank you for fixing it!
Do I need to use any special DS flag for the deployment or are the default values good enough?

Hello @zhlsunshine Thank you for fixing it! Do I need to use any special DS flag for the deployment or are the default values enough?

Hi @LithiumSR, this issue should be fixed by PR#43099

I see the commit got merged, I will close the issue.
Thank you Steve 👍

Hello Steve,
I tried the dev build that includes the fix (https://gcsweb.istio.io/gcs/istio-build/dev/1.18-alpha.b5df9a51c0290df8fd2692e7578bbef62a315d42) and it seems that I can't deploy it even after setting ISTIO_DUAL_STACK and the proxy ISTIO_AGENT_DUAL_STACK var to true. I hope it is just me that messed up the conf.
Can you try to reproduce the issue by deploying it on a KinD DS IPv6-first cluster (see the initial post for the KinD config file)?

Hey Steve.
While testing on DS (IPv4 first this time) I noticed that probes to http://IPV6_PODIP:15021/healthz/ready may not be working either.
Both issues likely share the same root-cause.
I will double check tomorrow my findings

Hi @LithiumSR, how do you install the istio with dual stack enabled?

Hello Steve,
I used the following operator to reproduce the issue.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
spec:
   components:
      pilot:
         k8s:
            env:
               - name: ISTIO_DUAL_STACK
                 value: "true"
   meshConfig:
      defaultConfig:
         proxyMetadata:
            ISTIO_AGENT_DUAL_STACK: "true"

Hi @LithiumSR, which release did you try it? 1.17 or master branch?

Hello Steve,
I have tried with master (head at b5df9a51c0290df8fd2692e7578bbef62a315d42).

Hi @LithiumSR, I have 2 suggestions for your case:

Change the setting from cluster.Cluster_ALL into ·cluster.V4_PREFERREDat L#381 inpilot/pkg/networking/core/v1alpha3/cluster_builder.go`
Change the setting from cluster.Cluster_ALL into ·cluster.Cluster_AUTOat L#381 inpilot/pkg/networking/core/v1alpha3/cluster_builder.go`
And I will try your case asap.

Hello Steve,
Sorry for the delay I was on vacation.
I tried changing to V4_preferred and auto but the problem persists

Hi @LithiumSR and @kfaseela, please have a try the PR: https://github.com/istio/istio/pull/43892

Hello @zhlsunshine
I have verified the probes behavior on DS and it seems that there is still something that is not working properly:

DS IPv4-first clusters: probe to IPV6_POD_IP/healthz/ready of istio-proxy fails
DS IPv6-first clusters: probe to IPV4_POD_IP/healthz/ready of istio-proxy fails

Do you want me to raise a new ticket for that?

Hi @LithiumSR, I understand there are some cross errors, do they occur randomly or regularly?

Hello Steve,
As far as I know they are always there. The request to the proxy health endpoint fails due to "connection refused" like if the proxy does not listen on the IP family that is not the default one of the cluster.

Could you please provide more detail? No error message from my environment no matter which one is the first, I mean I have tried both IPv4-first and IPv6-first DS cluster in my environment.

Hello Steve, As far as I know they are always there. The request to the proxy health endpoint fails due to "connection refused" like if the proxy does not listen on the IP family that is not the default one of the cluster.

Hi @LithiumSR, could you please provide more detail? No error message from my environment no matter which one is the first, I mean I have tried both IPv4-first and IPv6-first DS cluster in my environment.

Hello Steve,
Sure, I will reproduce and write down the steps.

Hello Steve,
Here are some steps:

Obtain a DS cluster using Kind (the default Ip-family is not important for the verification). I used a DS Kind cluster with IPv4 as default.
Deploy Istio SM (commit used: Head of https://github.com/zhlsunshine/istio/tree/dnsFamilyWithIPv6First) with DS enabled.
I used the images and the istioctl I built from your branch.
Istioctl command "./out/linux_amd64/istioctl install --set profile=demo -f DS_operator.yaml"
DS_operator.yaml is as follows:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
spec:
   components:
      pilot:
         k8s:
            env:
               - name: ISTIO_DUAL_STACK
                 value: "true"
   meshConfig:
      defaultConfig:
         proxyMetadata:
            ISTIO_AGENT_DUAL_STACK: "true"

Deploy sleep by using kubectl apply -f https://github.com/istio/istio/blob/master/samples/sleep/sleep.yaml -n istio-system
Obtain the two pod ips of ingress gw
kubectl get pods $ingress_gw_pod -n istio-system -o yaml
Example:

  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>
  - ip: fd00:10:244::d

Contact the healthz readiness endpoints of the ingress gw
The request using the pod ip matching the default family of your cluster will work, the other will fail.

kubectl exec $sleep_pod -n istio-system -it -- curl ingressgw_pod_ip_ipv4:15021/healthz/ready -v
...
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< date: Fri, 17 Mar 2023 13:18:05 GMT
< content-length: 0
< x-envoy-upstream-service-time: 0
< server: envoy
<
* Connection #0 to host <IP_ADDRESS> left intact
kubectl exec $sleep_pod -n istio-system -it -- curl [ingressgw_pod_ip_ipv6]:15021/healthz/ready -v
*   Trying fd00:10:244::d:15021...
* TCP_NODELAY set
* connect to fd00:10:244::d port 15021 failed: Connection refused
* Failed to connect to fd00:10:244::d port 15021: Connection refused
* Closing connection 0
curl: (7) Failed to connect to fd00:10:244::d port 15021: Connection refused
command terminated with exit code 7

Let me know in case of difficulties in reproducing

Hi @LithiumSR, I suggest that you may need to change your service to try the dual stack, because I doubt that the sleep service can not support IPv6 or can not support both IPv4 and IPv6 at the same time at all, and I never use it as the experimental service in my environment. Therefore, I suggest you can try the service tcp-echo or docker.io/jacodelg/simpleserver:latest.

Hello Steve,
The sleep pod is only there to provide a curl binary, it does not even have a service definition.
I have already used in the past to verify probes for our internal DS implementation
The flow is sleep curl -> [ingressgw]/healthz/ready.
The ingressgw is the istio-proxy whose probes are failing when checked

Hi @LithiumSR, After my investigation, I think this should be another issue, and we need to discuss it with community. As you know, you enables the Dual Stack for Istio, but it's still in single-stack deployment for Istio itself. So I opened another issue here to begin more discussion about it, is it okay?

Hello Steve.
Sounds good to me 👍
Thank you

Still focusing on PR: https://github.com/istio/istio/pull/43892 for this issue


[#131600651] Fix SocialZombie Express Plugin

https://www.pivotaltracker.com/story/show/131600651

SocialZombie Express plugin needs to return the client
Moved Social Zombie interface to lib/socialzombie

Current coverage is 93.50% (diff: 100%)

Merging #12 into master will increase coverage by 0.04%

@@             master        #12   diff @@
==========================================
  Files             4          4
  Lines           153        154     +1
  Methods           3          3
  Messages          0          0
  Branches         15         15
==========================================
+ Hits            143        144     +1
  Misses           10         10
  Partials          0          0

Powered by Codecov. Last update 0aece97...72ec121


PolyMC: update, fix autoupdate, remove useless stuff

Are you sure the persist entry and preinstall script are no longer needed? If these no longer work, users will lose their data when updating PolyMC.

Are you sure the persist entry and preinstall script are no longer needed? If these no longer work, users will lose their data when updating PolyMC.
Also, autoupdate could be modified to support 64-bit downloads. This can be done in a future PR as it's not critical.

Since 1.1.0, PolyMC stores stuff in APPDATA, (for a bug).
On 1.1.1 there are both a portable and a notportable build. Since this package currently uses the notportable build, it's completely useless to keep the persists


a bugfix and hash_alg of 100 to always use empty hash

fixed a crash when handling piggy.o object for linux kernel build.
Also introduced a new hash_alg=100, to skip calculating sha1/sha256 hash, to improve performance when OmniBOR ADG is not needed.


fix: Listen to port if workers = 0

Fixes #6

Coverage remained the same at 100.0% when pulling 7d701892044c359d645a95816a60513973855c47 on fix/workers into 01b053141ec6ce65b2b7dcdcbc50da23483df14a on master.


how to join - form changes

Change the CTA copy to "Submit"
Remove phone number from the form
Add a dropdown for the instrument
Ensure that the form is connected to mailchimp

Looks good. Two questions:

Should we add an 'Other' for the drop down just in case we get people interested who don't fit our list?
I can't confirm the MailChimp aspect of this - has that been tested?

I can add other. Right now I'm doing a simple email to the membership manager. I thought it might be better to let them control the flow of information. Once we have someone, I can review having the form populate mailchimp directly.


Manual hover no longer closes on Esc or click outside

Does this issue occur when all extensions are disabled?: Don't know
Without extensions there are no hovers, so it is would not be possible to reproduce it.

VS Code Version: 1.96.0
OS Version: macOS 14.7

Steps to Reproduce:

Disable hover on mouseover (via editor.hover.enabled).
Bind a shortcut to show the hover (via editor.action.showHover).
Place your cursor in a symbol in your code and press your shortcut to display the hover.
Hit Escape - or click away outside of the hover: The hover will not close.

https://github.com/user-attachments/assets/e58e5060-fe2a-42eb-a7bd-559801896846
Notes:

This could be solved by the user if there was a corresponding editor.action.closeHover shortcut that could be bound to Escape, but the click-out functionality would still be broken.
Changing editor.hover.sticky seems to have no effect on the issue.
Focusing the hover and then pressing Escape will close it.

Was just about to create an issue about that. Exactly my problem. Something changed with a new update...
I now have to press the shortcut to show the hover twice (once to show it, twice to focus). This completely broke my workflow :(

Looking forward for this to stay ignored for half a year and then being closed automatically by a bot :)

One possible solution could have been using runCommands (built-in command as of v1.77):
"key": "ctrl+k ctrl+i`",
"command": "runCommands",
"args": {
    "commands": [
        "editor.action.showHover",
        "editor.action.showHover",
    ]
}

Unfortunately, this doesn't work...

Oh I just saw your PR #236203  @aiday-mar and it looks like #235979 is basically the same issue with a different path in - sorry didn't see that one - you can probably just close this one!

Hi @rthrfrd yes thank you for filing this issue. That is right, I will close this issue.


Add a few more checks to ensure that unsupported image formats are not used in the mobile renderer

Fixes: https://github.com/godotengine/godot/issues/67430
The core issue here was twofold:

R8_unorm is not any better supported as a storage texture than R8_UINT. In both cases the issue is that using either as a storage image is an optional feature in Vulkan. shaderStorageImageExtendedFormats needs to be true to use them. Accordingly, we check if shaderStorageImageExtendedFormats is available in order to enable VRS. If VRS is not enabled we do not allocate a Storage image at all.
We were always requesting storage image support in the radiance buffers used by Sky and ReflectionProbes regardless of whether we were in the mobile or clustered renderer. In the mobile renderer we intentionally do not use those images in compute, so we should only request the flag when using the clustered renderer.

I do not have a device that can reproduce the issue, so I added the following code to RD::texture_create():
if (image_create_info.format == VK_FORMAT_A2B10G10R10_UNORM_PACK32 && p_format.usage_bits & TEXTURE_USAGE_STORAGE_BIT) {
	print_line("break here please");
}

if (image_create_info.format == VK_FORMAT_R8_UNORM && p_format.usage_bits & TEXTURE_USAGE_STORAGE_BIT) {
	print_line("break here please");
}

And placed breakpoints within. Now when running the mobile renderer, these conditions are never true.

Thanks!


Chatbot covid pmidc team rmoflow

added missing parameter in dummy-vital-service for RMO's third option

Not required to merge


Not Upgrade PlatformIO

hello
platformIO tells me that the upgrade is not compatible with version 2.0.0
I am on mega 2560 V3, there is an incompatibility?
my version 1.03 works perfectly thanks to you.

the problem must have been solved because I have the possibility to do the update now.
so we can close


MSRV Policy & CI

It would be helpful to both set policy and CI to test the MSRV e.g. to maybe help issues like this:

#126

Yes, this would be good to have. But what?
Does Rust itself have a guideline for how long to support older versions? What do other crates have? What Rust version is most commonly shipped by Linux distro's?
I often work with Go too, which officially support the latest and the previous stable version, which is about 1 year with Go's release schedule.
On thing that I am definitely will be factoring in is maintenance burden, as I prefer to keep this project alive and well but not spend too much time on it :grimacing:

With binaries it's less of an issue and mainly hangs on what ever the distros have yes.
But with libraries the problem becomes all the downstream consumers especially if 10 layers down the dependencies we are pretty conscious when we raise MSRV.
My motivation here was because my builds for audiotags broke as downstream library consumer + who ever was using audiotags as a library downstream here so I was hoping to have a standard(ish) library style policy and I think just setting initial MSRV to 1.65 would be safe bet reflecting what most ecosystem is now currently at that provides enough flexibility.
We can add MSRV test with -Z minimal-versions nightly Cargo.lock generate will test it in CI properly automatically e.g. what we use in curve25519-dalek -
I've already sent a PR for that #128 too as well as quick placeholder fix #129 to resolve the build errors downstream if you're amenable to this solution.
Crucial bit in the MSRV Policy would be to bump minor patch version when ever MSRV gets bumped so downstream knows the MSRV was bumped giving them informed choice to stay at lower version until they are ready to go over the MSRV bump.
As to maintenance burden the MSRV test in CI handles most of it so if there is at least no accidental MSRV bump so we know it when happens consciously and then signal minor patch version that can be bumped at downstream when needed.
See policy we use elsewhere e.g. curve25519-dalek MSRV policy: https://github.com/dalek-cryptography/curve25519-dalek/tree/main/curve25519-dalek#minimum-supported-rust-version

Alright, thank you for picking this up.
We have not really established a real policy, so I'll support v1.65 as long as it requires not too much effort. If there ever comes a sort of recommendation from the Rust org/community then id3 will probably follow that.


Do VOC format oblige to provide input data as a rectangle two corner points or I can provide object position as polygon?

Its xmin, ymin, xmax, ymax.
Ken
From: chamecall<EMAIL_ADDRESS>Sent: Thursday, July 18, 2019 7:17 PM
To: kentaroy47/frcnn-from-scratch-with-keras<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [kentaroy47/frcnn-from-scratch-with-keras] Do VOC format oblige to provide input data as a rectangle two corner points or I can provide object position as polygon? (#9)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/kentaroy47/frcnn-from-scratch-with-keras/issues/9?email_source=notifications&email_token=AJOG4JMD4LLMPJWQOWP67FTQAA7LLA5CNFSM4IEZFG4KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G763SJQ, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJOG4JJAKMATWR25P2YZOOLQAA7LLANCNFSM4IEZFG4A.

Its xmin, ymin, xmax, ymax.
Strictly this format. I understood correctly?

Yes, only this. Coco is this format too.
2019年7月18日(木) 20:07 chamecall<EMAIL_ADDRESS>
Its xmin, ymin, xmax, ymax.
Strictly this format. I understood correctly?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kentaroy47/frcnn-from-scratch-with-keras/issues/9?email_source=notifications&email_token=AJOG4JKZULVXTSCYORKGFBTQABFINA5CNFSM4IEZFG4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2IELOI#issuecomment-512771513,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJOG4JKX4MUZZ2TKJEJBBS3QABFINANCNFSM4IEZFG4A
.


Fix wrong comment and rename GetSecret() to GenerateSecret()

When reading the code I find it's very confusing and misleading, so think it's better to be renamed.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: incfly
If they are not already assigned, you can assign the PR to them by writing /assign @incfly in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incfly
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS [incfly]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Minor improvements to CONTRIBUTING.md

This PR is dual purpose.

It proposes several minor improvements to the recently written contributing guide. These have been identified while following the guide to prepare my local computer for producing docs. I have implemented and previewed the revised document in VSCode (installing the documentation server is the next item on my to-do list).
It is my first IronCalc PR.

Ignore the code coverage failure. Probably just hitting my free limit.


silx.gui.plot.PlotWidget: Fixed support of shapes with multiple polygons in the OpenGL backend.

This PR adds support of sub-shapes (separated with Not-A-Number) to shape drawing in OpenGL backend.
It is done by splitting the input points at not finite values into multiple shapes that are rendered independently.
This fixes the display of closed arc ROI: closes #3256

Thanks a lot.


[#8557] Send caller app name (WIP)

Resolve #8557.
This feature is disabled by default.
It can be enabled by configuration "profiler.sendAppName.enable=true". The header for caller application name can be configured by "profiler.sendAppName.headerName", default to "X-Caller-Application-Name". If you want to have less traffic consumed, you can configure the header to "X-CAN" or "CAN".
It's useful to combine this feature with PR #6987 "record server received request header/cookie" which has been available since version v2.1.0.
Supported http client:

[x] Apache http client 4
[x] Apache http client 3
[x] grpc support
[x] netty support
[x] ning async http client
[x] okhttp
[x] reactor-netty
[x] webflux
[x] vertx
[x] jdk http url connection

TODO:
add plugin ITs for this changeset.
add exception catch/logger to sender.

@emeroad Any thought/suggestion on this feature?

Rebase on the current master.


Prefill IP Address in Static DHCP Config

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Hi,
when showing the current dhcp leases on  /status_dhcp_leases.php a button (Plus symbol) allows me to add this entry as a static DHCP entry.
Doing this will automatically enter the MAC-Address and hostname of the device. (Transported as a query paramter:

However you still have to manually enter the IP-Address to be assigned to this device. It would be nice, if not only the hostname and mac but also the ip would be prefilled. (Adding &ip=xxx.xxx.xxx.xxx to the query string)
Greetings
Philipp

No no no no no no no. This will assign a pool address to a static mapping and isc-dhcp will still hand out that IP address as a lease if it wants to. We've already had this and we don't want to go back.
Cheers,
Franco

Oh sorry. Didn't see that. So will the same problem arise when I manually assign a pool address to a device?
Will dhcpd ignore these static entries and potentially assign them to different devices?
Greetings

Yes, that is precisely the problem with it. Learned that the hard way as forum posts with the "problem" started appearing. Took a while to pin point it to this improvement.


remove contribute.txt

Since file contribute.txt contains the same information as contribute.md, I propose to delete the txt version.
We don't gain anything by such duplication, moreover it complicates maintenance of the file. Eg. issue https://github.com/gluster/glusterfs-hadoop/issues/124 would require fix in both files if we decide keep them.

Thanks Martin.


feat($injector): throw error if overriding instantiated service

config / run phase separation decreased the likelihood of this error. do we still want this extra check?

Nope. This is treated by strict separation between config/run phases.


New version: Google.Chrome.Canary version 119.0.6024.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

Stale vanity URL; reset PR


NameError: name 'args' is not defined

Hi, I've tried to run the code for searching policies, but there is no way I can make it run on a single machine with several GPUs and the problem seems to be with Ray. I do initialize the ray server correctly, but apparently the trouble is with the train_and_eval function.
Any suggestion about what I could be doing wrong/ how to workaround this?
2020-08-15 10:18:09,387 ERROR worker.py:1717 -- Possible unhandled error from worker: ray_worker (pid=13478, host=macaron)   File "FastAutoAugment/search.py", line 66, in train_model     result = train_and_eval(None, dataroot, cv_ratio_test, cv_fold, save_path=save_path, only_eval=skip_exist)   File "/home/gim282/data_augmentation/good/FastAutoAugment/train.py", line 123, in train_and_eval     add_filehandler(logger, args.save + '.log') NameError: name 'args' is not defined

@guillermoim  Hello! I met the same problem.Have you solved the problem?And how?Thank you  very much!

@guillermoim and @XuChunqiao it took me while to find it...
in train.py line 122, try do sth like this:
    if is_master:
        # add_filehandler(logger, args.save + '.log')
        add_filehandler(logger, 'logger.log')


encryption: fix null-dereference

Summary

sigstore-java's initial OSS-Fuzz integration found a null-dereference. This PR fixes that.
Release Note

Documentation

What was the input that triggered this, it'd be nice to add that to our test suite.

What was the input that triggered this, it'd be nice to add that to our test suite.

I just tested locally, it was an empty string.


nerdctl renamed to main branch

https://github.com/eclipse-leda/meta-leda/blob/59a83923bfd700208ca0607099d76071fe61d66b/meta-leda-components/recipes-sdv/tools/nerdctl_0.20.0.bb#L5
Fetch fails due to branch rename: master -> main

The same issue also appears in meta-virtualizations version.

A patch to fix branch name of nerdctl has been submitted to the meta-virtualization mailing list, we'll wait until this is merged and will remove the duplicate recipes in meta-leda.

Removed our duplicate recipe and added a temporary fix for nerdctl SRC_URI until upstream repository is merged in PR #41


fix: Correct a calculation bug when computing avg pity by type

I noticed the numbers for average character and weapon pity looked weird in the summary section, so I poked around in the code.
I think I found a fix, so just wanted to push that up!
Before:

After:

Stats are based on this mock data:

Whoops, I just realized this is redundant with #54.  Closing!


Enhance SeedAuthorizer to allow DELETE requests if resource does not exist in the system

How to categorize this PR?

/area security
/kind enhancement
/squash
What this PR does / why we need it:
With this PR, the SeedAuthorizer is enhanced to allow DELETE requests if resource does not exist in the system. This is to prevent special client handling (as introduced in https://github.com/gardener/gardener/pull/5066, for example) which anyways would not necessarily work in all cases.
Hence, apart from above, the PR reverts such special handling that was introduced in the backupentry component.
Additionally, unconditional DELETEs are no longer allowed for BackupBuckets (which only were introduced to work around #5083).
Which issue(s) this PR fixes:
Fixes #5082
Fixes #5083
Release note:

A bug in the SeedAuthorizer has been fixed which allowed gardenlets to unconditionally delete `BackupBucket`s.

The SeedAuthorizer does now allow `DELETE` requests if the resource does not exist in the system.

@stoyanr There is #5086 that you could potentially rebase on to try it out locally. Though, this only works if you use the nodeless dev setup (if you use kind/minikube then there is no support for SeedAuthorizer at all).


Fix hotReload for broken files

In case, when we repair file, hotReload doesn't start service again.

Coverage decreased (-0.04%) to 98.132% when pulling e820e79da2c0df0d6ee0f7c74290e64fbd75fb97 on askuzminov:hotReloadForBrokenFiles into 07704ccd5d7941e6c92b385f6e340da476c21e13 on ice-services:master.


Squashed commit of NVIDIA changes for CUDNN7

Can you please submit a PR to R7 rather than to master?

Done.
@soumith : 4 commits are actually to get R7 to master, only the last one is CUDNN7 related,

This still looks like it's based on master (see the conflicts), I've created a new PR, will merge after I test.


Error using chunk

The following occurs when I try to run:
var wnfs = await FileSystem.empty();
const cid = await wnfs.mkdir("private/gunclear/safe")

Error:
Unhandled Rejection (TypeError): o[Symbol.iterator] is not a function
./node_modules/fission-sdk/ipfs/basic.js/</__asyncValues<
http://localhost:3000/static/js/1.chunk.js:105016:96
./node_modules/fission-sdk/ipfs/basic.js/</add/</<
src/ipfs/basic.ts:11

   8 |     });
   9 | };
  10 | var __generator = (this && this.__generator) || function (thisArg, body) {
> 11 |     var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
  12 |     return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
  13 |     function verb(n) { return function (v) { return step([n, v]); }; }
  14 |     function step(op) {

step
http://localhost:3000/static/js/1.chunk.js:104996:17
./node_modules/fission-sdk/ipfs/basic.js/</__generator</verb/<
http://localhost:3000/static/js/1.chunk.js:104927:14
fulfilled

Thanks for creating this issue 🙏
I think this is an issue with the latest js-ipfs v0.48
Are you loading ipfs by yourself, or letting the sdk handle that? (the sdk automatically loads the latest version)

SDK yeah
It might be a good idea to have this log message tell you what version it loaded:
window.ipfs is not available, loading js-ipfs...          get-ipfs.ts:67

Yeah good idea 👍  In the meanwhile, you can see in the network tab which version it loads.
Should load it from unpkg.com, if you don't have ipfs companion.

Yup, 0.48.0

We'll create a new release with a fix soon.
In the meantime you can tell the SDK to load the previous IPFS version by doing:
fissionSdk.ipfs.getIpfs({ jsIpfs<EMAIL_ADDRESS>})

Run that before anything else you do with the sdk.
Resources:

getIpfs options

Released v0.11 with a fix for js-ipfs v0.48
Additionally:

Added more info to the readme about how to this sdk
The loaded js-ipfs version is now set to 0.48 specifically


traverseFields function for traversing fields without values

Found myself wanting these:
traverseFields ::
  (Record rec, Applicative m) =>
  (forall ty. Field rec ty -> m a) ->
  m [a]
traverseFields f =
  traverse (\(SomeField field) -> f field) allFields

traverseFields_ ::
  (Record rec, Applicative m) =>
  (forall ty. Field rec ty -> m ()) ->
  m ()
traverseFields_ f =
  traverse_ (\(SomeField field) -> f field) allFields

The existing traverseRecord function works on a record and its values, whereas these just work on the fields themselves.

Here's some more that include a provided constraint:
traverseFields_ ::
  forall r f.
  (Record r, Applicative f) =>
  (forall x.
  (FieldDict c r, Applicative f) =>
  (forall x. c x => Field r x -> f a) ->
  f [a]
traverseFieldsWithDict f =
  traverse
    ((\(SomeField field) -> withFieldDict @c @r field (f field)) :: _ -> f a)
    allFields

traverseFieldsWithDict_ ::
  forall r c f.
  (FieldDict c r, Applicative f) =>
  (forall x. c x => Field r x -> f ()) ->
  f ()
traverseFieldsWithDict_ f =
  traverse_
    ((\(SomeField field) -> withFieldDict @c @r field (f field)) :: _ -> f ())
    allFields


[Improvement] Include execution times of filters in a transaction breakdown

Include the execution time in the breakdown table.

It's already done 💦


Separate variant metadata into state object

This makes local component metadata immutable/stateless, as the VariantGraphResolveMetadata requires.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Gradle_Master_Check_Stage_PullRequestFeedback_Trigger

Build Scan

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

@bot-gradle test apt

I've triggered the following builds:

All Performance Tests (Trigger)

Build Scan

The following builds have failed:

All Performance Tests (Trigger)

Build Scan

@bot-gradle test apt

I've triggered the following builds:

All Performance Tests (Trigger)

Build Scan


Fixing performance issue where Member::currentUser() is queried a lot.

This should be cached, so the obvious fix is to keep the first record in
an in-memory cache and refer to that for other calls to canView() in the
same request.

What happens when you comment out the admin check?


Unable to reproduce the experimental results in the paper according to the default configuration file of the code.

I'm very sorry to bother you again! I think your work is excellent, but I want to seek the help of the author to solve my confusion.
According to the configuration file in the code, I can't reproduce the results in the paper. The indexes such as AP on the three datasets are lower than the experimental data in the paper. For example, the AP error on D2SA and KINS datasets reaches 4%-6%, and the error on COCOA cls is even larger.
What I want to ask are:
(1) The weights in the three datasets configuration files under the configs folder are all
WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
Can training with this weight achieve the data results in the paper? If so, why is there a big gap between my reproduced results and the paper?
(2) If the author uses other weights to achieve such excellent data in the paper, can the author provide the weight link used?
I look forward to the author's valuable reply. @trqminh

Sorry for the late response, I see what is your concerning. I will update you as soon as I can.

Yay, thanks and looking forward to your brilliant answers!

Excuse me, is it still convenient to solve this problem about reproducing thesis data recently?

I am working on it, hope you can wait a bit more

Okay, thank you for your patient reply。

Hi,have you solved this problem?

No, I didn't solve the problem.


Manage Session Cookies for tenants

Step 2: Describe your environment
Operating System version: all
Firebase SDK version: v4.8.0
Firebase Product: auth
Step 3: Describe the problem
I would like to implement session cookies for tenants, not just standard auth.
It seems to be an existing feature, and it looks like the node SDK support it https://firebase.google.com/docs/reference/admin/node/firebase-admin.auth.tenantawareauth.md#tenantawareauthcreatesessioncookie
Is this planned for a future release?

Hi @dysrama Thank you for the feature request! This feature is not on our immediate roadmap plan. We will use this issue to track any progress. We also accept community contributions to the code base if you would like to submit a PR!


Standard Go style unit testing via testing and go-checker framework currently used

(Copied from https://cilium.slack.com/archives/C2B917YHE/p1626113446459700)

In the Cilium codebase, we heavily use https://github.com/go-check/check/tree/v1 as the unit testing framework. I've been increasingly feeling like we don't quite need this framework anymore because the std Go testing package + other small convenience packages for asserting is sufficient.
FWIW, pkg/hubble is written using the std Go style instead of gocheck.
How do people feel about this?

Used for tracking pros and cons, and capturing other discussions because Slack will lose history

Std Go style:
Pros:

More active development
Subtest support
Simpler and more familiar with the average Go developer

Cons:

Lacks consistency in terms of patterns (up to developer to write the comparisons)

Mitigation is to use go-cmp or testify

Lacks setup / teardown funcs

Mitigation is to use TestMain for SetUpSuite equivalent (https://pkg.go.dev/testing#hdr-Main)

gochecker:
Pros:

All-in-one experience (setup / teardown, asserts, comparisons helpers)

Cons:

Lagging behind in upstream features like subtest support
Requires learning yet another framework

FWIW, pkg/hubble is written using the std Go style instead of gocheck.

To expand on that, this is due to most code of this package originally being developed out of tree. We noticed the discrepancy, but decided it was much work and not much benefit in moving all code to gochecker, so we stuck to the Std Go style for that package.
We did run into issues with testify (https://github.com/cilium/cilium/issues/12772), so parts of it now use go-cmp instead. I'm not sure if the underlying issue was ever fixed though.

@christarazi I believe we came to an agreement on this ticket. We came to the decision that new code with use the std-library testing package with go-cmp in addition when comparison is necessary.
We won't be "re-writing" any tests which exist today to conform to this, and this decision is for subsequent new code.
Should this ticket remain open?

I think it makes sense to keep open for visibility.

From @lmb in slack
The PR is here, and contains some context why this change is necessary / useful. this is a tree-wide change and so has the possibility to impact a bunch of people, so i want to raise awareness here. i'm planning to get this merged next wednesday-ish, 2023-05-24. the following things will change:
gocheck specific flags like -check.f  and so on are going away. just use the normal go test -run.
the name of specific tests will change, for example MySuite.TestSomeBehaviour will become MySuite/TestSomeBehaviour.
the output format will be closer to the standard go test output.
some APIs of gocheck have been deprecated or removed (as long as there was no use in the cilium codebase). details are here.
please let me know if you think that this change might impact you negatively!


Sqlite

Hey @RussellLuo
I wonder how tricky it would be to support  SQLite  with dbtest ?
I use SQLite with Marmot: https://github.com/maxpert/marmot, so that I can run  many SQLite instances and keep them in global sync using NATS.
Marmot runs as a separate Process and uses the SQLITE WAL to do its thing.
ddtest would make it easy to test Marmot, and SQLite DB,s in general.
I current use this SQLite DB: https://github.com/ncruces/go-sqlite3

Here is one way for  dbTest to supports many databases ...
https://github.com/sqlc-dev/plugin-sdk-go offers a plugin Architecture so that different DB's can be supported with Sqlc. Sqlc is a code generator, not an ORM. It's There are many DBs supported: https://github.com/sqlc-dev/plugin-sdk-go/network/dependents
pretty light.
Some examples
Here is a plunge for the  Sqlite DB: https://github.com/zombiezen/go-sqlite.
https://github.com/delaneyj/toolbelt/blob/main/sqlc-gen-zombiezen/zombiezen/gen.go

Here is a plugin for MySQL and SQLite.
https://github.com/crdx/starfield
Anyways lets me know what you think.

Hi @gedw99, sorry for the delayed response.
By design, any database that implements the following interface can be used in dbtest:
https://github.com/protogodev/dbtest/blob/d0b8ee358d9769ce79c9c1377ed4a8153b3cc51d/builtin/fixture.go#L9-L14
And for convenience, sql.DB is a built-in support for databases compatible with Go's database/sql.
According to the description of go-sqlite3, it's compatible with Go's database/sql. So I guess you can use the built-in sql.DB directly:)


Use MSBuildProjectExtension to detect language in Google.Protobuf.Tools.targets

Prior to this commit, the Language property is used in Google.Protobuf.Tools.targets to identify whether a project is C# or not. The issue with this approach is that Language is not set by default in MSBUILD. It is set in the Microsoft.CSharp.targets file here: https://github.com/dotnet/msbuild/blob/45f3aed1944548f123ce928d1253e38b5008dccf/src/Tasks/Microsoft.CSharp.CurrentVersion.targets#L38 . This causes the Google.Protobuf.Tools.targets to have a dependency on Microsoft.CSharp.targets file to be called first.
To improve on this situation, this PR seeks to remove this dependency by using the well-defined MSBUILD properties that are available at any time during the build process. Specifically, we can identify whether or not a project is a C# project by checking the project extension with the MSBuildProjectExtension property. If MSBuildProjectExtension == 'csproj', then we can say that this is a C# project.

There are additional locations that use $(Language) == "C# outside of my changes. I would be happy to update this PR to include those other locations.

See my comment on the issue https://github.com/grpc/grpc/issues/35540#issuecomment-1891763039
Grpc.Tools is working as intended.