Refactor landing pages e2e test

https://github.com/wellcomecollection/wellcomecollection.org/issues/10409
Since most of the cases in this file were essentially checking the page was up, they were moved to url checker
The test file is now focussed on checking the events display on the what's on page works as expected with and without js enabled, file name changed accordingly

Yep on waiting til Prismic gets its act together, realised it when the e2e on PR failed😅


Improve secrets management

/sig automation

@johnbelamaric here is the use case:
For R2 or even R1 deployment for OAI. I want to allow UPF to communicate with NRF. This way UPF can be automatically discovered via SMF. There are two ways I can make NRF reachable from UPF

Putting NRF SBI interface on a dedicated VLAN/VPC and UPF will also have an SBI interface. The problem with this solution is I will have to use configrefs and dependency to get the NRF IP address for UPF to register.
Use metallb and skupper to expose the primary CNI interface of NRF (as we are doing for free5GC). This way I can just fix in UPF and other NFs the service name of NRF.

To go with solution 2 the blocking point is sharing secrets across clusters as Skupper generates a secret in one cluster/namespace and that secret has to be shared with another cluster/namespace. To create the tunnel for communication. Now the question is how to share the secrets
Should we use Valut (Mgmt cluster) + CSI driver (for all the clusters)? Or some other solution?


forge test incorrectly assigns balances to the tested contracts

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (c06b532 2022-11-05T00:10:39.000335Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
When the instance of the tested contract is created, it is expected that its balance is zero or the value passed via --initial-balance. The actual value however might be non-zero, and --initial-balance has no control over it.
Consider this simple test:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

import "forge-std/Test.sol";

contract X {}

contract XTest is Test {
    X private x;

    function setUp() public {
        x = new X();
    }

    function testBalanceIsZero() public {
        assertEq(address(x).balance, 0);
    }
}

It passes if we don't fork the state:
forge test -vvv

However, if we fork the Ethereum mainnet state, it fails:
forge test -vvv --fork-url <SOME_MAINNET_RPC_URL>

Examining stack traces, one'll find a strange number<PHONE_NUMBER>000000000. This is, in fact, the actual mainnet balance of an address 0xce71065d4017f316ec606fe4422e11eb2c47c246 at which x is deployed.

ah lol 0xCe71065D4017F316EC606Fe4422e11eB2c47c246 is in fact the address that's derived for the first contract created in a test deployed by the default sender (0x00a329c0648769a73afac7f9381e08fb43dbea72)
But since this is triggered by the test contract, I think the correct behaviour here would be to initialize an empty account instead of retrieving it from the forked chain.
wdyt @mds1 ?

hmm, thought about this a bit, and the fix is not trivial and also is unsound, because technically that's the correct behavior here, because the eth do actually exists in the contract's account

Yea that’s fair about soundness, it did feel a bit dirty. Some other options:

Do nothing, and require users to just manually set the balance to zero when this occurs and is an issue for them (and note this in the book so it’s easier to debug). This is trickier if the address has nonzero balance for a rebase token, but so far that’s just a hypothetical issue and we’ve only seen this with ETH.
When deploying a new contract, if the resulting address has a nonzero mainnet balance, bump deployers nonce then deploy (i.e. don’t deploy to addresses that have balance). Downside is you’d also need to run this check for every tokens, not just ETH. so perhaps get a big token list for popular chains, execute a multicall so it’s just one RPC call, and bump nonce if any call returns nonzero. I don’t think this affects determinism because no one should have a pk for those addrs so funds are stuck

this can be handled by marking the deployed contract as persistent, e.g.
contract XTest is Test {
    X private x;

    function setUp() public {
        x = new X();
        vm.makePersistent(address(x));
        vm.createSelectFork("mainnet");
    }

    function testBalanceIsZero() public {
        assertEq(address(x).balance, 0);
    }
}

results in a pass. Going to close this for now, @lekhovitsky please reopen if still an issue, thank you!


Drop IE for version 4

"NO IE FOR NOW, BUT WILL BE TRANSPILED LATER"
IE is dead, I think it'd be better if version 4 dropped support altogether.  To spend any time at all on it would be a distractrion.
Looking forward to version 4!

Given the recent news that IE11 support will end August 2021 - I will do exactly that. I do not plan on changing the code - it will be shipped as is - if someone wants to - they can transpile.


Update create counterparty body request

If we want to create a counterparty with the Plaid link flow, we need to pass the unitProcessorToken value on the body request for createBankingCounterparty().
if we create a counterparty with Plaid link, we need to pass:

name
type
unitProcessorToken

otherwise, we need to pass:

routingNumber
accountNumber
accountType
type
name

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


./build-scripts/start_qemu.sh fails

After fetching and building qemu, I get:
Starting rv64 qemu... press Ctrl+A, X to exit qemu
qemu-system-riscv64: -netdev type=user,id=net0: network backend 'user' is not compiled into this binary

The error occurred due to a missing lib slirp. To prevent this issue, we have added the lib slirp to the pre-install dependencies and included a check in qemu configure, allowing the issue to be caught earlier. This fix has been implemented in commit 46425ef.


max URI length is 4096

This is often asked by users of Message Events API.  Putting the limit in the docs will help Support when these questions get asked.
Note: this is enforced by Nginx, which returns a 4xx if it's too long

This has been fixed.


HTML

#HTML
##User story
As a boot camp student,
I want a Prework Study Guide website,
so that I can review all the information I learned throughout Prework.
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

CSS
#CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow


Can't run a local version of an external analyzer and prod versions of shipshape

I thought we had a bug about this, but maybe not.
Right now, we use the --tag=local to determine whether to pull down versions of the services or use the ones build locally (Basically "local" means "Do not even attempt a pull").
However, we don't respect the local tag for external analyzers. This is needed if we want people to be able to test out local versions of their analyzers (like in the tutorial) with prod versions of shipshape.

One thing to consider doing as part of this is rethinking LocalKythe as it makes the tag rules more confusing.

The entire kythe workflow is going to change a lot later, so I'm not going to worry about this right now. Apparently we're using the wrong docker image, among other things.

Fixed by D127


Unable to cd into directory after chown

I am just trying to copy some files in the container and chown them so that the non-root user can access them.
The problem is even though the permissions are set correctly, I am still unable to cd into the directory.
openchain@e1f19b15c9c1:/openchain.server/approot/src$ ls -al
total 28
drwx------ 17 openchain openchain 4096 Nov 16 10:02 .
drwx------  5 openchain openchain 4096 Nov 16 10:02 ..
drwx------  2 openchain openchain 4096 Nov 16 10:02 Openchain.Abstractions
drwx------  5 openchain openchain 4096 Nov 16 10:02 Openchain.Ledger
drwx------  2 openchain openchain 4096 Nov 16 10:02 Openchain.Ledger.Blockchain
drwx------ 14 openchain openchain 4096 Nov 16 10:02 Openchain.Server
drwx------  2 openchain openchain 4096 Nov 16 10:02 Openchain.Sqlite
openchain@e1f19b15c9c1:/openchain.server/approot/src$ cd Openchain.Abstractions/
bash: cd: Openchain.Abstractions/: Permission denied

I am using Docker 1.9.0.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

@Flavien can you post a reproducible case so that I can try it out and see what is going on?  Maybe a simple dockerfile with your steps on dummy data?

Ok I will try to provide a dockerfile reproducing that, but I manage to get around the issue by switching to devicemapper.

ahh, i think this is an aufs bug that the permissions at a lower layer cannot be overriden by a higher layer.  Not much we can do for this other than try devicemapper or overlayfs to fix this.  You could also try changing the permission on the lower layers instead.
This PR should fix your issue:
https://github.com/docker/docker/pull/11799
but I see that in your docker info dirperm1 is not supported.
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 833
 Dirperm1 Supported: false

I believe you need a more recent version of aufs for this option though but it will fix the issue you are seeing.  I tested on an ubuntu 15.04 system and it does have the new aufs dirperm1 support so if you are able to upgrade you will get the fix and be able to stay on aufs.
Sorry I cannot be more help but I think upgrading to 15.04 would be your best bet if you are able to do that.


Add amd fsr

Closes #1

Great work!

Your excellent OpenXR Layer code framework is making it possible!

The project auto-generate:

XR_APILAYER_NOVENDOR_toolkit\framework\dispatch.gen.cpp
XR_APILAYER_NOVENDOR_toolkit\framework\dispatch.gen.h

I'd suggest we git ignore them.

The project auto-generates:

XR_APILAYER_NOVENDOR_toolkit\framework\dispatch.gen.cpp
XR_APILAYER_NOVENDOR_toolkit\framework\dispatch.gen.h

I'd suggest we git ignore them.

I think it's convenient to have the committed for people who might look at the code but not build it. But right now the newline thing is making them always show as modifed. I have to fix that,


How to show Default value on DropList

Is it a way to show the Default value or the previously selected value when I open the drop list?
For example I made a year picker from 2002 - 2072 and I set defaultOption={current_year}. The current year shows properly by default, but when I open the drop list it shows year 2002 first (the beginning of my list). Is it possible to show my default year?

I understand you want the dropdown options to start from the default or selected value, but this functionality doesn't exist yet, i will add it into the enhancement list

Thanks for the info!
Good job by the way
On Tue, Dec 6, 2022 at 6:40 PM Danish Amin Dar @.***>
wrote:

Closed #38
https://github.com/danish1658/react-native-dropdown-select-list/issues/38
as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/danish1658/react-native-dropdown-select-list/issues/38#event-7967904840,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS6LVPDTR5KNFSI7B4FJVNDWL5M5DANCNFSM6AAAAAASVLJN74
.
You are receiving this because you authored the thread.Message ID:
<danish1658/react-native-dropdown-select-list/issue/38/issue_event/7967904840
@github.com>


Server: support hot-change of server configuration through HTTP command

We'd need a way to change the sever configuration:

global configuration, as settings
log levels

Documented on: https://github.com/orientechnologies/orientdb-docs/wiki/OrientDB-REST#post---server


Not working in Internet Explorer. Missing Method array.find()

IE does not support that function prior to Edge

I did a little research on current code browsers compatibility and found
out that this is the only thing that breaks IE9-11. So instead of injecting
a polyfill I decided to rewrite this piece of code. And the fix is already
in 'master' and it will be included in v1.5.2 release. Thanks a lot!
On Fri, Jul 8, 2016 at 12:46 PM, ChristianRosenau<EMAIL_ADDRESS>wrote:

IE does not support that function prior to Edge
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/angular-ui/ui-scroll/issues/112, or mute the thread
https://github.com/notifications/unsubscribe/AEKdXO_lRAf3hRwIlpNXwnbD51VMqQcSks5qThx3gaJpZM4JH4Tl
.

--
Алексанов Д.И.

Do you have a schedule for the v1.5.2 release? I would like to update ui-scroll in an application (from v1.3.2, webjar), but need IE compatibility.

@tobid https://github.com/angular-ui/ui-scroll/issues/119 issue restrains us from 1.5.2. release, hope we'll fix it soon...

@ChristianRosenau @tobid v1.5.2 is released, it includes the fix for this issue.


Wrap-guide hides cursor

The wrap-guide's z-index is 100, and the cursor's is 4. When the cursor occupies the same column as the wrap guide, the wrap guide covers it. You won't notice this with the default cursor size of 2px, but if you prefer a single pixel cursor (as I do), the cursor disappears at the wrap-guide.
Is there a reason the cursor's z-index can't be moved higher than the wrap-guide's?

I am not able to reproduce this with the latest version of the one-dark theme. What theme are you using?

My apologies. I didn't notice that the wrap-guide was implemented with a 15% opacity (if you change it's color to red, for example, you'll see it occlude the cursor). The theme I was using (Tomorrow Night Eighties) uses a straight background color, and hence covered the cursor.
It would be nice if active elements, like the cursor, were placed above static indicators like wrap-guides, (to make it easier for theme authors, and because it seems to make sense), but I guess this is not really an atom core bug. Thanks for checking it out.

This got fixed here https://github.com/atom/wrap-guide/pull/36 and should be in the next Atom update.
The wrap-guide will have a z-index of 3, so cursors should be on top.


latency for occupancy sensors?

Hi, I'm trying to diagnose an issue where the occupancy sensor update in HA is 0-3 seconds delayed. I logged the trigger time and action time in HA and found only .03 second delay so my next thought is that the update from the smart bridge might be delayed or picked up late, is there some logging I can do to diagnose this?
Reading the docs on HA website I was under the impression this should be almost instantaneous.

What automation are you trying to use it in?  I added the original implementation of occ sensor subscription, and while doing that work I found that pylutron_caseta received occupancy events effectively instantaneously.  This is expected, since pylutron_caseta makes a local connection and Caseta latency from devices to the smart bridge is exceptionally good.
I did, however, have issues with latency when using occupancy sensors in complex automations with conditional steps.  The logs from pylutron_caseta still indicated that the message was received nearly instantaneously, so I'm pretty convinced that the latency came from everything home assistant had to do to process it.
There were some things I did to streamline and simplify the automation that improved latency and the lighting experience both for Caseta and Home Assistant (created scenes to trigger in Caseta instead of having Home Assistant set light levels for the two lights individually, use sun elevation instead of sunset/sunrise, and reduced the size of the conditionals), but it's still taking around 0.5 - 1 second.  But I think the latency hit ultimately comes from HA picking up the automation on the event loop, doing template evaluations, and then triggering the events.  I don't see anything pylutron_caseta can do to improve latency for occ sensors.
Can you share the automation (YAML) with the unacceptable latency?  I may be able to offer some suggestions for reducing latency.

Thanks, I found a thread a few days ago about HA automation performance issues, something about the database writes but now I've lost it!
I am testing with just a single automation at the moment writing to the logs:
`alias: test - motion sensor
description: ''
trigger:

platform: state
entity_id: binary_sensor.stairs_occupancy
to: 'on'
condition: []
action:
service: system_log.write
data_template:
message: 'trigger time: {{trigger.to_state.last_updated}} run time: {{ now() }}'
level: warning
mode: single
`

What I need to do is timestamp the moment pylutron_caseta receives the new state. Can I set debug on this to test?

If you configure the Home Assistant logging to output debug messages from pylutron_caseta.leap you should see all the messages as they are received.

You can also use the recorder component to dump all events (including occupancy state changes) to a SQL database.  I'm currently dumping all of these lighting and occupancy events (along with sensor data like temperature, humidity, solar power generation, power usage from smart outlets with power monitoring, etc.) into an influx database and PostgreSQL database to feed analyses and dashboards (via grafana).
In addition to turning on lutron_caseta logging as @mdonoughe recommended, this should give you plenty to investigate with.

@mdonoughe Okay I did debugging on lutron_caseta and that didn't really show me anything, so I'll do "pylutron_caseta.leap" and see where that gets me...
@swails Thanks, I think though I have good idea of the time in which the occupancy state is being recorded in HA so I need to work backward to when it is being delivered, unless you think "trigger.to_state.last_updated" would not show me the true time in which it was received?


MUMUP-1818 : move widget template in layout feed

Relates to https://github.com/UW-Madison-DoIT/uPortal/pull/352

Moves where to get the template
Add in error if the template is expected but not present

:+1:


i translate all UpSnap in spanish

Thanks for translating! @Raulmora22 (and also verifying @ICT-Ronco ).
I only changed a wrong import for date-fns but the rest looked perfect!
Will merge it and make a new release.


Integrate pylyzer to speed up code completion

Currently, the plugin uses Pyright as the LSP. Although Pyright is powerful, it's still slow, especially noticeable during code completion. There is a perceptible delay between typing a character and seeing the completion suggestions (as for comparison, Nova's built-in Python completion is almost instantaneous). Therefore, I found an LSP called Pylyzer, which claims to be 100 times faster than Pyright. Pylyzer is written in Rust and boasts very high performance (similar to Ruff, though Ruff does not support type checking). Please consider supporting Pylyzer in the plugin, as I believe it will greatly enhance the Python coding experience!

