Blaze #each - no reactivity on context?

Hey Manuel,
just using your package "ViewModel" and find out, that there are some issues with the reactivity of a given context. For example, I'm using the following Template:
notification.js
Template.notification.helpers({
notifications: function() {return Notifications.find({}); }
});

notification.html
{{#each notifications}}
{{>notification_item}}
{{/each}}

notification_item.js
Template.notification_item.viewmodel(function(data) {
return {
likeCount: function() {return data.likes; }
}; });

So, when I receive a new like, "likeCount" doesn't get updated. At the moment, I'm using this fix:
notification_item.js
Template.notification_item.viewmodel(function(data) {
return {
doc: function() { return Notifications.find(data._id); }
likeCount: function() {return this.doc().likes; } //Now reactive
}; });

But is that the correct way? I'm just wondering if there are any performance issues when I do it like this way?

Template.notification_item.viewmodel(function(data) {
  return {
    likeCount: function() {return data.likes; }
}; });

In this case likeCount is returning a constant. That's why it doesn't get updated. The notification_items view model inherits (so to speak) the likes and it's reactive so you can just use likes:
Template.notification_item.viewmodel({
  printLikes: function() {
    console.log( this.likes() );
  }
});

Thank you very much :).

Sorry to ask you again, but is there any possibility to use this package (https://github.com/dburles/meteor-collection-helpers) with the method above? The helpers aren't defined within the ViewModel when I try to call this.myHelper() within my notification_item viewmodel.

Okay, the thing with the context is getting worse. I want to use a method also as a helper. Just reading some docs of my Stats collection:
    {{#each currentStats}}
        {{>earning_card}}
    {{/each}}

Defining a new view model and add a helper:
Template.earning_card.onCreated(function() {

    this.vm = new ViewModel({

        isCurrent: function() { return (moment().month() + 1) == this.month(); },
        formatDate: function() { return moment(this.createdAt).format("MMMM YYYY"); }
    }).addHelper('isCurrent',this);
});

Template.earning_card.onRendered(function() {
    this.vm.bind(this);
});

So, no properties of the "stat document" are available on the VM object. I've to call this.vm.extend(this.data) to add them to the VM object, but this will crash the template helper, because the template helper doesn't read the properties as a function, so in the case above I'll get an "this.month() is not a function" error. Uff...

I'm closing this one because it's an old question. If you're still having problems please open up a new ticket.


Update always gets stuck on downloading sharedAssets file

I am storing all the files on my local machine so the problem is not due to timing out.
The patch that I am struggling with does have some very large files (almost 6GB)
The Error on the Launcher is "ERROR: patch 0_2__0_3 could not be downloaded"
It does hang up on the large 6GB file before showing the error.

We have done some large scale testing and the patcher is holding up great. I think you can remove those lines of code and be fine. Thanks again for all the support.


Paying for college: Fix the https URL of S3 resources

In September we changed some http URLs used in code to https.
Most of the changes were good as-is, but one related to an S3 resource made
a Jenkins job fail, because the S3 URL was not designed to be used with https.
In this case, the old URL was:
http://files.consumerfinance.gov.s3.amazonaws.com/pb/paying_for_college/csv/validated_program_data/[SLUG]
Using that URL with https raises a certificate error when a Jenkins job requests it.
The https form that we can use (as pointed out by @rosskarchner) is:
https://s3.amazonaws.com/files.consumerfinance.gov/pb/paying_for_college/csv/validated_program_data/[SLUG]
Testing
To load an S3 resource locally and confirm that the S3 file is fetched using https without error, run
./cfgov/manage.py load_programs --s3 true CFPB_EDMC_20191017.csv

You should get an echo saying:
0 programs created. 2 programs updated.

Can't we also just do ...

Yup, that works, and is simpler.


Refactor istio-docker.mk for 30 second builds

This PR significantly cleans up istio-docker.mk and causes
make docker to run in ~10% of the time on my gear compared to
master under the same testing circumstances.
Most of this PR's work is done by reducing the size of the build context
sent to the docker daemon.  Note the times below are the make docker
operation after make docker has already been done.  The first
make docker without cached images can take varying times to
build.  The results here simply measure the overhead of building the go
binaries and sending the correct data in the Docker build context.
sdake@falkor-07:~/go/src/istio.io/istio$ time make docker
mkdir -p /home/sdake/go/out/logs
bin/gobuild.sh /home/sdake/go/out/linux_amd64/release/pilot-discovery ./pilot/cmd/pilot-discovery

.
.
.

real	0m26.074s
user	0m14.800s
sys	0m7.020s

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

Needs approval from an approver in each of these files:

OWNERS

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

/assign @costinm

would appreciate any and all reviews of this WIP PR.

@sdake: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
f0324c2c8042f3ab9a3e07f6fbdbc1711ce3e4dd
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

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

Needs approval from an approver in each of these files:

OWNERS

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

gate looks pretty good ;)

@sdake: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
5d18b25af72f7dea2319dee226335096e350e2aa
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-multicluster-e2e

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

Needs approval from an approver in each of these files:

OWNERS [rshriram]

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

/approve

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

Needs approval from an approver in each of these files:

OWNERS [rshriram]

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

@sdake @rshriram
The Service Graph plan was to mark it as deprecated, and remove it from the default istio-demo install.
It was supposed to still be installable as a helm option in 1.1.


New package: MaestroSoft.MaestroAarsoppgjoer.2023 version 36.03.25

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Internet Translation: Aarsoppgjoer Annual settlement


[Bug]: Change where condition options for firestore

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When working with Firestore API, the where condition filter needs to be updated from "Contains" to "Array Contains" and "Contains Any" to "Array Contains Any". This is required as users may get confused searching items directly instead of searching Arrays.
Since the where condition UI component is generic, it needs to be checked if the implementations affects only firestore Databases related UI.
Steps To Reproduce
UI Changes required
Change "Contains" to "Array Contains"
and "Contains Any" to "Array Contains Any".
key remains the same
Public Sample App
No response
Version
Self hosted

@leotom2000 the problem isn't very clear here. Can you please add steps to show the error and what the problem is. Array Contains as a text doesn't sound very intuitive. I'm closing this till we get more information


Alter max polling interval for Cromwell

Allows for an extended polling interval for Cromwell watcher jobs
Adds some per-sample jitter to the max interval so that we spread out the API burden
This task is particularly long running (~days) so this could be extended even further

I've added a comment to clarify why this is happening, and that the value represents seconds


fix simple rbc tutorial

Parameter \gamma must be positive, not 0.  Also rearranged the equations so that there aren't any endogenous variable in the denominator or taken to a negative power.  This seemed to do the trick


Problems with deployment of WSO API Manager

Description
Hello, Dilshan.
We want to deploy WS API Manager from source code from GitHub - https://github.com/wso2/carbon-apimgt/tree/master
But if you do everything strictly according to the instructions, the mvn clean install command does not work, errors occur, etc., and also not all tests work correctly.
Also, it is unclear what needs to be done after the successful completion of the build? Based on materials from the Internet, I found that for further launch, you need to take a version of the received artifacts of the form...- 9.12.3-SNAPSHOT, additionally download your product product api, put the artifact version there and also run the mvn clean install command, then find the generated zip archive, unzip it and run from it wso2server.sh (linux) or wso2server.bat(windows).
I tried to do this, but mvn clean install also throws an error (P2 publisher return code was 13) in org.wso2.am:amp 2-profile:pom:4.2.0-SNAPSHOT.
Affected Component
APIM
Version
https://github.com/wso2/carbon-apimgt/tree/master
Environment Details (with versions)
Windows, Linux
Related Issues
No response
Suggested Labels
No response

Hi @mishasmirnov2006
What are the errors you encounter while building the https://github.com/wso2/carbon-apimgt ? Maybe it could be something to do with your JDK version or maven version. I'm using maven 3.6.3 and jdk 11 to build this
Once you build the carbon-apimgt branch successfully, you need to clone the product-apim branch https://github.com/wso2/product-apim/tree/master and change the carbon-apimgt version in https://github.com/wso2/product-apim/blob/master/pom.xml#L1304 location and build it.


Interpretation of project_cell_annotation output

Hello, I am interested in using Tangram to integrate my Visium/single cell data and I wanted to better understand the output of project_cell_annotation  stored in tangram_ct_pred. Are these values useful on the absolute scale or only relative? I notice that your plotting function standardizes all of these values to 0-1 scale. Thanks!

Ciao edward and apologizes for the delay in responding (holidays and such).
project_cell_annotation simply transfers any annotation from the scRNAseq data to space. Most times, we use it to transfer to the cell type probabilities stored in tangram_ct_pred. These values are useful on a relative scale, not absolute. As you notice, when we plot them, the plotting function standardizes to 0-1 scale irrespective of the scale of each annotation (cell types). We wanted Tangram to do that.
The meaning of plotting tangram_ct_pred in space is to tell you where your cell type is likely to be within the ROI,

Hello, how do I get the most likely cell type for each voxel from tangram_ct_pred. Thanks!

The simplest way is to fetch the most probable cell for each voxel (which assumes one cell per voxel).
To get a more accurate histogram, you can sample one cell from the probability distribution of each voxels: in this way, you do not get only the most probable cell, as you sample proportionally to the cell probability.

The simplest way is to fetch the most probable cell for each voxel (which assumes one cell per voxel).

Thanks for your clarification. If each voxel only has one cell, do you mean that we can use np.argmax(adata_MxIF.obsm["tangram_ct_pred"].values, axis=-1) to assign a label for each voxel with the class with the largest probability?  Thanks!

Short answer: yes.
Long answer: yes but be careful.
Let's say that you have 4 voxels (containing 1 cell each), each of them is 75% prob. of being a cancer cell and 25% of being an immune cell.
How many immune cell do you expect? I would say 1 - but using argmax will give you all cancer cells.
Despite the above argument, we still use argmax to do assignment. But if you asked us to build an histogram of cell types, we would instead draw a random binary label with 75%/25% probability to get a more accurate estimate. We don't do this for deconvolution b/c we have no way to know "which" of the four is an immune cell. For more advanced cases, we compute cell type statistics by argmax vs by random sampling from probability, and compare that to estimate Tangram uncertainty in deconvolution.
The "right" way of doing is to have a more robust method for deconvolution, which perhaps even works w/o using segmentation. Well - that's Tangram2 which we are currently building :)

Following up on assigning label for each voxel.
It looks like in the plot_annotation_sc function. The  tangram_ct_pred are further normalized for visualization via construct_obs_plot. Should the same clipping and normalization be applied and the max normalized value used for determining cell type for each voxel or should I use the raw values instead?
Thank you


systray: add  :visible-empty property for systray widget

Description
Issue
Added the :visible-empty property for the systray widget. By default, an empty tray is displayed.
I also noticed a problem that tray elements are not removed from systray.items.
Usage
(systray :visible-empty false)

Showcase
https://github.com/elkowar/eww/assets/57404657/d4faf8e2-9bac-4432-978f-c49365a4425a
Additional Notes
This is my first time writing in rust, so I might have made mistakes, please check carefully to see. I'm ready to correct mistakes.
As far as I understand, the documentation for widgets is generated automatically.
Checklist
Please make sure you can check all the boxes that apply to this PR.

[x] All widgets I've added are correctly documented.
[x] I added my changes to CHANGELOG.md, if appropriate.
[x] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

Most likely this is not the best solution, I think it’s worth passing a condition on the number of elements in the tray in :visible, you don’t have to merge this PR. But it’s certainly worth fixing removing elements from the tray.

@jlo62 i wrote a stupid script to count the number of elements in the tray, you can use it together with deflisten and :visible
#!/bin/bash

dbus-monitor --session "interface='org.kde.StatusNotifierWatcher'" |
while read -r signal; do
    if [[ $signal == *"StatusNotifierItemRegistered"* ]]; then
      count=$(($count + 1))
    elif [[ $signal == *"StatusNotifierItemUnregistered"* ]] then
      count=$(($count - 1))
    fi

    echo $count
done

@elkowar, perhaps this method should be added to the docs or add a magic variable with the number of elements in the systray.


Admin can manage job offers

Once a company post a job offer (#6) the admin should approve it.

Required Fields:

Title
Description
Salary (range or fixed?)
Level (seniority level?)
Type (?)

Once a company post a job offer (#6) the admin should approve or decline it.

If decline, should the admin give it a reason?


Pin polyline to v4.1.1

Carthage has an issue where ~> 4.1.1 resolves to v4.2.0 when running carthage update.
This pins it to the last swift 3 version.
/cc @1ec5

The incompatibility was introduced in raphaelmor/Polyline#45.
According to this documentation, downloading v4.2.0 automatically is intended behavior:

This means that any version greater than or equal to 1.5.1, but less than 2.0, will be considered “compatible” with 1.5.1.

We can pin the dependency to the last Swift 3 release, but that might introduce dependency incompatibilities for projects that directly use Polyline.

Yes, I think so. @1ec5 what will be the behavior when using 4.1.1 in a project that uses swift 4?

@1ec5 update podspec

what will be the behavior when using 4.1.1 in a project that uses swift 4?

It’ll build fine as long as the SWIFT_VERSION build setting is set correctly for that target. This is guaranteed to be the case when installing via Carthage; I’m less certain about CocoaPods.


tool tips can stay around

These are from the gioui GUI library, specifically from extras (x) package under it: https://pkg.go.dev/gioui.org/x/component#Tooltip
I can try to update to latest version of gioui to see if this fixes the issue, but upgrading gioui is always a pain as they break their APi constantly as they are still not at v1.0.
If not, I may need to contact the maintainer of the x package to fix this.

This does not seem to be fixed by latest gioui, I need to ask the maintainers of gioui what to do about it.

ah, if it's not an easy fix for you, no need to prioritize this one - it's purely cosmetic. thank you for looking into it

There was no need to look for it; I already knew about it but never got around opening an issue here or gioui issue tracker, as the issue was quite minor one and it's not in Sointu codebase. But it's good to have this issue here as a reminder; hopefully there's a way to fix it someday.

Gioui widgets simply do not get pointer.Leave events when the pointer leaves the window completely. Unless they change gioui internally, there's no way to rely on this. The problem seems to be that every platform (windows, macos etc.) you need a different way to detect when cursor leaves window, so this is not impossible but not a zero-amount of work either.
It might easiest just to make the tooltips have some upper time limit and then fade them away after that, so they don't hang around forever. This also is not supported by the tooltip package, but at least needs no platform-specific code, so might be easier to make.

So just to clarify: the reason the tooltips don't leave is that the pointer quickly moves out of the window, and the tooltip widget does not get pointer.Leave event. This event is what triggers the hiding of the tooltip.


1password-gui: add macOS builds and unify beta

Description of changes
Unifies default.nix and beta.nix into one derivation as they are the same and add macOS builds :)
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

error: anonymous function at /home/sebtm/Projects/Nix/Nixpkgs/nixos-unstable/pkgs/applications/misc/1password-gui/default.nix:1:1 called with unexpected argument 'polkitPolicyOwners'
at /home/sebtm/Projects/Nix/Nixpkgs/nixos-unstable/lib/customisation.nix:69:16:

68|     let
69|       result = f origArgs;
                |                ^

Didn't evaluate on my machine, had to add polkitPolicyOwners to default.nix and pass it through to linux.nix.
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index f6607d7d932..6b00d524682 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -2,7 +2,12 @@
 , callPackage
 , channel ? "stable"
 , fetchurl
-, lib }:
+, lib
+
+# The 1Password polkit file requires a list of users for whom polkit
+# integrations should be enabled. This should be a list of strings that
+# correspond to usernames.
+, polkitPolicyOwners ? [] }:

 let

@@ -63,4 +68,4 @@ let

 in if stdenv.isDarwin
 then callPackage ./darwin.nix { inherit pname version src meta; }
-else callPackage ./linux.nix { inherit pname version src meta; }
+else callPackage ./linux.nix { inherit pname version src meta polkitPolicyOwners; }
diff --git a/pkgs/applications/misc/1password-gui/linux.nix b/pkgs/applications/misc/1password-gui/linux.nix
index 06a10dd973d..026597c513c 100644
--- a/pkgs/applications/misc/1password-gui/linux.nix
+++ b/pkgs/applications/misc/1password-gui/linux.nix
@@ -36,11 +36,7 @@
 , systemd
 , udev
 , xdg-utils
-
-  # The 1Password polkit file requires a list of users for whom polkit
-  # integrations should be enabled. This should be a list of strings that
-  # correspond to usernames.
-, polkitPolicyOwners ? []
+, polkitPolicyOwners
 }:
 let
   # Convert the polkitPolicyOwners variable to a polkit-compatible string for the polkit file.

or do I miss something?

@SebTM good catch, fixed :+1:

Does https://github.com/NixOS/nixpkgs/pull/181004#issuecomment-1190814236 no longer apply?

@maxeaubrey somewhat, 1Password 8 refuses to launch as an application if the files aren’t in /Applications, but if you run $out/Applications/1Password.app/Contents/MacOS/1Password directly it will launch. Despite it not launching as an application, I think there is still value in packaging the application as a nix-darwin module could handle the logic of putting the application in /Applications (something I had to do for Karabiner-Elements as system extensions must reside in /Applications)

That seems subpar for Darwin users, especially as that workaround wouldn't be obviously surfaced. Are you planning on working on the macOS equivalent of the 1password module in a follow up PR?
Thank you for simplifying the Linux derivation.

@maxeaubrey yes I am planning to write that module


document member attributes more like parameters

Is your feature request related to a problem? Please describe.
When trying to document the members of the setuptools_scm configuration object,
i took note, that attribtes are put out like they where methods that need more details
this is in particular frustrating as most of the members are dataclasses declared members that really could use a more compact display
Describe the solution you'd like
i'd love to show dataclass members and select descriptors in a more compact way
so there would be a section of the parameters that double as class attribute documentation and dataclass parameter documentation
another section for properties/descriptors with simple details (think sqlalchemy field specification, atttrs fields&co)
and then finally the detailed listing of methods that do the rest.

Griffe recently gained much better support for dataclasses, so this issue is probably fixed. Let me know if you encounter any issue with latest version of Griffe regarding dataclasses, and we will open new issues to fix them :slightly_smiling_face:


Re-try in more cases when socket cannot first be created

Recover in more cases when a socket cannot be created. This problem is particularly acute on ESP32-S2 on CircuitPython 9.x.x. Use a 9.1.0 build past beta.1 if you would like user-specifiable timeouts. Testing welcome by anyone.
This appears to fix https://github.com/adafruit/circuitpython/issues/9219.
Also:

Clarify some documentation. Use sphinx argument documentation style.
Fix some typos.
Remove a few internal comments marking code sections.
Clarify an error message.
Internally, catch exceptions instead of passing them back.
Change one exception.
Update to pylint 3.1.0 so pre-commit can run under Python 3.12.

Test program:
import gc
import os
import wifi
import socketpool
import ssl

import adafruit_connection_manager
import adafruit_requests

# Get WiFi details, ensure these are setup in settings.toml
ssid = os.getenv("CIRCUITPY_WIFI_SSID")
password = os.getenv("CIRCUITPY_WIFI_PASSWORD")

# Without ConnectionManager
# pool = socketpool.SocketPool(wifi.radio)
# ssl_context = adafruit_connection_manager.get_radio_ssl_context(wifi.radio)

pool = adafruit_connection_manager.get_radio_socketpool(wifi.radio)
ssl_context = ssl.create_default_context()

requests = adafruit_requests.Session(pool, ssl_context)

wifi.radio.connect(ssid, password)

for url in (
    # bunch of failures: failures vs working doesn't really matter
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    "https://<IP_ADDRESS>",
    # various working sites
    "https://example.org",
    "https://example.net",
    "https://example.com",
):
    print(url)
    try:
        response = requests.get(url, timeout=2)
        #print(response.text)
    except Exception as e:
        print(type(e), e)

@dhalbert tested and looks good. Quick comments:

Added a question on tests
I assume this will be a major release as the exceptions returned are different
Created PRs for requests and minimqtt as these changes will break tests

I assume this will be a major release as the exceptions returned are different

Yes, I will do that.


Add a free Python Course for Cryptocurrency

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s) | Remove Resource(s) | Add info | Improve Repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Not a duplicate
[ ] Included author(s) if appropriate
[ ] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Hey, and welcome to free programming books!
Could you please ensure all lists and categories remain in alphabetical order?
Also, it seems this is a course, not a book, so it should go to the respective free-courses-*.md file instead.
You can get more guidance on the formatting and conventions in this repository by checking out the contribution guide.
You can also click on the failed checks to get more information on any check failures. You'll be able to see exactly what was wrong and how to fix it!

