default DNS server has some problems with Github Copilot extension in VSCode in WSL when using fixed internet

Windows Version
Microsoft Windows [Version 10.0.22631.3737]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-2
Distro Version
Ubuntu 20.04
Other Software
VSCode Github Copilot extension
Repro Steps
Github Copilot extension in VSCode cannot connect
This is my DNS conf:
> cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver <IP_ADDRESS>
search home

changing it to resolved my issue
> cat /etc/resolv.conf
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
search home

> ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 brd <IP_ADDRESS> scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:4c:04:f5 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/20 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe4c:4f5/64 scope link
       valid_lft forever preferred_lft forever

nslookup:
> nslookup
> www.github.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

Non-authoritative answer:
www.github.com  canonical name = github.com.
Name:   github.com
Address: <IP_ADDRESS>
> server <IP_ADDRESS>
Default server: <IP_ADDRESS>
Address: <IP_ADDRESS>#53
> www.github.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

Non-authoritative answer:
www.github.com  canonical name = github.com.
Name:   github.com
Address: <IP_ADDRESS>
>

And the DNS on the host Window OS:
PS C:\Users\xiang> Get-NetIPConfiguration

InterfaceAlias       : Wi-Fi
InterfaceIndex       : 4
InterfaceDescription : Intel(R) Wi-Fi 6 AX201 160MHz
NetProfile.Name      : contoso
IPv6Address          : xxxxxxx
IPv4Address          : <IP_ADDRESS>
IPv6DefaultGateway   : fe80::d6f8:29ff:fe80:78c0
IPv4DefaultGateway   : <IP_ADDRESS>
DNSServer            : 2a01:cb08:e25:1700:d6f8:29ff:fe80:78c0
                       fe80::d6f8:29ff:fe80:78c0
                       <IP_ADDRESS>

InterfaceAlias       : Ethernet 2
InterfaceIndex       : 5
InterfaceDescription : Realtek USB GbE Family Controller #2
NetAdapter.Status    : Disconnected

InterfaceAlias       : Connexion réseau Bluetooth
InterfaceIndex       : 8
InterfaceDescription : Bluetooth Device (Personal Area Network)
NetAdapter.Status    : Disconnected

InterfaceAlias       : Connexion au réseau local 2
InterfaceIndex       : 23
InterfaceDescription : OpenVPN Data Channel Offload
NetAdapter.Status    : Disconnected

InterfaceAlias       : Astrill VPN
InterfaceIndex       : 25
InterfaceDescription : Wintun Userspace Tunnel
NetAdapter.Status    : Disconnected

I raised this issue because I come from here.
It seems that the default name server <IP_ADDRESS> has some problems with github copilot domains.
When I connect my same laptop to mobile internet, the issue is resolved.
The problem only occurs when my laptop is connected to a fixed network and using WSL.
Additionally, VSCode on Windows (outside of WSL) on the same laptop does not have any issues with github copilot.
And the problem occurs since 1 or 2 months ago.
Expected Behavior
Github Copilot can connect
Actual Behavior
Github Copilot cannot connect
Diagnostic Logs
No response

please find hereunder the dns logs:
WslLogs-2024-06-27_00-35-46.zip

Facing the same issue. For me, even after adding the nameserver <IP_ADDRESS>, github copilot and few other extension in vs code like gitlens launchpad still does not work. Works perfectly fine on Mobile internet connection or on Windows directly without WSL

thanks for reporting the issue
Please follow the networking diagnostic script to collect logs. https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues
It should create a folder like [WslNetworkingLogs-date_ver.zip]


SIOCGIFINDEX: No such device

Very cool project!
Running into an issue.
aarch64 (rasberry pi 4 with DietPi_RPi-ARMv8-Bullseye) + dino v1.29.4

git clone https://github.com/haraldkubota/colorlight
cd colorlight/deno
make

root@DietPi:~/colorlight/deno# make
gcc -c -fPIC -o build/sendeth.o libeth/sendeth.c
gcc -shared -W -o build/libeth.so build/sendeth.o
deno compile --allow-ffi --unstable --allow-env src/sweep.ts
Compile file:///root/colorlight/deno/src/sweep.ts
Emit sweep
sudo setcap 'cap_net_admin,cap_net_raw+pe' sweep
root@DietPi:~/colorlight/deno#

./sweep

root@DietPi:~/colorlight/deno# ./sweep
SIOCGIFINDEX: No such device
SIOCGIFHWADDR: No such device

The python detect script works.
root@DietPi:~/colorlight/py# python3 detect.py
Detected a Colorlight card...
Colorlight 5A 13.17 on eth0
Resolution X:128 Y:128

That's how my card is configured.

Just needed to set env var nic to correct device name.


[5.0.0] Absent "Optional" Dependencies Crashes

Design issue, I'll be fixing this soon.

Wait probably invalid


I found a broken link

"Registry API" link is broken
https://docker.github.io/registry/deploying/#next-steps

Link needs to be https://docs.docker.com/registry/spec/api/

@bjozzi sorry for the delayed response. This  has been fixed via https://github.com/docker/docker.github.io/commit/6a1f9f919327. Thank you for reporting the issue!


Add runtime checks for the pull requests

Run all the scripts in their default mode and expect them to print the help section.

Closed via #19


Refractor Supply Mule Code

Refractor supply mule code to reduce copy & paste using <run_scripts>.
Possible issues:

Due to a possible frame delay between checking for trade offers and ordering ships to trade the trade offer might change. This should be mitigated by checking the availability before issuing the order (like egosoft did)

We already do check the availability of the trade btw:
<do_if value="$bestProfit gt 0">
	<do_if value="$bestSupplyTrade.available and $bestNeedTrade.available">
		<debug_to_file chance="$debugchance" name="$debugFileName" directory="$debugDirName" text="'buying ' +$bestAmount + ' ' +$bestNeedTrade.ware +' from ' +$bestSupplyTrade.owner.knownname
		+' at ' +$bestSupplyTrade.unitprice.formatted.{'%s %Cr'} + ' to sell to ' +$bestNeedTrade.owner.base.knownname
		+' at ' +$bestNeedTrade.unitprice.formatted.{'%s %Cr'} + ' for a profit of ' +$bestProfit.formatted.{'%s %Cr'} " />

		<write_to_logbook category="upkeep" title="$logbookEntryTitle" interaction="showonmap" money="$bestProfit" text="'buying ' +$bestAmount + ' ' +$bestNeedTrade.ware +' from ' +$bestSupplyTrade.owner.knownname
		+' at ' +($bestSupplyTrade.unitprice.formatted.{'%s %Cr'}) + ' to sell to ' +$bestNeedTrade.owner.base.knownname
		+' at ' +($bestNeedTrade.unitprice.formatted.{'%s %Cr'}) + ' for a profit of ' +($bestProfit.formatted.{'%s %Cr'})" />

		<create_trade_order name="$bestOrder" object="this.ship" tradeoffer="$bestSupplyTrade" amount="$bestAmount"  immediate="true"/>
		<create_trade_order object="this.ship" tradeoffer="$bestNeedTrade" amount="$bestAmount" />
	</do_if>
	<do_else>
		<continue />
	</do_else>

btw, the debug_to_file and write_to_logbook have to occur before the trade order, otherwise the prices that are printed are affected by the orders themselves. Unfortunately that still leaves a race condition but it's pretty small.

While looking on how to restructure the code, i don't really get why we have $maxtrades.
So my current reading of the implementation is, that we have the following:
Example:
"Station A" buys "Silicon Wafer" and "Refined Material"
"Station B" sells "Silicon Wafer"
"Station C" sells "Refined Material"
We then trade
"Station B buy" -> "Station A sell" -> "Station C buy" -> "Station A sell"
So what do we gain here? Always evaluating 1 trade would yield the same result, or?
"Station B buy" -> "Station A sell" -> restart script -> "Station C buy" -> "Station A sell"
The intention would be (i assume):
"Station B buy" -> "Station C buy" -> "Station A sell",
where does that happen?

never mind, just figured it out

Maxtrades also sets the minimum allowed cargo that makes a valid trade. It's a bit of a relic from the old code, and I decided to keep it. We can rethink the method of picking multiple trades at some point, but maybe we should try a direct functionality port first, to avoid changing too many things at once.
In particular, I'm not that happy with the fact that technically you could buy from multiple suppliers and sell to multiple need-ers. It doesn't seem to happen very often though. Also you can end up going all over the place in a very non-optimal order. But I didn't want to put traveling salesman into mules so...

The main reason for having multiple trades, as I see it, is to go around and pick up the last little bits of junk that are needed to finish off a build storage.

yeah, same thought process here. But i already decided to postpone all changes to the code itself after porting. But i might used this issue to create a list of stuff that could be optimized.

Tightly sits inside objective #6

Should (at the end) resolve #6 for the case of the supply mule.
For now it's working, with the exception of some debug messages and there is probably some other stuff i missed.

Savegame safety seems mostly fine.
I created 2 savegames for testing.
Savegame A has a fleet of currently running mules
Savegame B has the same fleet but has one mule stuck in a 60s blocking wait command.
When loading these games without the extension, we only get the default error messages
[General] 259626.11 ======================================
[=ERROR=] 259626.11 Error on AI director import: AI script name 'supplymule' not found
[General] 259626.11 ======================================
[General] 259626.11 ======================================
[=ERROR=] 259626.11 Error on AI director import: AI script name 'travelmule' not found
[General] 259626.11 ======================================

For the next step i removed the wait command, and insert a patch code to reissue the order on load.
<param name="restartScript" type="internal" default="false"/>

<patch sinceversion="3">
	<!-- This will reissue any standing supply mule orders -->
	<!-- it should mitigate any problems with blocking actions beeing updated inbetween savegames -->
	<!-- It might not ensure help with removing this script from a savegame -->
	<debug_text text="'PATCH: Restarting supply mule script on load for version safety on mule %1'.[this.ship.idcode]" filter="savegame"/>
	<edit_order_param order="this.assignedcontrolled.order" param="'restartScript'" value="true"/>
</patch>

When using /refreshai this leads to an error (and does not reload the script).
[General] 259705.07 ======================================
[=ERROR=] 259705.07 Error while refreshing AI script supplymule, attention 'unknown', line 253: Blocking action 'run_script' has invalid version, expected 'wait' instead, previously in line 229. Missing sinceversion attribute?
[General] 259705.07 ======================================
[=ERROR=] 259705.07 Error while refreshing AI script supplymule, attention 'unknown': Missing blocking action 'run_script', previously in line 579, since version 2
[General] 259705.07 ======================================
[General] 259705.07 ======================================