That definitely looks interesting! If I do expand the LSP support beyond Pyright, it will likely be to make a more generic way to use whatever you want, so I'll keep this one in mind.
I probably won't support this "officially" though, there are a couple of red flags for me:

It looks to be a single developer - not disqualifying on its own, but there are better supported and more full-featured tools available (despite being slower), so its hard to commit to maintaining support for something like this
The way it does the type-checking seems a bit roundabout and fragile to me: "pylyzer converts Python ASTs to Erg ASTs and passes them to Erg's type checker. It then displays the results with appropriate modifications"

That definitely looks interesting! If I do expand the LSP support beyond Pyright, it will likely be to make a more generic way to use whatever you want, so I'll keep this one in mind.
I probably won't support this "officially" though, there are a couple of red flags for me:

It looks to be a single developer - not disqualifying on its own, but there are better supported and more full-featured tools available (despite being slower), so its hard to commit to maintaining support for something like this
The way it does the type-checking seems a bit roundabout and fragile to me: "pylyzer converts Python ASTs to Erg ASTs and passes them to Erg's type checker. It then displays the results with appropriate modifications"

By the way, I'm not sure if the significant delay in code completion based on pyright is specific to me, I can't figure out why it happens. Using pyright with VSCode+Pylance shows almost no delay. I'd like to know if there's a way to reduce the code completion delay in Nova through some configurations of pyright-langserver. Is the delay caused by Nova's shortcomings in LSP support, is it unavoidable? 🤔


Testing hangs after Started MongoDB

I'm trying to get this grapher PR migrating to Simpl-Schema merged, but for some reason the test suite is hanging at Started MongoDB.  Do you have any ideas as to what we might be missing, esp. with regards to any changes made in this commit?
Thanks
✌

Never mind, don't think this is a testing package issue.


[doc] Separate and correct getting start by docker

Correct content of starting docker
Remove all FAQ in docker.md and only keep
build image by users themself in faq.md
Separate how to use incompatibly incompatible
datasource from docker.md to directory datasource

I find out you online, PTAL @devosend thanks


mwic: 0.7.5 -> 0.7.6

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mwic/versions.
meta.description for mwic is: '"spell-checker that groups possible misspellings and shows them in their contexts"'.

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/0c3x3jg32bbqf2igqp8nq5zfs3729ylv-mwic-0.7.6/bin/mwic had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.7.6 with grep in /nix/store/0c3x3jg32bbqf2igqp8nq5zfs3729ylv-mwic-0.7.6
directory tree listing: https://gist.github.com/5d711af53815c2b9d3a6f1adccee3626
du listing: https://gist.github.com/619b415f72c4117bacfd28a5e1f37ad8

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/c67ebae292fde80fcea5eb180f34dad48fc0f6b0.tar.gz -p mwic
ls -la /nix/store/0c3x3jg32bbqf2igqp8nq5zfs3729ylv-mwic-0.7.6

Success on x86_64-darwin (full log)
Attempted: mwic
Partial log (click to expand)
install -p -D -m644 dict/pl /nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6/share/mwic/dict/pl
# manual page:
install -p -D -m644 doc/mwic.1 /nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6/share/man/man1/mwic.1
post-installation fixup
gzipping man pages under /nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6/share/man/
strip is /nix/store/df6k4mgdjxciy0f637lryp7c9ln7n1m3-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6/bin
patching script interpreter paths in /nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6
/nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6/bin/mwic: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/dlswl7xjvh3bsfydygqzi2n0f82p5d9p-python3-3.6.6/bin/python3"
/nix/store/daihal7djwdappby7kwsw436gm502r91-mwic-0.7.6


LAMMPS server doesn't support simulation switching

Ideally we could refactor server/runners so that this doesn't need to be reimplemented for every runner?

Obsolete by https://github.com/IRL2/nanover-protocol/issues/175


[Teams] Add TeamsActivityHandler to botbuilder

Phase 1: Activity Handling Parity
Invoke Activities:

[x] onTeamsCardActionInvoke
[x] onTeamsSigninVerifyState
[x] onTeamsFileConsent
[x] onTeamsFileConsentAccept
[x] onTeamsFileConsentDecline
[x] onTeamsO365ConnectorCardAction
[x] onTeamsMessagingExtensionQuery
[x] onTeamsAppBasedLinkQuery
[x] onTeamsMessagingExtensionSelectItem
[x] onTeamsMessagingExtensionFetchTask
[x] onTeamsMessagingExtensionSubmitActionDispatch
[x] onTeamsMessagingExtensionSubmitAction
[x] onTeamsMessagingExtensionBotMessagePreviewEdit
[x] onTeamsMessagingExtensionBotMessagePreviewSend
[x] onTeamsMessagingExtensionConfigurationQuerySettingsUrl
[x] onTeamsMessagingExtensionConfigurationSettings
[x] onTeamsMessagingExtensionCardButtonClicked
[x] onTeamsTaskModuleFetch
[x] onTeamsTaskModuleSubmit

ConversationUpdate Activities:

[x] onConversationUpdateActivity override in TeamsActivityHandler
[x] onTeamsMembersAdded
[x] onTeamsMembersRemoved
[x] onTeamsChannelCreated
[x] onTeamsChannelDeleted
[x] onTeamsChannelRenamed
[x] onTeamsTeamRenamed

Phase 2: TeamsClient property implementation

[x] TeamsRosterClient impl (custom class)
[x] getTeamDetails
[x] getChannels
[x] getMembers

Phase 3: Beautiful Unit and Integration Tests 🚀

Closing this as the TeamsActivityHandler is complete. The TeamsInfo requirement/helper methods will be addressed by #1253


NaN values are not properly sharable

Describe the bug
Specifically when sharing NaN values where the EventEnvelope is used, the share or set results in an Error. See screenshot below for a repro.
Please complete the following:
Which version of .NET Interactive are you using? (In a notebook, run the #!about magic command. ):

OS

[X] Windows 11
[ ] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Browser

[ ] Chrome
[ ] Edge
[ ] Firefox
[ ] Safari

Frontend

[ ] Jupyter Notebook
[ ] Jupyter Lab
[ ] nteract
[X] Visual Studio Code
[ ] Visual Studio Code Insiders
[ ] Visual Studio
[ ] Other (please specify)

Screenshots

Basically, it's failing at the following step:
https://github.com/dotnet/interactive/blob/0de4474902dda125860622fd94d71481530727f1/src/Microsoft.DotNet.Interactive/Connection/KernelEventEnvelope.cs#L128
Because JsonDocument.Parse is failing to handle NaN values. E.g. run repro:
using System.Text.Json;
var json = """{ "value" : NaN}""";
var element = JsonDocument.Parse(json).RootElement;

This is impacting the python value sharing as well.
The Error returned is also not very informative, probably because this issue: https://github.com/dotnet/interactive/issues/2863

What would be an appropriate value to deserialize to?

What would be an appropriate value to deserialize to?

Not sure if this is the correct way, but pandas.Dataframe.to_json converts them to nulls. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html#pandas-dataframe-to-json


Modules dialog shows blank right pane if assigned pin is missing from board.json file

Describe the bug
Modules dialog shows blank right pane if assigned pin is missing from board.json file
Steps To Reproduce
Steps to reproduce the behavior:

Add a button to your board and assign it pin 3.
Edit the .board.json file for the board and remove pin 3 from the list of valid pins
Run MobiFlight again
Open the modules dialog and click on the module

Expected behavior
Right pane shows module info
Actual behavior
Empty right pane

Additional context
Exception is syncPanelWithSelectedDevice: Exception: Object reference not set to an instance of an object.
This is definitely an edge case from hand-editing .board.json files but should probably be handled better.
Found by user Felipe in Discord.

Many thanks for the support!

I took a look at this tonight and it's more work than I think is worth it considering it's an edge case that shouldn't be hit in normal use. @DocMoebiuz I think this can just be closed.

What I was actually thinking the other day was, that when I store a board config with my devices, I can load it on a different type of board without any notification. In this circumstance we could also get to the situation, where the config contains pins that are not valid, not compatible or not existing on the currently used board.
So i think I should store the board type with the config, and additionally also provide an error message in case it is no compatible.

I don't understand what you mean by "the config" @DocMoebiuz. Board type is defined by the hardcoded string in the firmware. Users can't really make things be something else by accident, this was just a hand-edited board file with a missing pin.

when a save the board's config with all its devices, I can later load it using the same or a different board. I can even use a different model, like I can perfectly load a config created for a mega onto my Pro Micro.

Ok, but I still maintain we can just close this bug out without fixing it :)

Not the case anymore. I could not determine which PR fixed this.


[v2] Tooltip throws a console.error when using auto placements

Current behavior
When using auto placements the Tooltip throws a console.error with the following message:
Popper: "auto" placements require the "flip" modifier be present and enabled to work.

PS: Setting the flip property to either false or true doesn't change the outcome.
Steps to reproduce the bug

Open sandbox: https://codesandbox.io/s/focused-hypatia-ubj3dm?file=/src/index.js
See console logs

Expected behavior
The app should not throw an error when using auto placements.
Possible solutions
No response

Just opened a PR to fix this issue.

Hey!
As of today, we don't have any use case for the auto placements at @croct-tech, we only report this because in our unit tests the output was overloaded with console.error.
Plus, we don't have any plans to use it since we go for fixed placements most of the time.


fix: store-0 - fix timestamp issue on all supported exchanges

Please check monorepo's pr

Test in progress

@neeeekitos can you bump the package.json and packag-lock at the same time?


perf(release): Prepare for v1 release

Prepare for v1 release

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: add nullability and u64 support to list codec

This adds support for nulls in lists and adds support for lists that contain more than i32::MAX items (note: this is a lot more common since we write offset pages much slower than item pages)

Leaving in draft as I still need:

Tests for u64 (in particular, test the case where the decode returns a shorter-than-expected array.  I'm pretty certain this doesn't work.
Revisit comments in the list encoder

@wjones127 Ok, I think this is ready for another look.  The first_invalid_offset / last_valid_offset has become null_offset_adjustment and is recommended to be num_items + 1 but we no longer rely on this.  In addition, I was able to move back to using % and get rid of the if branches and the -1 all over the place.  I have also added more details to the .proto around how the encoding works.

Codecov Report
Attention: Patch coverage is 82.33083% with 94 lines in your changes are missing coverage. Please review.

Project coverage is 80.89%. Comparing base (fb43192) to head (32b66fc).
Report is 6 commits behind head on main.

Files
Patch %
Lines

rust/lance-encoding/src/encodings/logical/list.rs
81.88%
67 Missing and 8 partials :warning:

.../lance-encoding/src/encodings/logical/primitive.rs
80.39%
10 Missing :warning:

rust/lance-encoding/src/testing.rs
73.91%
6 Missing :warning:

rust/lance-encoding/src/decoder.rs
93.18%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2255      +/-   ##
==========================================
- Coverage   81.17%   80.89%   -0.29%
==========================================
  Files         187      190       +3
  Lines       54598    55866    +1268
  Branches    54598    55866    +1268
==========================================
+ Hits        44319    45191     +872
- Misses       7784     8159     +375
- Partials     2495     2516      +21

Flag
Coverage Δ

unittests
80.89% <82.33%> (-0.29%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Making tagcomplete compatible with wildcard parser-wrap string changes

Had to change 'string to use as wrap for parser wildcard' from __ to ++ in settings, to get dynamicprompts and aDetailer to cooperate.
This came with the cost of tagcomplete not recognizing when I was trying to enter a wildcard with '++'
I was able to figure out a few changes in 'ext_wildcards.js' I could make to make the dropdown for the wildcards themselves, and could get them autocompleted.
I could NOT figure out what to change to make the dropdown for the wildcard's contents appear.
My question to you is: Would it be possible to add a field in settings to change 'string to use as wrap for parser wildcard' like in dynamicprompts settings?
Or, more easy: What all would I need to change in .js files to make it so wildcards will display properly with '++' instead of '__'

Haven't tried yet, but I think it would be enough to just replace all occurrences of __ in both tagAutocomplete.js and _ext_wildcards.js
The __ prefix isn't used anywhere else but those two files, and only in context of wildcards.
The dropdown for the wildcard's contents is also handled by ext_wildcards.js, but the reason for it not working after your tries is probably that it wasn't recognized as one single tag, which is handled by the main file.
I can add a settings option, but probably won't be able to get to it today. So in the meantime, try just replacing all __ in those files and tell me if it works.

It should be fully automatic now, so you can try overwriting your local modifications with the latest version.
There is no TAC-specific setting, instead it just grabs the dynamic prompts setting value if it exists or defaults to "__".
This of course was an assumption on my side that the dynamic prompts extension you talked about was the original https://github.com/adieyal/sd-dynamic-prompts, other extensions that allow the same thing might still be incompatible due to potentially using different option names. Maybe I will change to a separate settings option later if the demand is there, but for now this seemed the most elegant.
There is one thing that will not work automatically with this, which is nested / recursive wildcards. Most of these I've seen directly hardcode the sub-wildcards with the full __[...]__ format so the parser steps through on its own, but that's of course out of my control since it requires changing the wildcard file contents themselves.


Expose auto in dataclass

What does this PR do?
Exposes auto in DeepSpeedPlugin docs and changes the default to auto (@pacman100 let me know if we should still keep it as None)
Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@pacman100

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Eclectus should have CheckerBoard material

Eclectus should have CheckerBoard material
if we have this material is good to make ground or visualize good material in a sphere.

it's done d4ed25f0525a908d2f441c8ce7dc03b876b6e154


Seems there is no way to delete created users.

Though in theory, only Admin can add user, however, we still need a button to delete from user table. And delete the user-individual relationship table.

CRUD for "User Management" page needs to implemented

Indeed, we don't have an endpoint to delete users. I will create it.

I've almost finished it but now I'm starting to think why @priesgo may not have implemented that. He had implemented enable/disable user, perhaps, because we shouldn't delete users.
However, I can see the scenario where the user DOES want to quit the service and WANT all his/her related data deleted.
For the moment I considered only Admin to DELETE the user but I'd like to hear your opinions on this matter.

So I know that @IsmailM 's opinion on this is that users shoudl be disabled rather than deleted?
I think @dvarrazzo we can add an extra column to users table, for disabled true/false

@pontikos We already have this set:
phenopolis_db=> \d public.users
                            Table "public.users"
     Column     |           Type           | Collation | Nullable | Default
----------------+--------------------------+-----------+----------+---------
 user           | text                     |           | not null |
 argon_password | text                     |           |          |
 enabled        | boolean                  |           |          | false
 registered_on  | timestamp with time zone |           |          |
 confirmed      | boolean                  |           |          | false
 confirmed_on   | timestamp with time zone |           |          |
 email          | text                     |           |          |
 full_name      | text                     |           |          |
Indexes:
    "users_pkey" PRIMARY KEY, btree ("user")
    "users_email_key" UNIQUE CONSTRAINT, btree (email)
    "users_user_key" UNIQUE CONSTRAINT, btree ("user")
Referenced by:
    TABLE "user_pagetable_colname" CONSTRAINT "user_pagetable_colname_user_fkey" FOREIGN KEY ("user") REFERENCES users("user")
Triggers:
    "public.users_audit_trg" AFTER INSERT OR DELETE OR UPDATE ON users FOR EACH ROW EXECUTE FUNCTION audit."public.users_fn"()

@alanwilter make sure only enabled users can log in


Text anti-aliasing broken in Flutter 3.3.0

Text or Container border looks jagged on Android, normal on Apple.
Not all pages will be jagged, such as the following code, the comment Divider can be displayed normally.
Or modify the height of _Statistics to display normally. On my device height 10 or 86 reproduces the problem.
On my device this problem only occurs with scrollable components.

Code
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: CupertinoButton(
          child: const Text('Click'),
          onPressed: () {
            Navigator.of(context).push(CupertinoPageRoute(
              builder: (context) => const Page1(),
            ));
          },
        ),
      ),
    );
  }
}

