Unable to run older version of Bedrock Server

Hi @crowbarmaster   I hope you are having a good weekend!  I was until just a few minutes ago, thanks to Mojang!
I am not going to update to <IP_ADDRESS> or newer because Mojang broke (fixed?) the furnace XP farm and bedrock pales in comparison to the XP farms in Java and related bugs they will keep to make Java players happy.  The grind to generate XP that they keep forcing on bedrock players is getting to be too much.  I may have to abandon BDS altogether if they keep taking the fun out of playing survival.  Especially if we accidentally update a mobile or XBOX client (because there is no way to go back to a previous version).
In BMS, I have had CheckUpdate set to false in the global settings for a while now to prevent this bedrock update.  I also have UpdateCron=0 2 * * * , which if CheckUpdate is false, should not matter.
BMS (still running v. 2.6.8061.8349) still updated my server when I restarted it to increase my backup max count.  Luckily I still have the Update_<IP_ADDRESS>.zip file in the MCSFiles folder.
Using the Update ZIP file and the last backup, I was able to restore the BDS server folder and it is working again if I run the BDS server by hand.  But that is without BMS managing it, so I don't get the cool features like automatic backups.
I set UpdateCron=0 0 31 12 * so that it should not even try to update until Dec 31 (there is no year field in cron).  But that didn't work either, as it still checks and downloads the update when you start the service:
Service: Checking MCS Version and fetching update if needed...
Service: New version detected! Now fetching from https://minecraft.azureedge.net/bin-win/bedrock-server-<IP_ADDRESS>.zip...
Service: Automatic backups Enabled, next backup in: 583.511 seconds.
I also tried the latest build release (v 2.6.8069.6858), and it too forces the upgrade.  So I am unable to use BMS anymore :-(
Please don't work in it today on my account!  Enjoy a computer/code free weekend, and I hope your new job is going well!
Sometime in the future, please see if you can fix it so that I can run an older version of BDS without updating it and let me know, so I can once again enjoy all of what BMS offers.

Actually, your already well in luck! My ambitions with making a new backup manager had already lead to designing a way to have servers handle service-related settings. I know it's common practice to lock different versions in the java world, however it went along with the lack of time I had to give this ability. With what I have done now, it's really cut and paste at this point!

I am not going to update to <IP_ADDRESS> or newer because Mojang broke (fixed?) the furnace XP farm and bedrock pales in comparison to the XP farms in Java and related bugs they will keep to make Java players happy.  The grind to generate XP that they keep forcing on bedrock players is getting to be too much.

Well. There's a new glitch.

Yeah, but I think it might have been fixed in <IP_ADDRESS>, or will be soon.  It’s much worse than the previous xp farm that actually took a little bit of effort.  You notice there is no official mention of 1.18.11 in the release notes, except for Switch.  So BDS server being on this version makes me question exactly what is different from 1.18.10?  So when they patch that serious bug, then we are left with nothing.
Ironically, we were collecting the resources to build the piglin gold farm to see if that would be a good replacement, but we needed to go get all the obsidian and that’s when I restarted the server to increase the backups.  Oops!!!

My furnace xp farm is using a blast furnace.  So the price we pay for getting the xp is not being able to collect the ores we smelted.  We have several stacks of iron and gold in the chest that we can’t touch or we will lose the stored xp.  It’s a good balance of effort vs xp.  Copper being so abundant with a fortune 3 pick ax is the slight downside, but otherwise, mojang could use this setup as a balanced xp furnace farm.

I will be including a way to specify which version the server should run! I just ran a quick test, and it would seem as if Mojang has decided to keep old versions around on there server. I just downloaded version <IP_ADDRESS> using the same download string used to fetch the latest build. My updater method will soon look for the selected version, and attempt to fetch it. If that fails, BMS will attempt (by design) to unpack the version from the BMSUpdates (Might change this to BMSBuilds before I release it), as long as it exists here, all will work as intended. Already as we speak, the new Backup manager works (Could use some tweaking still.) and changes to the update/deployment system are almost done!

1.18.12 fixed the furnace xp bug from 1.18.10.  I knew it wouldn’t last long!

Good morning folks!
With these latest developments, I have started rewriting the way updates are handled. Checking updates will now simply alert the service of the latest known version, instead of pushing the version right away. If one chooses to use the latest, but only wants to be informed of an update, there will be the option to block automatic deployment of a new update. I will push a message to the info box stating an update is ready. If you choose to, you can force a server's version. BMS will simply extract from an archive based on this version. I have some time today to crunch this through!

Service log I just created:
Service: Core file(s) found missing. Rebuilding!
Service: Requested build package was not found. BMS will attempt to fetch it now...
Service: Extracting server files to build core files, 0% completed...
Service: Extracting server files to build core files, 17% completed...
Service: Extracting server files to build core files, 33% completed...
Service: Extracting server files to build core files, 50% completed...
Service: Extracting server files to build core files, 67% completed...
Service: Extracting server files to build core files, 83% completed...
Service: Extracting server files to build core files, 100% completed...
Service: Extraction completed.
Service: Now building necessary files
Service: Resetting listener!
Service: TCP listener task started.
Service: Recieved start signal for server MyAwesomeServer.
Service: Server MyAwesomeServer decected incorrect version! Replacing build...
Service: Extracting server files for server MyAwesomeServer, 0% completed...
Service: Extracting server files for server MyAwesomeServer, 17% completed...
Service: Extracting server files for server MyAwesomeServer, 33% completed...
Service: Extracting server files for server MyAwesomeServer, 50% completed...
Service: Extracting server files for server MyAwesomeServer, 67% completed...
Service: Extracting server files for server MyAwesomeServer, 83% completed...
Service: Extracting server files for server MyAwesomeServer, 100% completed...
Service: Extraction of files for MyAwesomeServer completed.
Service: Recieved start signal for server MyAwesomeServer.
Service: Bedrock Management Service version 2.6.8083.21223 has started.
Service: Working directory: C:\Users\Crowbar\source\repos\crowbarmaster\BedrockManagementService\BedrockService\bin\Debug\net6.0-windows\win-x64
Service: Shutdown initiated...
Service: Server MyAwesomeServer received quit signal.
Service: TCP Listener task canceled!
Service: Service shutdown completed successfully.
Service: Stopping service...
Service: Shutdown initiated...

Corresponding server log:
MyAwesomeServer: setting up server logging...
MyAwesomeServer: [2022-02-17 11:47:44:005 INFO] Starting Server
MyAwesomeServer: [2022-02-17 11:47:44:005 INFO] Version <IP_ADDRESS>
MyAwesomeServer: [2022-02-17 11:47:44:005 INFO] Session ID 08c5a0c2-6529-4a0f-876c-121ba1da69c8
MyAwesomeServer: [2022-02-17 11:47:44:006 INFO] Level Name: Bedrock Level
MyAwesomeServer: [2022-02-17 11:47:44:007 WARN] 'whitelist.json' will be deprecated. Please migrate to 'allowlist.json'.
MyAwesomeServer: [2022-02-17 11:47:44:008 INFO] Game mode: 1 Creative
MyAwesomeServer: [2022-02-17 11:47:44:008 INFO] Difficulty: 2 NORMAL
MyAwesomeServer: setting up server logging...

MyAwesomeServer: [INFO] IPv4 supported, port: 58559
MyAwesomeServer: [INFO] IPv6 supported, port: 58560
MyAwesomeServer: ┬º2--- Showing help page 1 of 23 (/help <page>) ---
MyAwesomeServer: /? <page: int>
MyAwesomeServer: /? [command: CommandName]
MyAwesomeServer: /alwaysday [lock: Boolean]
MyAwesomeServer: /camerashake add <player: target> [intensity: float] [seconds: float] [shakeType: CameraShakeType]
MyAwesomeServer: /camerashake stop [player: target]
MyAwesomeServer: /changesetting allow-cheats <value: Boolean>
MyAwesomeServer: /changesetting difficulty <value: Difficulty>
MyAwesomeServer: ┬º2Tip: Use the <tab> key while typing a command to auto-complete the command or its arguments
MyAwesomeServer: [INFO] Server stop requested.
MyAwesomeServer: [INFO] Stopping server...
MyAwesomeServer: Quit correctly

Service updated my server to the latest, I then forced the version. BMS detected the force, and fetched the selected version directly from Mojang! It checks for the build archive to exist beforehand, in the event the download isn't available.

There is a risk in your process.  If the latest version changes the database files in any way at startup, then when you revert back to the older version, the files may be reported as corrupted, and people are unable to use that world anymore except with the latest version.

Correct you are! As a precaution, if your current configs have automatic updates turned off, Automatic deployment will follow suit, preventing the dreaded update. CheckUpdates is now a bit truer to its name, and will simply nag in the log and GUI infobox that an update is ready. A new AutoDeployUpdates setting will determine if the service should deploy the new version or not. Things are actually falling into place here, and should be pretty close (once again, lol) to pushing this!

New beta released tonight! Should take care of everything here, and so I will close this issue now! Thanks folks!


cli/packages fixes

This PR has two distinct fixes:
The first commit fixes a bug in the commit counting introduced in a3df5bf, which prints nil instead of the empty string when the repo moves from commit A to commit B where A isn't reachable from B. (this can be reproduced by pinning a package to a previous commit and running doom sync -u)
The second commit has a fix for the recent regression in doom sync -u/doom upgrade output for unpinned packages, and adds the commit counting logic for updating unpinned packages (which also had the nil bug since either way commits was set to nil there too).

[X] It targets the develop branch
[X] I've searched for similar pull requests and found nothing
[X] This change is NOT in Doom's do-not-PR list: https://doomemacs.org/d/do-not-pr
[X] If I've bumped any packages, I've done so according to https://doomemacs.org/d/how2bump
[X] I've linked any relevant issues and PRs below
[X] All my commit messages are descriptive and distinct

Makes sense to me. Thanks!


Feature: Move files for HACS support

Tested locally by adding my fork as custom repo.
If this is merged we can add the component to HACS so that it can be discovered more easily

Fixes #4


Allow InteviewStatus to be triggered

When the Interview date has passed, the InterviewStatus will be completed.
When the Interview is deleted prematurely, the InterviewStatus will be changed to Not Scheduled.

In the next iteration, we should disable the user to schedule any interviews once the InterviewStatus  is Completed.
closes #188

@lzan98 I pushed the new changes up already ! Thanks for pointing it out !!


Update

Game Title
Rogue Company
Status of the Anti-Cheat
⭐ Supported
Proof of Mention
N/A

Loading the EAC (EOS) module successfully.
(some users on non-flatpak Steam are reporting issues tho)

Loading the EAC (EOS) module successfully.
Played a few matches, no issues.
(some users on non-flatpak Steam are reporting issues tho)

https://modules-cdn.eac-prod.on.epicgames.com/modules/7c0a8a40ba4a47dd899eed51a8fbc3fe/96121167e10b4d578499a15276196fd4/linux32_64

The game does not load for me and the Linux Modules are not present in the games directory (On ArchLinux, tried Proton Experimental, Proton 7 and GE, have the EAC Runtime installed)

Ok I just tested it with the steam flatpak - That works.
From reading some gentoo forum posts I think this may be related to something with glibc, (I run arch but the gentoo forums were the only thing I could find that is related to this) - The flatpak uses glibc 2.33 and I have 2.35.

Can confirm it works fine with flatpak steam, does not with repo one (ArchLinux)

For those interested there's some discussion going on here: https://github.com/anyc/steam-overlay/issues/313#issuecomment-1132808327

https://modules-cdn.eac-prod.on.epicgames.com/modules/7c0a8a40ba4a47dd899eed51a8fbc3fe/96121167e10b4d578499a15276196fd4/linux32_64

This seems to be what got them to turn on proton support:
https://www.reddit.com/r/RogueCompany/comments/ufblus/do_you_still_play_rc_on_nintendo_switch/i6u0ggu/

I posted links to documentation showing it was just a few clicks.
The head of rogue company development was pinged.
Support was turned on the following Friday.

Sadly, the EAC module is broken outside of Ubuntu 20.04 and flatpak. I am trying to figure out why. So far, I know that Arch, Gentoo and Ubuntu 22.04 all have some change that breaks the EAC module.
Anyway, marking this as supported is somewhat premature until we know more. If it is marked, a massive caveat that only native steam on Ubuntu 20.04 and flatpak steam are known to work is needed.

https://modules-cdn.eac-prod.on.epicgames.com/modules/7c0a8a40ba4a47dd899eed51a8fbc3fe/96121167e10b4d578499a15276196fd4/linux32_64

This seems to be what got them to turn on proton support:
https://www.reddit.com/r/RogueCompany/comments/ufblus/do_you_still_play_rc_on_nintendo_switch/i6u0ggu/

I posted links to documentation showing it was just a few clicks.
The head of rogue company development was pinged.
Support was turned on the following Friday.

Sadly, the EAC module is broken outside of Ubuntu 20.04 and flatpak. I am trying to figure out why. So far, I know that Arch, Gentoo and Ubuntu 22.04 all have some change that breaks the EAC module.
Anyway, marking this as supported is somewhat premature until we know more. If it is marked, a massive caveat that only native steam on Ubuntu 20.04 and flatpak steam are known to work is needed.

I'll revert this then and mark it as running instead

https://twitter.com/RogueCompany/status/1532817764532076544
Now Rogue Company is officially advertising Steam Deck support.


[WFLY-7501] Security domain should not have itself in trusted domains

https://issues.jboss.org/browse/WFLY-7501

Looks like we have a merge conflict as other PRs have also affected the log messages,

Rebased


Some updates 🔨

Hello,
I made some changes in the project. The humidity icon was not working properly. I shared with you a screenshot to show it. Also I made some changes in the responsive part, it was not working properly in some devices. Some changes was made in the header and footer part.
🔨

Thanks for the PR. It has been merged.


Analytics bucket info missing

Throughout the REST api documentation, an analytics rate-limit bucket is referenced but information about the bucket is missing from the 'Rate Limiting' section's table,

Resolved


Error Handling not working

the loadableComponent does not resolve the errorComponent listed when the imported component throws an error or fails to resolve. it is just stuck in the loadingComponent.

here is the code in question
const config = {
  LoadingComponent: () => <Loading />,
  ErrorComponent: () => <Error />
};

function setPageRoute(Name) {
  return loadable(() => import(`../Pages${Name}`), {
    ...config
  });
}

const Home = setPageRoute('/Home');

I think it is a Webpack related error, I do not know if you can use complete dynamic import, they are still parsed by Webpack. In your example it is not possible.
To see if it is a loadable components issue, it is simple, try to catch the error yourself:
const config = {
  LoadingComponent: () => <Loading />,
  ErrorComponent: () => <Error />,
}

function setPageRoute(Name) {
  return loadable(
    () =>
      import(`../Pages${Name}`).catch(error => {
        console.log('error catched')
        return null
      }),
    {
      ...config,
    },
  )
}

const Home = setPageRoute('/Home')

Good!


Simplest Lime routing example not rendering

Hi,
I'm trying to set up some basic routing using Cockpit and Lime but even the most basic example is giving me a blank screen and no errors. Any thoughts on what might be the issue?
Cockpit works fine on my server (and passes the requirements).
<?php

    include_once('beheer/bootstrap.php');

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    $app = new Lime\App();

    $app->bind("/", function() {
        return "Hello World!";
    });

    $app->run();

    var_dump($app);

?>

.htaccess
http://pastebin.com/Tf2aCRCK

The code looks fine, it must be a server setting. Try contacting the gitter or [G+](for some code help)

Code looks and works fine on my system. Even var_dump($app) doesn't print? What if you start the file with a var_dump("hi");?
There must be something wrong with your server config I guess

Figured it out. Use of php shorttags was disabled on my localhost.
Thanks!


Native coupon code field not appearing in Apple Pay Payment, even with supportsCouponCode set to true.

Describe the bug
The native coupon code field is not appearing in the Apple Pay modal, even after configuring supportsCouponCode: true in the Adyen Web SDK configuration. The expected behavior is for the coupon code field to be displayed, allowing users to enter a coupon code during checkout, but this does not occur.
To Reproduce
Steps to reproduce the behavior:

Go to the checkout page with Apple Pay integration.
Set supportsCouponCode: true in the Adyen configuration.
Open the Apple Pay modal.
The native coupon code field does not appear in the modal.

Expected behavior
The coupon code field should appear in the Apple Pay modal when supportsCouponCode is set to true, allowing users to enter a coupon code to apply discounts.
Screenshots
The coupon code field is missing, even though the supportsCouponCode configuration is set to true.
Desktop (please complete the following information):
@adyen/adyen-web version: 5.66.1 (or the specific version you're using)

Browser: Version 18.1 (206<IP_ADDRESS>.10)
OS: macOS Sequoia (version 15.1)
React version: 18.2.0

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Even though the configuration parameters supportsCouponCode and couponCode are not mentioned in the official Adyen Web Component Apple Pay documentation, but can be found in the Adyen iOS Component Apple Pay documentation. This discrepancy may indicate that these parameters are either unsupported or not properly documented for the web component.

Hi @Gurpreet-Dhiman, thank you for raising this topic.
Support for Apple Pay coupons on Web hasn't been requested before. We'll put this topic in our backlog and monitor similar feature requests in the coming period. For now I'll close this issue as we do not expect to pick it up any time soon.


Fullscreen video to hide sidebar/vertical tabs

Early on I was fullscreening a YouTube video and was surprised that the vertical tabs stayed visible, and expected that the sidebar would be covered or hidden. It seems to be an inherent feature of Chrome sidebar as far as I can tell
Given how easy it is to toggle the sidebar I haven't minded it, and now I don't necessarily want to hide the sidebar without choosing to. Having said that, I'm sure some people would always want when a video is fullscreen for vertical tabs/the sidebar to become hidden like in MS Edge or Brave, so it's worth considering it as an option if it's possible to have a fullscreen event trigger the sidebar to be hidden, unless that's possibly something that should be a chromium issue or option.

Yes this is the default behavior of the sidebar and there doesn't seem to be an option to change it, not even in an extension. That said, it would be a good idea to report this to Chrome directly, as it makes more sense to be part of the browser settings.


add travis-ci

While adding all this testing goodness, let's hook up to travis-ci, so I know I'm not the only one who can build and run this.

Solving #5 seems to have fixed travis-ci.  It is now building correctly.
https://travis-ci.org/steveortiz/word-cloud/builds/108850387
Here's the commit that added most of the travis-ci things:
https://github.com/steveortiz/word-cloud/commit/213e3a3d6b16105756b6566fbd87cee7aa8efe0f


refresh in fx-case elements

@windauer could you please provide the example from yesterday if possible.

this is outdated and has no testcase to prove - closing


File being archived with Japanese characters as password does not get extracted using Zip7, Windows Explorer tools on Japanese Environment

Hi all,
We  are using below code to archive the file.
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(EncryptionMethod.ZIP_STANDARD);
zipFile.setPassword(password.toCharArray());
When we try to unzip the file which is zipped by zip4j using windows explorer or 7zip,  we get the error  password required (wrong password) box while extracting file.   The problem occurs for the below combination only.

zip file  which is password protected
Password having  Japanese characters
Environment - Japanese Windows OS

On the same environment(Japanese windows) if we use English characters for password, then extract works fine with windows explorer and 7zip.
Also a zip file created with the same  japanese password on English windows OS version also can be extracted correctly with windows explorer and 7zip.
The password that we tried were for with below characters
Japanese:-  日本語
Single byte katakana -  ｧｨｫｬ
NEC -  ①②㈲㈹㍾㍽
IBM -  岺峵崧嵓﨑
Extracting the zip file using zip4j works perfectly fine.
Herewith attached the zip file(Test.zip) which is created by zip4j for your reference.
The password used in this zip file is : ｧｨｫｬ
Could you please look into this issue and advise.
Thank you .

Bhagyashree
Test.zip

Additional input for analysis.
Same jar file extracted using WinRar extracts the file successfully

I tested with the 7z command line utility, and it seems to be fine.

I also was successfully able to extract the file with zip4j.
On a side note though, with non-ascii passwords, it depends on the tool on how they handle it. Some tools convert the password using utf-8 charset, and some don't. When using non-ascii passwords, the tool you are using to extract should be able to encode the password using utf-8 charset. If they don't do that, extraction/reading zip file will fail. For example, if Windows Explorer cannot extract the zip file, it is most likely that they don't convert the password using utf-8 charset. I remember reading somewhere that 7-zip UI had this issue as well, although I am unable to find any link to that. However, my advice is, if possible to not use non-ascii characters for passwords, especially if you are aiming for your zip files to be handled by several tools and want to maintain cross compatibility.

Thank you so much  for the detailed explanations.

Hi,
Could you find any reason why the zip which is generated on English Windows OS can be extracted and the one generated on Japanese OS cannot be extracted.
For your reference herewith attached the zip files generated from both the environment.
The password is same - ｧｨｫｬ
Could you please provide some info on this.
Test_Jap.zip
Test_English.zip
Thank you.
Regards

Bhagyashree


Contact Us Page

Issue Description:
On the "Contact Us" page, the phone number input field is not properly contained within the boundaries of the contact form. It appears to be overflowing or extending outside the designated box, which affects the visual alignment and overall design of the form.

can you pls assign this to me under gssoc tag ?

already assigned.


version 3.x or 4.x

I see that the version of 4.x is marked -beta
What's the major change, or braking change between 3.x vs. 4.x?
I'm building runtimes for serverless and only using nodejs 8+
Is the only difference that it drops support for nodejs 4.x?
Is it a safe bet on picking up 4.x even if it's marked beta?
thank you for your patience and for this project.

The major breaking change is used of ES6 in the source code.
https://github.com/visionmedia/superagent/releases

Super that sounds easy then for me :-)


Some warning when using pretrain model

When I use pretrained model and eval_nyu.sh, the following warning will appear:
size mismatch for patch_embed1.proj.weight: copying a param with shape torch.Size([64, 3, 7, 7]) from checkpoint, the shape in current model is torch.Size([64, 64, 7, 7]).
size mismatch for block1.0.norm2.weight: copying a param with shape torch.Size([64]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.0.norm2.bias: copying a param with shape torch.Size([64]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.0.mlp.fc1.weight: copying a param with shape torch.Size([512, 64]) from checkpoint, the shape in current model is torch.Size([512, 128]).
size mismatch for block1.1.norm2.weight: copying a param with shape torch.Size([64]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.1.norm2.bias: copying a param with shape torch.Size([64]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.1.mlp.fc1.weight: copying a param with shape torch.Size([512, 64]) from checkpoint, the shape in current model is torch.Size([512, 128]).
size mismatch for block2.0.norm2.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
size mismatch for block2.0.norm2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
size mismatch for block2.0.mlp.fc1.weight: copying a param with shape torch.Size([1024, 128]) from checkpoint, the shape in current model is torch.Size([1024, 256]).
size mismatch for block2.1.norm2.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
size mismatch for block2.1.norm2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
size mismatch for block2.1.mlp.fc1.weight: copying a param with shape torch.Size([1024, 128]) from checkpoint, the shape in current model is torch.Size([1024, 256]).
size mismatch for block3.0.norm2.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
size mismatch for block3.0.norm2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
size mismatch for block3.0.mlp.fc1.weight: copying a param with shape torch.Size([1280, 320]) from checkpoint, the shape in current model is torch.Size([1280, 640]).
size mismatch for block3.1.norm2.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
size mismatch for block3.1.norm2.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([640]).
size mismatch for block3.1.mlp.fc1.weight: copying a param with shape torch.Size([1280, 320]) from checkpoint, the shape in current model is torch.Size([1280, 640]).
size mismatch for block4.0.norm2.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for block4.0.norm2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for block4.0.mlp.fc1.weight: copying a param with shape torch.Size([2048, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
size mismatch for block4.1.norm2.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for block4.1.norm2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for block4.1.mlp.fc1.weight: copying a param with shape torch.Size([2048, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
unexpected key in source state_dict: head.weight, head.bias, patch_embed1.norm.weight, patch_embed1.norm.bias, block1.0.attn.norm.weight, block1.0.attn.norm.bias, block1.1.attn.norm.weight, block1.1.attn.norm.bias, patch_embed2.norm.weight, patch_embed2.norm.bias, block2.0.attn.norm.weight, block2.0.attn.norm.bias, block2.1.attn.norm.weight, block2.1.attn.norm.bias, patch_embed3.norm.weight, patch_embed3.norm.bias, block3.0.attn.norm.weight, block3.0.attn.norm.bias, block3.1.attn.norm.weight, block3.1.attn.norm.bias, patch_embed4.norm.weight, patch_embed4.norm.bias

missing keys in source state_dict: patch_embed1.norm.norm.weight, patch_embed1.norm.norm.bias, patch_embed1.norm.norm.running_mean, patch_embed1.norm.norm.running_var, block1.0.attn.norm.norm.weight, block1.0.attn.norm.norm.bias, block1.0.attn.norm.norm.running_mean, block1.0.attn.norm.norm.running_var, block1.0.mlp.norm.norm.weight, block1.0.mlp.norm.norm.bias, block1.0.mlp.norm.norm.running_mean, block1.0.mlp.norm.norm.running_var, block1.1.attn.norm.norm.weight, block1.1.attn.norm.norm.bias, block1.1.attn.norm.norm.running_mean, block1.1.attn.norm.norm.running_var, block1.1.mlp.norm.norm.weight, block1.1.mlp.norm.norm.bias, block1.1.mlp.norm.norm.running_mean, block1.1.mlp.norm.norm.running_var, patch_embed2.norm.norm.weight, patch_embed2.norm.norm.bias, patch_embed2.norm.norm.running_mean, patch_embed2.norm.norm.running_var, block2.0.attn.norm.norm.weight, block2.0.attn.norm.norm.bias, block2.0.attn.norm.norm.running_mean, block2.0.attn.norm.norm.running_var, block2.0.mlp.norm.norm.weight, block2.0.mlp.norm.norm.bias, block2.0.mlp.norm.norm.running_mean, block2.0.mlp.norm.norm.running_var, block2.1.attn.norm.norm.weight, block2.1.attn.norm.norm.bias, block2.1.attn.norm.norm.running_mean, block2.1.attn.norm.norm.running_var, block2.1.mlp.norm.norm.weight, block2.1.mlp.norm.norm.bias, block2.1.mlp.norm.norm.running_mean, block2.1.mlp.norm.norm.running_var, patch_embed3.norm.norm.weight, patch_embed3.norm.norm.bias, patch_embed3.norm.norm.running_mean, patch_embed3.norm.norm.running_var, block3.0.attn.norm.norm.weight, block3.0.attn.norm.norm.bias, block3.0.attn.norm.norm.running_mean, block3.0.attn.norm.norm.running_var, block3.0.mlp.norm.norm.weight, block3.0.mlp.norm.norm.bias, block3.0.mlp.norm.norm.running_mean, block3.0.mlp.norm.norm.running_var, block3.1.attn.norm.norm.weight, block3.1.attn.norm.norm.bias, block3.1.attn.norm.norm.running_mean, block3.1.attn.norm.norm.running_var, block3.1.mlp.norm.norm.weight, block3.1.mlp.norm.norm.bias, block3.1.mlp.norm.norm.running_mean, block3.1.mlp.norm.norm.running_var, patch_embed4.norm.norm.weight, patch_embed4.norm.norm.bias, patch_embed4.norm.norm.running_mean, patch_embed4.norm.norm.running_var, block4.0.mlp.norm.norm.weight, block4.0.mlp.norm.norm.bias, block4.0.mlp.norm.norm.running_mean, block4.0.mlp.norm.norm.running_var, block4.1.mlp.norm.norm.weight, block4.1.mlp.norm.norm.bias, block4.1.mlp.norm.norm.running_mean, block4.1.mlp.norm.norm.running_var

I want to ask, is this a normal phenomenon?

But the evaluation result seems to be right. The following results are from the nyu with shift grid sample:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃        Test metric        ┃       DataLoader 0        ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│         test/D^1          │    0.8964150547981262     │
│         test/D^2          │    0.9770693778991699     │
│         test/D^3          │     0.994140088558197     │
│         test/MAE          │    0.23583249747753143    │
│         test/REL          │    0.08584385365247726    │
│         test/RMSE         │    0.3812095522880554     │
│         test/iMAE         │   0.041311733424663544    │
│        test/iRMSE         │    0.06896471977233887    │
└───────────────────────────┴───────────────────────────┘
RMSE : 0.3736±0.0035
MAE  : 0.2331±0.0020
iRMSE: 0.0680±0.0009
iMAE : 0.0409±0.0005
REL  : 0.0852±0.0009
D^1  : 0.8988±0.0030
D^2  : 0.9782±0.0011
D^3  : 0.9947±0.0005

I found that this should be related to batch normalization. Thank you for your excellent work.

The parameters of BN is still 1/0 after load pretrained model
https://github.com/WHU-USI3DV/SparseDC/blob/608cd1914fee3d816d25fdb1a9862058af759836/src/models/backbones/pvtv2.py#L519

I am seeing the same mismatch issue. Sharing the screenshot for clarity.

Thank you for your attention. This is a  normal phenomenon since the original PVT directly encodes RGB images (H, W, 3), while in our case, we encode the features (H, W, C) from the SFFM module and input them into the PVT. As a result, we have made some modifications to the convolutional kernel sizes.  I will optimize my code to avoid these warnings at a later time. Thank you for your comments.

Thank you for your attention. This is a normal phenomenon since the original PVT directly encodes RGB images (H, W, 3), while in our case, we encode the features (H, W, C) from the SFFM module and input them into the PVT. As a result, we have made some modifications to the convolutional kernel sizes. I will optimize my code to avoid these warnings at a later time. Thank you for your comments.

I noticed that. Do you mean that the input for the PVT pre-trained model you are using does not conform to your design specifications? What I'm more curious about is why this code still functions properly when not all the weights are from pre-training.

@lucky9-cyou During training, I preserve the weights with consistent sizes while reinitialize the weights with inconsistent sizes(this operation is very common). I then gradually updated all the parameters and saved the weights in nyu. kept. During testing, I ultimately load the weights from nyu.ckpt, ensuring that I can obtain accurate results. It's my problem. I haven't organized the whole code yet. When initializating the PVT class, t the first step is to automatically load the pre-trained model of PVT. You can comment out https://github.com/WHU-USI3DV/SparseDC/blob/608cd1914fee3d816d25fdb1a9862058af759836/configs/experiment/final_version.yaml#L19 avoid warnings.

@lucky9-cyou During training, I preserve the weights with consistent sizes while reinitialize the weights with inconsistent sizes(this operation is very common). I then gradually updated all the parameters and saved the weights in nyu. kept. During testing, I ultimately load the weights from nyu.ckpt, ensuring that I can obtain accurate results. It's my problem. I haven't organized the whole code yet. When initializating the PVT class, the first step is to automatically load the pre-trained model of PVT. You can comment out
https://github.com/WHU-USI3DV/SparseDC/blob/608cd1914fee3d816d25fdb1a9862058af759836/configs/experiment/final_version.yaml#L19
to avoid warnings.

Got it. Thanks for your explanation. I will close this issue.


revise uses of select() without labels in examples

The zero parameter signature of select() no longer exists; this fixes two of the example queries to use explicit labels

Hi @leifurhauks, thanks for your contribution!
In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes.

You did it @leifurhauks!
Thank you for signing the Contribution License Agreement.

merged - thanks for fixing that.


[NFC] TypeCheckType No Longer Returns Null

Make it structurally impossible for TypeCheckType to return the null type to both itself and its callers. A large amount of this is based on the work in #29780, but there's some additional deletions and structural assertions here.
Resolves SR-12085 and rdar://58879303

@swift-ci smoke test

@swift-ci test source compatibility

Lost connection to macOS nodes
@swift-ci smoke test macOS

Release builder died.
@swift-ci test source compatibility Release

@swift-ci smoke test macOS


Adds TelemetrySource event publication for DbCommand execution.

Niiiiice! @rynowak @avanderhoorn FYI

Looks great! Made the general comment about having an After event as well as a Before event. Knowing if the query is Async or not, and what type of command is being executed (i.e. Scalar vs not). Lastly, it would be good to know if an exception is thrown. We have access to unhanded exceptions, but it would be good to have access lower down just incase anything upstream swallows it, we can still let the user know that the command didn't complete and why.

Pushed a new commit.

Thanks for the updated properties and added events!

:sheep: :it:

Yay!!! Thanks guys!!!
On Monday, October 5, 2015, Andrew Peters<EMAIL_ADDRESS>wrote:

Merged #3305 https://github.com/aspnet/EntityFramework/pull/3305.
—
Reply to this email directly or view it on GitHub
https://github.com/aspnet/EntityFramework/pull/3305#event-427315763.


[Feature] Store and retrieve system information associated with the execution

Motivation: Why do you think this is important?
For an execution it is important for the administrator to know how the execution was executed, what placement decisions were taken etc. Sometimes this is useful for the user to and to help the user track down potential infrastructure issues
Goal: What should the final outcome look like, ideally?
There would be a UI/CLI/API to access placement information like the cluster used and any other system parameters.
Describe alternatives you've considered
access the databsase
Flyte component

[ ] Overall
[ ] Flyte Setup and Installation scripts
[ ] Flyte Documentation
[ ] Flyte communication (slack/email etc)
[ ] FlytePropeller
[x] FlyteIDL (Flyte specification language)
[ ] Flytekit (Python SDK)
[x] FlyteAdmin (Control Plane service)
[ ] FlytePlugins
[ ] DataCatalog
[ ] FlyteStdlib (common libraries)
[ ] FlyteConsole (UI)
[ ] Other

[Optional] Propose: Link/Inline
NA
Additional context
NA
Is this a blocker for you to adopt Flyte
NA

this is now done


agent that both proposes and executes tools

I like the concept of Autogen, I like to use a couple of features of it. But I currently just need a simple tool executor.
I notice that Autogen heavily works on the concept of generating code and executing it. Does it not has an simple way of executing code directly after it has been "selected"? - So basically same like OpenAI Function calling? Does it all use function calling?
I ask that, because for my use case it's sometimes enough to just select the correct tool. No need of extra checks etc.
Originally posted by @WebsheetPlugin in https://github.com/microsoft/autogen/discussions/2208
Suggestion: Create a reply function `propose_and_execute_tools_nested_reply" which uses a nested chat between an AssistantAgent and a UserProxyAgent with human_input_mode="NEVER".
cc @qingyun-wu

Doesn't this work already? I frequently use register_function with the same agent assigned to both caller and executor; the latter is a little misleadingly named, because such agent doesn't even need a code execution configuration to use said tool.

It works in an unorthodox way, or rather a coincidental/non-standard way. In your case the same agent would be selected to speak twice, given that it is the only one with access to the tool in question. So assuming the default groupchat flexibility in agent selection, it works. The moment you start dictating agent order, though, it will fail. I have implemented a workaround to this issue with Society Of Mind agents (a single agent that is composed of multiple under the hood). One SoM agent is called that under the hood calls a tool caller and then a tool executor, returning the result. I could make a PR with it, but I feel a more integrated solution to this would be preferable as SoM is experimental.

@shippy it works in group chat while it takes two messages in the group chat for tool proposal and tool execution. @WebsheetPlugin probably wants to encapsulate tool proposal and execution inside one agent's inner conversation and only returns a single message of the result to the outer chat.
@GeorgSatyros thanks for sharing your experience. SoM Agent is experimental, while nested chat is in the core library. I suggest using nested chat to implement a new agent with the same functionality: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#nested-chats
It should be very easy to use a single register_nested_chat to implement it. Would you like to give it a try?

Odd: pretty sure all my use cases have been in multi-agent chats with defined transitions between agents, where the tool-executing agent wasn't allowed to speak twice (I think - I'll double-check)

Odd: pretty sure all my use cases have been in multi-agent chats with defined transitions between agents, where the tool-executing agent wasn't allowed to speak twice (I think - I'll double-check)

@shippy I could have definitely elaborated more above, so let me fix that!
Basically, assuming you are using the speaker_selection_method parameter in groupchats and not overriding/shadowing the speaker_selection method itself, then the system should work.
But the core of the problem is this: The system will actually, under the hood, not follow your defined transitions. If you want agent_A->tool_agent_B->agent_C, the actual order will be agent_A->tool_agent_B->tool_agent_B->agent_C. This could be a non-issue for many projects that have looser requirements on agent order, but for other projects it will be a problem. It is also a relatively unintuitive and inexplicit pattern, as is evident on how one may disallow agents speaking twice through the allow_repeat_speaker flag and the system will ignore that when it comes to tool execution.  Here's the relevant code snippet for the above as reference: snippet
@sonichi Sure, I was looking for an excuse to dive deeper into nested chats anyway! Is there any planned support for SoM going forward or will the "agent composed of agents" niche be fulfilled by nested chats? Asking because I was considering contributing to SoM and that effort may be better spent on the core component instead.

@shippy it works in group chat while it takes two messages in the group chat for tool proposal and tool execution. @WebsheetPlugin probably wants to encapsulate tool proposal and execution inside one agent's inner conversation and only returns a single message of the result to the outer chat.
@GeorgSatyros thanks for sharing your experience. SoM Agent is experimental, while nested chat is in the core library. I suggest using nested chat to implement a new agent with the same functionality: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#nested-chats It should be very easy to use a single register_nested_chat to implement it. Would you like to give it a try?

Would be great to have a sample for this 👍🏼.

@shippy it works in group chat while it takes two messages in the group chat for tool proposal and tool execution. @WebsheetPlugin probably wants to encapsulate tool proposal and execution inside one agent's inner conversation and only returns a single message of the result to the outer chat.
@GeorgSatyros thanks for sharing your experience. SoM Agent is experimental, while nested chat is in the core library. I suggest using nested chat to implement a new agent with the same functionality: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#nested-chats It should be very easy to use a single register_nested_chat to implement it. Would you like to give it a try?

Would be great to have a sample for this 👍🏼.

I guess we already have it ☺
https://microsoft.github.io/autogen/docs/notebooks/agentchat_nested_chats_chess

@GeorgSatyros it'll be great if you could make a PR to reimplement the SoM agent using nested chat. It'll be easier to maintain. The current SoM agent can retire after feature parity.

@sonichi I agree, that would be a more graceful solution than deprecation. Will be opening a PR with a solution as soon as my schedule allows!

Odd: pretty sure all my use cases have been in multi-agent chats with defined transitions between agents, where the tool-executing agent wasn't allowed to speak twice (I think - I'll double-check)

@shippy I could have definitely elaborated more above, so let me fix that! Basically, assuming you are using the speaker_selection_method parameter in group chats and not overriding/shadowing the speaker_selection method itself, then the system should work. But the core of the problem is this: The system will actually, under the hood, not follow your defined transitions. If you want agent_A->tool_agent_B->agent_C, the actual order will be agent_A->tool_agent_B->tool_agent_B->agent_C. This could be a non-issue for many projects that have looser requirements on agent order, but for other projects, it will be a problem. It is also a relatively unintuitive and inexplicit pattern, as is evident in how one may disallow agents speaking twice through the allow_repeat_speaker flag and the system will ignore that when it comes to tool execution. Here's the relevant code snippet for the above as reference: snippet
@sonichi Sure, I was looking for an excuse to dive deeper into nested chats anyway! Is there any planned support for SoM going forward or will the "agent composed of agents" niche be fulfilled by nested chats? Asking because I was considering contributing to SoM and that effort may be better spent on the core component instead.

Yes, I use speaker selection to decide the order of Agents.
And for me, it seemed unintuitive to pass a round here just to execute the tool by the same agent again. As I had some logic to already "select" the next agent in order. So my solution was that if the last message is tool selection just allow the same agent again, which had the tool attached.
But again, for me, all this seemed unintuitive. And it's still not clear to me why another agent should execute the tool. Or why it should not be executed if selected.
Is there a case where you want to select a tool by Agent A and execute it by Agent B or C or not execute it at all?

Odd: pretty sure all my use cases have been in multi-agent chats with defined transitions between agents, where the tool-executing agent wasn't allowed to speak twice (I think - I'll double-check)

@shippy I could have definitely elaborated more above, so let me fix that! Basically, assuming you are using the speaker_selection_method parameter in group chats and not overriding/shadowing the speaker_selection method itself, then the system should work. But the core of the problem is this: The system will actually, under the hood, not follow your defined transitions. If you want agent_A->tool_agent_B->agent_C, the actual order will be agent_A->tool_agent_B->tool_agent_B->agent_C. This could be a non-issue for many projects that have looser requirements on agent order, but for other projects, it will be a problem. It is also a relatively unintuitive and inexplicit pattern, as is evident in how one may disallow agents speaking twice through the allow_repeat_speaker flag and the system will ignore that when it comes to tool execution. Here's the relevant code snippet for the above as reference: snippet
@sonichi Sure, I was looking for an excuse to dive deeper into nested chats anyway! Is there any planned support for SoM going forward or will the "agent composed of agents" niche be fulfilled by nested chats? Asking because I was considering contributing to SoM and that effort may be better spent on the core component instead.

Yes, I use speaker selection to decide the order of Agents. And for me, it seemed unintuitive to pass a round here just to execute the tool by the same agent again. As I had some logic to already "select" the next agent in order. So my solution was that if the last message is tool selection just allow the same agent again, which had the tool attached.
But again, for me, all this seemed unintuitive. And it's still not clear to me why another agent should execute the tool. Or why it should not be executed if selected.
Is there a case where you want to select a tool by Agent A and execute it by Agent B or C or not execute it at all?

For example, it makes it possible for Agent B to perform extra conversations with other agents or humans before executing.

Ahhh, now I got it. I am acutaly counting each token twice :) so this would be not my use case, but finaly I understand it. Makes sense.
Just an observation. I feel that Autogen is pivoted for use cases where many tokens are beings used, and it's kinda leaving out more simple use cases like the one mentioned above.

Ahhh, now I got it. I am acutaly counting each token twice :) so this would be not my use case, but finaly I understand it. Makes sense.
Just an observation. I feel that Autogen is pivoted for use cases where many tokens are beings used, and it's kinda leaving out more simple use cases like the one mentioned above.

I think the self-executing agent based on nested chat is what you need. What do you think?

Ahhh, now I got it. I am acutaly counting each token twice :) so this would be not my use case, but finaly I understand it. Makes sense.
Just an observation. I feel that Autogen is pivoted for use cases where many tokens are beings used, and it's kinda leaving out more simple use cases like the one mentioned above.

I think the self-executing agent based on nested chat is what you need. What do you think?

Can you point us to docs or a sample for this @sonichi ? Thx.

@ChristianWeyer see https://microsoft.github.io/autogen/docs/notebooks/agentchat_nested_chats_chess

@ChristianWeyer see https://microsoft.github.io/autogen/docs/notebooks/agentchat_nested_chats_chess

OK, the same I linked to above 🤓 - thx!

Maybe we can make a special agent class that does self-execution using nested chat out of the box.

by default, tools are sent onward to be processed.  The alternative (non nested) is to catch the tools calls before send, and run them, add results back to the original message.  Nest chat is cleaner, but not the minimal case.
The only negative is if you want the agent to loop: invoke tool, react to tool results, invoke tool, react to tool results...
and I'd be cautious of doing that without a way for some other agent/user to have a say in there or risk runaway agent.
But 'invoke tool, add tool results to message that invoked them, and let someone else have a turn, that could the true minimal 'self-tool-executing' agent.

@scruffynerf that is exactly what I'm trying to do at the moment. Quite easy if you are only interested in the tool output being within the "context" of the response. But adding and executing proper "tool_calls" into the message is much trickier as openai effectively requires 2 messages in the chat history per tool execution. As such you would need an agent that injects multiple messages in the conversation per call, and so they cannot be included in a "send". That is probably why a nested chat may be the more graceful solution in that case, where two agents are doing the execution under the hood instead.
I am still working on a good, generic solution to this as it has been a quite persistent thorn in my team's side.

@scruffynerf that is exactly what I'm trying to do at the moment. Quite easy if you are only interested in the tool output being within the "context" of the response. But adding and executing proper "tool_calls" into the message is much trickier as openai effectively requires 2 messages in the chat history per tool execution. As such you would need an agent that injects multiple messages in the conversation per call, and so they cannot be included in a "send". That is probably why a nested chat may be the more graceful solution in that case, where two agents are doing the execution under the hood instead. I am still working on a good, generic solution to this as it has been a quite persistent thorn in my team's side.

The method I'm using for 'toolsfortoolless' (adding tool response processing in pre/post API for models/services that don't support tool_calls) can be used for this, if it fits your use case.  Unsure.
https://github.com/microsoft/autogen/pull/2966#issuecomment-2177759814
is my flow of the parts (I haven't committed my PR yet, soon I hope, still tweaking it)
In it, I hook 'process_message_before_send' to add the tool_calls.  You could do the same to process the tool calls, that is to self_execute them, and remove the tool_call so nobody else sees it.
Yes, you then have multiple messages (the content if any, and results of tool calls), and then you can merge the results into ONE complete message (which I do in the fix_messages part of the flow, and which might need to just be self-standing to allow other LLMs in chat to handle the message flow in their templates).
While OpenAI api has trained in a 'tool call' OR 'content' behavior, they admit it's not actually a hardcoded OR, just trained in. Officially the spec does allows for both at once, I linked to a discussion saying so elsewhere.  So you could even prompt it, to do something like this:
LLM chatting here, explaining and rambling on why and what it will do...
[tool_call id or other way to know where tool call results belong, generated by LLM itself]
and then when important thing happened, that date matters:
[Insert tool use: searchtool(argument'date of important thing')]
etc etc etc.

or maybe you want 2 known tool_calls merged:
example prompt '
call the 'next free date' tool' to get an available date, and reserve it.
also use tool that books catered lunches, but set the date for 1/1/1970'
and then you get two tool_calls, and process the next free date function, which returns "{'next unscheduled day':"7/1/2024", 'Status': "now reserved"}
and catch the second tool call, dump in the date, and THEN process it, and now you have a lunch delivery on 7/1/2024.
That would have been at least 2-3 LLM calls:
request for the asking to reserve date and book a lunch:
reply to use reservation tool
request back with date now reserved
reply back to use use lunch tool
(optional but likely) request back to confirm lunch is scheduled
reply back "Ok, on 7/1/2024, you are now booked and lunch will be delivered"
As I said, NOT ideal, but it might be a huge saving if you could reduce LLM calls in half, or more.
not ideal, the call/response method allows the LLM to take the results and pretty it up, but yes, it's extra calls back and forth.  If you don't need that, you can 'shortcircuit it

I may even add an option to add 'self-executing' for toolsfortoolless, just to see how it works.

I may even add an option to add 'self-executing' for toolsfortoolless, just to see how it works.

Actually, mulling it over, making this a separate capability makes more sense.  It's far easier to add 3-4 capabilities than have 1 with stuff you don't want, even if they all have flags to disable them

I've been trying the state transitions feature and wanted to keep the graph as simple as possible, keeping possible transitions to 1 for much of the graph. My thoughts are

avoiding encoding the possibility of calling the same agent twice in the graph (which I believe would require an LLM call each time to decide how to proceed, and make the transition llm-dependent so unreliable.
add an extra "tool execution" node after each tool calling agent. This works but would mean programatically augmenting the transition graph, and make it harder to follow where you are in the transition graph.

I came up with this solution
# for every function:
agent.register_for_execution()(function)
agent.register_for_llm()(function)

def state_transition(last_speaker: Agent, groupchat: GroupChat):
    messages = groupchat.messages
    if "tool_calls" in messages[-1]:
        called = messages[-1]["tool_calls"][0]["function"]["name"]
        if called in last_speaker.function_map:
            return last_speaker
    return "auto"

groupchat = GroupChat(
    ...
    allowed_or_disallowed_speaker_transitions=allowed_transitions,
    speaker_transitions_type="allowed",
    speaker_selection_method=state_transition,
)

It's

not a solution for the simple agent case, leveraging the group chat system
hard-codes the agent selection to a specific value (in this case, "auto")
could check for both tool_calls and function_call modes

I'm new to autogen, but would be hesitant to try nested chats given the big jump in complexity managing state for web-apps. This solution works well for me, keeping complexity low on both function calling and managing messages.
Let me know if I'm missing anything obvious! Thanks


Portfolio: preserve data in the browser

Portfolio: preserve data in the browser
This is a continuation of portfolio project #22 . In this particular milestone, we have implemented the following features based on project requirements:

You should implement the following interactions:

When the user changes the content of any input field, the data is saved to the local storage.
When the user loads the page, if there is any data in the local storage the input fields are pre-filled with this data.

data model use:

reate a single JavaScript object with all the data from the entire form and save it in local storage.

Live Link deployed from the localStorage branch for review purposes

Project Approved 🏆 🎉 🟢
Hi @fmanimashaun
Your project is complete! You have done it exceptionally well. it's time to merge it 💯 Congratulations! 🎉
To Highlight 👍
✔ No linters error. ✔ Details PR title and description. ✔ Good commit messages.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me in your question so I can receive the notification. You can also connect with me on slack
_As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thanks


collections: allow missing id on create

Closes #337
Allows a nil _id attribute on instances that are being created.

Thanks @carsonfarmer - I'll wait for a peek from @asutula since he was the last one that touched these lines.


Zeek shaper script

Also added a helper cmd zsontypes to help people transition away from legacy types.json. We can remove that as the same time as we remove types.json support from the ndjson reader.
close #2104

Some quick and dirty time runs show that this is significantly (over 2x) slower than types.json. A more apples-to-apples comparison is vs reading the file without applying the shaper script, and here the delta is smaller.
Applying legacy types.json:
$ time zq -j zeek/types.json -Z zq-sample-data/zeek-ndjson/conn.ndjson.gz > /dev/null
real	0m18.193s
user	0m40.063s
sys	0m1.480s

Reading the file as ndjson (no types.json) and zson):
$ time zq -i ndjson -Z zq-sample-data/zeek-ndjson/conn.ndjson.gz > /dev/null
real	0m52.414s
user	1m47.371s
sys	0m4.609s

$ time zq -i zson -Z zq-sample-data/zeek-ndjson/conn.ndjson.gz > /dev/null
real	0m39.450s
user	1m13.859s
sys	0m2.630s

Reading the file as ndjson and zson, then applying shaper.zql:
$ time zq -i ndjson -Z -I zeek/shaper.zql zq-sample-data/zeek-ndjson/conn.ndjson.gz > /dev/null
real	0m56.269s
user	2m4.924s
sys	0m4.827s

$ time zq -i zson -Z -I zeek/shaper.zql zq-sample-data/zeek-ndjson/conn.ndjson.gz > /dev/null
real	0m49.281s
user	1m33.752s
sys	0m2.993s


Improve cpu processing using itertools map and filter, and the numpy operations to distribute into multiple processors.

It should use the itertools and the numpy function to improve the cpu perfromance.

Itertools improve memory usage but make the processing performance worse.


3.0.0-next.3 => @3.0.0-next.4 - focus jumping to end of input on edit

Bug report
This is admittedly will be a half-hearted bug report - but since it's on the next/beta branch I figured you'd want it reported anyways. I've been unable to reproduce in one of your codebox sandboxes - but am experiencing within our app and have been able to narrow it down to this release below.
https://github.com/formium/formik/compare/formik<EMAIL_ADDRESS>I've taken a look at the source and cannot discern anything that stands out.
Current Behavior
Type: "Brooks was here"
Move cursor to after "Brooks"
Type: "hello"
Result is: "Brooksh was hereello"
Expected behavior
Should be: "Brookshello was here"

Reproducible example

Suggested solution(s)

Additional context
We are using the new FastField component as recommended. Will continue to try to reproduce in a sandbox and attach here if narrowed down.
Your environment

Software
Version(s)

Formik

React

TypeScript

Browser

npm/Yarn

Operating System

This was a user error (me) - after refactoring all our formik fields to utilize the new apis and removing the function call inside of <Form> i.e.
<Form>{((props) => {

}))}
</Form>

the issue went away. Very happy with the refactor - if I could just get isDirty working, I'd be thrilled. Closing this issue

I noticed the same, this bug wasn't on 3.0.0-next.7 versoin but occured again on v3.0.0-next.8


Support external Slurm DBD

Description of changes
This PR exposes a configuration parameter that allows the cluster to point to a slurmdbd residing at a location different than the head node of the cluster.
This PR provides an example CFN template that allow to create a slurmdbd stack external to the PC cluster.
Tests

Created a new unittest and new integration test. The new integration test has been passed

References

Link to impacted open issues.
Link to related PRs in other packages (i.e. cookbook, node).
Link to documentation useful to understand the changes.

Checklist

Make sure you are pointing to the right branch.
If you're creating a patch for a branch other than develop add the branch name as prefix in the PR title (e.g. [release-3.6]).
Check all commits' messages are clear, describing what and why vs how.
Make sure to have added unit tests or integration tests to cover the new/modified code.
Check if documentation is impacted by this change.

Please review the guidelines for contributing and Pull Request Instructions.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Where is the warning that we are supposed to provide about encryption?

Where is the warning that we are supposed to provide about encryption?

Thanks! I added another commit to add the warning message


Isolate child element in equivalence map

It is possible to link a proofreading layer to a labels layer and use annotations to merge labels using an EquivalenceMap(). The parent label can then also be isolated and split from its children using the isolate_element() function. Is there an easy way to isolate a child label based on an intersecting annotation? It would be straight forward to do this on the underlying array, but it doesn't seem like there is an existing way to modify the state, like there is for the union.
A simple example with merging and then isolating a parent element:

After merging, we can split the parent label (1) from its child (2) and then (2) from its child (3). The ideal behavior would be to isolate, for example, (3) directly from (1). It seems like the children are tracked directly because hovering over shows the equivalence, e.g 3 --> 2 | 2 --> 1, so is there a way to go backwards, and update the state?
Example code:
import neuroglancer
import numpy as np
import webbrowser

neuroglancer.set_server_bind_address("<IP_ADDRESS>")

viewer = neuroglancer.Viewer()

data = np.arange(2*2, dtype=np.uint64).reshape(2,2)

dims = neuroglancer.CoordinateSpace(
    names=["x", "y"],
    units="m",
    scales=[1,]*2,
)

vol = neuroglancer.LocalVolume(data=data, dimensions=dims)

def union(s):
    segments = set()
    for segment in s.viewer_state.layers["anno"].annotations:
        if segment.segments:
            ids = [i for s in segment.segments for i in s if i != 0]
            segments.update(ids)

    with viewer.txn() as txn:
        for segment in segments:
            txn.layers["labels"].equivalences.union(max(segments), segment)
        txn.layers["anno"].annotations = None

def isolate(s):
    segments = set()
    for segment in s.viewer_state.layers["anno"].annotations:
        if segment.segments:
            ids = [i for s in segment.segments for i in s if i != 0]
            segments.update(ids)

    with viewer.txn() as txn:
        for segment in segments:
            txn.layers["labels"].equivalences.isolate_element(segment)
        txn.layers["anno"].annotations = None

with viewer.txn() as s:

    s.layers["labels"] = neuroglancer.SegmentationLayer(source=vol)

    s.layers["anno"] = neuroglancer.LocalAnnotationLayer(
        linked_segmentation_layer={"segments": "labels"}, dimensions=dims
    )

    s.layout = "xy"
    s.position = [1, 1]
    s.cross_section_scale = 0.005

viewer.actions.add("union", union)
viewer.actions.add("isolate", isolate)

with viewer.config_state.txn() as s:
    s.input_event_bindings.viewer["keyu"] = "union"
    s.input_event_bindings.viewer["keyi"] = "isolate"

url = str(viewer)
print(url)

try:
    webbrowser.open_new_tab(url)
except:
    webbrowser.open_new(url)

Perhaps you can explain a bit more exactly what type of action you want?
Note that the Neuroglancer itself now contains slightly better support for dealing with local equivalences.  You can now perform split and merge actions directly in Neuroglancer, independently from the Python integration.  The splitting and merging is based on a spanning tree representation.
It is not currently documented, but here is how you can try it out:

Open the layer side panel for the segmentation layer that you want to reconstruct, e.g. by right clicking it in the layer bar.
Select the "Source" tab if not already selected.
At the bottom of the Source tab, there is a "+" button for adding a new data source.  Click that, then type "local://equivalences" and press enter.  Underneath the added data source "local segmentation graph" should be listed.
Select the "Seg" tab.
Note that "Merge" and "Split" are now listed at the top of the Seg tab.  While holding down the left mouse button to click the empty "[ ]" to the left of  "Merge", press a letter key a-z that you want to use for merging, such as "x".  Since you will have to hold down shift to use these keys, and will want to reserve your right hand for the mouse (assuming you use the mouse with your right hand), make sure to pick a key that is near the left shift key.  Likewise hold down the left mouse button over the empty "[ ]" to the left of "Split" and pick a different key, e.g. "s".  This will allow you to merge and split by holding down "shift+x" and "shift+s" respectively.
There is just one last key binding you should set up.  Select the "Render" tab.  While holding down the left mouse button to click on the empty "[ ]" next to "Base segment coloring", press another letter a-z, such as "c".
To merge segments, you first need to set the "anchor" segment to which all of your added segments will be merged.  To do this, make sure the desired anchor segment is selected (e.g. by double clicking it), then hold down shift+x and right click on the segment.  You can change the anchor segment at any time with shift+x rightclick.
Once you have set the anchor segment, you can merge segments to it by holding down shift+x, hovering the mouse over the segment you want to merge, and left clicking.  When you hold down shift+x, the display changes to show a preview of the merge that will be performed.  All selected segments are hidden, and the anchor segment as well as the segment you are currently hovering over are shown.  For example if you are picking the continuation segment in 2d, you can just hover over it while holding down shift+x and if you wait a second for it to load, it will be shown in 3d as well without needing to double click.
Once you have performed the merge, the new merged segment will all be shown in the same color.  If you press shift+c, though, that toggles base segment coloring, which allows you to see the base segments that make up an agglomerated segment.
If you make a mistake when merging, you can correct it by splitting.  This works similarly to merging: there is an anchor segment (same one used for merging), which you can set with shift+s rightclick.  Then while holding down shift+s, only the agglomerated anchor segment is shown.  If you hover over a portion of the agglomerated anchor segment, a preview of the split is shown, by using two separate colors to show the two parts that will result from the split.  You don't explicitly choose exactly where the split will occur.  Instead, Neuroglancer remembers the tree of merges that you performed, and always splits according to this same tree.  The split point within this tree is chosen so that the segment you hover over (the part to split off) is as small as possible.

And here is an example link:
Example link
One caveat is that the EquivalenceMap class in the Python API is not yet updated to properly preserve or work with the spanning tree.  Instead, if you attempt to manipulate the equivalences using the Python API, the equivalences themselves will be correctly preserved, but the spanning tree will be lost, which means subsequent split actions won't work very well.

That's exactly what I had in mind, but a little more involved. Ideally I would be able to just remove a child element (i.e supervoxel) from a merged label when a point annotation intersects with the element. The rest of the merged children would remain merged. It would be good to be able to access this pythonically to wrap it in a lightweight callback. It is easy enough to do this with the merging right now, could you point me to the splitting code? Thank you!

I'm not sure I understand what you are trying to accomplish differs from the existing EquivalenceMap.isolate_element method.

isolate_element seems to return the parent not the child, regardless of where a point is placed. maybe a 3d example is better:
we have two segments (parents) which each consist of 8 children:

we accidentally merge the two together (yellow dots 4th child down in each segment):

Now we try to isolate the 4th element down in the left segment (yellow dot):

we end up isolating the parent node (top element, left segment), regardless of where we place the node:

but the ideal behavior would be to split away the 4th element:

Oh, I see.  The issue is that when you create an annotation with a related segment, the id used is always the root segment id, not the base supervoxel id.  However, Python action callbacks can obtain the base supervoxel id from ActionState.selected_values.  In particular, for the segmentation layer if the mouse is over a mapped id, then the value will be a SegmentIdMapEntry.

Hmm that could work for removing a single element per callback, but I guess the problem is a case where > 1 element needs to be selected - since selected_values only knows the id under the mouse. The nice thing for the union case is that we know each segment to be merged:
for segment in s.viewer_state.layers["anno"].annotations:
        print(segment.segments)

but after merging, the only segment stored is the parent segment which can't give us the children. I guess a mapping could be created whenever merging (e.g 1 --> 2) which could then be used as a reverse lookup during a split (2 --> 1). If the mapping exists (i.e after a merge), it could be stored directly inside annotations.segments for each annotation. Is this something similar to the splitting in the example you sent?

Actually, isolating a single child element works fine in my case. So something like this would work for both parent and child:
def isolate(s):

    with viewer.txn() as txn:
        equivalences = txn.layers["labels"].equivalences

        try:
            key = s.selected_values["labels"].value.key

            del equivalences._parents[key]
            del equivalences._weights[key]
            del equivalences._prev_next[key]
            del equivalences._min_values[key]

        except:
            key = s.selected_values["labels"].value
            equivalences.isolate_element(key)


Enhancing Security: Customization of TLS Versions, Cipher Suites, and Headers

Is your feature request related to a problem? Please describe.
Yes, the current implementation of the ACME protocol stack in hysteria2 supports TLS versions 1.3, 1.2, 1.1, and 1.0. However, this broad support raises concerns regarding security best practices and modern standards. Specifically, the inclusion of TLS 1.1 and 1.0, which are considered outdated and less secure, could potentially expose users to vulnerabilities. Additionally, the inability to customize TLS version values and Cipher suite values limits the flexibility for users who may require specific configurations for compliance or security reasons.
Describe the solution you'd like
I propose two potential solutions to address these concerns:

Enable the customization of TLS version values and Cipher suite values within hysteria2's ACME protocol stack. This would allow users to specify their preferred and required configurations, ensuring both compliance and security.
If customization is not feasible, I suggest updating the default configuration to align with security best practices. This would involve disabling support for TLS 1.1 and 1.0, as well as the TLS 1.2 Cipher suites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA and TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, which are no longer recommended.

Describe alternatives you've considered
An alternative would be to maintain the current support for all TLS versions but provide clear documentation and warnings about the risks associated with using deprecated TLS versions and Cipher suites. This approach would educate users on the potential security implications while still offering the flexibility to choose their configurations.
Additional context
In the context of hysteria2's obfuscation mode, the Headers currently only support Strict-Transport-Security and X-Content-Type-Options. I would like to see support for custom Headers to enhance security further. If custom Headers are not an option, the default configuration should include robust security headers such as Content-Security-Policy, X-Frame-Options, Referrer-Policy, and Permissions-Policy, which are essential for protecting web applications from common vulnerabilities.

Thanks for your feedback, but at this time we are not accepting issues from ChatGPT


Question: how can I load a custom awsconfiguration when initializing Amplify?

I have two custom configs form amplify in my bundle: amplifyconfiguration.production.json and amplifyconfiguration.staging.json and they are paired with awsconfiguration.production.json and awsconfiguration.staging.json. I searched the repo trying to understand where awsconfiguration.json gets loaded but not sure where I can find it how its used.
I wanted on the call to Amplify.configure maybe to be able to pick the correct file?

Hi @vitor-neurodelabs, awsconfiguration.json is not used by Amplify, you can leave them or remove them. They are used with the AWS iOS SDK, and a legacy artifact. Calling Amplify.configure() will read amplifyconfiguration.json from the main bundle. If you have production and staging, you may want to read the files into memory and directly call Amplify.configure(config) objects.


Added Contract Type Enum and Descriptions to Contract Object

…ract object

@afajardodelgado I fixed the merge conflicts. You will need to git pull origin contract-type to update your local file. If that creates conflicts, use a text editor to fix them. You can search for ">>>", "===" and "<<<" to find the markers indicating where conflicts occur. I use jsonlint to check that the edited file is valid json; if it isn't, usually I've missed removing a marker or have misplaced a closing bracket or comma.


Min Cost Climbing Stairs

Created a new folder in Cpp folder for problems other than neet 150.
And added -
solution to 746. Min Cost Climbing Stairs leetcode problem.

hi @narutoobito ! thank you for contributing!
a solution for this problem in c++ already exists at https://github.com/neetcode-gh/leetcode/blob/main/cpp/neetcode_150/13_1-d_dynamic_programming/min_cost_climbing_stairs.cpp, so i'm closing this as a duplicate.
please see the contributing guidelines for details about how to get your PRs reviewed and merged quickly!


AN-92: Replace client with requester

last compilation error fixed! 🎉

renamed ClientRequest type to Request because RequesterRequest seems a little bit redundant 😆
renamed var clientAddress to requesterAddress and not just requester because I used the same pattern when renaming airnodeIdAddress to airnodeAddress.  (I mention this because in AirnodeRrp.sol airnodeAddress is airnode and requesterAddress is requester)

I think the requester -> sponsor changes were duplicated in this PR?

That's my fault. I rebased this branch on top of https://github.com/api3dao/airnode/tree/an94-requester-to-sponsor in order to make sure node package was finally able to compile. After merging  https://github.com/api3dao/airnode/pull/524 then those duplicated changes won't appear on this PR.

Anyway, looks good 👍🏻 . The ClientRequest to Request change is actually quite a nice (unexpected) improvement imo

Yup. I think I like the new name as well


Conformance Policy around Custom Task Run

Creating this issue to propose:

Define conformance policy for Custom Task API, including

the requirement (REQUIRED|RECOMMENDED|OPTIONAL) of each field.

Define that to what extent PipelineRun Controller relies on each field

for example, Pipeline Controller can only rely on required fields, must not rely on optional fields etc.

Develop a conformacne test suite

to enforce that Custom Task controller conforms to the requirement of each field.

The motivation behind this issue is: nowadays. we expect customers to implement something but we have no way to enforce that, this has caused a lot of inconsistency between the design, the documentation and the actual implementation in Custom Task Run. Including but not limited to: https://github.com/tektoncd/pipeline/issues/5653, https://github.com/tektoncd/pipeline/issues/5582, https://github.com/tektoncd/pipeline/pull/5393
Let me get the ball rolling, feel free to leave comments!

Required Fields

TypeMeta
Spec.Status to support pipeline-level timeouts
Status.Conditions: only mark the CustomRun as done when it's really done (all retry attempts have been exhausted)

Pipeline Controller should only rely on required fields without caring about how optional fields are implemented.
Develope a conformance test suite to ensure a custom taks controller conform to the policy we defined.

Taking retries and timeout functionality as example, custom task controller should only report the custom task as done (Reason!="" && Reason!=UNKNOWN) after exhausting all retries. And Pipeline Controller only relies on status report to decide the current status of a Run. (removing the dependence on len(retriesStatus))
cc @tektoncd/core-collaborators

/lifecycle frozen
/area roadmap


[com.google.fonts/check/varfont/bold_wght_coord] It is allowed to have a bold instance

🔥 FAIL: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. (com.google.fonts/check/varfont/bold_wght_coord)
🔥 FAIL "Bold" instance not present. [code: no-bold-instance]
The font doesn't have a bold instance, I don't see a problem with that.
@m4rc1e this FAIL goes with the reported issue in Axis Registry: https://github.com/googlefonts/axisregistry/issues/104

This issue has been fixed in the axis registry repo


Windows graphical updates

The build wall is behaving strangely on Windows. The configuration does not work properly as the graphics don't redraw well at all. The time panels arbitrarily don't draw.

Cant recreate on home windows 10 machine. Need to investigate on machine with issue.

Closing for now - happening less often than originally but still an issue. Very difficult to recreate.


Feature request: add a little sign to tell whether the file is modified

My current working window is putting the tab goup below the explore and invisible the original tab pannel from VScode to make it looked exactly like Edge. But without the little modifying sign on original tab pannel, it always makes me forget to save file. So it would be better to have a sign to tell whether this file is modified just like the original tab pannel.
Thank you for your work!

+1. A must have feature


btn-toolbar - btn-group - content doesn't fit to content on mobile view

In alpha.6 btn-toolbar content doesn't wrap to container size.
This example from the doc http://v4-alpha.getbootstrap.com/components/button-group/#button-toolbar
Lock the container size and an horizontal scrollbar appear. In alpha.5 btn-toolbar content fits well
Here is the jsfiddle : https://jsfiddle.net/L84dbasj/
Is it due to flexbox, and that component is not rewritten in alpha.6?

Thanks for the fix for btn-toolbar, but maybe also need to allow .btn-group to wrap?
At least for the sample of custom checkbox and radio : https://v4-alpha.getbootstrap.com/components/buttons/#checkbox-and-radio-buttons


Urls regex

Urls like this doesn't work if you count vkontakte shares
http://top.rbc.ru/politics/15/02/2015/54e0793a9a7947c1231b4967#xtor=AL-[internal_traffic]--[rss.rbc.ru]-[top_stories]
This works
http://top.rbc.ru/politics/15/02/2015/54e0793a9a7947c1231b4967

Thanks for reporting, fix it in version 0.2.3 :+1:


Post live chat message not triggering recieve event

Hi, I wasn't sure where to report this bug - but I have noticed an inconsistency in the events mechanism, specifically the recieve event does not fire when a message gets sent by the assistant when the user disconnects from an agent.
To recreate this, simply add a recieve listener to the watson instance with a service desk on the project and note the lack of this event firing after the user disconnects and the default message gets sent. I expect this event to be triggered, and don't believe this message is triggering any events listed in the api events documentation.

You are correct that this is the current behavior. The receive event is only fired for messages that are actually sent by the assistant service and received by web chat. Messages generated internally by web chat (there's not many but the message you mention is not the only one) do not trigger the receive event.
And so, you are unfortunately correct in that there's currently no event you can use to capture this message. Do you have a specific reason to do so?


improve tooltips and descriptions on Extractor setup fields

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1341
Originally created by @dmor on 2019-12-02 23:29:18

The user is not always confident that they know what a field is, or where to get the information. From the UI (not the docs) we need to provide the links, tooltips, context etc. needed so that they can complete the setup process.
See @derek-knox comment's for more context https://gitlab.com/meltano/account-management/issues/30#note_253574349
Todo

[x] reinforce need for checking into docs
[x] add placeholder KVP and leverage in UI
[x] ensure tooltips work as expected
[x] document intended use for description, tooltip, placeholder, documentation, etc.
[-] tap-gitlab groups example (space delimited as UI chips widget?)

Acceptance Testing
@dmor will test the impact of these changes on the following Extractors in the UI:

[ ]  Google Analytics
[ ]  GitLab
[ ]  Salesforce
[ ]  Zendesk

This issue will not be closed until each Extractor can be successfully configured based on the information provided in the form modal.

View 16 previous comments from the original issue on GitLab


Mod appears to load, but not actually provide controls/access to the gui

Hello.
Tried to download and install your mod; everything went as normal and it appeared in mod menu but I could not find an entry in the controls section to open the cosmetic armor slots GUI.
I thought it might be conflicting with another mod, maybe fabric controlling specifically since that allows you to search controls, etc. But everything else custom was appearing fine, so I tested your mod in a fresh instance with only itself (1.0.0 from CurseForge), Fabric API (0.3.0+build.185) and the most recent loader/mappings (0.4.8+build.155 and 1.14.2+build.7) and had the same issues. , Pressing all keys on my keyboard did not produce the GUI, either. I did not however, try unbind default keys.
However, when adding Mod Menu; I can see that the mod is loaded, at least to the point that mod menu pretends it's there.

The log seems rather uneventful to me, but maybe it will be of use to you. I loaded into a world briefly to see if it would produce any out of place output but noticed nothing.
https://pastebin.com/0PtRLKj5
Let me know if there's anything else I can provide to narrow down the issue. Excited to see more well-known modded features like this brought to Fabric .

There is no keyboard button to open the GUI. There should be a small golden boots icon in your inventory screen to open it. Let me know if that works. If that's the problem, I'll update the mod description to make this clear.

If it was a snake it would've bitten me, damn. Completely glossed over it.
But... now there's another... strange issue that I'm gonna have to test further...
It seems that when I added it to my Mod Pack instance I've been using, it doesn't appear in the GUI next to the player. I tried removing resource packs but was unsure why that would have an effect. It didn't make the button appear when I did.
However, copying all of the exact same mods to a fresh instance with fresh configuration and no resourcepacks does seem to let it appear... Even loaded up the same world to see if it was somehow wonky but I was also pretty unsure that should actually make a difference...
Here's my original pack I usually add to:

And here's the fresh one:

After copying the configuration files over to the new instance, the problem has started occurring there too. Very perplexing.
I'll have to keep investigating and open another issue if I narrow down the conflict.
Otherwise, it seems to be working as intended.

So, I narrowed down the problem of the button not appearing at all to using REI's "disable recipe book" module.
My guess would be he modifies the GUI in some way that your button does not get assigned to it anymore; as it doesn't seem to just be invisible, the bottom right area is non-functional as well.
Maybe his module for disabling the recipe is essentially a clone of the regular GUI without the recipe book code and he just disables the normal one and redirects to his code; so your mod no longer displays because it's mixin modifies the default GUI. While his module opens another, self-defined GUI.
That's my serious amount of arm chair development guess. Could be completely off base. For now not enabling that option fixes this conflict.

I really appreciate you narrowing down the issue. I'll take a look at it when I get the chance.

I looked at REI's code and the issue is on their end. They disable all buttons in the inventory screen. I'm submitting an issue on their repository.


Acceptence tests

Summary

Add tests based on sample config files.
Add coverage calculation.

Test Plan
—
Additional Notes
—

Please consider code coverage reporting from CI: e.g. https://github.com/marketplace/actions/python-coverage


SSL improvments

Mainly cipher key-size
Also some fixes for wrong/missing params

Closing due to https://github.com/fractalcells/fractalcells/pull/9.
Thanks!


Scroll instead of wrap

https://avidseeker.github.io/arabic-latex/
Compare with how github adds a scroll bar:
Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphiokarabomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon is a fictional dish originating from Aristophanes' 391 B.C.

Hi @avidseeker, I don't see a scrollbar here ⬇🤓.

💭 thoughts I might be misunderstanding your request, but you could try to set the height via CSS on the pre code element to limit the height to one line of code if that is what you want.
ℹ The highlighting of code is not part of this theme itself, it's a general Hugo feature, see https://gohugo.io/getting-started/configuration-markup/#highlight. If you need help, you will probably find what you need on the Hugo Discouse, see https://discourse.gohugo.io.

Interesting, what browser or OS do you use?

I see. Yea, Mac OS usually does not render scrollbars.


fix(bsc): wifi connection; need to wait until the status is right

I was trying to flash my esp32-c3 board and while I was successful at that, my wifi did not connect.
It turns out that the code in the bsc vendoered lib did not lend way to check for the status in a loop until it is either connected of disconnected. This is unhelpful because there are three states of the connection status enum and one of them is Connecting which may take a few ms.
Caveat: I am new to this so I did what I thought was the right thing. Please help improve this if you think I made a mistake.

This works now, thanks to you all - @Dajamante , @justahero  and @SergioGasquez. I see wifi connecting and the output is
…dware-check  on  amanjeev/flashing-and-wifi-connection is 📦 v0.1.0 via 🦀 v1.61.0-nightly took 28s
at 13:57:29  ❤  RUST_LOG=info cargo espflash --release --monitor /dev/ttyACM0
Serial port: /dev/ttyACM0
Connecting...

    Finished release [optimized] target(s) in 0.06s
Chip type:         ESP32-C3 (revision 3)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi
MAC address:       60:55:f9:c0:1f:c0
[00:00:00] ########################################      12/12      segment 0x0
[00:00:00] ########################################       1/1       segment 0x8000
[00:00:07] ########################################     412/412     segment 0x10000

Flashing has completed!
Commands:
    CTRL+R    Reset chip
    CTRL+C    Exit
......snip.......
I (7361) esp_idf_svc::wifi: STA IP event DhcpIpAssigned(DhcpIpAssignment { netif_handle: 0x3fca477c, ip_settings: ClientSettings { ip: <IP_ADDRESS>, subnet: Subnet { gateway: <IP_ADDRESS>, mask: Mask(24) }, dns: None, secondary_dns: None }, ip_changed: true }) handled, set status: Status(Started(Connected(Done(ClientSettings { ip: <IP_ADDRESS>, subnet: Subnet { gateway: <IP_ADDRESS>, mask: Mask(24) }, dns: None, secondary_dns: None }))), Stopped)
I (7401) esp_netif_handlers: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (7411) esp_idf_svc::wifi: Waiting for status done - success
I (7421) esp_idf_svc::wifi: Providing status: Status(Started(Connected(Done(ClientSettings { ip: <IP_ADDRESS>, subnet: Subnet { gateway: <IP_ADDRESS>, mask: Mask(24) }, dns: None, secondary_dns: None }))), Stopped)
I (7431) esp32_c3_dkc02_bsc::wifi: Wifi connected
I (8441) hardware_check: Hello, world!
I (10441) hardware_check: Hello, world!
I (12441) hardware_check: Hello, world!
I (14441) hardware_check: Hello, world!

@BriocheBerlin , @Mirabellensaft could you please try my branch too and maybe it works?
@Dajamante  maybe flashing may work for you this time?

I am not sure why there is a cargo deps conflict in the docker check test run. this does not happen to me on my local.

The conflict doesn't show when running intro/hardware-check or intro/hello-world, but it does for me when trying to build intro/http-client/exercise

I am not sure why there is a cargo deps conflict in the docker check test run. this does not happen to me on my local.

You may need to update the dependencies in all the projects, as common/lib/esp32-c3-dkc02-bsc crate gets used in all of them (or most of them, if I recall properly).
I am currently ooo but looking at the modified files and with @9names comment it looks like that should be the issue.

I made a PR against this PR branch, forgot that the branch was on the main repo - I'm more used to the fork and branch model

with this branch, my wifi works! Can you rebase, so it's on the same state as main, minus your changes? Just to make sure it fixed the right issue

@Mirabellensaft I rebased and pushed but now i see stuff :see_no_evil: i did not commit...

Hello! I was ooo for a few days, can someone update me on the state of this PR? Why it was changed to draft?
Thanks in advance!

@SergioGasquez it was changed to draft primarily because this PR/branch is being used to test the material internally. Until our checks are all green, it was suggested this be draft.  Fear not, this will be merged once all the folks at FS have finished their checks.
cc/ @Mirabellensaft @justahero

@SergioGasquez we have pinged on the #85 already but not sure why #85 is a draft as well?

FYI, I have a related issue, which this PR seems to PARTIALY fix.
Currently, when flashing/monitoring via the USB/JTAG port, the Wifi dosn't connect.

Stopping the monitor and resetting board, WIFI connects fine
using the normal USB port with monitor, WIFI connects fine
Using USB/JTAG,  Wifi won't connect with either monitor running,  or OpenOCD Debug running.

Testing with this PR, USB/JTAG with monitor,   Wifi now connects about 75% of the time,  (three out of four tries it works, one it fails.)   So much more reliable, but not always.
Can actually debug now with this PR, with Wifi connecting.  (generally).
Trace from a fail in case it is usefull:
I (3572) esp_idf_svc::wifi: About to wait 2100s for status
I (3572) wifi:state: assoc -> run (10)
I (3592) esp_idf_svc::wifi: Timeout while waiting for status
I (3592) wifi:connected with Gumtrees, aid = 2, channel 1, BW20, bssid = 78:8a:20:da:6f:97
I (3602) wifi:security: WPA2-PSK, phy: bgn, rssi: -51
I (3602) wifi:pm start, type: 1
I (3602) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 0, mt_pti: 25000, mt_time: 10000
I (3612) esp_idf_svc::wifi: Got wifi event: StaConnected
I (3622) esp_idf_svc::wifi: STA event StaConnected handled, set status: Status(Started(Connected(Waiting)), Stopped)
I (3632) esp_idf_svc::wifi: Stopping
I (3632) wifi:state: run -> init (0)
I (3642) wifi:pm stop, total sleep time: 0 us / 33289 us
I (3642) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (3652) esp_idf_svc::wifi: Disconnect requested
I (3662) wifi:flush txq
I (3662) wifi:stop sw txq
I (3662) wifi:lmac stop hw txq
I (3662) esp_idf_svc::wifi: Stop requested
I (3672) esp_idf_svc::wifi: About to wait for status
I (3672) esp_idf_svc::wifi: Got wifi event: StaDisconnected
I (3682) esp_idf_svc::wifi: STA event StaDisconnected handled, set status: Status(Started(Disconnected), Stopped)
I (3692) esp_idf_svc::wifi: Got wifi event: StaStopped
I (3702) esp_idf_svc::wifi: STA event StaStopped handled, set status: Status(Stopped, Stopped)
I (3702) esp_idf_svc::wifi: Waiting for status done - success
I (3712) esp_idf_svc::wifi: Stopped
I (3722) esp_idf_svc::wifi: Event handlers deregistered
I (3722) wifi:Deinit lldesc rx mblock:10
I (3732) esp_idf_svc::wifi: Driver deinitialized
I (3732) esp_idf_svc::wifi: Deinitialization complete
I (3742) esp_idf_svc::wifi: Dropped
I (3742) esp_idf_svc::nvs: Dropped
I (3742) esp_idf_svc::eventloop: Dropped
I (3752) esp_idf_svc::netif: Dropped
Error: could not connect to Wi-Fi network: Unexpected Wifi status (Transitional state): Status(Started(Connecting), Stopped)

Solved by #99


[TASK] Salary Changes need to use big decimals

Estimated story points: 3
Description

As we are working with money, we are legally required to do so

Acceptance criteria

Currency is not calculated or stored in the floating point domain

Time: 2h


Filter retweets?

Hi,
Dumb question I know, I scraped about 30 thousand tweets but I don't want retweets, just originals. is there a way to do this? Or at least see check if something is a retweet?
Thanks!

Hi,
Have you found a way to do this? I need to exclude the retweets too.

myquerystring -filter:nativeretweets