This is because /refreshai does not execute any patch commands.
Note: loading any other savegames in the same instance of X4 will fail. Saving any games could/might corrupt the affect new save file.
If loading the savegame with the updated script, i will work fine for both cases.
For the supplymule in the 60s wait, it will use the patch and restart the command(now without wait) and will operate normally.
[General] 259626.11 ======================================
[Savegame] 259626.11 *** aicontext<supplymule,0x25f25>: PATCH: Restarting supply mule script on load for version safety on mule XLB-179
[General] 259626.11 ======================================

I do have problems loading 2 savegames in a row (so loading a savegame ingame after loading the first). But my savegame is likly messed up by now, so i doubt it has anything to do with this. But i will need to test this.

No loading problem when using fresh saves. So it should be fine.

fyi i have this PR checked out locally and I dont have anything else going at the moment, so I'm not rushing to merge into dev. let me know if you need me to for some reason

pushed a few minor bug fixes from things I noticed in the debug log.
Something seems to be up with the filtering of supply orders at the moment. Right before finishing for the night I noticed this:
Current priority is to supply "Nope's Wharf (RUX-375)" by buying "resources" from "player"
------------------------------------------------------------------------------------------------------------------------------------
Currently Serving: Nope's Wharf
----- needs (15):
Nope's Wharf wants to buy 196 Advanced Composites from 0x16282e for 54481 (0.044537)
Nope's Wharf wants to buy 19 Advanced Electronics from 0x16282e for 81340 (-0.659868)
Nope's Wharf wants to buy 123 Antimatter Converters from 0x16282e for 28525 (-0.648585)
Nope's Wharf wants to buy 1 Drone Components from 0x16282e for 76276 (-0.660437)
Nope's Wharf wants to buy 176766 Energy Cells from 0x16282e for 1000 (-1)
Nope's Wharf wants to buy 3054 Engine Parts from 0x16282e for 15020 (-0.588889)
Nope's Wharf wants to buy 60 Field Coils from 0x16282e for 31099 (-0.612182)
Nope's Wharf wants to buy 2271 Hull Parts from 0x16282e for 18882 (-0.320317)
Nope's Wharf wants to buy 540 Medical Supplies from 0x16282e for 6058 (-0.235652)
Nope's Wharf wants to buy 14316 Missile Components from 0x16282e for 766 (-0.446667)
Nope's Wharf wants to buy 7 Scanning Arrays from 0x16282e for 91367 (-0.660332)
Nope's Wharf wants to buy 75 Shield Components from 0x16282e for 14011 (-0.638533)
Nope's Wharf wants to buy 953 Smart Chips from 0x16282e for 4982 (-0.652727)
Nope's Wharf wants to buy 271 Turret Components from 0x16282e for 21820 (-0.502752)
Nope's Wharf wants to buy 2956 Weapon Components from 0x16282e for 25363 (-0.275175)
----- supply offers (253):
HOP Missile Component Factory I wants to sell 766 Missile Components to null for 1293 (0.9825)
HOP Hull Part Factory II wants to sell 1866 Hull Parts to null for 25758 (0.771111)
HOP Solar Power Plant I wants to sell 86214 Energy Cells to null for 1278 (-0.536667)
HOP Hull Part Factory I wants to sell 5145 Hull Parts to null for 20148 (-0.119365)
HOP High Tech Factory III wants to sell 2629 Hull Parts to null for 24924 (0.63873)
HOP High Tech Factory III wants to sell 1935 Medical Supplies to null for 7482 (0.383478)
HOP Refined Goods Complex I wants to sell 8012 Medical Supplies to null for 6396 (-0.0886956)
HOP Refined Goods Complex II wants to sell 2885 Medical Supplies to null for 7249 (0.282174)
ARG Hull Part Factory I wants to sell 11365 Hull Parts to null for 21348 (0.0711111)
ARG Missile Component Factory I wants to sell 10484 Missile Components to null for 945 (0.1125)
TEL High Tech Factory II wants to sell 2980 Smart Chips to null for 6771 (0.8925)
...

It looks like in the search for suppliers the $factions variable is never used. It's used in the search for needs though.

supply mules should now respect the $factions setting, see aee880e8dbb52be73d6c46ab01bf5448a28f7945

#61 should now be in a functional beta state.
Priority now is to find any remaining bug and get ready for 3.2 publish.
(Note: This current branch is only working in 3.2)

I merged dev branch into a perm Public Beta main tree.
added a feedback template for public beta.
both of which are for times when the project supersedes the current official live patch from egosoft and we need to push things or do things specifically for a public beta.
https://github.com/Misunderstood-Wookiee/Mules-and-Warehouses-Extended/tree/PublicBeta

@Galaxy-Spam if you're satisfied with your checklist, let's close this issue with the release of mules 6.1.0 and make individual issues for anything big enough that you'd still like to finish up.

I think we can close this, i will open small issues once i have more time to code again.


minor tweak to add a contain function and option similar to the fit function/option

This is a really good pull request. And simple. Thank you!

Hi! I know it’s 5 years later, but I’m really confused – what is the difference between fit and contain? As far as I can tell they are 100% identical.

Hey @lydell, fit ensures that the whole of the SVG is visible, possibly with horizontal or vertical empty space. contain ensures that some part of the SVG covers the whole viewport, possibly by cropping some part of the image. The distinction is only meaningful if your viewport has a different aspect ratio than your SVG.

Thanks, that’s really helpful! And now I finally see the difference in the code: It’s Math.min vs Math.max…

Yes, a change so simple I understand it five years later for once ;)


Adding my profile to the awesome github profiles

I modify this readme, for introduce my profile
resolve #554

Few changes are still missing like the removal of extra lines and a , before your entry

Only two mor things from @starlightknown

closing due to merge in #556


pkgs/top-level: init expression for haskell-updates jobset

release-haskell.nix is intended to be a replacement for
https://github.com/peti/ci/blob/master/haskell-nixpkgs.nix
which is currently the main expression for the haskell-updates jobset
on hydra (in the nixpkgs project).
It has the same jobs as the old haskell-nixpkgs.nix file:

haskellPackages.*
haskell.compiler.*
Some extra haskell packages for certain compilers

The following jobs are new:

tests.haskell.*
A manually maintained list of top-level haskell packages (most of them
using justStaticExecutables)
An aggregate job which is intended to aid merging the haskell-updates
branch: It holds an arbitrary list of haskell-related packages and
tests we intend have working at all times. This is still somewhat
incomplete and should be extendend in the future.

Additionally a lot of refactoring has been done and some unnecessary
code has been eliminated. Due to the increased set of jobs and my
ideas of convenience however, the code size has grown overall.
I've tried document the individual parts and would be happy about
feedback in general.
One future improvement could be making adding top-level haskell packages
more convenient and adding them all to the aggregate job automatically.
Evaluation is currently at 20s on my laptop, I suspect the main offender is
versionedCompilerJobs, but haven't done any testing

Contains some commits of #121386.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

This looks very good to me.
I am not enough of an expert to judge if this actually does exactly what we want on hydra. But I’ll get we will figure that out.
I like the mergeable job a lot. My suggestion would be to add the top-level package haskell-language-server in there.

/rebase haskell-updates

This looks good to me, although I really don't have enough experience with Hydra to give an in-depth review.

So, @sternenseemann do you wanna add a bit more comments regarding to those questions? Or do we just merge (with the intention to document the meaning of those jobs somewhere else)?

Ah, one other request:  could you add the file in this PR to both .github/CODEOWNERS and .github/labeler.yml so that we get notified when it is changed?

Okay, let’s do this!

Thx!


New browsers SameSite cookie attribute default behavior breaks SAML

Browser vendors started changing the default behavior for the SameSite cookie attribute. This is to enable default CSRF protection for the websites. Since Teleport uses it's own CSRF protection mechanism during SAML sign-up flow by setting grv_csrf cookie, this new browser behavior breaks it.
More info here:
https://www.chromestatus.com/feature/5088147346030592
We need to explicitly set sameSite=none for the grv_csrf cookie to opt-in from this default behavior.
This is similar to Teleport  https://github.com/gravitational/teleport/issues/3440

This could be fixed by:
backporting fixed teleport version or by setting this attribute in gravity code.


Prisma is loading DATABASE_URL from .env file even if DATABASE_URL is already in the shell environment

Bug description
Prisma is loading DATABASE_URL from .env file even if DATABASE_URL is already in the shell environment
How to reproduce
https://github.com/remorses/prisma-overwrites-env
Expected behavior
I should be able to overwrite DATABASE_URL
Prisma information
Not relevant
Environment & setup

OS: Mac
Database:
Node.js version: v16.13.0

Prisma Version