class Page1 extends StatelessWidget {
  const Page1({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: CustomScrollView(
        slivers: [
          const _Statistics(),
          SliverList(
            delegate: SliverChildBuilderDelegate(
              (context, index) {
                return Container(
                  margin: const EdgeInsets.fromLTRB(16, 0, 16, 10),
                  decoration: BoxDecoration(
                    color: Colors.white,
                    borderRadius: BorderRadius.circular(10),
                  ),
                  child: Column(
                    children: const [
                      Text(
                        'BTC Staking',
                        style: TextStyle(
                          fontSize: 14,
                          fontWeight: FontWeight.w600,
                        ),
                      ),
                      Text(
                        '0.2 BTC',
                        style: TextStyle(
                          fontSize: 14,
                          fontWeight: FontWeight.w500,
                        ),
                      ),
                      Text(
                        '0 BTC Earns',
                        style: TextStyle(
                          fontSize: 14,
                          fontWeight: FontWeight.w500,
                          color: Color(0xFF35B589),
                        ),
                      ),
                      Text(
                        '0 BTC Earns',
                        style: TextStyle(
                          fontSize: 14,
                          color: Color(0xFF35B589),
                        ),
                      ),
                      Divider(),
                    ],
                  ),
                );
              },
              childCount: 1,
            ),
          ),
        ],
      ),
    );
  }
}

class _Statistics extends StatelessWidget {
  const _Statistics({super.key});

  @override
  Widget build(BuildContext context) {
    return SliverToBoxAdapter(
      child: Container(
        height: 10,
        color: Colors.red,
      ),
    );
  }
}

Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.0, on macOS 12.4 21F79 darwin-arm, locale
    zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.70.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Device
Brand: Xiaomi Civi
Screen size:  6.5 inch
Resolution: 2400 * 1080

I've been having some similar problems, but on iOS. Been trying to narrow it down enough to submit a bug report. Earlier I had one where there were a bunch of TextButtons embedded into a GridView. Replacing the TextButton with a GestureDetector + Padding solved the problem in that case. But I'm not confident that I have figured out the root cause, and I have seen reports of similar problems in other parts of my app that involve neither TextButtons nor GridViews.
One thing I noticed in the GridView case is that it seemed to initially render ok for the parts that were on-screen, but as soon as I scrolled, the stuff that was off-screen looked jaggedy, and scrolling back up, the part that was originally on-screen looked jaggedy too. Also for some reason in this specific case, it seemed like only one column of items in the GridView was affected. (I know this all seems random, and that's why I didn't file an Issue of my own until I isolated the problem more. But I wanted to throw it out there in case it helps.)

Here's a screenshot where you may be able to see that the item in the third column has this aliasing issue. It's not just the text, but also the border on the Container.

Here's a screenshot where you may be able to see that the item in the third column has this aliasing issue. It's not just the text, but also the border on the Container.

Yes, I just found that the border will also have jaggedness, and the problem has been supplemented.

I have also found the same with AlertDialogs. The dialog itself, title and content all had the same issue. This was on Android - I'm not able to test on iOS currently.

I'm going to see if I can reproduce this at all in a very basic app to provide some code.
For anyone else with the same - in one case switching to a SimpleDialog and adding a row with the actions I wanted below worked for the content. May help but ultimately did not 100% for me.

@jonahwilliams Could this issue be related to fractional support? https://github.com/flutter/flutter/issues/107733#issuecomment-1221022815
It seems somewhat similar to what @jpnurmi described on desktop: https://github.com/flutter/flutter/issues/107733#issuecomment-1221265160

Flutter 3.3.0 was hurried, let's be honest.

I can't really reproduce this issue on my Windows machine (1080p, 15" screen) or my Macbook Air M1. Labelling for further insights from the team.

Just to be clear, this is labeled platform-android, but I am seeing this (and my screenshot above) is iOS. Similar to @elliotrtd, I have also had testers show me screenshots of the problem in AlertDialogs (again, on iOS).

It's on the web and desktop too,  in my case I had to wrap the column that has the Text widget with SingleChildScrollView

This code below reproduces it for me. It renders correctly initially, but if you scroll down to push the text up and under the app bar, when you let go, part of it comes back pixelated (on my simulator iPhone 13 Mini, it's the 3rd item only). If I change the padding amount in the Padding widget to 0, the problem does not seem to happen. Padding of even 1 does cause it to happen (I have not exhaustively tested all padding values to see if some reproduce it and some don't, but 0 does not, while 1 and 8 do).
The larger text size is not required, but does make it easier to see the issue.
class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Issue 110738"),
      ),
      body: Padding(
        padding: const EdgeInsets.all(8.0),
        child: GridView.builder(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 4,
              childAspectRatio: 0.7,
              crossAxisSpacing: 4,
              mainAxisSpacing: 0),
          itemCount: 4,
          itemBuilder: (BuildContext ctx, index) {
            return TextButton(
              onPressed: () => print("Pressed"),
              child: Container(
                child: AspectRatio(
                  aspectRatio: 1,
                  child: Text(
                    "Hello, World",
                    style: TextStyle(fontSize: 24),
                  ),
                ),
              ),
            );
          },
        ),
      ),
    );
  }
}

It's on the web and desktop too, in my case I had to wrap the column that has the Text widget with SingleChildScrollView

That's helped with the AlertDialog issue too! If I set the AlertDialog to scrollable: true then the issue is not visible. Thanks!

[Flutter 3.3.0] Reproduce a specific device and complex Widget Tree
Device parameters:
device Redmi Note 9(M2010J19SC)
processor Qualcomm Snapdragon 662
resolution 2340*1080
android 11
Looks like

The rounded corners (Clip.hardEdge) have obvious jaggedness and exceed the specified size range
Image and Text are blurry
Appears to shake left and right when scrolling

If run with "--enable-software-rendering", everything is solved. But this is not acceptable.
Unable to reproduce on iPhone 12 and some other Android devices

Just to be clear, this is labeled platform-android, but I am seeing this (and my screenshot above is) on iOS. Similar to @elliotrtd, I have also had testers show me screenshots of the problem in AlertDialogs (again, on iOS).
For now we are rolling back to 3.0.5 but I will continue watching this Issue for updates…

Met the same issue on macOS and Windows.

I believe it's caused by pixel snapping being removed. I have used this change in local engine to fix, but I guess it's not appropriate to merge? https://github.com/flutter/engine/pull/35538

Happens in my app using AlertDialogs only on iOS, does not happen in 3.0.5

Some images:
Flutter 3.0.5

Flutter 3.3

This is only on iPhone, also, it happens to some SVGs

Some images:
Flutter 3.0.5

Flutter 3.3

This is only on iPhone, also, it happens to some SVGs

Also happens on Master.
Another thing is, if you put the app on background and then come back, you can see the text like moving, its really weird

Try to change the filter quality to medium or low, mostly it's the case on png or SVG

I'm also experimenting something similar with CustomPainter.
The screenshot are from Windows build, but I have the same issues on iOS and Android.
3.0.5

3.3.0

Can anyone do git bisect for the framework with the reproducible example to determine which is the first bad commit?

This will be fixed by:

flutter/engine#35981 (CP: #111231)
flutter/flutter#111207 (CP: #111208)

@jpnurmi  Is this coming as a hotfix?

Yes, here are the cherry-picks:

flutter/flutter#111208 (#111207)
flutter/flutter#111231 (#36022)

Closing this based on https://github.com/flutter/flutter/issues/110738#issuecomment-1241714590.


icingaweb2: 2.11.3 -> 2.11.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Icinga/icingaweb2/releases.
meta.description for icingaweb2 is: Webinterface for Icinga 2
meta.homepage for icingaweb2 is: https://www.icinga.com/products/icinga-web-2/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.11.4 with grep in /nix/store/8mkh2ffb0gdacm4a2lxj81s7snznhz99-icingaweb2-2.11.4
found 2.11.4 in filename of file in /nix/store/8mkh2ffb0gdacm4a2lxj81s7snznhz99-icingaweb2-2.11.4

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
icingaweb2

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

icingaweb2