Hello.
I will rectify that, Thanks!


Check if a PR is already opened when publishing

If there are multiple publish while the PR is not yet merge, multiple commits will be created: https://github.com/sketchplugins/plugin-directory/pull/581
That's a bit ugly and pollute the git history, we should fix it

fixed in https://github.com/skpm/skpm/commit/6dbbf2de4ae0d1d84610fc0bdc1a8fad7b091363


chore: drop time 0.1 dependency (RUSTSEC-2020-0071)

We use your crate for our project and it pulls vulnerable time 0.1 crate.
Now chrono made this dependency optional, but unfortunately it's still among default dependencies for backwards compatibility.
See https://rustsec.org/advisories/RUSTSEC-2020-0071.html

@olliemath I know you are not active on GitHub, but I still hope you'll find a free minute for my humble PR :)

Hi @Logarithmus thanks for flagging this - I've been on vacation, hence the delay in getting back to you.
As a side-note: what are you using (if anything) for scanning the dependencies in your projects?

Not sure why the pipeline builds are passing actually - locally they fail with this change (i.e. I can't run cargo build, cargo test etc.), which will delay any release until I can fix

@Logarithmus you should be able to use 0.2.4 without pulling any extra dependencies now

@olliemath thank you so much for merging this! This is the power of FOSS!

@olliemath for vulnerability scan use https://lib.rs/cargo-audit


Consistent use of exceptions

AppSettings.check method expects any type of exceptions and raises them all at once as ImproperlyConfigured
Setting.run_validators method expects and raises ValidationError
Setting.check method expects ValidationError and raises ValueError
NestedDictSetting.check method expects and raises ValidationError
NestedListSetting.check should be the same as NestedDictSetting

It seems the ugly duckling is the original Setting.check method, which should raise a ValidationError as well. Checkers are deprecated so other type of exceptions should not appear anymore.

Since #80, the check raises ImproperlyConfigured. I think, exceptions are now consistent enough.

Thanks @ziima


🚀 Feature Request: wrangler pages dev should allow specifying assets directory

Hello,
I'm using Wrangler to locally develop a simple Function as a part of a statically generated "Pages" website and I couldn't find any option to specify the assets directory to use. It would be great to have an option similar to what is possible when using Wrangler to develop the Workers with either --site or --assets options.
I have a top level directories /functions (with a working function) and /build (with statically generated website).
I can either run wrangler pages dev . in which case the function works correctly, but the static website is served from subdirectory (http://<IP_ADDRESS>:8788/build/). Or I can run wrangler pages dev build/ which serves the static website correctly but does not load the functions (which is expected).
What I'm trying to do is to mimic the behaviour of the Pages when deployed, where the functions are expected to be in the <root>/functions and the build output directory can be configured:

hi @mhujer thank you for raising this issue.
Unless I'm misunderstanding your setup, running wrangler pages dev build should do exactly what you need, assuming you run that command in your root directory, that contains both top-level functions and `build directories. Is that not the case? If not, can you please provide a repro repository that I could have a look at 🙏 ?
<3

Hi, I don't really remember on which project I faced this issue back then so I think I can just close this.


package resolving blows stack

Description
running paket update or other commands that need to resolve dependencies is blowing the stack

Paket 5.215.0, 5.226.0
macOS 10.13.6
dotnet 3.1.100-preview1-014459

Repro steps
git clone https://github.com/jdodds/paket-blowing-stack-repro.git && cd paket-blowing-stack-repro
dotnet paket update

paket.dependencies:
source https://www.nuget.org/api/v2
source https://api.nuget.org/v3/index.json
storage: none

framework: netstandard2.0, netcoreapp3.0

nuget YoloDev.Expecto.TestSdk
nuget Microsoft.Extensions.Logging ~> 2.2
nuget Microsoft.AspNetCore.Identity.EntityFrameworkCore ~> 2.2
nuget Microsoft.AspNetCore.Proxy

Expected behavior
Probably a failure message due to not being able to resolve packages
Actual behavior
Process is terminating due to StackOverflowException.
Abort trap: 6

full output for 5.226.0:
Paket version 5.226.0
Resolving packages for group Main:
 - Microsoft.Extensions.Logging 2.2.0
 - Microsoft.AspNetCore.Identity.EntityFrameworkCore 2.2.0
 - YoloDev.Expecto.TestSdk 0.8.0
 - Microsoft.AspNetCore.Proxy 0.2.0
 - Expecto 8.12.0
 - FSharp.Core 4.7.0
 - Microsoft.AspNetCore.Identity 2.2.0
 - Microsoft.EntityFrameworkCore.Relational 3.0.0
 - Microsoft.Extensions.Identity.Stores 3.0.0
 - Microsoft.Extensions.Identity.Stores 2.2.0
 - Microsoft.Extensions.Configuration.Binder 3.0.0
 - Microsoft.Extensions.DependencyInjection.Abstractions 3.0.0
 - Microsoft.Extensions.Logging.Abstractions 3.0.0
 - Microsoft.Extensions.Options 3.0.0
 - NETStandard.Library 2.0.3
 - System.Collections.Immutable 1.6.0
 - Microsoft.AspNetCore.Http.Abstractions 2.2.0
 - System.ComponentModel.Annotations 4.6.0
 - System.Text.Encodings.Web 4.6.0
 - Microsoft.EntityFrameworkCore 3.0.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - System.Text.Encodings.Web 4.5.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Microsoft.AspNetCore.Http.Abstractions 2.1.1
 - Microsoft.AspNetCore.Http.Abstractions 2.1.0
 - Microsoft.AspNetCore.Http.Abstractions 2.0.3
 - Microsoft.AspNetCore.Http.Abstractions 2.0.2
 - Microsoft.AspNetCore.Http.Abstractions 2.0.1
 - Microsoft.AspNetCore.Http.Abstractions 2.0.0
 - Microsoft.AspNetCore.Http.Abstractions 1.1.2
 - Microsoft.AspNetCore.Http.Abstractions 1.1.1
 - Microsoft.AspNetCore.Http.Abstractions 1.1.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - System.Collections.Immutable 1.5.0
 - System.Collections.Immutable 1.4.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - NETStandard.Library 2.0.2
 - NETStandard.Library 2.0.1
 - NETStandard.Library 2.0.0
 - NETStandard.Library 1.6.1
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Microsoft.Extensions.Options 2.2.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Microsoft.Extensions.Logging.Abstractions 2.2.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0
  Conflict detected:
   - Dependencies file requested package Microsoft.Extensions.Logging: >= 2.2 < 3.0
   - Microsoft.EntityFrameworkCore 3.0.0 requested package Microsoft.Extensions.Logging: >= 3.0
   - Microsoft.Extensions.Identity.Stores 2.2.0 requested package Microsoft.Extensions.Logging: >= 2.2

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Microsoft.Extensions.Configuration.Binder 2.2.4
 - Microsoft.Extensions.Configuration.Binder 2.2.0
Process is terminating due to StackOverflowException.

netcoreapp3.0 and the ~> 2.2? That does not make a lot of sense and the messages show you that.

The dependencies are not supposed to make sense, they're supposed to reproduce a crash.

@jdodds I could not reproduce this on a windows box with paket 5.226.0 and dotnet 3.0.100 - is this perhaps a bug in the preview version you are using?
My resulting lock file is here: https://gist.github.com/JohnyWS/e749c176612e65e89567ece67f04ed61
Did you have any real applications where the conflict wasn't apparent in the first conflict statements?

I don't have a real-world example where the conflict wasn't apparent, but I did run into this issue originally while trying to run add with a real-world paket.dependencies that was admittedly a bit crufty.
This still reproduces on 5.242.2 and 6.0.0-alpha018 running on dotnet core 3.1.101 on osx, I'm poking around on it in my spare time, but I'm pretty far from being an expert here 🙃

I've found a couple of lines that reliably stop the stack from blowing if they're removed or have their results inverted. No idea why quite yet 😟

doesn't seem to crash on windows. just takes forever

🤔 to be fair i wouldn't say it crashes quickly on osx
The stack size looks to be the same (1M) for the builds I've made and the paket.exe's on nuget, which makes sense. If I understand things correctly there might be platform-specific version differences in some of the deps in the repro which could modify the resolution process.


backspacing before "in" unalives the "in"

eg given this:

backspacing gives you:

can't repro so closing. I assume it was fixed by https://github.com/hazelgrove/tylr/commit/fcf96798195380aac93021a0d5e13d7b430e6cd8


IR Spectra longer exercise

Thoughts? I dropped the MCMC stuff compared to the ch40208 cause I wanted to focus on the "working with data" part.

pinging #34

Cheers @j-m-dean, I have pushed some changes. Let me know if the additional detail that covers your final point is enough.
On the model answers question, I have opened a separate issue (#60) to discuss this.

@arm61 the explanation is much clearer. I think students will have an easier time understanding it now. There is a typo in the final bullet point though: "so is the gradient is 1 and intercept is 0" --> so if the...

Fixed, I will merge once it passes.


Making a git commit restarts the dev server

Noticed a weird behaviour where making a git commit / push while the dev server is running triggers a webpack build and restarts. Anyone else or just me?
Running v10.1

Hmm, that is strange...

How is 10.1 running for you otherwise?

Other than that one weird quirk, It's running like a champ!

Closing this as a quirk. :)


[#6825] Update Twilio package

Addresses # 6825
#minor
Description
This PR updates the Twilio package from 5.37.2 to 7.2.2, and fixes the NU1701 issue.
Specific Changes

Updated Twilio in TwilioAdapter and FunctionalTests projects.
Updated TwilioAdapter from netstandard2.0 to netstandard2.1.
Fixed StringComparison issue in TwilioAdapter.

Testing
The following images show the CI and Functional Tests pipelines.

/promoted 6839


Create tag list/edit layout

Refer to the UI diagram:

I also created the action menu XML. We'll need to plug these into the manifest and activity java classes.


CI check error

Our writing style is:
Keep all filenames & url as lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor instead of 2017-10-06-WeChat PC Impactor
But  assets/2020/meeting-notes/07.05.head-picture.jpg can make ci green as https://github.com/wechaty/wechaty.github.io/pull/321 show.
So we should add a rule for ci to check this kind of situation.

Thanks for the recording! Will add more check into our CI tests later.

Merge to #298

Merge to #298


Added check for bam index files in loadIndexedBam

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2512/Build result: FAILURE[...truncated 15 lines...] > /home/jenkins/git2/bin/git fetch --tags --progress https://github.com/bigdatagenomics/adam.git +refs/pull/:refs/remotes/origin/pr/ # timeout=15 > /home/jenkins/git2/bin/git rev-parse origin/pr/1831/merge^{commit} # timeout=10 > /home/jenkins/git2/bin/git branch -a -v --no-abbrev --contains 665e131385df3b695eb244735b2242cd385a4948 # timeout=10Checking out Revision 665e131385df3b695eb244735b2242cd385a4948 (origin/pr/1831/merge) > /home/jenkins/git2/bin/git config core.sparsecheckout # timeout=10 > /home/jenkins/git2/bin/git checkout -f 665e131385df3b695eb244735b2242cd385a4948First time build. Skipping changelog.Triggering ADAM-prb ? 2.6.2,2.11,1.6.3,centosTriggering ADAM-prb ? 2.7.3,2.10,1.6.3,centosTriggering ADAM-prb ? 2.7.3,2.10,2.2.0,centosTriggering ADAM-prb ? 2.7.3,2.11,1.6.3,centosTriggering ADAM-prb ? 2.6.2,2.10,2.2.0,centosTriggering ADAM-prb ? 2.6.2,2.10,1.6.3,centosTriggering ADAM-prb ? 2.6.2,2.11,2.2.0,centosTriggering ADAM-prb ? 2.7.3,2.11,2.2.0,centosADAM-prb ? 2.6.2,2.11,1.6.3,centos completed with result FAILUREADAM-prb ? 2.7.3,2.10,1.6.3,centos completed with result FAILUREADAM-prb ? 2.7.3,2.10,2.2.0,centos completed with result FAILUREADAM-prb ? 2.7.3,2.11,1.6.3,centos completed with result FAILUREADAM-prb ? 2.6.2,2.10,2.2.0,centos completed with result FAILUREADAM-prb ? 2.6.2,2.10,1.6.3,centos completed with result FAILUREADAM-prb ? 2.6.2,2.11,2.2.0,centos completed with result FAILUREADAM-prb ? 2.7.3,2.11,2.2.0,centos completed with result FAILURENotifying endpoint 'HTTP:https://webhooks.gitter.im/e/ac8bb6e9f53357bc8aa8'
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2513/
Test PASSed.

Fixes https://github.com/bigdatagenomics/adam/issues/1830

We hadn't checked in binary files as test resources before, as then diffs in git aren't meaningful.  If we're going to break that convention, and this is as good a time as any, then we should add an index for small.bam and unit test(s) for the happy paths.
Do you need this for the 0.23.0 release?

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2514/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2515/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2516/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2527/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2528/
Test PASSed.


[WIP] V2

V2 is a major rewrite of Chainsauce, it implements lessons learned from running the Gitcoin Allo indexer and redefines the scope of the library to be more focused on managing blockchain event subscriptions.
The main changes are:

Improve testability, all side effects can be managed by the caller
Remove data storage support in indexer, we let the client manage their own data persistence
Replace ethers with viem
Implement automatic types for event handler and contracts using abitype
Split up the handleEvent function into separate function event handlers per event
Decouple contracts & subscriptions, you declare all your contracts initially and then subscribe to addresses
TODO: Implement read only contracts in event handlers that read at the current block for deterministic indexing
Implement an event store to speed up reindexing (better-sqlite3 backend, other backends planned)
Implement a subscription store to support resumable indexing (better-sqlite3 backend, other backends planned)
Rework log fetching to be more respectful of RPC limitations
Decouple from HTTP JSON-RPC, implement client interface to use anything you want
Implement more flexible indexing API, index to a specific block, index continuously, stop indexer

Example usage:
import erc20ABI from<EMAIL_ADDRESS>import { createIndexer, contract, Event } from "@/index";

type TransferEvent = Event<typeof erc20ABI, "Transfer">;

function handleTransfer(event: TransferEvent) {
  console.log(
    "Transfer",
    event.params.from,
    event.params.to,
    event.params.value
  );
}

const indexer = await createIndexer({
  rpc: {
    url: "https://mainnet.infura.io/v3/...",
  },
  onUpdate: (blockNumber) => {
    console.log("Indexed to block", blockNumber);
  },
  contracts: [
    contract({
      name: "USDC",
      address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      abi: erc20ABI,
      handlers: {
        Transfer: handleTransfer,
      },
    }),
  ],
});

await indexer.indexToBlock("latest");

console.log("Done");

The notes I mentioned, from a library user's point of view, expanded/clarified, feel free to pick or leave:
interface IndexerConfig {
  rpc: string;
  contracts: ContractSubscription[];
}

interface ContractSubscription {
  // ... name, address etc ...

  // Specifying the block range allows contract upgrades/replacements with
  // changes of interface, where one contract is dismissed at a certain block
  // and a new one comes into effect at the next block
  fromBlock?: number;
  toBlock?: number;
}

// Constructor is synchronous for consistency with the language (new Foo()) and
// the ecosystem (createStore(), createClient(), ...) and free from side effects
// — only instantiates, doesn't operate
const createIndexer = (config: IndexerConfig): IndexerService => {
  /* ... */
};

// EventEmitter leverages user familiarity and ecosystem support, and allows easy
// easy adoption from those who work with Observables since conversion is 1-line with RxJS
interface IndexerService extends EventEmitter {
  // If in watch mode, returns when caught up with latest block, otherwise returns when
  // `untilBlock` is reached
  start: (params: { watch: true,  } | { untilBlock: number | "latest" }) => Promise<void>;
  stop: () => void;
}

const indexer = createIndexer({
  /* rpc: ..., contracts: ... */
});

indexer.on("progress", ({ pendingEventCount, currentlyIndexedBlock, lastKnownBlock}) => {
  /* ... */
});

// Using a queue decouples event processing from event fetching so that neither
// slows down the other, and leaves the library user the choice of whether to do
// strictly sequential processing or parallel processing
const processingQueue = someQueueLibrary.createQueue({
  worker: handleEvent,
  maxWorkers: 1,
});

indexer.on("event", (event) => {
  processingQueue.push(event);
});

await indexer.start({ watch: true })


Revert "[MM-9563] Add a red dot to browser favicon

Summary
Revert "MM-9563 Add a red dot to browser favicon when there are unread mentions (#2926)"
This reverts commit dee85ecda1dac94e48964a060645e558a1a0397b.
This was previously reverted in the v5.14/v5.15 timeframe, but left in master.
Ticket Link
https://mattermost.atlassian.net/browse/MM-17618
https://mattermost.atlassian.net/browse/MM-17474
Related Pull Requests
https://github.com/mattermost/mattermost-webapp/pull/2926
https://github.com/mattermost/mattermost-webapp/commit/feec2fa787c14da02ad7b5ff01087b260892d397

QA approves reverting this feature. Removing the QA Review label.

Thanks for the careful review, @mickmister! This is just a vanilla revert of the PR in question, back to the original code as written. I'm hesitant to make further changes in a revert unless there's a merge conflict. Any objection to leaving the code as-is?


Cargo instructions should be validated when read from git messages

I found this problem via a dependabot PR message, copied into the third line of the commit message.
With:
    EmitBuilder::builder()
        .quiet()
        .all_git()
        .emit()?;
    Ok(())

and a commit message generated from dependabot groups like:
    Merge pull request #123 from myorg/dependabot/cargo/deps-5f40290522

    cargo: bump the deps group with 6 updates

we had a build failure:
error: invalid output in build script of `server v0.1.0 (/usr/src/crates/server)`: `cargo: bump the deps group with 6 updates`
Expected a line with `cargo:key=value` with an `=` character, but none was found.

I don't think this should cause an error since it comes from git. At least a simple check could be done to ensure it fits a regex before creating an error, but ultimately it would be safer to compare to cargo options.
The best workaround for us was to change all_git() to git_sha(false), but only because we weren't using other git features.
vergen = { version = "8.2.4", features = ["build", "git", "git2"] }

With the way cargo parses cargo:rustc-env=KEY=VALUE only the part of the value before the first newline will be included in they env var anyway. So a potential solution would be to just per-emptively truncate at the first newline.
Alternatively, or as a future enhancement, newlines could be encoded and then later decoded when reading the env var. Or ideally cargo could provide support for build scripts emitting env var values that contain newlines.


minecraft: warn of failure

Description of changes
The minecraft launcher will fail for new versions. This results in a hard-to-understand error. Either we mark the package as broken (yes, it does work when launching old versions) or provide a warning.
Fixes: https://github.com/NixOS/nixpkgs/issues/179323
Things done
Added a warning..... asking for feedback if marking broken = true;  would just be better.

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I think the warning is better than marking it broken, if only because this message shows the alternatives.

I think the warning is better than marking it broken, if only because this message shows the alternatives.

i believe that the message should be shown on stderr prior to true being evaluated:

trace e1 e2

Evaluate e1 and print its abstract syntax representation on standard error. Then return e2. This function is useful for debugging.

https://nixos.org/manual/nix/stable/language/builtins#builtins-trace

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-in-distress/3604/93

I have a bottom line question (haven't read all prior discussions): Is the derivation actually usable? For anyone?

I have a bottom line question (haven't read all prior discussions): Is the derivation actually usable? For anyone?

no, it is broken.

Then why not simply broken = true?

Then why not simply broken = true?

that's described by the author of the change,in one of the four comments you decided to skip:
https://github.com/NixOS/nixpkgs/pull/299645#issuecomment-2028800015

I'm willing to go in either direction. Just let me know.

This is a broad issue in Nixpkgs - that we lack a robust way to describe why packages are broken, besides writing a comment above the broken = true; line. I suggest to not insist on inventing a solution to this issue here, and skip to the common approach of simply broken = true; along with a comment.

I have a bottom line question (haven't read all prior discussions): Is the derivation actually usable? For anyone?

no, it is broken.

It actually is usable, so long as you don't try to play relatively recent minecraft versions with it. Older versions still work because they don't bundle natively compiled code.
This is why I was hesitant to mark it broken in the first place. But other than that, broken + comment is probably fine for now, and we should invent a better solution for these things.

updated to accommodate the consensus that marking "broken" is better


Added Keeper to list of mentioned password managers and TOTP storage

Why:
Closes https://github.com/github/docs/issues/6535

What's being changed:

Added Keeper link to the list of password managers, and TOTP authenticators.
Check off the following:

[x] I have reviewed my changes in staging (look for the deploy-to-heroku link in your pull request, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@craiglurey Thanks so much for opening a PR! I'll get this triaged for review ⚡
I removed the [ ] from around the issue link in the OP, so the issue and PR are now linked. When a linked PR is merged, it'll automatically close the related issue 💖

@craiglurey could you try clicking the Edit button at the top of the page?  There might be a checkbox on the sidebar then. 🤔

@craiglurey could you try clicking the Edit button at the top of the page? There might be a checkbox on the sidebar then. 🤔

@bl-ue nope, page looks the same.

@craiglurey could you try clicking the Edit button at the top of the page? There might be a checkbox on the sidebar then. 🤔

@bl-ue nope, page looks the same.

@bl-ue and @Ely68 it seems like you should be able to click the magic button to Merge the pull request. I don't see anything that I can do. Let me know if I have to create a whole new pull request to click that button in the first step (??)

No, neither of us can :(.  But @janiceilene can and she will soon, once the procedures get done ;)

No, neither of us can :(. But @janiceilene can and she will soon, once the procedures get done ;)

OK cool, this is a good learning experience but this step seems confusing, I asked several people here and they have never seen this mystery button.

I can see it, but it's disabled for me because I'm not a maintainer of this repo (I don't have write access):

the no edit button sir
On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote:

@craiglurey https://github.com/craiglurey could you try clicking the
Edit button at the top of the page? There might be a checkbox on the
sidebar then. 🤔
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/6814#issuecomment-855214531, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA
.

the no edit button sir
…
On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote: @craiglurey https://github.com/craiglurey could you try clicking the Edit button at the top of the page? There might be a checkbox on the sidebar then. 🤔 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#6814 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA .

Hi @Ely68 not sure what you mean.  What do you suggest? Do I need to add someone there as a collaborator on my fork branch? Seems I can't be the only person running into this.

It's on top of the page
On Sat, Jun 5, 2021, 11:03 AM Craig Lurey @.***> wrote:

the no edit button sir
… <#m_8282169376311442961_>
On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote: @craiglurey
https://github.com/craiglurey https://github.com/craiglurey could you
try clicking the Edit button at the top of the page? There might be a
checkbox on the sidebar then. 🤔 — You are receiving this because you
commented. Reply to this email directly, view it on GitHub <#6814
(comment)
https://github.com/github/docs/pull/6814#issuecomment-855214531>, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA
.
Hi @Ely68 https://github.com/Ely68 not sure what you mean. What do you
suggest? Do I need to add someone there as a collaborator on my fork
branch? Seems I can't be the only person running into this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/6814#issuecomment-855252524, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUICPRDJEP7CVQYXKQZXB43TRI4EJANCNFSM45SZLIHA
.

the no edit button sir
…
On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote: @craiglurey https://github.com/craiglurey could you try clicking the Edit button at the top of the page? There might be a checkbox on the sidebar then. 🤔 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#6814 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA .

Hi @Ely68 not sure what you mean. What do you suggest? Do I need to add someone there as a collaborator on my fork branch? Seems I can't be the only person running into this.

Wait, is this because I forked this under a Github Enterprise account and there's some security setting....

Clicking Edit only allows editing of the title.  No other checkboxes appear.
On Sat, Jun 5, 2021 at 8:05 AM dmc8013 @.***> wrote:

It's on top of the page
On Sat, Jun 5, 2021, 11:03 AM Craig Lurey @.***> wrote:

the no edit button sir
… <#m_8282169376311442961_>
On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote: @craiglurey
https://github.com/craiglurey https://github.com/craiglurey could you
try clicking the Edit button at the top of the page? There might be a
checkbox on the sidebar then. 🤔 — You are receiving this because you
commented. Reply to this email directly, view it on GitHub <#6814
(comment)
https://github.com/github/docs/pull/6814#issuecomment-855214531>, or
unsubscribe

https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA

.
Hi @Ely68 https://github.com/Ely68 not sure what you mean. What do you
suggest? Do I need to add someone there as a collaborator on my fork
branch? Seems I can't be the only person running into this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/6814#issuecomment-855252524, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AUICPRDJEP7CVQYXKQZXB43TRI4EJANCNFSM45SZLIHA
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/6814#issuecomment-855252807, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQXAEHCKRBU4BIET532FPLTRI4MLANCNFSM45SZLIHA
.

--
Craig Lurey | CTO & Co-founder
https://keepersecurity.com/

It's on top of the page
…
On Sat, Jun 5, 2021, 11:03 AM Craig Lurey @.> wrote: the no edit button sir … <#m_8282169376311442961_> On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.> wrote: @craiglurey https://github.com/craiglurey https://github.com/craiglurey could you try clicking the Edit button at the top of the page? There might be a checkbox on the sidebar then. 🤔 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#6814 (comment) <#6814 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA . Hi @Ely68 https://github.com/Ely68 not sure what you mean. What do you suggest? Do I need to add someone there as a collaborator on my fork branch? Seems I can't be the only person running into this. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#6814 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUICPRDJEP7CVQYXKQZXB43TRI4EJANCNFSM45SZLIHA .

Clicking Edit only allows editing of the title. No other checkboxes appear.
On Sat, Jun 5, 2021 at 8:05 AM dmc8013 @.> wrote: It's on top of the page On Sat, Jun 5, 2021, 11:03 AM Craig Lurey @.> wrote: > the no edit button sir > … <#m_8282169376311442961_> > On Sat, Jun 5, 2021 at 5:49 PM bl-ue @.***> wrote: @craiglurey > https://github.com/craiglurey https://github.com/craiglurey could you > try clicking the Edit button at the top of the page? There might be a > checkbox on the sidebar then. 🤔 — You are receiving this because you > commented. Reply to this email directly, view it on GitHub <#6814 > (comment) > <#6814 (comment)>>, or > unsubscribe > https://github.com/notifications/unsubscribe-auth/AOUHMBT4CREVQKKLQWK7XGDTRHXI7ANCNFSM45SZLIHA > . > > Hi @Ely68 https://github.com/Ely68 not sure what you mean. What do you > suggest? Do I need to add someone there as a collaborator on my fork > branch? Seems I can't be the only person running into this. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <#6814 (comment)>, or > unsubscribe > < https://github.com/notifications/unsubscribe-auth/AUICPRDJEP7CVQYXKQZXB43TRI4EJANCNFSM45SZLIHA > > . > — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#6814 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQXAEHCKRBU4BIET532FPLTRI4MLANCNFSM45SZLIHA .
-- Craig Lurey | CTO & Co-founder https://keepersecurity.com/

https://docs-6814--keeper-link-1.herokuapp.com/

I'm terribly sorry @craiglurey — let me explain to you.  On non-code GitHub repositories (especially GitHub's own ones), there is often a lot of spam on issues and PRs.  Not sure, but I think some of the guys on this thread like @Ely68, @AnzM1, @dmc8013 and might just be spamming.  Even if not, none of us participating in this thread except for @janiceilene and @skedwards88 are GitHub staff and so we can't merge your PR or anything. Personally, I found his PR somehow and was trying to help, but it turned out not that helpful :(
I'm really sorry for the confusion!  Just forget everything that we've been saying (except for @janiceilene and @skedwards88) ;)

So @janiceilene I found out why "Allow edit by maintainers" was not showing, it was because I was using a fork under our Github Enterprise account. It looks like for security reasons that option does not exist on the Enterprise account.  So I created a fork under my personal Github account and created a new pull request: https://github.com/github/docs/pull/7116
So I'll close this one and then I'll kindly ask you use the pull request 7116.

I'm terribly sorry @craiglurey — let me explain to you. On non-code GitHub repositories (especially GitHub's own ones), there is often a lot of spam on issues and PRs. Not sure, but I think some of the guys on this thread like @Ely68, @AnzM1, @dmc8013 and might just be spamming. Even if not, none of us participating in this thread except for @janiceilene and @skedwards88 are GitHub staff and so we can't merge your PR or anything. Personally, I found his PR somehow and was trying to help, but it turned out not that helpful :(
I'm really sorry for the confusion! Just forget everything that we've been saying (except for @janiceilene and @skedwards88) ;)

I found out this was a security setting of Github Enterprise so I created a new pull request here


Feat/(SwapRouter) add curve and balancer

Remove lines 15,16 in SwapRouter.sol as this PR adds those exchanges
modify swapWithCurve to accept a recipient address like how swapWithUniV2 does it. This done so that we can better gate keep where swapped funds are being sent to.
modify swapWithBalancerV2 adding the recipient address like above.

Other than those small changes, it looks pretty good to me!

Thanks for adding in the recipient address! Is it possible for the recipient address to be passed with the rest of the swap information, so that the swap sends the funds directly to the recipient? Or is the transfer at the end of the functions required?
Also go ahead and remove the from variables from the swap data and use msg.sender instead. If the caller is allowed to specify the from address, then any user/contract that has approved the swap router to spend their funds is at risk of losing them.

Thanks for adding in the recipient address! Is it possible for the recipient address to be passed with the rest of the swap information, so that the swap sends the funds directly to the recipient? Or is the transfer at the end of the functions required?

Unfortunately, function balancerExchangeProxy.multihopBatchSwapExactIn sends funds exclusively to msg.sender.
In function curveRegistryExchange.exchange_multiple we can add _receiver to the interface. Ok.

Also go ahead and remove the from variables from the swap data and use msg.sender instead. If the caller is allowed to specify the from address, then any user/contract that has approved the swap router to spend their funds is at risk of losing them.

Ok


Clean buffer files by default when restart collector.

Please answer these questions before submitting your issue.

Why do you submit this issue?
[X] Bug

Bug

Which version of SkyWalking, OS and JRE?
5.0.0-alpha

What happen?
Somebody restart collector after clean elastic search indexes. But they do not clean buffer files then  they can see so many exception message in collector log files.

Fixed.


Add integration tests...

.. And fix a bug when #unsubscribe happens before #execute.
...And fix a bug with missing istate in the disconnect context.
Also, dropped AnyCable v1.0.x from the build matrix (it's been a while since v1.1 release, let's move on).
(And I think we should get rid of all the legacy_xxx stuff, too; and, maybe, switch to interpreter-mode only mode).

(And I think we should get rid of all the legacy_xxx stuff, too; and, maybe, switch to interpreter-mode only mode).

Let's postpone for the next minor version upgrade!


Support arbitrary message signing for Bitcoin

https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki

Would be awesome to be able to verify a user holds a particular ordinal(s)

Another +1 from our side. We have an inscription gating feature that leverages BIP-322, we'd love to deeplink the signing action into your wallet. Count us in for beta testing 🙌🏻

We are looking into an ordinal gated solution, but we need wallet support to justify building this feature. This would be an excellent feature.

Would be awesome to be able to verify a user holds a particular ordinal(s)

Technically you already can. I'm not a BTC dev, my experience is mainly on EVM but if you mess around with ordinals api (like the one in ordapi or the one hiro provides) you can get the holder of a specific ordinal, provided you know the ID/sat location. I have an app that already does that.
As for the content of this issue, how would this provide any solution to the ownership problem? I'm trying to wrap my head around it but cant find the actual use for it, maybe because EVM works in a different way. Would the user sign a message declaring he/she owns said ordinal?

Hey guy, is there any ETA on this?

@kyranjamie I’m adding support for the signing feature to the dev build of BitCheck. If I’m correct when requesting a user’s addresses it just returns all of the addresses. A user is not able to select via the wallet which address they wish to connect and sign with. Is this intended or subject to change?

@kyranjamie in most cases, online platforms only allow users to associate one address with their account. Most wallets offer the ability to choose an address to connect with. This allows the websites to avoid implementing an additional feature to select the address for signing messages.

yeah in our case, a user would like to be able to associate all the inscriptions they hold within Hiro with us. it isnt possible for them to pick one right now.

@kyranjamie To verify ownership of the ordinals in a Hiro wallet, it will be necessary to sign using the ordinals address.

kyranjamie in most cases, online platforms only allow users to associate one address with their account. Most wallets offer the ability to choose an address to connect with. This allows the websites to avoid implementing an additional feature to select the address for signing messages.

Hi @ward-dc , just to clarify we only return all the taproot addresses within an account m/86'/0'//0/0,1,2,3
The 1,2,3 are currently a legacy thing for Hiro wallet users, right now for account 1 the m/86'/0'/0/0/0 taproot would be the primary/normal taproot address (mostly used), but if they Inscriptions are on m/86'/0'/0/0/1 or m/86'/0'/0/0/2 it is still Account 1 ( m/86'/0'/0 ) signing.
Taproot addresses for Account 2 (m/86'/0'/1... ) on Hiro would not be returned when a user is logged in with Account 1, they do have that option. Perhaps that was already clear just wanted to make sure.

@kyranjamie To verify ownership of the ordinals in a Hiro wallet, it will be necessary to sign using the ordinals address.

Users could send an ordinal to their primary Taproot address, as a workaround, if that is needed for verification via BitCheck?

hi folks, just wanted to circle back on some of the earlier comments regarding allowing a user to check if a specific ordinal (or one of a collection of ordinals) is available in a user's wallet. Is that something that this feature supports? @fbwoolf @kyranjamie
thanks!

@skyrover7 yep that should be possible? want to give it a try and let us know if you run into any issues?


🐛 Bug: npx fails in setup.js

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Expected
pnpm setup exits successfully.
Actual
It fails:
Generating all-contributors table in README.md...
Error:
    at file:///Users/jp/dev/ens-expire/script/setup.js:184:9
    exit code: 1
    at ChildProcess.<anonymous> (file:///Users/jp/.npm/_npx/721a1717bb84573e/node_modules/zx/build/core.js:146:26)
    at ChildProcess.emit (node:events:513:28)
    at ChildProcess.emit (node:domain:489:12)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:513:28)
    at Socket.emit (node:domain:489:12)
    at Pipe.<anonymous> (node:net:322:12)
    at Pipe.callbackTrampoline (node:internal/async_hooks:130:17)

Removing devDependency packages only used for setup...
✔ Done.

Looks like there was a problem. Correct it and try again? 😕

Additional Info
No response

Ah, @emday4prez, it's not just you! https://github.com/JoshuaKGoldberg/template-typescript-node-package/pull/278#issuecomment-1474177911


boom.wav

examples/basic.clj has a reference to boom.wav that is hard coded to "/home/rosejn/studio/samples/kit/boom.wav"

Wrong overtone...

There are some hard coded references to wavs in the source tree, but they will be gone soon.  Sam is working on an assets system that will let us easily reference wav files off the web.


Sortable DataTable has a col header rendering issues on latest version of Carbon

What package(s) are you using?

[x] carbon-components
[x] carbon-components-react

Detailed description
Sortable DataTable has a col header rendering issues on latest version of Carbon.

Describe in detail the issue you're having.

Icon appears on new line when it used to appear inline on older versions.

Is this issue related to a specific component?

DataTable

What did you expect to happen? What happened instead? What would you like to
see changed?

That it didn't change by version and it looked as it look on the Carbon's website screenshots of sorting with the datatable.

What browser are you working in?

Chrome

What version of the Carbon Design System are you using?

Latest

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

Steps to reproduce the issue

Add DataTable

enable/add "isSortable"

Please create a reduced test case in CodeSandbox

Style and vanilla JS:
https://codesandbox.io/s/github/carbon-design-system/carbon/tree/master/packages/components/examples/codesandbox
React:
https://codesandbox.io/s/github/carbon-design-system/carbon/tree/master/packages/react/examples/codesandbox

Additional information

Screenshots or code

https://codesandbox.io/s/jolly-frost-965tp?file=/index.js

Notes

this is because the Table component is missing a prop getter in your example. The same issue is also present in some examples on the Carbon website
https://codesandbox.io/s/distracted-hofstadter-0h9js


go-Ethereum tool fails on missing transaction fields

Description
when we try to call eth_getBlockByNumber and pass specific block, which has transactions. More specifically issue is when at least one of those transactions are externalised log from precompile call. Because they miss some fields like maxPriorityFeePerGas,r,s,v and type → go-ethereum does not except null for those fields. All other cases are working.
Steps to reproduce
Make a call to eth_getBlockByNumber including transactions that are the result of ContractCall .
Confirm that no failure occurs
Additional context
No response
Hedera network
other
Version
v0.43.0
Operating system
None

Seems like the issue is no longer produced. There are UTs for this in the repo. The UT taps on a block that has an array of transactions that have null fields like below yet still be able to finish the request.
transactions: [
    {
      blockHash: '0x021f8fc0e1ecbf4882a01c8fd612e4596faa1a0c2c2586c3b5846218084a14eb',
      blockNumber: '0x21d',
      chainId: null,
      from: '0x2bd1ab5190d25e2cee2a6e7ab040659f2442502f',
      gas: '0x11383',
      gasPrice: null,
      hash: '0xa58edbdcb7eea68351b27ef4d0ed351e9ce675ed05d0682e5b3fe9097d38dfbb',
      input: '0x',
      nonce: '0x0',
      r: null,
      s: null,
      to: '0x0000000000000000000000000000000000000417',
      transactionIndex: '0x4',
      type: null,
      v: null,
      value: '0x5f5e100'
    },
    {
      blockHash: '0x021f8fc0e1ecbf4882a01c8fd612e4596faa1a0c2c2586c3b5846218084a14eb',
      blockNumber: '0x21d',
      chainId: null,
      from: '0x2bd1ab5190d25e2cee2a6e7ab040659f2442502f',
      gas: '0xea60',
      gasPrice: null,
      hash: '0x84c15b51981dab6c8b4ba183754990e1e68b45752f137291e57f51bf86431992',
      input: '0x0419eca50000000000000000000000000000000000000000000000000000000000000001',
      nonce: '0x0',
      r: null,
      s: null,
      to: '0x0000000000000000000000000000000000000417',
      transactionIndex: '0xb',
      type: null,
      v: null,
      value: '0x0'
    }
  ],

Just to confirm it also works with blocks that have type 2 transactions
curl --location 'https://testnet.hashio.io/api' \
--header 'Content-Type: application/json' \
--data '

{ "jsonrpc":"2.0", "method":"eth_getBlockByNumber", "params":[ "0x7AD23",  true ], "id":1 }'


Contact Us Section UI Improvement

Assign this issue to me for its best UI enhancement with gssoc-extd hacktoberfest-accepted level 3

Kindly assign me this issue. Would be glad to contribute! @Anjaliavv51

@Abbas7120 aleardy assigned.


[BUG] (type-safe-api) Python handler NameError: Field name "validate" shadows a BaseModel attribute

Describe the bug
When I create handler boilerplate on a type-safe-api using Python, the Lambda function fails to load. It takes over 10 seconds to try to initialize the handler and fails with a stack trace and the error message "Unknown application error occurred Runtime.Unknown".
Expected Behavior
I expect the Lambda to load and execute the handler and return the result.
Current Behavior
Traceback on Lambda function initialization:

NameError: Field name "validate" shadows a BaseModel attribute; use a different field name with "alias='validate'".
Traceback (most recent call last):
File "/var/lang/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/var/task/demo_api_python_handlers/get_category.py", line 7, in
from demo_api_python_runtime import BadRequestErrorResponseContent
File "/var/task/demo_api_python_runtime/init.py", line 20, in
from demo_api_python_runtime.api.default_api import DefaultApi
File "/var/task/demo_api_python_runtime/api/init.py", line 4, in
from demo_api_python_runtime.api.default_api import DefaultApi
File "/var/task/demo_api_python_runtime/api/default_api.py", line 24, in
from demo_api_python_runtime.models.category import Category
File "/var/task/demo_api_python_runtime/models/init.py", line 21, in
from demo_api_python_runtime.models.category_attribute import CategoryAttribute
File "/var/task/demo_api_python_runtime/models/category_attribute.py", line 24, in
from demo_api_python_runtime.models.category_attribute_tags import CategoryAttributeTags
File "/var/task/demo_api_python_runtime/models/category_attribute_tags.py", line 24, in
class CategoryAttributeTags(BaseModel):
File "/var/task/pydantic/main.py", line 186, in new
validate_field_name(bases, ann_name)
File "/var/task/pydantic/utils.py", line 167, in validate_field_name
raise NameError(

Error message:
"Unknown application error occurred Runtime.Unknown"
Reproduction Steps

Create a PDK project with a TypeSafeApiProject and InfrastructureTsProject
Create an API method with x-handler:        language: python
Add the integration to the CDK stack.
Build and deploy
Test the API method
Review the Lambda logs

.projenrc.ts excerpt
  parent: project,
  name: "demo-api",
  outdir: "packages/api",
  model: {
    language: ModelLanguage.OPENAPI,
    options: {
      openapi: {
        title: "Demo API",
      },
    },
  },
  infrastructure: {
    language: Language.TYPESCRIPT,
  },
  handlers: {
    languages: [Language.PYTHON],
  },
  runtime: {
    languages: [Language.TYPESCRIPT, Language.PYTHON],
  },
  library: {
    libraries: [Library.TYPESCRIPT_REACT_QUERY_HOOKS],
  },
});

const infra = new InfrastructureTsProject({
  parent: project,
  name: "demo-infra",
  outdir: "packages/infra",
  cdkVersion: "2.99.1",
  deps: ["@aws-cdk/aws-lambda-python-alpha", "cdk-nag"],
  typeSafeApi: api,
  prettier: true,
  sampleCode: true,
  context: {
    categoryTable:
      "category",
    attributeTable:
      "attributes",
  },
});

main.yaml OpenAPI spec excerpt:
    get:
      operationId: getCategory
      x-handler:
        language: python
      description: Get a category by ID.
      parameters:
        - name: id
          in: path
          description: Get the category identified by this ID
          required: true
          schema:
            type: string
      responses:
        200:
          description: Successful response
          content:
            'application/json':
              schema:
                $ref: '#/components/schemas/Category'
        500:
          $ref: '#/components/responses/internalError'
        400:
          $ref: '#/components/responses/notFound'
        404:
          $ref: '#/components/responses/notFound'
        403:
          $ref: '#/components/responses/notAuthorized'

get_category.py
from boto3.session import Session

from demo_api_python_runtime.models import *
from demo_api_python_runtime.response import Response
from demo_api_python_runtime.interceptors import INTERCEPTORS
from demo_api_python_runtime.interceptors.powertools.logger import LoggingInterceptor
from demo_api_python_runtime.api.operation_config import (
    get_category_handler,
    GetCategoryRequest,
    GetCategoryOperationResponses,
)

CATEGORY_TABLE = os.getenv("CATEGORY_TABLE")

def get_dynamodb_resource():
    return Session().resource("dynamodb")

def get_category(input: GetCategoryRequest, **kwargs) -> GetCategoryOperationResponses:
    """
    Type-safe handler for the GetCategory operation
    """
    logger = LoggingInterceptor.get_logger(input)
    logger.info("Start GetCategory Operation")

    table = get_dynamodb_resource().Table(CATEGORY_TABLE)
    try:
        id = (
            input.request_parameters.id if input.request_parameters.id != "" else "root"
        )
    except AttributeError:
        id = "root"
    logger.info(f"Getting category with id {id}")
    response = table.get_item(Key={"id": id})

    try:
        return Response.success(response["Item"])
    except KeyError:
        return Response.not_found(
            BadRequestErrorResponseContent(message=f"Category not found: {id}")
        )

# Entry point for the AWS Lambda handler for the GetCategory operation.
# The get_category_handler method wraps the type-safe handler and manages marshalling inputs and outputs
handler = get_category_handler(interceptors=INTERCEPTORS)(get_category)

CDK Lambda resource excerpt:
      this,
      "GetCategoryFunction",
      {
        environment: {
          CATEGORY_TABLE: props.categoryTable.tableName,
        },
      },
    );
    props.categoryTable.grantReadData(getCategoryFunction);

Possible Solution
No response
Additional Information/Context
When I create a handler in Typescript it works.
PDK version used
0.22.17
What languages are you seeing this issue on?
Python
Environment details (OS name and version, etc.)
MacOS 13.6

The Python runtime generates a BaseModel class with a validate method. The schema for another API method included a 'validate' attribute that caused the conflict. Just like it said in the error message...
The attribute was included from autogenerating the OpenAPI spec from many JSON objects.
The solution for me was to comment out the conflicting attribute in the spec since we're not going to use it.


Missing docstring for AugmentedReturn

AugmentedReturn is missing a docstring: https://github.com/EnzymeAD/Enzyme.jl/blob/4240527b4269683d6d337b58db3c79c4a29af1e2/lib/EnzymeCore/src/rules.jl#L28-L29
It would be nice to have one since the user must use this type when writing a custom reverse rule.

PR's welcome!


Roll engine e96900df2f27..da6475eec0f4 (53 commits)

https://github.com/flutter/engine/compare/e96900df2f27...da6475eec0f4
git log e96900df2f273920f7da46ae589b859d5a1fccb3..da6475eec0f474969d90b3f6bd44c962197181d9 --no-merges --oneline
da6475eec Roll fuchsia/sdk/core/mac-amd64 from TRwIGIJLuznLNQzJk17zfboJrkErpe1XvGr0njCwemoC to byM-kyxL4bemlTYNqhKUfJfZoIUrCSzS6XzsFr4n9-MC (flutter/engine#9629)
bee12e6f3 Roll fuchsia/sdk/core/mac-amd64 from MBS_xxNZ_O32DxW1bhOeJisJqYG9JY_FAtSa3ZYupg4C to TRwIGIJLuznLNQzJk17zfboJrkErpe1XvGr0njCwemoC (flutter/engine#9626)
fea8fa6c4 Roll fuchsia/sdk/core/linux-amd64 from Efv1uHDvhLYgT8mvQmdAiJv7HiLix2L_kDRkK6P9ER4C to I2Qe1zxgckzIzMBTztvzeWYsDgcb9Fw-idSI16oIlx8C (flutter/engine#9625)
e7f8ca1de [all] add fuchsia.{net.NameLookup,posix.socket.Provider} (flutter/engine#9546)
a72a9997e Roll fuchsia/sdk/core/mac-amd64 from B-JzM_H7hG5kOIRFjmUqI3uWBAV7no8BnCTknbd2wQ4C to MBS_xxNZ_O32DxW1bhOeJisJqYG9JY_FAtSa3ZYupg4C (flutter/engine#9624)
b3fe3e95d Fix a race in the embedder accessibility unit test (flutter/engine#9585)
55818f602 Roll fuchsia/sdk/core/linux-amd64 from xtoj1ola0unTQOetly-V77CgpT6g8L1JUKWDqS8SuAQC to Efv1uHDvhLYgT8mvQmdAiJv7HiLix2L_kDRkK6P9ER4C (flutter/engine#9623)
37a54f2ab Roll fuchsia/sdk/core/linux-amd64 from O1niQGtIRghvjuMMCmxevRA1Y6seUn6onOao6Wii9hQC to xtoj1ola0unTQOetly-V77CgpT6g8L1JUKWDqS8SuAQC (flutter/engine#9622)
458a7647a Roll fuchsia/sdk/core/mac-amd64 from neDu8hWotIrKCQkxz1ScSJC4NoBva1_YVszr6wMbcZQC to B-JzM_H7hG5kOIRFjmUqI3uWBAV7no8BnCTknbd2wQ4C (flutter/engine#9621)
6e7b4ca44 Roll fuchsia/sdk/core/linux-amd64 from gMVpYn1cxQ0LeU-TSryUCg2o3rNcf7JWvlOqY6G00MYC to O1niQGtIRghvjuMMCmxevRA1Y6seUn6onOao6Wii9hQC (flutter/engine#9620)
e4d354d2c Roll src/third_party/skia 161f47dfbf6a..21a486d04ae0 (2 commits) (flutter/engine#9619)
28028759b Roll fuchsia/sdk/core/mac-amd64 from tPyg8rqV40gsoXEhDf7VskccnbJGCh4_bZp71YOUinEC to neDu8hWotIrKCQkxz1ScSJC4NoBva1_YVszr6wMbcZQC (flutter/engine#9618)
8e405c1db Roll fuchsia/sdk/core/mac-amd64 from UkCx2sMZsCM-w9nEuQC2TRfnJ7wjJCxsCxSDEx2uPegC to tPyg8rqV40gsoXEhDf7VskccnbJGCh4_bZp71YOUinEC (flutter/engine#9615)
609a98060 Fix uninitialized variables and put tests in flutter namespace. (flutter/engine#9613)
9807894ac Roll fuchsia/sdk/core/linux-amd64 from ur0ah3sh2atct83EqYX28SjG3fKt-7Driu48GbpdxmMC to gMVpYn1cxQ0LeU-TSryUCg2o3rNcf7JWvlOqY6G00MYC (flutter/engine#9612)
4e344e6cd Wire up custom event loop interop for the GLFW embedder. (flutter/engine#9089)
54c62263d Roll fuchsia/sdk/core/mac-amd64 from gyWAjP3BPfhpvHOOwaTusfA8JaGcY_UzjpoIGQnA_W0C to UkCx2sMZsCM-w9nEuQC2TRfnJ7wjJCxsCxSDEx2uPegC (flutter/engine#9611)
c3f8cab29 Roll fuchsia/sdk/core/linux-amd64 from xmxDtsnD0sfj7wxUaiMMhUwh72prBvMcYHY07lgTotcC to ur0ah3sh2atct83EqYX28SjG3fKt-7Driu48GbpdxmMC (flutter/engine#9610)
6f1a748ae Document various classes in //flutter/shell/common. (flutter/engine#9591)
4d3653092 Roll fuchsia/sdk/core/mac-amd64 from 4PD6FCl4NvKCavA0AVsdKtZPB3G5K72KprkEH0mr064C to gyWAjP3BPfhpvHOOwaTusfA8JaGcY_UzjpoIGQnA_W0C (flutter/engine#9609)
cf084bdb6 Roll fuchsia/sdk/core/linux-amd64 from XRYatTY5OvCnQ-5rGC8AnYltKa68CBxmnEK8QO0fpvQC to xmxDtsnD0sfj7wxUaiMMhUwh72prBvMcYHY07lgTotcC (flutter/engine#9607)
8d054008a disable mysterious failing tests (flutter/engine#9608)
aa817a9a2 Roll fuchsia/sdk/core/mac-amd64 from DeTFBSaxMBfZpfK0c7CifGpJbJLOrs3WtuCOaINwmrwC to 4PD6FCl4NvKCavA0AVsdKtZPB3G5K72KprkEH0mr064C (flutter/engine#9606)
4e988e0ae Roll fuchsia/sdk/core/linux-amd64 from jXpdljb7CHe8PEpUGGYqGvx6vFar6QRUh6HmpxMoS9sC to XRYatTY5OvCnQ-5rGC8AnYltKa68CBxmnEK8QO0fpvQC (flutter/engine#9605)
84ae36ac2 Roll fuchsia/sdk/core/mac-amd64 from IMr36r3rRLs1G7T5OtCudVMoWjPcjRbYGgyDg7LSxPwC to DeTFBSaxMBfZpfK0c7CifGpJbJLOrs3WtuCOaINwmrwC (flutter/engine#9604)
7135c8dbd Roll fuchsia/sdk/core/mac-amd64 from qcwCYvuT0PeU97HpvMVmC114EOKwfrk8PdFdZz_m6CIC to IMr36r3rRLs1G7T5OtCudVMoWjPcjRbYGgyDg7LSxPwC (flutter/engine#9602)
8f4df037b Roll fuchsia/sdk/core/linux-amd64 from Y3kUPtfq2frI60zx7VssO-WG733jtODCmnESyz0UGdEC to jXpdljb7CHe8PEpUGGYqGvx6vFar6QRUh6HmpxMoS9sC (flutter/engine#9601)
6c6a0d753 [trace clients] Remove fuchsia.tracelink.Registry (flutter/engine#9593)
f931539b2 Roll fuchsia/sdk/core/mac-amd64 from UsrGfX7Fj96MljgqUFc_A-o_ufsa_FX3eaG14ZSDWMAC to qcwCYvuT0PeU97HpvMVmC114EOKwfrk8PdFdZz_m6CIC (flutter/engine#9600)
cb5c85ac7 Roll fuchsia/sdk/core/linux-amd64 from w7VVL0dntMhd75uB9Yby88ecIJkWGhBsr8mqCMNKurcC to Y3kUPtfq2frI60zx7VssO-WG733jtODCmnESyz0UGdEC (flutter/engine#9599)
68bde1215 Roll src/third_party/skia 0d8c1aefd127..161f47dfbf6a (1 commits) (flutter/engine#9598)
d02bca0ca Roll fuchsia/sdk/core/mac-amd64 from BYCwsJf7r7zfd2THSGinFeIHv552AEVchXdc7VZzP0IC to UsrGfX7Fj96MljgqUFc_A-o_ufsa_FX3eaG14ZSDWMAC (flutter/engine#9597)
fb2633221 Roll fuchsia/sdk/core/linux-amd64 from d2VK3FYSEKQ35UdZw5FdbOZUI_xgT0-1h8DnGDUHPVAC to w7VVL0dntMhd75uB9Yby88ecIJkWGhBsr8mqCMNKurcC (flutter/engine#9596)
5d4a6832e Roll src/third_party/skia 1ddee025229a..0d8c1aefd127 (1 commits) (flutter/engine#9594)
131085eca [crash] switch to async crash analysis
0ea826d72 [dart/flutter_runner] Copy package.resolved_url for TRACE_DURATION
c13374b9e [meta] add fuchsia.{net.NameLookup,posix.socket.Provider}
97eb094aa [flutter] Re-enable unhandled error reporting
a48c21a73 [flutter_runner] Rename outgoing 'public' to 'svc'.
98f55f0e6 [trace clients] Remove fuchsia.tracelink.Registry
38b382726 [flutter_runner] use external image create info
366c88174 [trace clients] Add fuchsia.tracing.provider.Registry to cmx files
06b29ae83 [trace clients] Replace trace-provider with trace-provider-with-fdio
ffba2f68d Roll src/third_party/dart b37aa3b036...0abff7b2bb (flutter/engine#9588)
62514cb77 Roll fuchsia/sdk/core/mac-amd64 from n9fZpXVmsbgKZzS8Q2GXxB453q8AbLpfGztsPsq47pMC to BYCwsJf7r7zfd2THSGinFeIHv552AEVchXdc7VZzP0IC (flutter/engine#9587)
...

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/4602997722578944 , https://cirrus-ci.com/task/6643691303731200

Commit queue failed; closing this roll.


Back k3s with etcd

Long Slack thread https://uffizzi-internal.slack.com/archives/C85U32F3M/p1695330070138869
By default, k3s uses embedded SQLite as its database. In my testing, k3s performs much better when using etcd, and the combined containers use much less CPU and memory than SQLite. We should consider using this for some or all uCluster customers.
This option is documented by vCluster here: https://www.vcluster.com/docs/operator/external-datastore
and by the Rancher k3s team here: https://docs.k3s.io/datastore
To configure this, our operator should deploy etcd into the customer namespace on our host cluster just before it deploys vCluster. This is probably best done by creating a HelmRelease resource for the bitnami etcd Helm chart: https://artifacthub.io/packages/helm/bitnami/etcd
For the first iteration we can try values like these:
global:
  storageClass: "premium-rwo"
replicaCount: 1
persistence:
  size: "10Gi"
tolerations:
- effect: NoSchedule
  key: sandbox.gke.io/runtime
  operator: Exists
nodeSelector:
  sandbox.gke.io/runtime: gvisor
auth:
  rbac:
    create: false
resources:
  limits:
    cpu: 500m
    memory: 800Mi
  requests:
    cpu: 100m
    memory: 200Mi

We'll also need to change the values for our vCluster Helm release, including these:
enableHA: true
vcluster:
  env:
  - name: K3S_DATASTORE_ENDPOINT
    value: http://my-etcd:2379
storage:
  persistence: false

(no other attributes within storage:.)
IF we decide to offer this for some customers but not others, we should probably add options to our UffizziCluster interface, with choices for using etcd or sqlite, the number of replicas for both k3s and etcd, the size and speed of the etcd volume, etc. That may or may not be outside the scope of this ticket.

I explored using etcd embedded within k3s. It performed well but their interface doesn't help and they don't support exactly what we want. https://rancher-users.slack.com/archives/CGGQEHPPW/p1696003681817749

performance profiling from Slack thread:

Running two ingress-nginx e2e test runs with only 7 parallel runners.
First uCluster: unmodified k3s with default SQLite:

peak just under 1 vCPU, average around half
around 1GiB memory and slowly rising
peak IOPS 5000 ("balanced" GCE volume)

Second uCluster: single k3s with single etcd:

etcd utilization: 0.13 vCPU, 0.13 GiB
k3s utilization: 0.37 vCPU, 0.5 GiB
peak 250 IOPS ("ssd" GCE volume)

This may increase uCluster provisioning time, especially for etcd deployments with multiple replicas. Probably less than two minutes at most. I can profile this more if that's a concern.

We need a provisioning speed test with the etcd to make a final decision on if etcd is default or if we want to make it an option.

@gadkins from @axisofentropy thread on Slack https://uffizzi-internal.slack.com/archives/C85U32F3M/p1696870804707309
etcd/vcluster HelmRelease provisioning speed testing:
vcluster w/ settings we're using now: 80 seconds
3 replica etcd: 60 seconds
1 replica etcd: 60 seconds
vcluster connecting to etcd, specified simultaneously: 75 seconds
we get better perfomance. the automated testing can work slowly without etcd, but needs etcd's increased performance to achieve our 10-20 minute targets for ingress-nginx.

Based on the recommendation above we should make etcd the default option on Uffizzi.
Later we can offer variations with SQLite, Postgres etc

#65 #66 #67 #68 #69 #70 #71

@waveywaves sorry it looks like the vcluster chart values I gave you are not producing what we want, at least not with v0.16.4. The resulting vcluster Pods are mounting a temporary emptyDir and using it for bootstrap data including their certificates, I think? This means that when they restart they generate new certificates and existing clients cannot connect to them.
What's working in my testing this morning is:
enableHA: false
storage:
  persistence: true

and make sure the value of K3S_DATASTORE_ENDPOINT begins with http://!
It looks like this does create a StatefulSet and maybe stores bootstrap certificates on a PVC. But I can also see that it's using etcd and storing most state in there.

I took a crack at correcting this here: https://github.com/UffizziCloud/uffizzi-cluster-operator/pull/74/files
I'll try deploying it to qa if our tests pass.
I looked at the Deployment / StatefulSet logic and it looks like it should work without modification?

After the side effects on existing uclusters being caused by the operator where the operator is upgrading all existing uclusters to ones with etcd, we need to set the default ucluster datastore to sqlite.


Add sortBy and sortWith

Not sure this makes any sense as needs as all rows in memory, so might as well do sort on list.


[ml] Add v2023-06-01-preview restclient

Description
Bring in June preview rest client to sdk
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Page size button undated to prevent scrolling

Resolves: #54
ButtonSelect component repeated to access useFloating options and style settings

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

Project coverage is 99.75%. Comparing base (f7f3a22) to head (4a3c813).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #62   +/-   ##
=======================================
  Coverage   99.74%   99.75%
=======================================
  Files          93       96    +3
  Lines        1571     1601   +30
  Branches      333      358   +25
=======================================
+ Hits         1567     1597   +30
  Misses          4        4

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

@asimonok ready for review


Enhance Timer API

Some nice-to-haves to consider, from a recent convo with John H

Would be nice to have delay = true, yield a delay equal to the interval. We often want that.
Programmatic way to start and stop.
Might we have a createAndRun() version that creates returns a running timer -- *after an initial blocking run"

Can we add ability to pass an appConfig name string as the interval, as we do on the hoist-core?
https://github.com/xh/hoist-core/blob/f6349db9119d88e6ed150cab6015181783258605/src/main/groovy/io/xh/hoist/util/Timer.groovy#L29
We won't get the server-side ability to dynamically respond to config changes on the client (at least not yet) but still seems like a nice little pickup + more symmetry with the server-side class.

One thing that is making the appConfig thing a little less convenient (on server and client) is that we often get timeout intervals from within nested json within config.
I actually think the most elegant way to make the whole thing "dynamic" on client and server might be to allow just defining the interval as a function/closure that can be re-read periodically.  Would be more flexible than what we have, and syntax would be not much more verbose

Did two out of the four ideas in this ticket -- hopefully a nice pickup and enough to earn closing the ticket!