Environment variables loaded from .env
prisma                  : 3.4.2
@prisma/client          : 3.4.2
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 57771c0558568c7d08bd34c7248af5244ae16bd9 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 57771c0558568c7d08bd34c7248af5244ae16bd9 (at ../../../.nvm/versions/node/v16.13.0/lib/node_modules/prisma/node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 57771c0558568c7d08bd34c7248af5244ae16bd9 (at ../../../.nvm/versions/node/v16.13.0/lib/node_modules/prisma/node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 57771c0558568c7d08bd34c7248af5244ae16bd9 (at ../../../.nvm/versions/node/v16.13.0/lib/node_modules/prisma/node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 57771c0558568c7d08bd34c7248af5244ae16bd9
Studio                  : 0.438.0

Just a note if someone finds this later: Prisma's loading from .env file via dotenv would not load already existing env vars but skip those.

Yes, i was really tired and mispelled the .env file name passed to dotenv-cli, notice that dotenv-cli will load the .env file if the file passed with -e <file> does not exist

That is pretty surprising (and bad) behavior from dotenv-cli 😢


Support non authed linking

Adds support for linking to URLs (e.g. https://registration.hack.gt/apply/participant) and redirecting the user back to that requested page after logging in instead of always sending them to /.
Closes #43
@bunsenmcdubbs would be so proud 😢

Amazing :')

@petschekr Please take a look at the latest commit ^

If you've tested it and it works LGTM to merge


index.md links don't work

Any URL that links to index.md doesn't open on docs.tugboat.qa
There are a couple URLs to test on this page here:
https://docs.tugboat.qa/getting-started/create-a-preview/

It looks like there's a bunch of broken links. I'm guessing something structurally changed? We should add a link checker to the build process. I looked around for something and found the html-validator-cli npm project, but it doesn't seem to detect broken links, and doesn't crawl. :/

https://www.digitalocean.com/community/tutorials/how-to-find-broken-links-on-your-website-using-wget-on-debian-7

this looks like a winner: https://www.npmjs.com/package/broken-link-checker-local


[Play] - Remove PHASE_RESULTS and relocate score card to PHASE_DISCUSS

Issue: General
Overview
Currently, player scores are communicated to them via the score during the PHASE_RESULTS phase of the game (on play). The UI is below:

💅
Note that the card shows if a player answered the question correctly, and then their score is updated via an animation in the footer.
Based on feedback received during the Carver classroom sessions, the Design team has proposed moving the score card into the PHASE_RESULT page instead. Here is a sketch that they have prepared to communicate this:

Their complete feedback on this can be found in this document: https://docs.google.com/document/d/1qrd4EKozYLYnbKpVRjA-ysuClvETTKHWXHWgOJXKubQ/edit , in the "Enhancements" section, specifically under: "Considerations for V2"
Complexity
While the UI change is straight forward, the PHASE_RESULTS page is also doing a lot of background work to calculate the player's score at the moment (note: that this is where the score is updated in the footer).
This can be seen in play/src/pages/PhaseResults.tsx, particularly in this section:
  // calculate new score for use in footer
  // using useEffect here because scoreindicator causes parent rerenders as it listens to newScore while animating
  useEffect(() => {
    let calcNewScore = 0;
    if (!hasRejoined) {
      calcNewScore = ModelHelper.calculateBasicModeScoreForQuestion(
        gameSession,
        currentQuestion,
        currentTeam!, // eslint-disable-line @typescript-eslint/no-non-null-assertion
        isShortAnswerEnabled
      );
    }
    updateTeamScore(teamId, calcNewScore);
  }, []); // eslint-disable-line react-hooks/exhaustive-deps

We'll need to consider implications of moving these calculations both on play and host
Task:
The specific task is as follows:

Review the code and understand how difficult it will be to move the scoring over
Move UI elements
Refactor animation code to trigger from PHASE_DISCUSS
Refactor score calculation so that it can be computed during PHASE_DISCUSS

Wow, great summary, Drew! Olivia (who's been on point on this issue from Design) and I spoke on Friday:

She found some updated mockups in Figma (hat tip to Yong Lin) that depict the preferred layout (the hand-drawn one above was naturally just an early sketch); that Figma link and additional details can also be found in the Google Doc linked above
In Figma (same link as above bullet point), Olivia has included a couple pretty cool flowcharts that depict the current flow and the desired, more streamlined one
She's planning to update her charts/notes by Monday, 6/10; adding her here
Hi Kelly and Olivia, please feel free to share updates here in Github and/or connect over Zoom if you have any questions/updates for each other!

Overview

A detailed write-up on the enhancement can be found here
Figma information on this enhancement can be found here
Figma designs are for incorporation into Host and Play V1 as they currently exist

This should allow them be be transferred into host V2 in time, but the current designs are not for host V2

Because these screens run in lock-step with the host screens, there needs to be a combination of screens on the host side as well.

We are removing one step from both the host and play sides to streamline the game and prevent user error on the host side

Flow Changes

Discuss Phase Play Mockup:

Discuss Phase Host Mockup:
Note: it is important that this screen has something visibly different from the previous host screen to eliminate the issue of teachers accidentally clicking through. This is why I incorporated the student screen preview at the top of the page. I am open to other suggestions for solutions to this issue.

Sweet write up on this, Olivia. I love how thorough and organized all that information is. Makes it very clear to see what dev needs to do.
While the UI changes are straightforward, there's some thinking required on the technical side for how to handle delays required for scoring calculations. Kelly is out of office this week as she's writing finals but I will connect with her when she's back and we'll reach out with any further questions.
Thanks again!

Hi @OliviaKnestaut , thanks for putting together such great documentation! Really helps clarify the issue. I just got off a call with Drew and we came up with a couple of questions about this task.

When we display the correct answer card (the one that would have been on the results page but got moved over) are we still having the text that says "Choose the Correct Answer" and the 'Submit Answer' button? The Figma shows the card with the text and button but the card on the results page that is getting deleted does not have that text and button.
Will we be doing a similar change for Phase 2 (when there are incorrect answer explanations also on the screen)? It seems like we will be getting rid of the results page for Phase 2 so we'll need some help from the design team on how this will change the design of the 'Answer Explanations' page for Phase 2.

Thanks again!

Heres a picture of the two different correct answer cards for my question #1

Most Recent Enhancement 1 Updates!
Figma
The UX Team made some decisions to change around some of the phase 2 cards for a more streamlined flow. These new changes are as follows:

Swapped the Correct Answer Steps and Results boxes

This decision was driven by the desire to make the scoring easier to understand at first glance. When a user reaches the page the score animation will play, so it is important that it is easy to see where the points are coming from (i.e. having the results box as one of the first boxes)
Additionally, the correct answer steps were already reviewed in Phase 1, so while this content is important it may be redundant for some users. Putting it in the 3rd column allows users who need it to access it, while users who don't can easily ignore it.

Changed column titles to match swapped cards.

The new column titles should be:

Question and Results
Incorrect Answers
Correct Answer

Changed Phase 2 scoring coloring to create a stronger connection between the answer chosen and the points awarded

For Phase 2 the dot that appears next to the chosen answer will now be purple as will the score animation. Previously the blue dot did not create a clear connection to the green score animation.


Implementation of feature for showing how fast server is running rela…

…tive to real time.
This is an implementation of https://github.com/Gama11/RoboViz/issues/9.  This allows for showing the server's real time speed percentage  and is toggled with the M key when in live mode.  It's not perfect but given the information passed to the monitor I'm not sure how much better we can do.

I suppose that computation of the server speed might be better done in its own class outside of GameState as it's not really part of the game state.  For ease of implementation and needing access to game state values I just did everything in GameState however.

I'm getting some ridicolously high values when no agents are connected (500-2000%, fluctuating a lot). The results are also very unstable whenever a new agent connects (reaches up to about 300%, though it then normalizes again).

Are you seeing this on both Windows and Linux?  Does the value change much when a game is running compared to when the game clock is stopped?  On Linux things look pretty good for me with the value quickly stabilizing to around 99-100% with no agents connected.  Also are you running in real time mode ($enableRealTimeMode set to true in rcssserver3.rb)?  With real time mode turned off I see values in the 7000% range with no agents connected.

$enableRealTimeMode is true, I haven't changed the server config.
My setup is a little unusual, I'm running rcssserver3d in a Ubuntu Virtaul Machine and RoboViz on the Windows host machine. I doubt running RoboViz inside the VM would make a difference, but I can give it a try.
When the game is running and the values have stabilized, the values seem mostly ok.

When a game is not running roboviz is somewhat blindly assuming messages should arrive every 0.04 seconds (default value of $monitorStep and $renderStep in ~/.simspark/spark.rb) in real time.  If the value of 0.04 is increased roboviz will think things are running slower and if it's decreased roboviz will think the server is running faster.  Also if messages are dropped (which roboviz can't detect) there will be a longer delay between messages making roboviz think the server is running slower than it really is.  These problems shouldn't be that much of a factor when a game is running as then roboviz can look at the delta between game times to determine the speed.
It just occurred to me why you might be seeing faster times then expected: to compute the speed I'm using the average estimated speed factor between messages when I should be using a weighted average.  As an example suppose we're sending messages every second and have six messages sent at times 0, 1, 2, 3, 4, and 5 seconds.  In an ideal network these messages would arrive almost instantaneously at the same time they were sent giving us a real time speed factor between each message of 1 as well as an average speed factor of 1. In a congested network the messages might actually arrive at times 0, 3, 3.5, 4, 4.5, 5 giving us speed factors between messages of .33, 2, 2, 2, and 2 with an average speed factor of 1.67.  Both of these instances should report a speed factor of 1.  I'll look into fixing this.

Hopefully I have fixed this issue now where a correct average speed factor value will be calculated when there is a lot of fluctuation in time deltas between messages.  A potential issue for windows machines is that timers might not be very accurate on them https://blogs.oracle.com/dholmes/entry/inside_the_hotspot_vm_clocks.  I'm not sure whether it is better to use System.currentTimeMillis() or System.nanoTime().  Currently I'm using System.currentTimeMillis() but find both ways of measuring time to produce reasonable results when running in real time mode on linux.  When turning off real time I find System.nanoTime() to report faster times, however it looks like the server might actually be running faster then too.  I also see a bit of a delay sometimes in updates to the screen when not running in real time using System.nanoTime().  I have commented out code for using System.nanoTime() that can be turned on by searching for "_NS" and then uncommenting those lines while commenting out their "_MS" corresponding lines.  I would be curious how performance compares between using System.currentTimeMillis() and System.nanoTime() when running roboviz on windows with real time mode both turned on and off.

Great job, the results seem very stable now with my setup. :+1:
My observations regarding NS / MS:

With real time mode enabled and no agents connected, the percentage is slightly higher using NS (100-102% vs 99-100%). However, this difference seems to disappear once agents are connected.
With real time mode disabled and no agnets connnected, there is practically no noticable difference due to how high the values are and how much they fluctuate. With agents connected, the results seem pretty much identical as well.

I'm not sure if the Real Time label works that well, perhaps Server Speed would be better?
Also, I do agree with you that this shouldn't really be in GameState, for several reasons - one of them being that this is only needed in live mode. Maybe we could move it into a separate ServerSpeedBenchmarker (feel free to come up with a better name)? LiveGameScreen could have an instance of that.

I've addressed most of the mentioned issues.  I've moved the server estimation code into its own class (added as a listener to GameState by LiveGameScreen).  I also added a static final boolean variable for switching between measuring time in milliseconds and nanoseconds.  Currently time is measured in milliseconds as I found this to be more stable than nanoseconds when not running in real time mode.

Thanks, really happy with how this feature turned out. The implementation is now very clean as well! :)


Fix post-release

Feature flags are missing in CI when running frb_codegen in post-release CI workflow.
Checklist

[ ] An issue to be fixed by this PR is listed above. (I haven't opened any issue so far)
[ ] ~New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.~
[x] The code generator is run and the code is formatted (e.g. via just refresh_all).
[ ] ~If this PR adds/changes features, documentations (in the ./book folder) are updated.~
[x] CI is passing.

Remark
I haven't checked yet if there are other places where it's missing.

LGTM after CI passes :)

I think it's good to go @fzyzcjy

Great :)


src/client: Make subscribe stream capacity explicit

Makes footgun on Client::subscribe explicit.

Note that once the capacity of the returned [Stream] is reached, the
background task blocks and thus all work related to the [Client] will
pause until elements from the [Stream] are consumed and thus capacity
is freed. Callers of [Client::subscribe] should either set a high
capacity, continuously read from the returned [Stream] or drop it.

This has probably cost me 1h to debug on https://github.com/libp2p/test-plans/pull/26. What do folks think?

Nice, is this the reason why tests are hanging?
The Testground instance failed with:
Aug 24 04:57:08.754201	INFO	0.6544s      ERROR << single[000] (cbda45) >> thread 'main' panicked at 'a semaphore may not have more than MAX_PERMITS permits<PHONE_NUMBER>213693951)', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/sync/batch_semaphore.rs:134:9

https://github.com/testground/sdk-rust/runs/7987701480?check_suite_focus=true#step:10:111

Nice, is this the reason why tests are hanging on failures?

No. This should not be related to any CI failures.


collect tap ravs

Import escrow contracts npm package
Add sequelize schema and resolvers for scalar_tap_ravs; updated relations between Voucher and AllocationSummary to be compatible with RAV.
Define SignedRAV as the equivalence of TAPVerifier.SignedRAVStruct == EIP712SignedMessage<ReceiptAggregateVoucher>
RAV processing triggered alongside AllocationReceiptCollector's voucher processing which is in indexer-agent.
Add EventualAllocations and EscrowContracts to AllocationReceiptCollector
Obtain typed final SignedRAVs from DB, loop through individual SignedRav for individual submissions on-chain
Refactored allocationSigner function to provide Signer for computing allocationIDProof as required by escrow.redeem
transactionManager to first estimate gas and then execute transaction to contracts.escrow.redeem(signedRAV, allocationIDProof)
Upon getting transaction receipt, go ahead deleting RAV from DB.
Basic metrics added for RAV

Sorry this is a bit nitpicky: can we keep the commit format consistent with how we've been working in this repo?
<package-name>: <Description of commit>
For example:
agent: Fix bug in stake usage calculation

Continuation of PR is gonna be on #869


Please create objects in the definition section to be used

I would have thought the following would work:
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "additionalProperties": false,
  "definitions": {
    "MessageAttribute": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "Type": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      }
    }
  },
  "properties": {
    "MessageAttributes": {
      "existingJavaType": "java.util.Map<String, MessageAttribute>",
      "type": "object",
      "additionalProperties": { "$ref": "#/definitions/MessageAttribute" }
    }
  }
}