Maintainer pings
cc @dasJ for testing.

Result of nixpkgs-review pr 214605 run on aarch64-darwin 1

1 package built:

icingaweb2

@ofborg build nixosTests.icingaweb2


Hitmarker

Why does the hitmarker have "Effects" like... can't we have the normal hitmarker like every other cheat has?

++++++++


invalid device when parsing android useragent (toString() = HTC Desire $2 $3 $4 A8181.0.0)

when parsing this user agent:
Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
the device is:
HTC Desire $2 $3 $4 A8181.0.0
or
{
family: 'HTC Desire $2 $3 $4',
major: 'A8181',
minor: '0',
patch: '0' }
seems like the regex groups wasn't replaced correctly

Perhaps this is related to #63 which I think is still an issue, although it seems to happen less often than used to be the case. I also see $ variables in the device family for certain devices e.g.
Mozilla/5.0 (Linux; Android 4.4.2; en-gb; SAMSUNG SM-T230 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Safari/537.36

In this case, it produces Samsung $2
In general, useragent works great though, so it's not a show stopper for us. It would be nice if it were fixed, and every now and then, I come here to see what's up :smile:


Latest stable "cookie-session" dependency not satisfied

Hello, I've just tried upgrading to the latest stable (0.6.3) and am not having any luck when I try to start the blog.
I think there may be an issue with the dependency not being listed in the npm-shrinkwrap.json. I noticed in previous stable releases this file is updated.
Note: I have done an npm install so the error message does not help fixing the issue.
>npm start

><EMAIL_ADDRESS>start C:\Users\Marc\Work\trishadvisor.com\ghost
> node index

ERROR: Ghost is unable to start due to missing dependencies:
  Cannot find module 'cookie-session'

Please run `npm install --production` and try starting Ghost again.
Help and documentation can be found at http://support.ghost.org.

Hi there @marcfallows thanks for the detailed report.
Not sure how but the commit to add the new shrinkwrap file was missing from stable. I must've missed something during the release process, sorry! Have fixed it now :)

Thanks @ErisDS, looks good now.
That did make me wonder though: All of the version tags (say, 0.6.2) are set before the npm-shrinkwrap commit. That means if I were to pull a specific tag to run a specific version, the blog would not work (npm start would likely fail due to missing dependencies).
Or, am I missing something about how the stable release branch works. Perhaps there needs to be version tags as well: 0.6.2-release?

The tags point to master, not stable. The stable branch is a nicety we provide for people installing from git, so that upgrading becomes a matter of pulling. I know from other projects keeping the shrinkwrap file in master is a nightmare, so this is the difference between the two.
Honestly, I'd rather have no one installing from git at all except contributors - it's always where people get stuck & need support, so I don't think doing more things to encourage it is the right thing at this point in the project.

What workflow would you recommend then for someone running Ghost with some customizations? I've been using GitHub for deployment. Should I be merging my changes with the master branch version tag instead?
Or, is there some other recommended best practice for this type of scenario?

There is no recommended best practice for working with a hacked version of Ghost. I don't mean to be glib, but if you're hacking core it really is up to you to find a workflow that works for you ;)

Installing Ghost (during upgrade from 0.6.0 to 0.6.4) using the zip from the officialwebsite also yields this error, when trying to start the server.
Had to manually npm install cookie-session.

The cookie-session dependency is definitely present in the npm-shrinkwrap.json file included in the 0.6.4 zip file (you can search for it to verify). Did you copy across the new npm-shrinkwrap.json during the upgrade process?

Ah, you're right!
When I followed the install instructions during the unzip, it didn't overwrite the existing files from 0.6.0 so when npm install --production it didn't update the project dependencies.
I had expected it to overwrite existing files since the upgrade to 0.5.10 did so.
Thanks!

On Jul 5, 2015, at 11:53 AM, Hannah Wolfe<EMAIL_ADDRESS>wrote:
The cookie-session dependency is definitely present in the npm-shrinkwrap.json file included in the 0.6.4 zip file (you can search for it to verify). Did you copy across the new npm-shrinkwrap.json during the upgrade process?
—
Reply to this email directly or view it on GitHub.


Stochastic but high probabiltiy crash after saving checkpoints (via array_ser) on TPU

Description
I haven't minimized this yet, hoping it rings some bells.
We're running into crashes from the coordination service after checkpointing that are mysterious to me, and AFAICT do not exist on google/in this repo's issue history.  It always happens after serialization, but it is not deterministic. Higher node count does seem to increase the probability.
At least some of the time, once this happens the TPUs can't be used again until the host nodes are restarted, and sometimes that doens't even work. Happens on tpu v3 and v4. They are increasingly high probability with the number of nodes. My best guess is that one node lags behind, but I don't know.  (See an example here https://github.com/stanford-crfm/levanter/issues/486)
Errors message look like this (there are four versions,  one presumably from the coordinator, one from the node that went awry, and then the other nodes?): I catalogued the types of error logs here https://gist.github.com/dlwh/f0c43daacd3380ad561c5b067bf816bd
The weirdest one is  /job:jax_worker/replica:0/task:11 unexpectedly tried to connect with a different incarnation. It has likely restarted.
The code looks like this:
def tree_serialize_leaves_tensorstore(checkpoint_dir, pytree):
    leaf_key_paths = jax_utils.leaf_key_paths(pytree, is_leaf=_is_named_or_none)
    specs = jtu.tree_map(partial(_tensorstore_spec_for, checkpoint_dir), leaf_key_paths, is_leaf=_is_named_or_none)

    # TODO: jax array_ser has a fancy async manager thing to checkpoint while training, would be good but not right now.
    async def _do_serialize():
        futures = jtu.tree_map(_serialize_one_leaf, pytree, specs, is_leaf=_is_named_or_none)
        return await asyncio.gather(*jtu.tree_leaves(futures))

    asyncio.run(_do_serialize())

tree_serialize_leaves_tensorstore(checkpoint_path, state)
logger.info(f"Saved checkpoint for step {step}")

sync_global_devices(checkpoint_path) # unique checkpoint path string

My best guess is that sync_global_devices is timing out, but the error messages don't suggest that...
Probably I should switch to orbax, but I would like to know what's going on.
System info (python version, jaxlib version, accelerator, etc.)
jax:    0.4.21
jaxlib: 0.4.21
numpy:  1.26.4
python: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
jax.devices (64 total, 4 local): [TpuDevice(id=0, process_index=0, coords=(0,0,0), core_on_chip=0) TpuDevice(id=1, process_index=0, coords=(1,0,0), core_on_chip=0) ... TpuDevice(id=62, process_index=15, coords=(2,3,3), core_on_chip=0) TpuDevice(id=63, process_index=15, coords=(3,3,3), core_on_chip=0)]
process_count: 16

@yashk2810 helped me work around this by

using the GlobalAsyncCheckpointManager and not the functions in jax.experimental.array_serialization
I offloaded prior-checkpoint-deletion to a thread
I increased the timeout in (1) to something absurd like 30 minutes


Timezone issue using cockroachdb & postgres

GORM Playground Link

https://github.com/go-gorm/playground/pull/416
Description
Database: cockroachdb
Timezone: Europe/Rome or any other
When a record is created, the created_at field contains current date and time of this timezone, but after selecting this record using First() function by ID, created_at contains same date and time but with different timezone, in my case +0000 UTC.
Expected 2021-12-14 14:40:04.856988 +0000 UTC or better 2021-12-14 15:40:04.856988 +0100 UTC.

I encountered the same problem, we need a fix asap pls.
thank u

I have the same problem, timezone is not consistent between insert/update and select

Same. Does a workaround exist?

Update: time zones don't work with postgres either. @jinzhu any news on this issue? Thanks.

seems the tests pass? https://github.com/go-gorm/playground/runs/4592902633?check_suite_focus=true

I suppose tests pass probably because github's time zone is Europe/London, so there are not problems because offset is always zero. Instead, with any other time zone where offset is not zero, for example my timezone, Europe/Rome, the problem persists.
In the screencast taken from my pc, I show different situations: the first with time zone Europe/London (here all tests pass correctly); and the others where time zones have offset bigger than zero and here the tests failed.
https://user-images.githubusercontent.com/71180446/146936425-af1f85e6-88f8-4ec8-a951-08ce57acca01.mp4

@jinzhu any update on the issue?

The returned timezone is from db server, it doesn't remember the timezone you used when saving, and you can change the connection's timezone with DSN, more details refer: https://github.com/go-sql-driver/mysql#loc

that's about cockroachdb (POSTGRES) NOT mysql. What's the correlation?

you can set timezone for postgres driver like:
import (
  "gorm.io/driver/postgres"
  "gorm.io/gorm"
)

dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})

Refer: https://gorm.io/docs/connecting_to_the_database.html#PostgreSQL


fix Native module WeChatModule tried to override WeChatModule for mod…

Fix native module WeChatModule tried to override WeChatModule for module name RCTWeChat.If this was your intention, return true from WeChatModule#canOverrideExistingModule() bug

@jiangqqlmj Thanks for this pr, and could you please just make a patch to only the WeChatModule.java? The others should be something related to your IDE or packager.

Ping @jiangqqlmj

Close this because of inactivity :(


Issues in input stream reading cause silent failures to turn into JSON parsing errors.

On this line, we break and silently eat an exception.
https://github.com/neo4j/neo4j-ogm/blob/master/src/main/java/org/neo4j/ogm/session/response/JsonResponse.java#L88
I think this is causing issues for me, leading to JSON parser failures, and we are then unable to diagnose the underlying problem.

@emeryc do you mean you receive a generic ResultProcessingException without the underlying Cypher exception? If so, then this is something we've discussed as having to fix, and I will create a separate issue for it. If not, please provide more details so we can determine if it is the same issue or something else, thanks!

Below is the error we get. So no, it's not a ResultProcessingException...
What I think is happening is that on the line https://github.com/neo4j/neo4j-ogm/blob/master/src/main/java/org/neo4j/ogm/session/response/JsonResponse.java#L85 we throw an exception, and then on line 88 we break without anything else going on, no logging, no re-throwing, nothing. That leads us to have an incompletely read stream, which the JSON parser then fails to parse, leading to an error message that does me no good, as I don't know what part of the underlying system is actually failing.
o.n.o.s.r.GraphRowModelResponse - failed to parse

java.lang.RuntimeException: org.neo4j.ogm.json.JSONException: Unterminated string at character 129192
 at org.neo4j.ogm.session.response.GraphRowModelResponse.next(GraphRowModelResponse.java:67)
 at org.neo4j.ogm.session.response.GraphRowModelResponse.next(GraphRowModelResponse.java:31)
 at org.neo4j.ogm.session.response.SessionResponseHandler.loadByProperty(SessionResponseHandler.java:56)
 at org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:81)
 at org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:104)
 at org.neo4j.ogm.session.Neo4jSession.loadAll(Neo4jSession.java:153)