But the MessageAttribute class is not created so the existingJavaType fails.  I can work around this problem today in an ugly way but it would be nice for the above syntax to work.  The ugly way is to move everything in the definitions section to another file as below:
message-attribute.json
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "Type": {
      "type": "string"
    },
    "Value": {
      "type": "string"
    }
  }
}

message.json
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "MessageAttributes": {
      "existingJavaType": "java.util.Map<String, MessageAttribute>",
      "type": "object",
      "additionalProperties": { "$ref": "message-attribute.yaml" }
    }
  }
}

it's not really because of MessageAttribute has not been created. This is because existingJavaType can't sometimes resolve MessageAttribute.
The additional problem is classes are moved around more likely chaotically rather than under your guidance, see #1107 for this.

I suspect you're right and the "definitions" section is not being processed. However, I haven't dug into the code to confirm that. I will say, what you call a messy work around is actually my preferred organization. I've always defined one class, one struct, one schema per file and it just feels more natural to me than defining an entire data model in a single file (although I concede XML kind of endorsed that kind of behavior).
That said, there are a few things I noticed about your schema:

As #1107 points out, it can be difficult to guess which package a type will be created in when that type doesn't have have an explicit package declared.
Your use of "existingJavaType": "java.util.Map<String, MessageAttribute>", does not fully qualify the MessageAttribute type, which could result in a missing import if the MessageAttribute is not in the same package as your Message type, which appears to be named implicitly by the file name as opposed to being explicitly declared.
My understand of existingJavaType is that it's for use when the declared type already exist on the classpath at the time generation is occurring. In your case, the class you're trying to use has not yet been defined, particularly if we were to process definitions after their enclosing class (for example if they were being created as InnerClasses).

When jsonschema2pojo was created, 'definitions' was not part of the standard. Many people started using 'definitions' to hold extra schemas but we didn't add support here because it was just a common pattern but not part of the standard.
Now it has been brought into the standard I don't have a problem with adding support for it. Over the years a lot of people have expected it to work (and it appears that many people have a schema document with only definitions, and no root schema to reference them).
I'd probably just bump to 1.1.x for this change.

I'll take a look at it this weekend and try to get an implementation. I haven't tinkered in those parts of the code before, so I'm not sure what the LOE will be, but don't mind getting my hands dirty.
That said, where do we envision the generated classes being generated?

As inner classes of the defining schema
As their own classes in the same package as the defining schema
In a package named after the defining schema, but in their own classes

I feel like inner class is the way to go because you could have multiple schema with definitions using the same name, defined in the same package. I'm not sure how the JSON schema treats that behavior, or whether it's allowed. I'm not sure the JSON schema even discusses how schemas should relate to one another when not referencing one another.
If I generate them as inner classes, which makes the most sense to me, or in their own  classes within the same package what should their visibility be?

private
protected
public
package default

I guess I'm putting forward the following suggesting and looking for input:
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "additionalProperties": false,
  "definitions": {
    "MessageAttribute": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "Type": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      }
    }
  },
  "properties": {
    "MessageAttributes": {
      "existingJavaType": "java.util.Map<String, MessageAttribute>",
      "type": "object",
      "additionalProperties": { "$ref": "#/definitions/MessageAttribute" }
    }
  }
}

becomes
public class Message
{
  private static class MessageAttribute
  {
    private String type;
    private String value;
    private Map<String, Object> additionalProperties;
  }

  private Map<String, MessageAttribute> messageAttributes;
}

I don't think we should use inner classes, this pattern isn't used anywhere else. It also creates a more serious breaking change. I think these should go into whatever package is currently in context when we're processing the enclosing schema.

I'll implement them as classes inside the current context, and make the assumption that they will not conflict with the "definitions" of another schema in that same context.
IE I'm going to expect it to throw an exception if two schemas in the same context have competing definitions.

@joelittlejohn I took a stab at implementing this on https://github.com/joelittlejohn/jsonschema2pojo/pull/1124 however the ExtendsIT unit test fails after my implementation because it looks like there's already a sub-implementation for definitions when the definition is referenced directly by an extends call from within the actual schema.
Specifically, ExtendsIT has the following schema which processes with the current unit test.
{
  "definitions": {
    "parent": {
      "type": "object",
      "properties": {
        "propertyOfParent": {
          "type": "string"
        }
      }
    },
    "child": {
      "type": "object",
      "extends": {"$ref": "#/definitions/parent"},
      "properties": {
        "propertyOfChild": {
          "type": "string"
        }
      }
    }
  },
  "type": "object",
  "properties": {
    "child": {"$ref": "#/definitions/child"}
  }
}

My first stab at an implementation used the Schema.deriveChildSchema to define the schema used for definitions classes, which worked for my implemented unit tests but broke the existing ExtendsIT class because the ExtendsIT unit test ends up generating an invalid schema path when it encounters {"$ref": "#/definitions/parent"}. I dug deeper and determined that the current implementation makes use of the #definitions/parent portion of the schema to generate sub-schemas from within a larger file. I adjusted my schema definition to use the same convention, and stopped getting the path does not exist exception. However, I am not getting an assertion error out of the ExtendsIT unit test, because it looks like Parent is being processed twice. The first processing appears to come from my new code, where the schema is identified as #/definitions/parent and the second processing appears to be #/definitions/child/extends when the child class is processed (again by my new code). The end result is that I end up with a Parent.java and a Parent__1.java.
I'm hoping you can provide some insight as to the specifics of why the child identifies it's extension as #/definitions/child/extends instead of as #/definitions/parent, and provide some guidance as to how you'd like the issue resolved.

Hello everyody,
is there a chance to get this done for 1.1.0 ?

Is there any plan to implement the feature to force generation of unreferenced parts declared in the #definitions using a configuration?

This would be useful for us, as it would allow us to generate Java classes from the definitions in a swagger/OAS2 specification (which I don't believe is possible otherwise, without moving all those definitions into separate files...)


Alumni page addition

solving issue #11. Still some work is left as alumni helper has to be updated. Ill suggest till then this PR can be made a draft.

LGTM :-)

You can merge it now.

Ok LGTM :)


fix(build): Fix missing argument in generate_connect

Motivation

Closes #94.
It's literally a single line edit, so might as just do it myself :smile:
Solution

Fixes generate_connect's method signature when the "transport" feature is disabled.

@daniel5151 is this something you would like released asap or can you live off of git for a bit?

Nope, no rush!
On a somewhat unrelated note, I actually encountered this issue while tinkering with seeing if I could write an implementation of GrpcService that would work over unix sockets (to communicate with containerd). It's unlikely i'll peruse it though (I found a bodge that will get the job done), but I am keeping an eye on #31 :eyes:

@daniel5151 I'd suggest using https://docs.rs/hyper/0.13.0-alpha.4/hyper/client/service/struct.Connect.html where the inner C type is a tower_service::Service that returns a UDS instead of a TCPStream.

Yeah, that would be the Right Way to do it, through it turns into a bit of a yak-shave, since hyperlocal hasn't been updated for 0.13 yet, so I'd have to port it forward.


Hw4

Hi, Jenn week 4 homework is ready for review. Thank you!

This is ready for merge, excellent work, you can see the feedback on your document!


AttributeError: module 'tensorflow' has no attribute 'batch_gather' while Exporting Inference Graph