Thanks for the info. This one is specific to OGM 1.x. Issue #119 to be fixed in OGM 2.x is related.

@emeryc please try 1.1.6-SNAPSHOT. You can now catch an org.neo4j.ogm.session.result.CypherException which contains the underlying error code and description.


Add OpenRouter or Groq integration for better compatibility with different ai model providers

Add OpenRouter or Groq Api base url integration for better compatibility with different ai model providers, so as to allow easy switching between model providers like openai, anthropic, mistral and Others. Claude does not work well for me.

We're planning to focus on Claude for now. What issues are you having with it?

I cant use claude even with my api key


bug(remappings): the specified path cannot be found

I'm using windows and I get an error when I use forge build
“The specified path cannot be found.”
Here, the path of the joining together with errors, path , can you tell me the solution?
"D: / software/secure3 / code_Zircuit_zrc_token - main/code/lib/openzeppelin - contracts/contract s\token/ERC20/ERC20.sol”
PS D:\software\secure3\code_Zircuit_zrc_token-main\code> forge build
[⠊] Compiling...2024-09-05T02:03:49.467811Z ERROR foundry_compilers_artifacts_solc::sources: error="D:/software/secure3/code_Zircuit_zrc_token-main/code/lib/openzeppelin-contracts/contracts\token/ERC20/ERC20.sol": 系统找不到指定的路径。 (os error 3)
[⠒] Compiling...
Error:
failed to resolve file: "D:/software/secure3/code_Zircuit_zrc_token-main/code/lib/openzeppelin-contracts/contracts\token/ERC20/ERC20.sol": 系统找不到指定的路径。 (os error 3); check configured remappings
        --> D:/software/secure3/code_Zircuit_zrc_token-main/code/src\ZRC.sol
        @openzeppelin/contracts/token/ERC20/ERC20.sol

Hi @oo90909 it is likely related to your remappings and not a bug
Note the forward slashes in D:/software/secure3/code_Zircuit_zrc_token-main/code/.. compared to the backward slashes in D:\software\secure3\code_Zircuit_zrc_token-main\code of your directory. Make sure your defined path is Windows compatible.