(tensorflow1) C:\Tensorflow1\models\research\object_detection>python export_infe
rence_graph.py --input_type image_tensor --pipeline_config_path training/faster_
rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-26
16 --output_directory inference_graph
WARNING:tensorflow:From C:\tensorflow1\models\research\object_detection\predicto
rs\heads\box_head.py:93: calling reduce_mean (from tensorflow.python.ops.math_op
s) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
Traceback (most recent call last):
File "export_inference_graph.py", line 156, in
tf.app.run()
File "C:\Users\OFR\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\pyt
hon\platform\app.py", line 125, in run
_sys.exit(main(argv))
File "export_inference_graph.py", line 152, in main
write_inference_graph=FLAGS.write_inference_graph)
File "C:\tensorflow1\models\research\object_detection\exporter.py", line 465,
in export_inference_graph
write_inference_graph=write_inference_graph)
File "C:\tensorflow1\models\research\object_detection\exporter.py", line 368,
in _export_inference_graph
graph_hook_fn=graph_hook_fn)
File "C:\tensorflow1\models\research\object_detection\exporter.py", line 335,
in build_detection_graph
output_collection_name=output_collection_name)
File "C:\tensorflow1\models\research\object_detection\exporter.py", line 314,
in _get_outputs_from_inputs
output_tensors, true_image_shapes)
File "C:\tensorflow1\models\research\object_detection\meta_architectures\faste
r_rcnn_meta_arch.py", line 1180, in postprocess
mask_predictions=mask_predictions)
File "C:\tensorflow1\models\research\object_detection\meta_architectures\faste
r_rcnn_meta_arch.py", line 1644, in _postprocess_box_classifier
tf.batch_gather(refined_decoded_boxes_batch, class_ids), axis=2)
AttributeError: module 'tensorflow' has no attribute 'batch_gather'

tensorflow must be 1.10.0 and more

mine is 1.10 and still showing the same error.  should i upgrade the version? wont it have any effect on other files?

I am also facing the same problems. It seems that the 'batch_gather' function is not Declarated in the tensorflow-gpu(I am using the version of 1.9.0)

I just Upgrade the tensorflow-gpu to 1.12.0 and my problems solved...Hope this will help u too.


Upgrade to Blaze plan in firebase deploy command

When I deploy firebase, I get a error like below.
Your project must be on the Blaze (pay-as-you-go) plan to complete this command. Required API cloudbuild.googleapis.com can't be enabled until the upgrade is complete. To upgrade, visit the following URL:
It is really required to upgrade to blaze plan for just connecting Google Home app with Firebase Database?

The billing requirements comes from Cloud Functions for Firebase, the codelab does have a note about this in https://codelabs.developers.google.com/codelabs/smarthome-washer#1:
This project uses Cloud Functions for Firebase, which requires you to associate a billing account with your project. Actions projects do not create a billing account by default. See Create a new billing account for more information.

For more details about Cloud Functions for Firebase free tier, see:
https://cloud.google.com/functions/pricing#free_tier

Hiya,
I've just had this issue resolved. you have a .firebase directory, in that there is a functions dir. Delete it.
This was the problem. At least for me.

@LeventeBotos We were not able to reproduce this behavior.
Before successful deployment, the .firebase directory nor the functions dir inside doesn't exist. So, deleting should work, but following the steps on the codelab shouldn't result in a functions dir.
Not making any changes to the codelab at this time.

It doesn't work for me, i have deleted all the files in .firebase directory but still have the issue that tell to upgrade the plan to Blaze to complete, is it necessary to enable artifactregistry.googleapis.com ?

Yes, please see the note on the codelab which says "If you have not yet configured billing for your project, you will need to upgrade to the Blaze (pay-as-you-go) plan for Firebase Functions to finish deploying your project."
You will have to upgrade the plan regardless, not due to any issue.


This website not show picture

picture not show something

Now, our new website are showing picture. You can look again:) Thanks


Simplify read mapping file extension code in rules.

Problem Description:
There is a more straightforward to account for multiple extensions rather than the code below.
read_mapping_files= temp(expand("{{sample}}/{{step}}/polypolish/input/{{sample}}_input.fasta.{ext}", ext=READ_MAPPING_FILE_EXTENSIONS))

Problem Solution:
Use this instead:
read_mapping_files= temp(multiext("{sample}/{step}/polypolish/input/{{sample}}_input.fasta", *READ_MAPPING_FILE_EXTENSIONS))

Closed via #125


Considering about upgrade to .netstandard/.net5?

.net framework will not be supported by microsoft, would you like upgrade this amazing project to .net standard or .net5?

Hi, it already also targets .NET Core, .NET Standard, and .NET 5.

oh. sorry for bothering you , I was misled by the release page of this repo.

Thanks @BigDream324 I don't manage the releases tab any longer, as most users of the library get it through Github packages or NuGet rather than using the releases tab.  Have a nice holiday


Build linux_arm64 and amd64 fips static binaries

Closes: https://github.com/SumoLogic/sumologic-otel-collector/issues/1325
Background:
Our linux_amd64 FIPS binary has a required CGO dependency (boringcrypto) and is currently built as a dynamically linked executable. By contrast, our non-fips linux builds are pure go and are statically linked executables. Because of this our build infrastructure is limited, largely focused on producing a single portable static binary per target. In order to work around the system dependency introduced by dynamically linking c libraries, we have resorted to building our FIPS binary on an amazonlinux:2 container, as it has the lowest glibc version for any distribution we know of that we have agreed is necessary to support.
This change:

Adds a linux_arm64 FIPS build (cross compiled from the amd64 github hosted runners)
Changes our FIPS build to produce a static executable - linked with the musl libc instead of glibc (which cannot be reliably statically linked) in order to remove the system dependency and increase portability.

Future notes:
Once a native aarch64 build environment becomes available, it would be preferable to switch to using the native toolchain from alpine linux rather than building the toolchain ourselves. Let's link an issue to get that cleaned up.

@swiatekm-sumo Alrighty! Updated to build + cache the toolchains in CI, added some documentation, and hopefully simplified the whole thing a little bit.
This 100% needs ran through our E2E tests!

+1 to all of @swiatekm-sumo's suggestions. I had thought to move this all back into the otlecolbuilder makefile, just ran short on time in my last few days.
Taking a back seat on this one from here on out. :wave:

@fguimond  closing this because it's getting stale. Obviously feel welcome to co-author and/or re-author anything in here!


Update Ruff

Pull Request

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

#190  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 30, 2:55 PM EDT: A user merged this pull request with Graphite.


povme installation error

Hi can POVME work with python3.7?
I am not able to get it installed. please do provide some details as I am not a Python coder and finding it hard to install and run on my ensemble structures generated from accelerated MD.
Thanks

This was answered in #33
For python3 compatibility, consider using POVME2.2.X, which is still being developed at the Durrant lab.


Disconnect with large queries

Bug description
When running a findMany query with parameters such as findMany({ where: { OR: orQuery } }) where orQuery is too large, Prisma throws a Can't reach database server at error.
This repository includes code and instructions to reproduce this error:
https://github.com/BenGu3/prisma-db-disconnect
How to reproduce
Follow instructions in the following repository:
https://github.com/BenGu3/prisma-db-disconnect
Expected behavior
Either the query runs as long as it needs to, or Prisma throws a more precise error explaining that the query is too large to process.
Prisma information

generator client {
  provider = "prisma-client-js"
}

model User {
  id    String @id @default(uuid()) @db.Uuid
  email String @unique

  sourceRequests FriendRequest[] @relation("sourceUser")
  targetRequests FriendRequest[] @relation("targetUser")
}

model FriendRequest {
  sourceId String @db.Uuid
  targetId String @db.Uuid

  sourceUser User @relation("sourceUser", fields: [sourceId], references: [id])
  targetUser User @relation("targetUser", fields: [targetId], references: [id])

  @@id([sourceId, targetId])
}

async function main() {
  const userCount = 200
  const fetchCount = 17000

  console.log(`Creating ${userCount} users....`)
  const users = times(userCount, () => ({ id: faker.datatype.uuid(), email: faker.internet.email() }))
  await prisma.user.createMany({ data: users })
  console.log('Done creating users.')
  console.log()

  console.log(`Creating ${userCount * userCount} friend requests...`)
  const friendRequests = users.flatMap(sourceUser => {
    return users.map(targetUser => ({
      sourceId: sourceUser.id,
      targetId: targetUser.id,
    }))
  })
  await prisma.friendRequest.createMany({ data: friendRequests })
  console.log('Done creating friend requests.')
  console.log()

  console.log(`Fetching ${fetchCount} friend requests...`)
  const res = await prisma.friendRequest.findMany({ where: { OR: friendRequests.slice(0, fetchCount) }})
  console.log(`Done fetching ${res.length} friend requests.`)
}

Environment & setup

OS: macOS
Database: PostgreSQL
Node.js version: 16.15.0

Prisma Version
prisma                  : 4.3.1
@prisma/client          : 4.3.1
Current platform        : darwin
Query Engine (Node-API) : libquery-engine c875e43600dfe042452e0b868f7a48b817b9640b (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/prisma-fmt-darwin)
Format Wasm             : @prisma/prisma-fmt-wasm 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b
Default Engines Hash    : c875e43600dfe042452e0b868f7a48b817b9640b
Studio                  : 0.473.0

Thank you for this issue. I'm closing it as a duplicate in favour of https://github.com/prisma/prisma/issues/8832.
We also have a reproduction here :)

We have closed the original issue in<EMAIL_ADDRESS>please see this comment.


[website] Fix home page dark mode flicker

Preview: https://deploy-preview-33545--material-ui.netlify.app/
Changes

Most of the changes are refactoring existing styles to support CSS variables
// example
// From
backgroundColor:
  theme.palette.mode === 'dark'
    ? alpha(theme.palette.primaryDark[900], 0.72)
    : 'rgba(255,255,255,0.72)',

// to
backgroundColor: 'rgba(255,255,255,0.72)',
...theme.applyDarkStyles({
  backgroundColor: alpha(theme.palette.primaryDark[900], 0.72)
})

Add theme.applyDarkStyles() to docs theme: A utility for creating styles for dark mode. It will check the theme CSS variables and apply the proper styles for dark mode.
e.g.
theme.applyDarkStyles({
  color: '#fff'
})

// Result
// when there are no CSS variables, fallback to object spread
...theme.palette.mode === 'dark' && {
  color: '#fff',
}

// For CSS variables, it uses data attribute
':where([data-muidocs-color-scheme="dark"]) &': {
  color: '#fff',
}

use :where() so that it does not create CSS specificity

This utility is specific to our docs because there are pages that are not wrapped with CssVarsProvider. This way developers (us) don't need to write both syntaxes to apply dark mode styles.

Wrap the home page with CssVarsProvider and set CSS variable prefix to --muidocs so that it does not interfere with Material UI demos in the future.

Theme tokens do not change (copy from the existing implementation)

Workaround for :where() selector. This is an existing issue in emotion (as well as styled-components)

[x] I have followed (at least) the PR section of the contributing guide.

Part of #15588

For the theming, it will be a lot easier if we can use :where([data-joy-color-scheme="dark"]) & to have 0 specificity.
There is a workaround in https://github.com/emotion-js/emotion/issues/2836#issuecomment-1193270671, but it needs a fix to reduce double classname.

@oliviertassinari The https://github.com/mui/material-ui/pull/33261#issuecomment-1267690625 is fixed in this PR.

Something is off, when I open the landing page and change to dark mode and then navigate to Material UI Docs, it is in light mode again

@mnajdova It is fixed, please try again.

Wait for https://github.com/mui/material-ui/pull/34639

It looks like some styles are not applied correctly in dark mode (Main headline is black instead of white)

It looks like some styles are not applied correctly in dark mode (Main headline is black instead of white)
via deploy-preview-33545--material-ui.netlify.app I'm not sure if that preview is still up to date though :)

Could you try it again? I think you got the old deploy preview site.

@mnajdova @oliviertassinari Ready for review!

No more workaround or temporary hacks because of #34639
Move paletteMode from cookie to local storage to sync with CssVarsProvider.

It looks like some styles are not applied correctly in dark mode (Main headline is black instead of white)
via deploy-preview-33545--material-ui.netlify.app I'm not sure if that preview is still up to date though :)

Could you try it again? I think you got the old deploy preview site.

I just tested the link in the first comment. I don't see a new link anywhere.
Also this might not even be important I just noticed it along the way. ;)

I just tested the link in the first comment. I don't see a new link anywhere.

It is the same link. I think it just got updated, let me know if it does not work on your side.

Could you rebase on HEAD? I see a few visual differences on the homepage of this PR compared to HEAD that is linked to an older baseline.
One important regression, we should see the default look & feel here: different border-radius compared to the default of Material UI:

the Table below also has an issue with the border color.

One important regression, we should see the default look & feel here: different border-radius compared to the default of Material UI:

This is fixed. The root cause comes from the automatic merging between the upper theme and the local theme. I don't see another way unless forcing vars: null to the createTheme():
<ThemeProvider theme={createTheme({ vars: null })}>

@siriwatknp I have pushed a quick fix for a layout shift during hydration.

@danilo-leal you might be interested in having a look at the new page, and seeing if there are any tweaks you would like to make.
For example, some of the colors changed to be truer to how it was initially designed: https://www.figma.com/file/4uv2dT18rXJPZBbrbpw61q/Marketing-site?node-id=3224%3A11442.
Before ❌: https://634559a4d8e9450008ca12e0--material-ui-docs.netlify.app/

After ✅: https://634e653c355ff00008613f12--material-ui-docs.netlify.app/

@siriwatknp There is a regression on Firefox and Safari:

@oliviertassinari at this point, the website is a truer representation of how the website (at least the main pages) should look like rather than Figma 😬 We'll be actually updating Figma to match with what's in production, but thanks for heads-up!

The home page now seems to default to light mode for me.
I've followed the migration guide with my own site and noticed that systemMode seems to be undefined on both Safari and Chrome with the latest macOS.
If I manually use setMode('system'), it applies the expected theme but shouldn't this be the default setting?

I can't reproduce https://github.com/mui/material-ui/pull/33545#issuecomment-1288299269 anymore. I assume the bug was fixed, somewhere.

I can't reproduce #33545 (comment) anymore. I assume the bug was fixed, somewhere?

It was fixed in https://github.com/mui/material-ui/pull/35216

@siriwatkn Great, thanks for the link 👍.
In https://github.com/pacocoursey/next-themes/issues/20#issuecomment-784470942, I see that they changed the default config from light to system mode by default. But this seems a bit backward. It could lead to surprises. Say if as a developer, you only added logic for the light mode. For example with Tailwind CSS https://tailwindcss.com/docs/dark-mode, dark mode only happens if you expect the right logic for it.

At present, from my light mode latest version of Chrome on the mui.com I cannot turn on the dark mode of the website. It goes dark and back to light.

At present, from my light mode latest version of Chrome on the mui.com I cannot turn on the dark mode of the website. It goes dark and back to light.

@paulincai please create an issue with a reproduction so that we can see what is the issue.

@mnajdova as my message says, this is about the main website mui.com.  However, since I dropped that comment, the website seems to have been fixed. Switching theme works ok now.


[Triton2.1] Incapable API changes for Triton

Hi,
This is just a reminder, because of the need to support the https://github.com/intel/intel-xpu-backend-for-triton/issues/589, the IPEX changed the API in https://github.com/intel/intel-extension-for-pytorch/commit/256254c7bfea90b1064c4fc91155f9d6f10d7731. From this commit, the Triton 2.1 with spirv-target also needs to be changed as in llvm-target (if you wish to run Triton2.1).
The workable commits for Triton 2.1 are:
PyTorch: 1b057713ae09fa8e4e0a55e8085fac3325e33c68
IPEX:  f2915d8a77338ced59a7d321e594aef123725b06
For Triton 3.0, using the latest PyTorch/IPEX would be ok.

If want to measure the baseline of Triton v2.1 in test proxy for apple-to-apple comparison, please use the specified version. However, if want to make test proxy continuing support Triton v2.1 version, Triton v2.1 SPLIV source should be updated to include this interface changes.

Triton is switching to upstream PT from IPEX. Triton 3.0 reached Pass rate and Performance parity with 2.1 in March.


Unable to locate acronym_multobj dataset

In sectoin NGDF Training, when trying the script to run multiobject training:
bash scripts/train/multobj_Bottle.sh