@zerosnacks, we started to face this issue randomly also on mac, linux & now also linux-ci.
For us it seems to be related to caches as we can resolve it by pruning the /cache folder.
2024-10-04T06:05:49.515788Z ERROR foundry_compilers_artifacts_solc::sources: error="/home/runner/work/***-gov-v3/***-gov-v3/lib/aave-helpers/lib/solidity-utils/src/contracts/utils/ChainHelpers.sol": No such file or directory (os error 2)
Error:
failed to resolve file: "/home/runner/work/***-gov-v3/***-gov-v3/lib/aave-helpers/lib/solidity-utils/src/contracts/utils/ChainHelpers.sol": No such file or directory (os error 2); check configured remappings
	--> /home/runner/work/***-gov-v3/***-gov-v3/script/E2EPayload.s.sol
	solidity-utils/contracts/utils/ChainHelpers.sol

I don't know much about foundry internals, but the curious case here is that the file not found - is correctly not found, as it no longer exists at this path. The issue is though that it also is no longer referenced in the core (this is why pruning the cache folder helps).


Rpc generation

Description
This PR includes new generated RPC methods for ops_getBlockDetails, personal_ecRecover, getSeed, submitSeed, submitSignature, getBlockTemplate, submitBlock, getMinerStats, validateAddress, and getDifficulty.
This is the first step in moving the kernel towards an automatically generated RPC.
Additionally, the RPC no longer holds an instance of aionBlockChainImpl. This has been moved into a separate class.
Fixes Issue # AKI-426 .
Type of change

[] Bug fix.
[x] New feature.
[] Enhancement.
[x] Unit test.
[ ] Breaking change (a fix or feature that causes existing functionality to not work as expected).
[x] Requires documentation update.

Testing
This commit includes unit tests which test that calls can be encoded and decoded.

Mockito does not allow spying on final classes.

ah, okay.


update grpc gateway

https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.7.0
https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.7.1
https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.7.2
https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.7.3

https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.8.0


After running script, DNS resolves fail on client devices as well as on the USG P3

I'm not sure if I'm doing something wrong, but on a freshly provisioned USG 3P, running the command seems to halt all DNS resolves, both on the device itself and on client devices.
I noticed the "Commit failed" when running, but I'm not sure if this is desired.
After re-provisioning the USG, it seems to work, but I don't believe that it's using cloudflared for resolves (as tested on https://www.cloudflare.com/ssl/encrypted-sni/ )
Any troubleshooting or debugging steps would be appreciated.
lanman@USG:~$ bash <(curl -s https://raw.githubusercontent.com/Twanislas/ubnt-cloudflared/master/install.sh)
Installing cloudflared
INFO[0000] Using Sysv
Not running
Starting cloudflared
Nothing to delete (the specified node does not exist)
[ firewall name WAN_OUT ]
calling cfgPathGetValue() without config session

Commit failed
Saving configuration to '/config/config.boot'...
Done
lanman@USG:~$

A bit more playing around, I ran the commands in the install script manually, but skipped all of the firewall stuff (blocking outgoing dns requests) and everything seemed to work.
I created the firewall rule manually through the Controller UI and that was successful. The difference on the UI vs the CLI is that the UI expected a port group rather than just a port number.
Maybe the script needs to create a port group (with the single port 53 in it) and assign that to the firewall rule instead of just a port number?

Hi !
Thanks @mosfet for opening this issue :)
I'll try and have a look today.
It's been a while so most likely Vyatta was updated and I just need to update the commands...
Cheers !

Hi !
So I successfully ran the folowing snippet on a USG3 and USG4P :
delete firewall name WAN_OUT rule 1000
set firewall name WAN_OUT rule 1000 action drop
set firewall name WAN_OUT rule 1000 description "Block all outgoing DNS requests on WAN_OUT"
set firewall name WAN_OUT rule 1000 protocol tcp_udp
set firewall name WAN_OUT rule 1000 destination port 53
set firewall name WAN_OUT rule 1000 log enable

Maybe it was just cloudflared that needed an update... I updated the binary.
Would you mind trying again from the start ?
Cheers !

Hi !
Friendly bump :)
Any news ?
Cheers !

Looks like no error messages when running the install script, but afterwards, I'm unable to do any DNS resolves from a client computer, and no pings from the USG itself...
I also notice that cloudflared is running high on the process list (over 100% in top), so I'm not sure if its something wrong with it or something else.

Allright, thanks for the update.
I'll look into it further :)
Cheers !

Any troubleshooting hints?

You could try to manually run cloudflared when connected via SSH (not in config edit mode) and look at its console output and logs

Ah, I did just that, and a lot of spam:
ERRO[0013] failed to connect to an HTTPS backend "https://<IP_ADDRESS>/dns-query"  error="failed to perform an HTTPS request: Post https://<IP_ADDRESS>/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"

ERRO[0013] failed to connect to an HTTPS backend "https://<IP_ADDRESS>/dns-query"  error="failed to perform an HTTPS request: Post https://<IP_ADDRESS>/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"

Further, my previous test may have been invalid, I had run the commands in the install script manually one by one. When running the full install.sh script, it did give me the "Commit Failed" message:
lanman@USG:~$ bash <(curl -s https://raw.githubusercontent.com/Twanislas/ubnt-cloudflared/master/install.sh)
Installing cloudflared
INFO[0000] Using Sysv
Not running
Starting cloudflared
Nothing to delete (the specified node does not exist)
Nothing to delete (the specified node does not exist)
[ firewall name WAN_OUT ]
calling cfgPathGetValue() without config session

Commit failed
Saving configuration to '/config/config.boot'...
Done

Hi,
I'm sorry for the latency here. but life happens and I migrated my home setup to AdGuard Home, thus I'm not using this anymore and will archive the repo. Sorry for the inconvenience...


Scatter: Added X-axis gradient fill area

Add X-direction gradient fill to Scatter plot.
User can set stop points and corresponding colors.
Like Microsoft word - Create a custom gradient
https://support.microsoft.com/en-us/topic/add-a-gradient-color-to-a-shape-11cf6392-723c-4be8-840a-b2dab4b2ba3e
For example the following picture is the spectrum of an LED.

How I implement it
When FillX is set, it will be used instead of the setting of FillYColor for rendering.
In Render(), I set the Hatch property in FillStyle.
And calculate the ColorPositions and Colors of Gradient based on the current chart position.

Since in Gradient, the range of ColorPositions is 0~1, so a conversion calculation has to be done on this.
When a graph is cut off by an edge, the colors must be interpolated in order to get the correct cutoff point color.

result image
After scaling or moving, the color corresponding to the X-axis can be displayed correctly.

sample code
 Coordinates[] points =
 {
     new (350, 1),
     new (380, 2),
     new (555, 3),
     new (780, 1),
     new (950, 2),
 };

 var poly = formsPlot1.Plot.Add.Scatter(points);

 poly.MarkerStyle.IsVisible = false;
 poly.FillY = true;
 poly.FillXPoints = new float[] {
     380.0F,
     440.0F,
     490.0F,
     510.0F,
     580.0F,
     650.0F,
 };
 poly.FillXColors = new Color[] {
     Color.FromHex("#610061"),
     Color.FromHex("#0000FF"),
     Color.FromHex("#00FFFF"),
     Color.FromHex("#00FF00"),
     Color.FromHex("#FFFF00"),
     Color.FromHex("#FF0000"),
 };

@CoderPM2011 this is so cool! Thanks so much for this PR!
I'll make a few small refinements, merge this in, and publish it with the next release tomorrow 🚀

a few small refinements

I ended-up changing the API a bit with the goal of simplifying the Cookbook example I created. I'm going to merge this now, but if you think of improvements still you're welcome to create a new PR!
I almost made a PositionedColorGradient primitive to wrap logic around accumulating colors and positions and house some of the interpolation logic. I figured it could be reused for other things (like creating custom colormaps). I noticed there is already a Gradient primitive, but it does something a little different, so I think there may be use for a new primitive that does exactly this. I also thought about defining position as Coordinates instead of double because that would make it easy to support vertical gradients and also diagonal gradients. I'm leaving things as they are now to keep things moving, but if you have ideas for logic to add to such a class you're welcome to give it a go in a new PR!
Thanks again for your help on this one 😄

Also, it would be super cool to create a cookbook demo that mimics this site
https://www.thermofisher.com/order/fluorescence-spectraviewer


Support for nested queries like (#1634)

I had to do some major changes to the architecture to implement this feature, therefore I created this draft to show them to you. The changes are:

Selectable.map now accepts async functions
The QueryWriter now passes the required data around (except the scope), therefore I removed the query field
The QueryHandler now passes the required data around (except the context etc.), therefore I removed the source field
SqlQuery has now a root field, because when generating subqueries I had to change the root AstNode but also wanted to keep the AnalysisContext. I was not able to remove the root field from the analysis context, because some legacy methods evely relied on this field

The generation for the nested query works roughly, but accessing data from the main query is not yet supported. But the example now works:
CREATE TABLE profile (
    uuid        TEXT    NOT NULL,
    name        TEXT    NOT NULL,

    PRIMARY KEY (uuid)
);

CREATE TABLE image (
    uuid        TEXT    NOT NULL,
    id          TEXT    NOT NULL,

    FOREIGN KEY (uuid) REFERENCES profile (uuid) ON DELETE CASCADE,
    PRIMARY KEY (id)
);

getProfile(REQUIRED :uuid AS TEXT):
SELECT
    p.** AS profile,
    LIST(SELECT * FROM image AS i WHERE i.uuid = :uuid) AS images
FROM profile AS p
WHERE p.uuid = :uuid;

Generates:
Selectable<GetProfileResult> getProfile(String uuid) {
  return customSelect(
      'SELECT"p"."uuid" AS "nested_0.uuid", "p"."name" AS "nested_0.name", 0 FROM profile AS p WHERE p.uuid = ?1',
      variables: [
        Variable<String>(uuid)
      ],
      readsFrom: {
        image,
        profile,
      }).map((QueryRow row) async {
    return GetProfileResult(
        profile: profile.mapFromRow(row, tablePrefix: 'nested_0'),
        images: await customSelect(
            'SELECT * FROM image AS i WHERE i.uuid = ?1',
            variables: [
              Variable<String>(uuid)
            ],
            readsFrom: {
              image,
            }).map(image.mapFromRow).get());
  });
}

class GetProfileResult {
  final ProfileData profile;
  final List<ImageData> images;
  GetProfileResult({
    required this.profile,
    required this.images,
  });
}

Things left todo:

[x] Remove 0 workaround to fix trailing comma error
[x] Pass data form the main query
[ ] Write some tests :)

Just finished the implementation for passing data from the main query to the nested queries :) I think it should be possible to support nested queries in nested queries (multiple nested queries is perfectly fine), but this is currently UB. The example now can be written like this:
getProfile(REQUIRED :uuid AS TEXT):
SELECT
    p.** AS profile,
    LIST(SELECT * FROM image AS i WHERE i.uuid = p.name) AS images
FROM profile AS p
WHERE p.uuid = :uuid;

And generates the following code:
Selectable<GetProfileResult> getProfile(String uuid) {
  return customSelect(
      'SELECT"p"."uuid" AS "nested_0.uuid", "p"."name" AS "nested_0.name",0, p.name AS nested_query_0_p_name FROM profile AS p WHERE p.uuid = ?1',
      variables: [
        Variable<String>(uuid)
      ],
      readsFrom: {
        image,
        profile,
      }).asyncMap((QueryRow row) async {
    return GetProfileResult(
      profile: profile.mapFromRow(row, tablePrefix: 'nested_0'),
      images: await customSelect('SELECT * FROM image AS i WHERE i.uuid = ?1',
          variables: [
            Variable<String>(row.read('nested_query_0_p_name'))
          ],
          readsFrom: {
            image,
          }).map(image.mapFromRow).get(),
    );
  });
}

The generation for the nested variables works as follows:

All References in subqueries are checked if they point to something inside of the nested query or rely on something from the parent query. If they rely on the parent, these references are replaced by variables (NestedQueryVariable new subclass of ColonNamedVariable). The replacement is done in the sqlpaser in the NestedQueryResolver.
In the QueryHandler every nested request receives a unique name. I tried to use the InferredResultSet nested prefix system, but couldn’t get it working. Because when I needed the names the result set was not yet completely built.
Before writing the query in the QueryWriter the NestedQueryTransformer adds all the required result rows to the select statement.

So I'm not sure how feasible this is for this feature (and maybe you're already doing it) but in my current projects I do this to be try and be more efficient:
return CombineLatestStream.combine2<List<Table1>, Map<String, List<Table2>>>(
  db.getTable1(...).watch(),
  db.getTable2(...).watch().map((event) {
    return groupBy<Table2Result, String>(event, (e) => e.table1Id);
  }),
  (table1ResultList, table2ResultListMap) {
    return table1Result.map((table1Result) {
      return FinalResult(
        table1Result: table1Result,
        table2ResultList: table2ResultListMap[table1Result.id] ?? const [],
      );
    });
  },
);

The idea being that each query only updates and builds the result when their own table changes. And then the final result gets returned using by combining those results. e.g if Table2 gets updated then table1ResultList doesn't need to be reprocessed.
It could be that my use case is too specific or im wrong about it being more efficient but I thought it was maybe worth mentioning. (sorry for the poor explaination)

@North101 If I understand your example, query two does not depend on data retrieved in the first one? But I get your point. In the current implementation, even if the result of the nested query does not change, it will be run again when something from the main query changes.

Yes, each query is only run when the respective tables are updated. I should have lead with that.
I also meant to mention that this obviously only works if you don't depend on the results from the other table (so if you were passing e.g. an id value to be filtered by then i'd pass that to both tables rather than reference the "outer" table)

Personally I see three main problems when trying to integrate this optimization into the code generation:

It would be necessary to check if the nested query does not require any data from the main query. And only if this is the case we could use this optimization. (this should not be to difficult)
And idk if it is possible to create a generic approach, where it is not necessary to differentiate between watching and getting the result of a query. Is it possible to return a Selectable from your method?
Also the code two join those queries seems quite complex to generate for generic types and an arbitrary amount of nested queries.

Is it possible to return a Selectable from your method?

We can always add a Selectable.combineLatest to drift :D

Also the code two join those queries seems quite complex to generate for generic types and an arbitrary amount of nested queries.

True. It could be interesting as a follow-up work (I will take a look at it) for performance though.

Btw, what’s the difference between SqlSelectQuery.requestedResultClass and InferredResultSet.resultClassName?

Btw, what’s the difference between SqlSelectQuery.requestedResultClass and InferredResultSet.resultClassName?

requestedResultClass is set for queries like myQuery AS RequestedResultClass: SELECT * FROM .... It tells the generator to use RequestedResultClass as a name for the generated class and allows to use the same result class for different queries (if they return compatible columns).
resultClassName is the actual class name to use. If requestedResultClass is non-null, it will be the same as that one. Otherwise it's a new result class or the name of the data class if the query only selects a full table.

Thanks for having a lock on this :) I could compose a list of code snippets where I’m not that sure if this is the right approach?

In my opinion the following snippets could be improved. I don’t think they are particularly bad, but could cause some problems down the line.

elementsWithNestedQueries in drift_dev/lib/src/model/sql_query.dart:168
The main problem I have with this method is, that to filter duplicates the elements are compared by their dartParameterName which should be unique but I think there could be a better way to filter duplicates.
Line 947 in sqlparser/lib/utils/node_to_text.dart
It is necessary to filter out NestedQueryColumns, because otherwise the comma from the join can not be removed. But I think this is somewhat in conflict with the pattern of the NodeSqlBuild and could be confusing when trying to understand the control flow.
In the QueryHandler in line 69 the requestedResultClass is passed to the _QueryHandlerContext.requestedResultClass. This is later passed to the SqlSelectQuery.requestedResultClass and the InferredResultSet.resultClassName. I’m not sure if this is correct, because I think before my changes the requestedResultClass was only passed to the select query.

I've played around with the implementation and the results a bit, this is very cool! Thanks again for your amazing work here :rocket:
I managed to move the analysis entirely to the drift_dev package by treating outgoing references as variables before they're being replaced.

The main problem I have with this method is, that to filter duplicates the elements are compared by their dartParameterName which should be unique but I think there could be a better way to filter duplicates.

I think we should probably disallow duplicate placeholders altogether in SQL.

It is necessary to filter out NestedQueryColumns, because otherwise the comma from the join can not be removed. But I think this is somewhat in conflict with the pattern of the NodeSqlBuild and could be confusing when trying to understand the control flow.

It looks like we're never generating a query with nested result columns in the end? Isn't the transformer replacing those in an earlier step? I've removed the filter and nothing broke in the generated code.

In the QueryHandler in line 69 the requestedResultClass is passed to the _QueryHandlerContext.requestedResultClass. This is later passed to the SqlSelectQuery.requestedResultClass and the InferredResultSet.resultClassName. I’m not sure if this is correct, because I think before my changes the requestedResultClass was only passed to the select query.

I'll take a look at revisiting the logic used to chose the result class name. We can probably infer the name from the nested result set used and don't need to pass it down with requestedResultClass.

I took a look at your changes and your approach seems way cleaner than my attempt and also the analysis makes much more sense in the drift package than in the sql parser.

It looks like we're never generating a query with nested result columns in the end? Isn't the transformer replacing those in an earlier step? I've removed the filter and nothing broke in the generated code.

Oh yes you're right, in the beginning I kept the columns and just ignored them during code generation. Only later I changed the transformer to remove them completely.
Thanks for all your help regarding this feature :)

No worries, and thank you for starting all the work on this. It's a really cool feature :)
I'll take a look at concurrency with multiple nested queries after merging this to develop, the feature is done already and the rest is mostly a matter of optimization.


feat: add trace logs for cyclone function execution

This adds some simple trace logs to deadpool execution steps so we can capture some basic metrics around how long we spend spinning up firecracker VMs vs just running tokio processes

bors r+


Update product icons

Update some product icons so that we don't have repeats

Holding off on merging this until we get some updated assets


Explore map view: mousing over observation makes pop-up block pin.

Go to https://www.inaturalist.org/observations?place_id=152628 and make sure you're in map view.
Mouseover one of the observations on the side.
Correct pop-up appears, but its point is on the bottom of the pin.

Clicking on the pin (which is always just above the pop-up described above) produces a "correctly" placed pop-up, which doesn't cover the pin.

I deployed some changes for explore. Any better now?

I think this is fixed so I'll close it, but please reopen with examples if you're still seeing the problem


Eclipse DBeaver Autocomplete Suggestion not Highlighting

Hello,
When the autocompletion window pops up and suggestions get generated, it does not highlight when either clicking on the suggestion or when using the up/down arrow keys. I was previously using the standalone DBeaver application which did not have this issue but have recently switched to using the Eclipse IDE and DBeaver plugin to keep all of my coding that I do in one place. Below is a screenshot of the issue where I actually clicked on the selection but did not highlight. I tried looking through the preferences but couldn't find anything.

thanks for the bug report

This started happening for me after upgrading from 7.1.1 to 7.1.2.  The focus is not staying on the list of tables so it's not possible to use the up/down arrow keys to pick a table from the list.  I had to revert back to 7.1.1.

Can't reproduce this problem.
Perhaps it was caused by Eclipse platform change (in 7.1.2 we upgraded upto 2020-06 version). But we reverted this change in 7.1.3 version.
@jcachat could you test this in the latest version? (7.1.5)

Yes, it was resolved when you reverted in 7.1.3.  And I am not having the issue now with 7.1.5 either.


Added ENABLE_POOL_SANITIZER guard to support more compiler options

LGTM

Opted to implement this a different way (using cmake).


Add link to reference docs in README

Hi there!
My name is Leo, a CS student at Brown building an automated platform for editable codebase documentation.
I generated documentation for this repository and placed a link in the README. Please feel free to try it out and let me know what you think!

Not very suitable for the project


email_log: Reset the value of email after email change process.

Currently generate emails throws an error when run for the second time.
This commit actually only needs
user_profile.save()

but it's more readable with both the lines. Got removed in 15b3a8e4ffd74472f3cc4816602a2b5a8c87c2de
Before 15b3a8e4ffd74472f3cc4816602a2b5a8c87c2de this used to be
user_profile.emails =<EMAIL_ADDRESS>user_profile.save()

I am kind of surprised that user_profile.emails didn't throw an error even though emails was an invalid attribute.

I am kind of surprised that user_profile.emails didn't throw an error even though emails was an invalid attribute.

You shouldn't be surprised; in Python, you can monkey-patch whatever attributes you want onto any object.  So while maybe mypy might complain about this sort of thing, Python certainly won't.
As a sidenote, we usually try to be consistent about passing update_fields to .save() in production code; I'm going to add a lint rule on this front.


Implement BooleanArray

This also adds a document on type confusion (see #17).

This is ready for review. I'm going to implement the remaining bits in a new PR.

Generally looks really good @asmeurer - just a few small changes / questions


[DRAFT] MGDCTRS-2194: Smart Event Processors: Control Plane:  Validate definitions

See https://issues.redhat.com/browse/MGDCTRS-2194
This adds generation of a new JSON Schema for use by Smart Event Processors.
Smart Event Processors need more Camel features exposed; such as FromDefinition, Unmarshall and JsonDataFormat.

@manstis oh, can you create a branch on this repèo instead of your fork ? some secrets are not availables in forks

@manstis oh, can you create a branch on this repèo instead of your fork ? some secrets are not available in forks

@lburgazzoli I don't have access to push directly to this repository.

Closed in preference of https://github.com/bf2fc6cc711aee1a0c2a/cos-fleet-catalog-camel/pull/667


feat: Support insecureSkipVerify for HTTP templates. Fixes #7790

Fixes #7790
Previously when trying to make requests to websites with custom CA certificates, the workflow would not run with the error x509: certificate signed by unknown authority. One approach to this fixing these requests is skipping TLS verification for the HTTP client. This is implemented with a insecureSkipVerify boolean in the HTTP template which if set changes the TLS config of the client to skip such verification.
Example HTTP template:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: http-template-
spec:
  entrypoint: main
  templates:
    - name: main
      steps:
        - - name: get-internal-homepage
            template: http
            arguments:
              parameters: [{name: url, value: "https://expired-rsa-dv.ssl.com/"}]
    - name: http
      inputs:
        parameters:
          - name: url
      http:
        timeoutSeconds: 20 # Default 30
        url: "{{inputs.parameters.url}}"
        method: "GET" # Default GET
        headers:
          - name: "x-header-name"
            value: "test-value"
        successCondition: "response.body contains \"ssl\"" # available since v3.3
        body: "test body" # Change request body
        insecureSkipVerify: true

The website https://expired-rsa-dv.ssl.com/ allows to test reaching a site with an expired SSL which is another security check disabling TLS verification will skip.
Workflow output with insecureSkipVerify: true
Name:                http-template-wtmkb
Namespace:           argo
Name:                http-template-wtmkb
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Succeeded
Conditions:
 PodRunning          False
 Completed           True
Created:             Mon Feb 14 16:47:46 -0800 (1 second ago)
Started:             Mon Feb 14 16:47:46 -0800 (1 second ago)
Finished:            Mon Feb 14 16:47:47 -0800 (now)
Duration:            1 second
Progress:            0/0

STEP                          TEMPLATE  PODNAME  DURATION  MESSAGE
 ✔ http-template-wtmkb        main
 └───✔ get-internal-homepage  http

This workflow does not have security context set. You can run your workflow pods more securely by setting it.
Learn more at https://argoproj.github.io/argo-workflows/workflow-pod-security-context/

Workflow output with insecureSkipVerify: false
Name:                http-template-m2hbt
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Running
Name:                http-template-m2hbt
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Failed
Message:             child 'http-template-m2hbt-1399920525' failed
Conditions:
 PodRunning          False
 Completed           True
Created:             Mon Feb 14 16:48:49 -0800 (2 seconds ago)
Started:             Mon Feb 14 16:48:49 -0800 (2 seconds ago)
Finished:            Mon Feb 14 16:48:51 -0800 (now)
Duration:            2 seconds
Progress:            0/0

STEP                          TEMPLATE  PODNAME  DURATION  MESSAGE
 ✖ http-template-m2hbt        main                         child 'http-template-m2hbt-1399920525' failed
 └───✖ get-internal-homepage  http                         Get "https://expired-rsa-dv.ssl.com/": x509: certificate has expired or is not yet valid: current time 2022-02-15T00:48:50Z is after 2016-08-02T20:48:30Z

This workflow does not have security context set. You can run your workflow pods more securely by setting it.
Learn more at https://argoproj.github.io/argo-workflows/workflow-pod-security-context/

@alexec  can you review this PD?

/lgtm


translated some Chinese curriculum files

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Finish #40463 task No.1-4 with the help of @S1ngS1ng

@miyaliu666 I believe your master branch was not up-to-date with the most recent changes on the FCC master branch.  This is causing an error during the code scanning.  You should rebase your master against FCC master.  In general, you should not be making PRs from your master branch.  You want to keep your master branch "clean" and always create a new branch off your master and create a PR from the new branch.

addressed in #40531


Diagnostic view displays AuthService, RateLimitService and TracingService

Addresses https://github.com/datawire/ambassador/issues/730

Thanks @alexgervais!


Update to pydantic 2.0

I hear it's faster 😉

Is this related to #588 ?

Yes, #588 would probably be a blocker for this issue.

As an FYI, I finally got around to updating pycql2 to work with v2. If it would be useful for this update. Its in the develop branch right now and is passing all my tests + some hypothesis fuzzing. Had to do a few odd things to get v2 working, but think its in a decent spot. And happy to address any concerns with it if there are any, as well as provide any help integrating.

support for pydantic 2 was added in stac-pydantic 3.0.0

@bmcandr please see #625

:wave: @thomas-maschler. Thanks! I was actually asking about 588 with respect to your PR. The discussion in https://github.com/stac-utils/stac-pydantic/pull/127 suggests that it's no longer a blocker on this issue, but I haven't seen confirmation. Just eager to get your PR merged 😄

done in #625


NCDA: Show abnormal ranges for MUAC measurement [3h]

Issue
Show the Green/Yellow/Red indicator for the MUAC measurement as appears on a normal nutrition encounter.

Task

Add the inline indicator

NCDA is on live for few months. Closing.


Install Gem and check version - Readme.md

Don't forget to install the gem

whoops! I suppose that's an important detail. Thanks Eric.


Simplify input names in workflows

What is being addressed
Our workflows sometimes used inputs with TF_VAR name prefix. While this is necessary when calling the devcontainer, the workflows themselves don't need to be bothered with this nuance.
How is this addressed

Remove TF_VAR prefix until it's actually required (the devcontainer custom action)
Remove duplicate ENV usage of the inputs in the devcontainer custom action

/test-force-approve
testing was done on a branch workflow https://github.com/microsoft/AzureTRE/actions/runs/3076582988