I'm getting the follownig error
OSError: Unable to open file (unable to open file: name = '/home/ros/NGDF/scripts/train/../../data/acronym_multobj/grasp-dataset/dataset.hdf5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

Where can the acronym_multobj dataset be located?.

Hi Pau, you can find the acronym_multobj dataset here: Google Drive link. I previously had only shared acronym_perobj; my apologies for the oversight. I updated the README in this commit to provide the new link. Sorry again for the confusion!

Thansk for hat @thomasweng15 !
I decompressed the file and I got the following error:
OSError: Unable to open file (unable to open file: name = '/home/ros/NGDF/scripts/train/../../data/acronym_multobj/grasp-dataset/dataset.hdf5', errno = 2, error message = 'No such file or directory', fla
gs = 0, o_flags = 0)

I proceeded to copy data/acronym_multobj/shape-dataset/dataset.hdf5 to data/acronym_multobj/grasp-dataset/ but now I get the following error:
An error occurred during Hydra's exception formatting:
AssertionError()
Traceback (most recent call last):
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 254, in run_and_report
    assert mdl is not None
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ngdf/train.py", line 100, in <module>
    main()
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/main.py", line 95, in decorated_main
    config_name=config_name,
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 396, in _run_hydra
    overrides=overrides,
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 453, in _run_app
    lambda: hydra.run(
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 296, in run_and_report
    raise ex
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 213, in run_and_report
    return func()
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/utils.py", line 456, in <lambda>
    overrides=overrides,
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/_internal/hydra.py", line 132, in run
    _ = ret.return_value
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/core/utils.py", line 260, in return_value
    raise self._return_value
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/hydra/core/utils.py", line 186, in run_job
    ret.return_value = task_function(task_cfg)
  File "ngdf/train.py", line 44, in main
    dm.setup()
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/pytorch_lightning/core/datamodule.py", line 428, in wrapped_fn
    fn(*args, **kwargs)
  File "/home/ros/NGDF/ngdf/dataset.py", line 200, in setup
    ids = self.collect_grasps(dset_grasp, objects)
  File "/home/ros/NGDF/ngdf/dataset.py", line 184, in collect_grasps
    (i, "pos", idx) for idx in range(len(dset_grasp[obj]["pos_Ts"]))
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/h5py/_hl/group.py", line 288, in __getitem__
    oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5o.pyx", line 190, in h5py.h5o.open
KeyError: "Unable to open object (object 'pos_Ts' doesn't exist)"

Sorry for the confusion, the acronym_perobj and acronym_multobj folders should be structured in the data/ folder as follows:
NGDF
├── ...
├── ngdf
└── data
|── ...
|── acronym_perobj
|      |── ...
|      |── shape-dataset / dataset.hdf5
|      └── grasp-dataset / dataset.hdf5 (different file from the one in shape-dataset)
└── acronym_multobj
|── ...
|── shape-dataset / dataset.hdf5
└── grasp-dataset / dataset.hdf5 (different file from the one in shape-dataset)
Are your folders organized similarly? I checked that the dataset.hdf5 files for each dataset exist on Google Drive, I can investigate further to make sure they contain the correct data if you are still encountering issues.

It seems there is just one dataset.hdf5
(ngdf) ros@rusalka:~/NGDF/data$ find acronym_multobj -name *.hdf5
acronym_multobj/shape-dataset/dataset.hdf5

I downloaded back everything again to make sure things are correct and after having both dataset.hdf5 I get the following error:
OSError: Unable to open file (unable to open file: name = '/home/ros/NGDF/scripts/train/../../data/acronym_multobj/grasp-dataset/../grasps/Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

It seems this file is present in acronym_perobj
(ngdf) ros@rusalka:~/NGDF$ find . -name Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404.h5
./data/acronym_perobj/grasps/Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404.h5
(ngdf) ros@rusalka:~/NGDF$

After copying the grasps from single object to multiple objects doing:
cp -r ./data/acronym_perobj/grasps/* ./data/acronym_multobj/grasps/

I get the following error:
  File "/home/ros/miniconda3/envs/ngdf/lib/python3.7/site-packages/trimesh/exchange/load.py", line 623, in parse_file_args
    raise ValueError('string is not a file: {}'.format(file_obj))
ValueError: string is not a file: /home/ros/NGDF/scripts/train/../../data/acronym_multobj/grasp-dataset/../meshes_bullet/Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404/model_normalized.obj

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

After finding the file in the single object dataset
(ngdf) ros@rusalka:~/NGDF$ find . -name Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404
./data/acronym_perobj/meshes_bullet/Bottle_244894af3ba967ccd957eaf7f4edb205_0.012953570261294404

I copied the files:
cp -r ./data/acronym_perobj/meshes_bullet/* ./data/acronym_multobj/meshes_bullet

I ran the command again and I got this error:
OSError: Unable to open file (unable to open file: name = '/home/ros/NGDF/scripts/train/../../data/acronym_multobj/grasp-dataset/../grasps/Bottle_371b604f78300e02d76ab6ff59fe7e10_0.0016918802801247606.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

Unfortunately this time I coudn't find the file:
(ngdf) ros@rusalka:~/NGDF$  find . -name Bottle_371b604f78300e02d76ab6ff59fe7e10_0.0016918802801247606.h5
(ngdf) ros@rusalka:~/NGDF$

I went to Google Drive and the file wasn't there neither in the single nor the multiobject
I'm wondering if

Hi @paucarre, it sounds like after redownloading you are able to get the files. It might be helpful for me to rename the shape and grasp dataset.hdf5 files to different names to avoid confusion.
I looked into the error that you are getting, and I think that the dataloader is trying to load test examples during training due to a discrepancy in my code after cleaning it up. I will release a hotfix for this soon, sorry about that.


fixed an incompatible type assignment

Why do our gradle scripts need a change like this? They work fine as is. This, in fact, breaks the build.
There is no rationale or need for this PR.


[no-jira] Move github action into proper folder

No-Jira
PR owner checklist
Please make sure that your PR meets the following requirements:

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

PR reviewer(s) checklist

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

How to trigger pipelines and use the bots:

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

Rebase the pull request
Comment with: /rebase.

Deploy BOT
Comment with `/deploy <dev,stable> when the PR has been merged to deploy to a target environment.

@jomarko
Can you add the continue-on-error flag so that we can see the errors without blocking the merge?
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error

@jomarko
Maybe add a comment close to push like update to pull_request when the incompatibilities are fixed.
Wdyt?

@jomarko thank you so much for doing this!


Date comparison

Looks like the date comparison might be a bit off. The calendar saves to UTC, which is then converted to local time:
evtStart.setTime(Date.parse(node.events[i].start))
and then that is compared to the current UTC time.

It's been a while since I looked at this, do you have an example that shows the problem?

all the comparisons should be being done in UTC time (unless I've missed one somewhere)

OK, it's triggering at the right time, but it's adding the wrong time (well the time is right, but timezone is wrong) to the msg that it outputs

Thanks for the quick fix. I'll test as soon as I get a chance.

This change is broken, I'll try and fix it again tomorrow


[Dask-on-Ray] Potential to try in solvers.py?

Description
Greetings!
It looks like liionpack is using dask, and ray; but has not yet tested Dask-on-Ray -- which is a drop-in replacement for using distributed Dask, with Ray as a backend.
Would it make sense to try enable_dask_on_ray(), and see if you experience a performance improvement for solvers.py? For similar projects, we've seen up to 13.5x speed-up times (and significant cost reductions).
Happy to answer questions, or to make a PR to test. 😄

@dynamicwebpaige The first link you provide about Dask on Ray states the following:

Dask-on-Ray is an ongoing project and is not expected to achieve the same performance as using Ray directly.

So based on that statement I don't see how Dask on Ray would improve anything. I have done several comparisons of the Dask and Ray solvers in liionpack and Ray consistently performs better than Dask. Also, in your second link, the 13.5x speed-up refers to Ray vs Dask Distributed. It doesn't mention that Dask on Ray was used to get that speed-up.

Hi @dynamicwebpaige we had a chat with the dask team as we are using actors to persist the state and it seemed like actors were a bit experimental. If you feel like having a look at our code to see if you can speed it up then more than welcome but probably our most likely route going forward is to just use ray which as @wigging mentioned seems to be more reliable for our use case.

closing this issue as no further responses


Serde does not send Content-Length when using form on RequestBuilder

Mind expanding on what problem you're reporting?

Here's a snippet of the code that I'm using:
let client = Client::new();
let params = HashMap::new();
params.insert("username", "something");
params.insert("password", "hunter2");
client.post(url).query(&params).send();

The server responds with HTTP 411 Length Required, because reqwest does not automatically adds a Content-Length HTTP header

My bad, I meant form not query

Probably could be solved with something like this (I'm really new to Rust, not sure if my code has any mistake).
Ok(body) => {
    req.headers_mut().insert(
        CONTENT_TYPE,
        HeaderValue::from_static("application/x-www-form-urlencoded")
    );
    req.headers_mut().insert(
        CONTENT_LENGTH,
        HeaderValue::from_str(body.len().as_str())
    );
    *req.body_mut() = Some(body.into());

I wouldn't mind making a pull request for this.

Hm, there must be something more to it, because the code here will automatically set the content-length header if the body size is known, and in this case, it's a string.
I've even just pushed to master a unit test showing that the header is set.

If it helps, I'm using the ClientBuilder to set the redirect policy to none

I'm so sorry. You're right, I think it's already setting it. It was my bad, I think I was doing something wrong. I tried it again today and everything works out fine.
Thank you for your quick response!


[Patch Request]: skyrim arrow overhaul

Describe your patch request
will need to update your skyrim arrow overhaul patches since it no longer use outfit records
Checklist

[X] Does not already exist
[X] Would only contain ESPs or mesh fixes
[X] Was not already requested
[X] Is not a symptom of a load order issue (if unsure, its okay to leave unticked)
[X] May not be considered

ah yeah I still need to get on this. Idk when I'll get the skyrim itch again, sorry

Should be fixed in the next update


New realisation for thread safe history middleware

@mperham I added test for checking thread-safe in middleware. Also I used redis transaction (watch and multi methods) for fixing my history storage. What do you think, it's normal for you?

This is safer but it's not performant at all.  The issue is that you're still using Sidekiq.load_json to store a hash as a string rather than using Redis' native Hash commands.  You want to use something like:
Sidekiq.redis do |c|
  c.multi do
    c.hincrby(history_key, "runtime_ms", job_time_in_ms)
    c.hmset(history_key, "last_status", "passed", "last_runtime", Time.now.utc.to_i)
  end
end

Read through the Hash commands and figure out what you need to do to remove Sidekiq.load_json.

Okay, I understood you, thanks for review! :metal:

@mperham I'll change hash serialization to native redis hash in separate PR.


how to enable english text for all components ?

these components are awesome .. i want to use this components in my project, would somebody suggest me how to enable english as default for all components. that would be of great help.

i got to know after looking into code , i just need to pass the values to placeholder/other respective properties. Am i right?

@chagamkamalakar You're right.
I think you won't be confused if there is an English documentation. For now the documentation is Chinese, but still you can read the demo code which sheds light on how each component is used.

thank you @Leopoldthecoder


mergeMap drops grouped observables greater than concurrency limit

It appears that mergeMap will drop grouped observables (from groupBy) greater than the concurrency limit. The extra groups are simply lost and never processed rather than simply being delayed.
RxJS version<EMAIL_ADDRESS>Code to reproduce:
const CONCURRENCY = 1; // setting this to less than 3 will result in groups being lost

Rx.Observable.from([
  { a: 1, b: 10 },
  { a: 1, b: 20 },
  { a: 2, b: 30 },
  { a: 1, b: 40 },
  { a: 1, b: 50 },
  { a: 2, b: 60 },
  { a: 3, b: 70 }
])
  .groupBy(x => x.a)
  .mergeMap( /* call foo once per group with group.key */
             group => {
               return foo(group.key)
                 .mergeMap(
                   fx => group,
                   (fx, obj) => ({ fx, obj })
                 );
             },
             CONCURRENCY
  )
  .subscribe(x => console.log(x));

function foo(a) {
  if (a === 1) return Rx.Observable.of('ONE');
  return Rx.Observable.of(a * 1000);
}

// Also can be duplicated in this more simple example below
console.log('single mergeMap');

Rx.Observable.from([
  { a: 1, b: 10 },
  { a: 1, b: 20 },
  { a: 2, b: 30 },
  { a: 1, b: 40 },
  { a: 1, b: 50 },
  { a: 2, b: 60 },
  { a: 3, b: 70 }
])
  .groupBy(x => x.a)
  .mergeMap(group => group, CONCURRENCY)
  .subscribe(x => console.log(x));

Expected behavior:
{ fx: 'ONE', obj: { a: 1, b: 10 } }
{ fx: 'ONE', obj: { a: 1, b: 20 } }
{ fx: 2000, obj: { a: 2, b: 30 } }
{ fx: 'ONE', obj: { a: 1, b: 40 } }
{ fx: 'ONE', obj: { a: 1, b: 50 } }
{ fx: 2000, obj: { a: 2, b: 60 } }
{ fx: 3000, obj: { a: 3, b: 70 } }
single mergeMap
{ a: 1, b: 10 }
{ a: 1, b: 20 }
{ a: 2, b: 30 }
{ a: 1, b: 40 }
{ a: 1, b: 50 }
{ a: 2, b: 60 }
{ a: 3, b: 70 }

Actual behavior:
{ fx: 'ONE', obj: { a: 1, b: 10 } }
{ fx: 'ONE', obj: { a: 1, b: 20 } }
{ fx: 'ONE', obj: { a: 1, b: 40 } }
{ fx: 'ONE', obj: { a: 1, b: 50 } }
single mergeMap
{ a: 1, b: 10 }
{ a: 1, b: 20 }
{ a: 1, b: 40 }
{ a: 1, b: 50 }

Additional information:
This appears to be a bug, since even though we are restricting the concurrency of mergeMap, I would have expected all of the groups to eventually be processed but the current code seems to drop the extra groups.

@jeffbski mergeMap is working as expected. The groups that come in after the concurrency limit has been reached aren't subscribed to immediately, so their aren't being heard. #2023 would solve your problem by allowing you to replay events from the GroupedObservables if they aren't immediately subscribed to.
Or you can immediately publish and connect the groups as they're created, so they store events and replay them to late subscribers:
Rx.Observable.from([
  { a: 1, b: 10 },
  { a: 1, b: 20 },
  { a: 2, b: 30 },
  { a: 1, b: 40 },
  { a: 1, b: 50 },
  { a: 2, b: 60 },
  { a: 3, b: 70 }
])
  .groupBy(x => x.a)
  .map((group) => {
    const historic = group.publishReplay();
    // connect immediately so we don't miss any events
    const connection = historic.connect();
    // refCount here so the group connection will be
    // unsubscribed when the subscriber count goes to 0
    const refCounted = historic.refCount();
    // make the refCounted observable look like a GroupedObservable
    refCounted.key = group.key;
    return refCounted;
  })
  .mergeMap(group => group, CONCURRENCY)
  .subscribe(x => console.log(x));

Thanks @trxcllnt, I didn't realize that the GroupedObservables were hot, but this makes sense. #2023 would be a great addition that would solve my problem, so I hope that they accept your PR. I appreciate the explanation and work around code. I'll close this issue since your PR would be the best way forward.


Aggregation of All Markets for a certain country on the same date

Hi Hiring Lab Team, I am looking at your remote posting notmcats all markets dataset and found that the aggregation of each category is largely exceed 100. I also noticed that jobs like IT Operations, Software Development, Information Design & Development in the same country on the same day always have similar trend and shares. Does this mean that one job can be counted in multiple categories, which can then explain aggregation of shares of each category exceed 100?

Hey Elsie,
I think there is a misunderstanding of how to interpret the data. The numbers derived are from taking the total number of remote job postings in that category and dividing it by the total number of job postings in that category. It wouldn't add up to 100%.
Best,
Shawn


Roadmap

Milestone 1

[x] 补全测试 (Write test for Weex platform) #10
[x] 仓库合并 (Merge this repo into vue main repo and re-fork it here)

[x] 合并已有的提交 (Merge all commits here)
[x] Weex JS Framework 打包脚本 (Write build script for Weex)

Milestone 2

[x] streaming render #2
[x] Vue 适配：双向绑定 (Support two-way binding)

[x] 支持 v-model (Support v-model) #3
支持 .sync (Support .sync)

[ ] Vue 适配：transition 支持 (Support <transition>) #1 [wip]
[x] 集中关注内存管理和页面间串扰问题 (Focus on memory management & inter-page crosstalk issues)
[x] Vue 在 web 和 weex 可用特性范围和开发方式的差异整理 (Sort differences between using Vue in Web and Weex) #11 #14 #15
[x] 从 *.we 过渡到 *.vue 的开发体验整理 (List transition from *.we to *.vue development experience) #4 #13

[x] *.we -> *.vue 转换工具 (Conversion tool from *.we to *.vue ) npm package

Milestone 3

[x] 重构 Vue 2.0 版的 Weex HTML5 Render (Rebuild Weex HTML5 Render using Vue 2.0) repo
[x] 尝试完成 HackerNews (Try build a HackerNews app) repo

[x] Vuex 适配 (Adapt vuex)
[x] Vue-router 适配 (Adapt vue-router)
[x] Vue-cli 模板 (Vue-cli template)

[x] weex-loader

[x] weex-vue-loader

[ ] Documents

Milestone 4

[x] adapt weex-devtool
[ ] adapt weex-toolkit
[ ] adapt weex-pack

Milestone 5

[ ] 服务端渲染 / 预编译方案 (server-side rendering / pre-compile)
[ ] Weex DevTools 支持 Vue 2.0 插件 (Weex DevTools support vue-devtools extension)
[ ] weex-vue-loader hot-reload
[ ] vue-cli template for weex-pack
[ ] <transition-group>

Further

发展通用组件 (Support "universal" Vue components)

Weex 支持所有HTML标签 (Support almost HTML tags in Weex)
Weex 明确列出支持的CSS样式范围 (List supported CSS range)
Weex 公布 JS APIs 支持情况和未来的 Roadmap (List all supported JS APIs from native and the roadmap in the future)

Weex playground website 支持 Vue (Weex playground website support *.vue)
实例收集 (Examples collection)
社区和生态建设 (Build community and eco system together)

Weex 支持所有HTML标签 ？Further 是要做一个瘦身版浏览器？

@littleseven 浏览器这个话题太大了，但是可以正常渲染 p, h1~h6, ul, ol 这类的 HTML 标签是有机会的，未来会逐步细化讨论

This is awesome! I can't wait to build native apps using vuejs!

任重道远啊，加油！

This is great! I'm not liking the react native syntax much.

Yeah! Way to go people! This is what I call progress.

想知道 Milestone 3 完成大概在什么时间点？可以毛估估。

Here is a task list (github porjects): https://github.com/Hanks10100/weex/projects/6?fullscreen=true

想知道 Milestone 3 完成大概在什么时间点？

真没想到 vue 也会发展出这条路！:100: 强力前排支持，虽然不太了解实现跨平台这方面，但是我会试着在 vue 本身以及组件库、编辑器插件方面做一些贡献 :sparkles: ~~

@hf20 年底

@Jinjiang 16年年底？

@linkdesu vue大法好！

Coming from this reply. Personally I don't think this Roadmap is clear enough to follow. Which feature and which version in which month, I can't see them in this list. Those information can be important when I make plans doing things with Weex.

Waiting for the documents of Milestone 3.

I'm also very curious about the "list all supported JS APIs from native and the roadmap in the future" as is written under "Further".. :-)
Anyway, I'm checking this issue every couple days to see how progress is going, and I like the speed you guys have. Keep up the good work!

it will be perfect if Weex support local image.

Weex HTML5 Render 的编写是给 server-side rendering 埋坑啊，这么多window什么的

Is anything still happening here? It would be great if this becomes reality!

+1 is anything still happening? Last commit was 8 months ago?!

@kramer65 @benmccallum
It became an apache incubator project the github mirrored repository is here https://github.com/apache/incubator-weex/branches


flutter.gradle issue when running flutter clean before flutter run

This is an intermittent error. Most of the time I encountered this when I do flutter clean and then flutter run on my project. I experienced this error when I upgraded the flutter version that has Dart 2.0
Is it possible that this is pointing to an old version of Dart?
Logs
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
compiler message: file:///Users/macbook/.pub-cache/hosted/pub.dartlang.org/lists-0.0.22/lib/src/range_list.dart:87:21: Error: The parameter 'value' of the method 'RangeList::contains' has type dart.core::int, which does not match the corresponding type in the overridden method (dart.core::Object).
compiler message: Change to a supertype of dart.core::Object (or, for a covariant parameter, a subtype).
compiler message:   bool contains(int value) {
compiler message:                     ^
compiler message: file:///b/build/slave/Linux_Engine/build/src/third_party/dart/sdk/lib/collection/list.dart: Context: This is the overriden method ('contains').
compiler message: file:///Users/macbook/.pub-cache/hosted/pub.dartlang.org/lists-0.0.22/lib/src/step_list.dart:73:21: Error: The parameter 'value' of the method 'StepList::contains' has type dart.core::int, which does not match the corresponding type in the overridden method (dart.core::Object).
compiler message: Change to a supertype of dart.core::Object (or, for a covariant parameter, a subtype).
compiler message:   bool contains(int value) {
compiler message:                     ^
compiler message: file:///b/build/slave/Linux_Engine/build/src/third_party/dart/sdk/lib/collection/list.dart: Context: This is the overriden method ('contains').
compiler message: file:///Users/macbook/.pub-cache/hosted/pub.dartlang.org/lists-0.0.22/lib/src/list_pointer.dart:60:48: Error: A value of type 'dart.core::List<dynamic>' can't be assigned to a variable of type 'dart.core::num'.
compiler message: Try changing the type of the left hand side, or casting the right hand side to 'dart.core::num'.
compiler message:       return new ListPointer<T>(base, offset + other);
compiler message:                                                ^
Compiler failed on /Users/macbook/Documents/flProjects/myapp/lib/main.dart

FAILURE: Build failed with an exception.

* Where:
Script '/Users/macbook/Documents/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 435

* What went wrong:
Execution failed for task ':app:flutterBuildDebug'.
> Process 'command '/Users/macbook/Documents/flutter/bin/flutter'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 32s
Finished with error: Gradle build failed: 1

Flutter Doctor
[✓] Flutter (Channel dev, v0.4.4, on Mac OS X 10.13.4 17E199, locale en-PH)
    • Flutter version 0.4.4 at /Users/macbook/Documents/flutter
    • Framework revision f9bb4289e9 (7 days ago), 2018-05-11 21:44:54 -0700
    • Engine revision 06afdfe54e
    • Dart version 2.0.0-dev.54.0.flutter-46ab040e58

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.0-rc1)
    • Android SDK at /Users/macbook/Library/Android/sdk
    • Android NDK at /Users/macbook/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 28.0.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.2

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.2.5)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 19.1
    • Dart plugin version 172.4343.25

[!] VS Code (version 1.17.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code

[✓] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.0 (API 24) (emulator)

Did you check version constraints in your pubspec.yaml allows the latest versions of dependencies and run flutter packages upgrade?

dependencies:
  flutter:
    sdk: flutter
  firebase_auth:
    path: firebase_plugins/firebase_auth
  firebase_database:
    path: firebase_plugins/firebase_database
  firebase_dynamic_link:
    path: firebase_plugins/firebase_dynamic_link
  firebase_storage:
    path: firebase_plugins/firebase_storage
  validator: ">=0.0.4 <0.1.0"
  intl: "^0.15.2"
  http: "^0.11.3+14"
  path_provider: "^0.2.2"
  facebook_sign_in:
    path: FB-Signin-Plugin
  mframe_plugins:
    path: mframe_plugins
  stripe_plugin:
      path: stripe_plugin
  font_awesome_flutter: "^6.0.0"
  url_launcher: "^3.0.0"
  strings: "^0.0.6"
  flutter_launcher_icons: "^0.2.0"

dev_dependencies:
  flutter_test:
    sdk: flutter

I also did flutter packages upgrade
and flutter update-packages --force-upgrade

Sorry for the late response.
Is this still an issue with recent Flutter versions?

run flutter clean

flutter clean  work for me


Upsert fails when providing item ID + path

Calling to create an item via path when the whole path does not already exist returns a 404 if using ID + path addressing:
PUT /drive/items/123!1:/multi/level/upsert.jpg:/content
Making a call using only path-based addressing correctly upserts:
PUT /drive/root:/multi/level/upsert.jpg:/content

The following request also fails with 404 (despite the fact that I have the "onedrive.appfolder" scope):

PUT https://api.onedrive.com/v1.0/drive/special/approot:/folder1/folder2/file.txt:/content

It does create the /Apps/{AppName} folders, but not the folder1/folder2 ...

@paya-cz, this should be fixed now. Let us know if you hit any other issues.


Implementing imageset for $ mtcli validation.

Related to MTSRE-306.

Adding AddonImageSet CRD
Introducing ocmv1 types
Implementing DeepCopy for non-runtimeObject types
Support loading metadata for an addon using imageset OR static indexImage

Reviewing this :)

@sugarraysam lgtm, can you rebase it :)

Awesome work @sugarraysam left some small comments. 🚀

/retest

/retest

lgtm


Customizing the authentication backend

Hi folks,
I m trying to implement SSO functionality for my huge application.
i m using django-cas-ng and django-mama-cas on my sso-agent and sso-server respectively.
now, my application does not use the default Auth-User Table for verification.
We have separate app with the separate User Table.
I want to know how to customize in a way that default authentication User table does not get used.
Instead I want to use a different function.
Also, i M not using any AUTHENTICATION BACKEND . (and i m not planning to use one).
By default mama-cas uses its default AUTHENTICATION BACKEND.
Also I went through the Mama-cas code. It uses LoginForm.
So I dont want to use that also.
Kindly help me out.

How are you authenticating the user? Remote-user header?