Building ESP32-S3 Firmware VS Code Mac Terminal

The following commands were run on macOS Monterey - version 12.1 Terminal on VS Code
git clone https://github.com/mocleiri/tensorflow-micropython-examples.git
Then Following the build_esp32s3.yml in the .github/workflows folder.
cd /tensorflow-micropython-examples
git submodule init
git submodule update --recursive
cd micropython
git submodule update --init lib/axtls
git submodule update --init lib/berkeley-db-1.xx
cd ..
IDF_COMMIT=142bb32c50fa9875b8b69fa539a2d59559460d72
echo "esp-idf-commit=$IDF_COMMIT" >> $GITHUB_ENV
TFLM_COMMIT=$(git submodule status tensorflow | awk '{print ($1)}')
echo "tflm-commit=$TFLM_COMMIT" >> $GITHUB_ENV
source ./micropython/tools/ci.sh && ci_esp32_idf44_setup
source ./esp-idf/export.sh
pip3 install Pillow
pip3 install Wave
echo "Regenerating microlite/tfm directory"
rm -rf ./micropython-modules/microlite/tflm
cd ./tensorflow
../micropython-modules/microlite/prepare-tflm-esp.sh
cd ..
source ./esp-idf/export.sh
cd ./micropython
echo "make -C mpy-cross V=1 clean all"
make -C mpy-cross V=1 clean all
cd ..
echo "cd ./boards/esp32/MICROLITE_S3"
cd ./boards/esp32/MICROLITE_S3
echo "Building MICROLITE_S3"
rm -rf build
idf.py clean build
FAILED:
/tensorflow-micropython-examples/micropython/ports/esp32/main.c:38:10: fatal error: soc/cpu.h: No such file or directory
#include "soc/cpu.h"
^~~~~~~~~~~
compilation terminated.
/tensorflow-micropython-examples/micropython/ports/esp32/gccollect.c:37:10: fatal error: soc/cpu.h: No such file or directory
#include "soc/cpu.h"
^~~~~~~~~~~
compilation terminated.
/tensorflow-micropython-examples/micropython/ports/esp32/modmachine.c:46:10: fatal error: esp32s3/clk.h: No such file or directory
#include "esp32s3/clk.h"
^~~~~~~~~~~~~~~
compilation terminated.
returned non-zero exit status 1.
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
I can find all of these files by hand in the downloaded ESP-IDF in the repository but the compiler just can't seem to pick them up. any suggestions would be fantastic thank you!

Copying and pasting the missing individual folder and files into the board root folder does seem to partially solve it but then produces further errors:
[1116/1606] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/...ensorflow-micropython-examples/micropython/extmod/moduwebsocket.c.ob
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
[1118/1606] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/.../tensorflow-micropython-examples/micropython/extmod/uos_dupterm.c.ob
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
[1120/1606] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/...1/tensorflow-micropython-examples/micropython/extmod/modwebrepl.c.ob
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
[1121/1606] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/.../tensorflow-micropython-examples/micropython/extmod/utime_mphal.c.ob
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
...
etc for all of the remaining build lines

My development environment is windows but I'm doing most work in visual studio code running in windows subsystem for linux so I'm unable to help directly.
However if you are able to figure out the steps to build on MacOS please feel free to contribute the steps and we can improve the manual build instructions to include for mac os.
The -fno-rtti error is not an error per-se.  I need to improve the microlite cmake file to seperate the C++ build from the C build.
CMake is passing that option to gcc which is complaining that its not a C option.  But I added for the C++ code where it is needed.
That line is emitted right now for all esp32 builds in linux.
If you get a firmware generated at the end of the build then I think you have a working build.

Thank you for your reply! I will focus on the mac build and reply back to the thread so it can be added. Thanks again!

Solved: Ive solved it using latest IDF-4.4 and making sure all of the toolchain had been properly added to the bash Profile. Ive added a pull request with a .md document detailing the process.
The Process is as pasted below:
Build Tensorflow Micropython on MAC OS using Bash Terminal
Tested on: macOS Monterey Version 12.1
Prerequisites
Properly Installing ESP-IDF (Taken from: https://docs.espressif.com/projects/esp-idf/en/v3.3/get-started-cmake/macos-setup.html)
sudo easy_install pip
pip install --user pyserial
brew install cmake ninja
brew install ccache
Download: https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
Make Toolchain Accessible from Bash Terminal
Open your /bash.profile file by navigating to usr directory and pressing down the keys "Command, Shift, FullStop" it shoudl appear.
Add to your profile:
export PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH
alias get_esp32="export PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH"
Git Clone ESP-IDF Version 4.4
cd ~/esp
git clone -b v4.4 --recursive https://github.com/espressif/esp-idf.git esp-idf
Update the Submodules
cd esp-idf
git submodule update --init
Reopen your /bash.profile and add the following:
export IDF_PATH=~/esp/esp-idf
export PATH="$IDF_PATH/tools:$PATH"
Install the required python packages
python3 -m pip install --user -r $IDF_PATH/requirements.txt
Download the Tensorflow Micropython Examples Repo
git clone https://github.com/mocleiri/tensorflow-micropython-examples.git
Building ESP32S3
Building the TensorFlow Firmware
cd /tensorflow-micropython-examples
git submodule init
git submodule update --recursive
cd micropython
git submodule update --init lib/axtls
git submodule update --init lib/berkeley-db-1.xx
cd ..
Get Cache Keys
IDF_COMMIT=142bb32c50fa9875b8b69fa539a2d59559460d72
TFLM_COMMIT=$(git submodule status tensorflow | awk '{print ($1)}')
Setup IDF within Repo (Another Option)
source ./micropython/tools/ci.sh && ci_esp32_idf44_setup
source ./esp-idf/export.sh
pip3 install Pillow
pip3 install Wave
rm -rf ./micropython-modules/microlite/tflm
cd ./tensorflow
../micropython-modules/microlite/prepare-tflm-esp.sh
cd ..
Build Micropython Cross-Compiler
source ./esp-idf/export.sh
cd ./micropython
make -C mpy-cross V=1 clean all
cd ..
Build Generic ESP32S3 8MB FLASH
source ./esp-idf/export.sh
(OR: get_esp32
get_idf)
cd ./boards/esp32/MICROLITE_S3
rm -rf build
idf.py clean build
To build other boards e.g. GENERIC_SPIRAM replace with Board definition
cd ./boards/esp32/MICROLITE_S3_SPIRAM
If succesful you should see a reult similar to this:
/micropython.bin
or run 'idf.py -p (PORT) flash'
bootloader  @0x000000    18640  (   14128 remaining)
partitions  @0x008000     3072  (    1024 remaining)
application @0x010000  1191120  (  840496 remaining)
total                  1256656

The corresponding pull request for this was #66 it was merged applied in d083f23ad32a16bf40b7383a69bf98ab1c6c9281.


Update translate.py

Changing header and url variables to private variables
Add the detect_laguage function to detect the language of texts
Add comments for functions
Using the function of sending api request to Google translator to avoid repeating the code

Can you add usage details for the detect_language function in the README.md file?

yeah sure! there is it

also you must add this line :
from .translate import detect_laguage
to this file:
etranslate/__init__.py

Is it necessary to update the keyword in the setup.py?


AV-138: Use common font awesome

Removes ckan core font awesome from use
Removes font awesome 4.5.0 from common assets
Adds Font Awesome 5.3.1 to assets common build
Configures ckan and drupal8 to use the same font awesome css

Also added missing variables user settings instead of creating new PR for them


Problem with load simple x86 OS

Hi, thank you for such interesting project. Could you please help me?
When I try to load floppy image of my os nothing happens and console show next error:
Uncaught Unimplemented: Unknown floppy size: 4E00

Thing is image size is smaller then 1.4 Mb but everything works fine on jemul8.
When I try to load full 1.4 image size, then this error occures:
Uncaught RangeError: Maximum call stack size exceeded

You could get image from url.
Thank you.

If you Çee this message right no,kÞleaseØdial (8lÒ) ###-#### and tell›hem that yäu haveëfoun
úhs flasE drive, and go to our address,MwhicÆ s 32½¤West 22nd Strent, Co##n ton K(####4. ‚nce yoØ getŠthere, tell uÁ tat you h›ve found §his flÅsh drive a‘dötha| weÌshould caim it bacN if we w]nt itk If we say no, *ou are fèee to do w_atever you wznt to th×s flaÌh driv¢. Else, y©u do NO{ pave pe:mission to change any con
ents of thisBf¬ash driz or even des~roy the flxsh drive!
§Thaßk you!
ˆ
N¥te t’at if you gžve Ahe flash nri˜eTdamaged or the ©oñÁents of the flash driveßwas chs7ged, tuere my be a chance´that we may dial 911 =ue to invading ÷popôe' ñrvacy.


⚠ AsianCinema has degraded performance

In 833a377, AsianCinema ($ACM) experienced degraded performance:

HTTP code: 525
Response time: 20490 ms

Resolved: AsianCinema performance has improved in ce4f751.


Added prompt template intstructions

Issue
Currently I was working on llama-3 based model and had to run it using llamaedge api server but current instructions are entirely based on llama-2 and I got really confused about prompt template and thought that i will have to write the template myself and add it to source code, on exploring I found out that llama edge already supports llama-3 prompt template (along with other models) while going through "run-llm.sh" file, its just not depicted properly in llamaedge api server readme.
Changes I made
I have added reference to CLI options in the Running llamaedge api server instructions where various prompt template and other helpful functions are also defined

LlamaEdge provides llama-3-chat prompt template. If your model uses the exactly same prompt string as Llama-3-8B-Instruct, you can use llama-3-chat to start llama api server.
Reference: https://huggingface.co/second-state/Llama-3-8B-Instruct-GGUF


warning: public documentation for add_schema links to private item

warning: pallet-schemas-runtime-api (lib doc) generated 1 warning
warning: public documentation for add_schema links to private item CurrentSchemaIdentifierMaximum
--> pallets/schemas/src/lib.rs:332:3
|
332 | /         /// Build the [Schema] and insert it into storage
333 | |         /// Updates the [CurrentSchemaIdentifierMaximum] storage
| |__________________________________________________________________^
|
= note: the link appears in this line:
        Updates the [`CurrentSchemaIdentifierMaximum`] storage
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: this link will resolve properly if you pass `--document-private-items`
= note: `#[warn(rustdoc::private_intra_doc_links)]` on by default

I think we have a couple of other warnings like this. Just wanted to make sure if we are addressing one we are addressing them all at the same time.


Android doesn't respect autoCapitalize when secureTextEntry is set

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
Environment:
  OS: macOS Sierra 10.12.6
  Node: 8.4.0
  Yarn: 1.2.1
  npm: 5.3.0
  Watchman: 4.9.0
  Xcode: Xcode 9.1 Build version 9B55
  Android Studio: 3.0 AI-171.4408382

Packages: (wanted => installed)
  react: 16.0.0 => 16.0.0
  react-native: 0.50.1 => 0.50.1

Steps to Reproduce
<View style={styles.container}>
        <TextInput
          placeholder="Text"
          secureTextEntry={true}
          autoCapitalize="none"
          underlineColorAndroid="rgba(0, 0, 0, 0)"
        />
      </View>

Expected Behavior
Keyboard shouldn't be auto capitalized. It seems when autoCapitalize and secureTextEntry are both set autoCapitalize is ignored. If I remove secureTextEntry then autoCapitalize works as expected. This only happens on Android.
Actual Behavior
Keyboard is auto capitalized when secureTextEntry is set
Reproducible Demo
https://snack.expo.io/ByoIR0rbG

I just made a project with react-native init foo and pasted your code. My actual behaviour is not a auto capitalized keyboard. (Android Emulator - Nexus 5X API25)
Additionally (just to clarify) the first character is lower cased if I start typing without pressing shift before.
Also downgraded to your react-native version. Same result.

Even so I can not reproduce this behaviour: As far as I see react-native does not unset any input type flags set by autoCapitalize when setting secureTextEntry (or other way around). So I don't think we could call it a react-native bug. This might be a problem with some versions of android?
https://github.com/facebook/react-native/blob/1e18d907bfb8cc5f4f2e1a1ede0dd98aec40ab11/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java#L509-L526

Thanks for the response @Sommerfeld.
I updated to the latest React Native and seemed to work on my Android device. So putting it down to something strange in Android, thanks.


[AVM Module Issue]: Error ManagedEnvironmentInvalidNetworkConfiguration when creating internal Azure Container App Environment

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
No response
(Optional) Correlation Id
No response
Description
Consider the following terraform file:
## Variables
variable "project" {
  description = "Identifies project(s) that the resource supports"
  type        = string
  default     = "aca-vnet-integration-test"
}

variable "azure_region" {
  description = "Azure region"
  type        = string
  default     = "australiaeast"
}

variable "tenant_id" {
  description = "Azure tenant ID"
  type        = string
  default     = "xxx-xxx-xxx-xxx-xxx"
}

## Providers
provider "azurerm" {
  features {}
  tenant_id       = var.tenant_id
  subscription_id = "xxx-xxx-xxx-xxx-xxx"
}

## Versions

terraform {
  required_version = ">= 1.6.0"

  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.0"
    }
  }
}

## RG
resource "azurerm_resource_group" "rg" {
  name     = "${var.project}-rg"
  location = var.azure_region
}

# VNET & two subnets, both delegated to Microsoft.App/environments
module "avm-res-network-virtualnetwork" {
  source = "Azure/avm-res-network-virtualnetwork/azurerm"

  address_space      = ["<IP_ADDRESS>/16"]
  location            = azurerm_resource_group.rg.location
  name                = "${var.project}-vnet"
  resource_group_name = azurerm_resource_group.rg.name
  enable_telemetry = false
  subnets = {
    "failing_subnet" = {
      name             = "avm-${var.project}-aca-subnet"
      address_prefixes = ["<IP_ADDRESS>/24"]
      default_outbound_access_enabled = true
      delegation = [{
        name = "fail_aca_delegation"
        service_delegation = {
          name    = "Microsoft.App/environments"
          actions = ["Microsoft.Network/virtualNetworks/subnets/join/action"]
        }
      }]
    }
  }
}

resource "azurerm_subnet" "working_subnet" {
  name                 = "azurerm-${var.project}-aca-subnet"
  resource_group_name  = azurerm_resource_group.rg.name
  virtual_network_name = module.avm-res-network-virtualnetwork.name
  address_prefixes     = ["<IP_ADDRESS>/24"]

  delegation {
    name = "working_aca_delegation"
    service_delegation {
      name    = "Microsoft.App/environments"
      actions = [ "Microsoft.Network/virtualNetworks/subnets/join/action" ]
    }
  }
}

## Azure Container Apps. One integrated into each subnet from above
resource "azurerm_container_app_environment" "failing_aca" {
  name                       = "${var.project}-aca-failing"
  location                   = azurerm_resource_group.rg.location
  resource_group_name        = azurerm_resource_group.rg.name

  infrastructure_resource_group_name = "${var.project}-aca-managed-failing-rg"
  infrastructure_subnet_id           = module.avm-res-network-virtualnetwork.subnets["failing_subnet"].resource_id
  internal_load_balancer_enabled = true

  workload_profile {
    name = "Consumption"
    workload_profile_type  = "Consumption"
    maximum_count = 3
    minimum_count = 0
  }
  zone_redundancy_enabled = true
}

resource "azurerm_container_app_environment" "working_aca" {
  name                       = "${var.project}-aca-working"
  location                   = azurerm_resource_group.rg.location
  resource_group_name        = azurerm_resource_group.rg.name

  infrastructure_resource_group_name = "${var.project}-aca-managed-working-rg"
  infrastructure_subnet_id           = azurerm_subnet.working_subnet.id
  internal_load_balancer_enabled = true

  workload_profile {
    name = "Consumption"
    workload_profile_type  = "Consumption"
    maximum_count = 3
    minimum_count = 0
  }
  zone_redundancy_enabled = true
}

when I run terraform apply I get the following error message :
│ Error: creating Managed Environment (Subscription: "xxx-xxx-xxx-xxx-xxx"
│ Resource Group Name: "timur-aca-test-rg"
│ Managed Environment Name: "timur-aca-test-aca-failing"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with error: ManagedEnvironmentInvalidNetworkConfiguration: The environment network configuration is invalid: The subnet and its addressPrefix could not be found.
│
│   with azurerm_container_app_environment.failing_aca,
│   on main.tf line 87, in resource "azurerm_container_app_environment" "failing_aca":
│   87: resource "azurerm_container_app_environment" "failing_aca" {
│
│ creating Managed Environment (Subscription: "xxx-xxx-xxx-xxx-xxx"
│ Resource Group Name: "timur-aca-test-rg"
│ Managed Environment Name: "timur-aca-test-aca-failing"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with error: ManagedEnvironmentInvalidNetworkConfiguration: The environment network configuration is invalid:
│ The subnet and its addressPrefix could not be found.

upon inspecting the two provisioned subnets with az network vnet subnet show, I see a few differences but one particularly caught my eye:

I expect both subnets to be able to be used with ACA.

Yeah, I've came into this also. Could you please review this issue?

Released in 0.3.0. Use the address_prefix variable instead of the address_prefixes variable for cases like this.


Issue launching Jasper

Traceback (most recent call last):
File "/home/pi/jasper/jasper.py", line 12, in
from client import tts
File "/home/pi/jasper/client/tts.py", line 41, in
import diagnose
File "/home/pi/jasper/client/diagnose.py", line 9, in
import pip.req
ImportError: No module named req
Error I get when running Jasper. Unsure as to what the cause is. Any help would be appreciated. Apologies if incorrect place if anyone could guide me elsewhere even. Thanks
OS is raspbien Jessie with MagicMirror installed.

install pip
https://pip.pypa.io/en/stable/installing/#installation

pi@raspberry:~ $ pip install -U pip
Looking in indexes: https://pypi.python.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages/pip-10.0.0b2-py2.7.egg (10.0.0b2)
pi@raspberry:~ $ jasper/jasper.py
Traceback (most recent call last):
File "jasper/jasper.py", line 12, in
from client import tts
File "/home/pi/jasper/client/tts.py", line 41, in
import diagnose
File "/home/pi/jasper/client/diagnose.py", line 9, in
import pip.req
ImportError: No module named req
i install pip again but i have the same problem.
what should i do?
my profile is this :
carrier: ''
first_name: ahmad
gmail_password: ''
last_name: asadi
location: Toronto
phone_number: ''
prefers_email: true
timezone: America/Toronto
stt_engine:witai
witai-stt:
access_token:BEOGVIPZIQZTV76TNNDU4HR3MGXX67FY
tts_engine:google-tts
i used google gTTS and witai stt   as in the youtube tutorial
thanks a lot

try
sudo python -m pip install --upgrade pip==9.0.3


URL not setting in onLoadStart on Ajax webpages

URL is not setting when site is using Ajax or no reload pages.
Example URL: https://www.flipkart.com/search?q=iphone%20x
Steps to reproduce:

Open above URL in flutter_inappbrowser
Tap on any product (Requires no reload because of ajax)
Check URL, It shows example URL stated above not the opened product URL

Each time i open new product i have to use webController.reload(); to show the correct product URL
Note: To use example URL stated above domStorage must be enabled:
initialOptions: {
  "domStorageEnabled": true,
},

Code:
onLoadStart: (InAppWebViewController controller, String url) {
  setState(() {
    this.url = url;
  });
},

Added new onNavigationStateChange event in version 2.0.0, which is an event fired when the navigation state of the InAppWebView changes.
Also, this plugin changed its name to flutter_inappwebview. The current latest version now is 2.1.0+1. So, you can change your dependency influtter_inappwebview: ^2.1.0+1.


SSH support

Set :ssh to true to connect via SSH, :ssh_user with which user. This can be set on a per-environment basis, same as any other setting.

@intjonathan 👍  Thanks for the feedback, all addressed.

@intjonathan Done!

Bumped version to 1.9.0 as well.


Why is the point (0, 2) mapped to infinity in deserialisation?

Question
As said in the title why is (0, 2) mapped to the point at infinity?
    /*
     * Even though (0,2) is formally a point on E1 curve it's turned to
     * infinity...
     */

I have to thank you for reminder! Basically I was going to revisit this prior making the code public, but failed. In essence (0,2) can't participate in meaningful calculations because doubling formula so to say "melts down." But fortunately it may not appear in real-life data, because it's not in the cyclic group. And we expect all legitimate serialized points to be in the group. So that it sounds like it would be appropriate to reject it with BLST_POINT_NOT_IN_GROUP.

Ah so the plan is to do subgroup check on deserialisation?
I ran a small test in rust and it seemed the results were correct for double and add_or_double. (after removing the line check for point (0, 2) in ec1.c::uncompress().
    #[test]
    fn test_double_0_2() {
        let mut bytes = [0u8; 48];
        bytes[0] = 128;
        let mut pk = min_pk::PublicKey::uncompress(&bytes).unwrap();
        let mut p1 = blst_p1::default();
        unsafe {
            blst_p1_from_affine(&mut p1, &pk.point);

            let mut p1_2 = p1.clone();
            let mut double = p1.clone();
            // blst_p1_double(&mut double, &p1);
            blst_p1_add_or_double(&mut double, &p1, &p1_2);
            blst_p1_to_affine(&mut pk.point, &double);
        }

        println!("{:?}", pk.serialize().to_vec());
    }

Both output the point (0, -2) is that not correct?
It just happens to be in a subgroup of size 3 {Inf, (0, 2), (0, -2)}?

Ah so the plan is to do subgroup check on deserialisation?

No, absolutely not. Suggestion is to return corresponding error code specifically for (0,2). So that application that does != BLST_SUCCESS would reject it, just like any other nonsensical input, not on curve or otherwise malformed. At the same time an application that would consider (0,2) useful (for whatever crazy reason, most likely just for reference) could check for BLST_POINT_NOT_IN_GROUP out of deserialization to single out the outlier in question.
As for performing operations on it. As mentioned, doubling formula "melts down." It doesn't literally mean that blst_p1_double doesn't produce a result, it's just that whatever it produces is effectively meaningless. Yes, you can note that passing (0,2) to blst_p1_double yields (0,-2), and adding them will result in infinity, and wonder if it's a group... The answer is it's nothing. And if the said point is presented for deserialization it can only mean that somebody is trying to mess with you.
Just in case if one wonders what was the rationale behind "shunting" it to infinity. The original intention was to keep serdes somewhat application-neutral. In other words less dependent on ZCash format. This means that you'd like to have a way of conveying infinite compressed point without the bit denoting the infinity. And line of reasoning went "since (0,2) means nothing, and infinity means non-signature, ..." This arguably needed a revisit...

Just in case if one wonders what was the rationale behind "shunting" it to infinity. The original intention was to keep serdes somewhat application-neutral. In other words less dependent on ZCash format. This means that you'd like to have a way of conveying infinite compressed point without the bit denoting the infinity. And line of reasoning went "since (0,2) means nothing, and infinity means non-signature, ..." This arguably needed a revisit...

Yep, I see that is an more efficient way of representing infinity without using extra bits.
Now that we're using the ZCash format and represent infinity with an extra bit I don't see the need for handling the (0, +-2) case separately. It can be treated the same as any other point that is not in the correct subgroup. That is it will fail the subgroup check when doing some form of verification.
I agree that is a meaningless point as it should never verify as true and would only be used by malicious users. Though I promote it's treatment as the same as any other point not in the correct subgroup for consistency and mainly to match it's treatment in other implementations such as ZCash.

I don't see the need for handling the (0, +-2) case separately. It can be treated the same as any other point that is not in the correct subgroup. That is it will fail the subgroup check when doing some form of verification.

Trouble is that group-checking (0,2) is not more meaningful than doubling. Yes, blst_p1_affine_in_g1 says it's not in the group, but it's coincidental. The outcome is actually dependent on algorithm you choose to perform the check. The only sound way to treat it is to single it out. One can argue when it should be singled out, but one can't dispute that it has to be.

The outcome is actually dependent on algorithm you choose to perform the check.

That's interesting, are their certain subgroup checking algorithms for which it's possible (0, +-2) may end up passing the subgroup check?
It looks like it should pass the naive way (albeit coincidentally) which is multiplication by r using double and add, then checking if we have the point infinity or not.
So assuming it may incorrectly pass the subgroup check and so needs to be singled out, I think it would be preferable to single it out at the subgroup check rather than during deserialisation.

It looks like it should pass the naive way

That's the thing, depending on algorithm you choose for multiplication by scalar, you'll get varying results.

it would be preferable to single it out at the subgroup check rather than during deserialisation.

I disagree. (0,2) is no different from non-on-curve or any other invalid input.  So we need more opinions. But for now fix for #15 keeps it in deserialztion...

I've been thinking... (Despite the danger of doing so, I know;-) In essence the group-check is a countermeasure against forgery. And in such case one can wonder if current placement does a disservice. In my mind it boils down to how an application is supposed to react to not-in-group signature more specifically? Well, not when a transaction just enters the network, but later on, when the application handles stuff in larger chunks. Just disregard? Take a note? Just on that signature or whole chunk? Trouble is that as it is now application is effectively encouraged to commit for quite an expensive calculation with integrated group-checks, while feedback about specifics of the failure is quite limited. Most notably Rust or Go application wouldn't know which signature failed the group-check. Is it of interest to application? Pardon my ignorance:-) What I'm trying to hint at is that it might be appropriate to provide an interface to perform group-checks in bulk, parallelized of course, and which would be more specific about failure. Or work on conveying this information from current implementation. Thoughts? Of course if proper action is to disregard the whole chunk (presumably re-fetching it from another source?), then it's all right as it is...

Yea it's a good point and I guess this is really now just a question about when we should do group check.
If we plan on failing as early as possible for efficiency then it works well for use to do the subgroup checking on deserialisation (whether this is done in batch or singularly). If you think it is better to do this in batch then we could include it as the first step of batch verify aggregate multiple (and then also each of verify, aggregate verify and fast aggregate verify) as then is when we have a list of signatures ready for batching.
Explaining the main use cases might shed some light on this:

The main one is processing all of the signatures in a block. In which case we will accumulate a bunch of aggregate signatures and run batch verify aggregate fast.
As you mention there are also a some times when we receive a transaction from the network and would need to verify the signature of this transaction before propagating it and/or aggregating it locally.

Note option 1 takes up the majority of the time so we concentrate most of our effort on this, in which as it stands lighthouse receives a block from the network and deserialises the entire block (including all of the signatures and eth2 structs) then searches through a block and extracting all the aggregate signatures. When then batch process all of these signatures.
So If we do subgroup checking at deserialisation then deserialising blocks would be slower but we would fail earlier. But doing this as part of the verify functions allows for it to be done in batch which is also beneficial.

if we plan on failing as early as possible for efficiency then it works well for use to do the subgroup checking on deserialisation (whether this is done in batch or singularly)

It should be noted that when I ask "it might be appropriate to add additional interface" it doesn't necessarily mean new interface to Rust (or Go) bindings. I primarily think in terms of C interface. In other words it's not necessarily about actually moving group-check to deserialization. Because as far as higher-level bindings go it might be sufficient to rearrange code in inner loops, and the only difference an application developer would see is that it returns more nuanced error code. But before we can do that we have to agree on these nuances. What makes sense to actual application? That's what we need help with. For example, is it of value to know which signature failed the group-check, by index. Maybe you want to know if there are more than one, maybe also specifically by indices. Or maybe it's actually sufficient to proceed till the first bad one and simply return "a signature didn't pass the group check."
Just in case for reference. Keeping it to lower level is considered beneficial for the following reason. It allows to a) minimize the amount of thread-join points (so that we stay on the right side of the Amdahl's law;-); b) keep more options open for possible vectorization. This is not to say that new interfaces in bindings are not considered, only that consideration process is more convoluted than might initially appear:-) Please, bear with me:-)

Sure, the main use case which is block processing it doesn't matter to us which signature is invalid. If any of the signatures in a block are invalid we will reject the entire block. However, when we are processing blocks in batch, i.e. one or two epochs at a time then if we have one invalid block it would be helpful to know which block is invalid.
However, I expect the case where we receive invalid blocks to be few and far between, unless someone is specifically trying to DoS the network. So if it is significant decrease in speed due to the thread joining I don't think it is worthwhile at this point to spend time returning which is the invalid signature.
If the speed trade off is negligible then it would be helpful to have.

However, when we are processing blocks in batch, i.e. one or two epochs at a time then if we have one invalid block it would be helpful to know which block is invalid.

Since it is caller that has knowledge of which signature belongs to which block, I have to draw conclusion that you'd be interested to know the index of failing signature. And since returning just one is easier to implement, shall we settle for just first failing one?

if it is significant decrease in speed due to the thread joining

It won't be any difference in performance in comparison to just returning success or failure.

However, when we are processing blocks in batch, i.e. one or two epochs at a time then if we have one invalid block it would be helpful to know which block is invalid.

Since it is caller that has knowledge of which signature belongs to which block, I have to draw conclusion that you'd be interested to know the index of failing signature. And since returning just one is easier to implement, shall we settle for just first failing one?

Sounds good, first failing index works for me.


Menu Intermittently Not Working

I have noticed from time to time the menu button (avatar) does not activate the drop down. It can be resolved by refreshing the app window.

I've noticed this too. It's been happening for quite a while, I haven't been able to reliably track it down or reproduce it.

I've noticed this seems to happen mostly or primarily when using remote servers. After I make the initial connection to a remote server, the user nav doesn't seem to work.

This may have been fixed. The main content div sometimes overlapped the nav bar when it loaded, despite it having a lower z-index, which was fixable by hitting the refresh button.
I changed the order of the divs, and haven't seen the problem since, so keep an eye out for it to see if that did it or not.

I believe this has been fixed now.


Update and fix spanish language translations

This PR fixes and updates es_es.json, adding higher quality translations and bringing it up to date with the latest (as of writing) version of en_us.json. It also adds me to the credits for this.

Thank you! Merging now.


bugfix to prevent infinite loop on no parameters

In working on the Normalizer code (#145) we uncovered a bug when there are no params

Codecov Report

Merging #146 into master will decrease coverage by 0.09%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #146      +/-   ##
==========================================
- Coverage   93.31%   93.21%   -0.10%
==========================================
  Files          16       16
  Lines        1047     1047
  Branches      175      176       +1
==========================================
- Hits          977      976       -1
  Misses         42       42
- Partials       28       29       +1

Flag
Coverage Δ

#unittests
93.21% <66.66%> (-0.10%)
:arrow_down:

Impacted Files
Coverage Δ

hummingbird/ml/_container.py
68.88% <66.66%> (-0.88%)
:arrow_down:

...rd/ml/operator_converters/_tree_implementations.py
98.09% <0.00%> (-0.02%)
:arrow_down:

Continue to review full report at Codecov.

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


Abstract ReadOnlyCollection

I have a setup like this:
/// Base class to types which define an option for command line.
public abstract class CMDOption {
	/// Specifies list of available option names that can be used as command line arguments to recognize an option.
	public abstract ReadOnlyCollection<string> names { get; protected set; }
	//...
}

I don't get why it shows the warning under names.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8db6af07-b7d6-9395-223e-1a0f83fb2405
Version Independent ID: 5ee87730-ff01-2571-494e-91d29c5fe211
Content: CA2227: Collection properties should be read only - Visual Studio
Content Source: docs/code-quality/ca2227.md
Product: visual-studio-windows
Technology: vs-ide-code-analysis
GitHub Login: @jillre
Microsoft Alias: jillfra

@PawcioCNCProfi -- Thank you for your feedback.  Here are a few options where you might consider asking your question:

https://social.msdn.microsoft.com/Forums/vstudio
https://www.stackoverflow.com
https://www.reddit.com/r/VisualStudio/

As well, you might also consider using the Report a Problem tool to report the issue.
@jillre -- please look into this potential documentation issue.

@PawcioCNCProfi What is the behavior you are expecting in this case? In the doc, for the fix, I don't see mention of using 'protected set', but just this:
"If replacing the collection is a goal, the preferred design pattern is to include a method to remove all the elements from the collection, and a method to repopulate the collection..."

I expect the warning is not shown is such case. As it's described, the concern of this rule is that

A writable collection property allows a user to replace the collection with a completely different collection.

But the user can't change the ReadOnlyCollection externally and the implementator have a full control over the collection anyway.
I could make the collection private and craft a method for the implementator to define collection only once, but this is still does not guaranteed that it will be used correctly and it makes more uncomfortable to implement the class...

@mavasani Should a ReadOnlyCollection generate CA2227 in this example?

Can you port this issue to https://github.com/dotnet/roslyn-analyzers?

Closing in favor of the linked product issue.


Restore function to "Show more" buttons

There was a serious regression in #21012 which broke the Show More button on the diff page, and the show more button was also broken on the file tree too.
This PR fixes this by resetting the pageData.diffFiles as the vue watched value and reattachs a function to the show more button outside of the file tree view.
Fix #22380
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@1ee1147). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #22399   +/-   ##
=======================================
  Coverage        ?   48.18%
=======================================
  Files           ?     1044
  Lines           ?   142367
  Branches        ?        0
=======================================
  Hits            ?    68604
  Misses          ?    65587
  Partials        ?     8176

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

make LG-TM work


Dockerfile to build only config=release files, remove after install

implements fix as described in issue #780

Thanks!


[Bug]: Not longer compiling with Shopify CLI 3.0

Operating system
Mac OS Monterey
Node.js version
16
Shopify CLI version
3.0
Browsers
Chrome
Version
4 (Current)
Modifications
No response
Details
When updating to Shopify CLI 3.0 the current package scripts to run the Shopify environment do not work from the root directory. It seems as though Shopify requires their scripts to run directly within the shopify directory. So the only workaround possible so to run two different scripts: one for Vue, CSS and JS Compiling and one for Shopify CLI
Someone also posted this issue within the Shopify CLI github repo: https://github.com/Shopify/cli/issues/1394
Notice

[X] I read the notice

you can supply a --path param to shopify theme dev
https://shopify.dev/docs/themes/tools/cli/commands#dev-flags

This will fix start and deploy commands. Just replace {your_shopify_theme_directory} with your theme directory.  As an exmple,  "deploy": "run-s webpack:build && shopify theme push --path C:\Users\DLAD\Desktop\dlad-shopify-2.2.1\shopify",
also, you can modify the rest of the commands for CLI3.0 in the same manner.
 "scripts": {
"start": "run-p -sr shopify:serve webpack:watch",
"deploy": "run-s webpack:build && shopify theme push --path {your_shopify_theme_directory}",
"deploy:new": "run-s webpack:build && cd shopify && shopify theme push --unpublished",
"webpack:watch": "cross-env NODE_ENV=development BROWSERSLIST_ENV=development BROWSERSLIST_CONFIG=.config/.browserslistrc webpack --config .config/webpack/webpack.dev.js --watch --progress",
"webpack:build": "cross-env NODE_ENV=production BROWSERSLIST_ENV=production BROWSERSLIST_CONFIG=.config/.browserslistrc webpack --config .config/webpack/webpack.prod.js --progress",
"shopify:serve": "shopify theme dev --path {your_shopify_theme_directory}",
"shopify:pull": "cd shopify && shopify theme pull",
"lint": "run-s -c lint:",
"lint:js": "eslint src/**/.{js,vue} --config .config/.eslintrc.js",
"lint:css": "stylelint src//.{vue,css,sass,scss} --config .config/.stylelintrc.js",
"lint:shopify": "cd shopify && shopify theme check",
"fix": "run-s -c fix:",
"fix:js": "eslint src//.{js,vue} --config .config/.eslintrc.js --fix",
"fix:css": "stylelint src/**/.{vue,css,sass,scss} --config .config/.stylelintrc.js --fix",
"fix:shopify": "cd shopify && shopify theme check -a"
}

Thanks @DasunEdirisinghe - very useful! This should be merged in


How to create data source and attach resolver in appSync with amplify-cli

** Which Category is your question related to? **
appSync
** Provide additional details e.g. code snippets **
Hi :) I would like to create data source for appSync and attach it as a resolver.
Is it possible? If so how do I do it??
If not, should I use AppSync console for now??

Since there is support for customer resolvers now: when will custom data sources (i.e. REST APIs) be supported?


Add files via upload

knapsack_problem

great please give this repo a star and follow me for follow back🐱🏍


[JN-1214] adding variables to openapi params

DESCRIPTION (include screenshots, and mobile screenshots for participant UX)
Deletes one unused endpoint (SAM access), and then does a bunch of variable substitution to standardize and shorten params.  I've spot checked a number of places, but obviously haven't tested every route -- this was all Ctrl-R replacing though, so hopefully there aren't any errors.
Also a drive-by missing key fix in EnrolleeOverview.
TO TEST:  (simple manual steps for confirming core behavior -- used for pre-release checks)

Redeploy ApiAdminApp
spot check various admin tool functions

test failure is the SurveyServiceTest false positive Connor fixed in another branch


First character error-sound

The first character typed in a message window results in the error sound.

Can't reproduce

Happens to me too...

Can you please list all steps and details required to reproduce this?

It'll try my best! It just sort of happens on open. Nothing triggers it.

So you don't press any key? I'm confused.

@Jedmund was running in to this as well. Justin, can you post the video you sent me?

The sound only occurs on the first character of the first word.

i've been experiencing this as well

https://dl.dropboxusercontent.com/u/77683401/alert.mov

I've consistently had this happen every time:

Open Messenger (0.0.1 & 0.0.2)
Open any message or create a new message
Type in the message box (Doesn't occur in the search or to boxes)
-----> The first character typed results in the error sound (As the video above shows)

For reference I'm on OSX 10.10.3

I can reproduce (also, my alert sounds were turned off in syspref)
This is really weird. Has anyone been able to debug this, or even get close? I've tried a couple of things, like providing various WebUIDelegate messages, but still getting this sound.

I've been working on this since yesterday and I can't figure out what the hell is going on.

I've spent an hour and have no clue. thought it might've been something with acceptsFirstResponder. will give it ago in the morning once again, unless is solved

Truly a mystery!

If it helps, I think this is because the message box is not an input but instead a div with contenteditable true. Looked at it myself but haven't figured it out yet…

@mynameisraj Interesting. I wonder why it doesn't happen in Safari, which uses pretty much the same stuff as this app does.

Here the bug only appears if desktop notifications are turned on (in the messenger settings). If they are turned off there is no annoying sound.

@laserbeam I can't confirm that on my box.

Did you guys try it with WKWebView? Sorry, I'm very busy and can't test it myself right now. BTW, great work with this app!

Strangely enough, the sound doesn't trigger when you hit backspace and the field is empty. Maybe that was the original intention? And an if statement is just wrong?

btw I have seen this bug on both 10.9 and 10.10.
Here's an annotated recording of it happening:

Also, can I suggest this issue be edited to include the phrase "system beep"? I believe that is the proper term for the sound. I originally couldn't find this issue through search because it was missing those terms.

I created a separate project with the simplest possible webview and I get the same thing. Anyone tried to reimplement with WKWebView as @obitow suggested?

Can confirm this issue on 10.10.3.

I tried using WKWebView, same issue exists there.

Haha i thought i was going crazy. This is happening to me as well

So it looks like this guy fixed this issue and I am not quite sure how.
http://www.producthunt.com/l/b222d33ef44ee0/1
Messenger for Desktop Beautiful Mac, Linux & Windows client for Facebook Messenger

This guy write the complete wrapper in node-webkit. I think this problem only exits on native apps. The guy from http://goofyapp.com had the same problem...
https://github.com/danielbuechele/goofy/issues/31

@greenchapter latest goofy app update fixes the issue somehow..

I managed to patch this with the pointer that @asherism provided :smile: I've never played with Objective-C before so that was fun (yesterday was hours of googling why it was beeping and learning how to do symbolic breakpoints and so on).

@blakeembrey 🙏 🙏 🙏

@blakeembrey Nice work!

This still happens with 0.0.6

Nevermind, this was a result of #86

Just want to leave note here in case someone went through the same path with me.
I was still getting the beep sound from version 0.0.6 when I first updated it from older version.
A simple right click > Reload solved it for good.
Thanks you all for this great app!

I still had the beep sound, but @firmread's suggestion worked like a charm. Thanks for dissolving my agony!

FWIW, I had the beep sound in 0.0.7 but @firmread's suggestion helped.


[Performance][Core] Optimize Async + Multi-step

This PR optimizes the async + multi-step further by implementing a "fully" async behavior between the postprocessor and the multi-step execution. Before that, the async was done only for the previous decode steps of the multi-step, where in this PR, the async is done on all previous steps of decode, including the last step of decode (that generates results), and also on the previous prompt executions.
For Llama3 8B on H100 with ShareGPT dataset, performance improves by about ~28% vs current main with multi-step + async.  Here are the new results for this benchmark, the TPOT of multi-step is 44.48ms and for multi-step + async is 32.38ms, which is 37% improvement (before that @KuntaiDu reported improvement < 10%)
Multi-step, no-async, Llama3 8B on H100 with ShareGPT
============ Serving Benchmark Result ============
Successful requests:                     500
Benchmark duration (s):                  18.82
Total input tokens:                      100895
Total generated tokens:                  100377
Request throughput (req/s):              26.57
Input token throughput (tok/s):          5361.68
Output token throughput (tok/s):         5334.15
---------------Time to First Token----------------
Mean TTFT (ms):                          2991.94
Median TTFT (ms):                        2314.58
P99 TTFT (ms):                           8385.04
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          44.48
Median TPOT (ms):                        31.98
P99 TPOT (ms):                           199.97
---------------Inter-token Latency----------------
Mean ITL (ms):                           272.29
Median ITL (ms):                         244.50
P99 ITL (ms):                            1175.28
==================================================

Multi-step + async, Llama3 8B on H100 with ShareGPT
============ Serving Benchmark Result ============
Successful requests:                     500
Benchmark duration (s):                  16.04
Total input tokens:                      100895
Total generated tokens:                  100403
Request throughput (req/s):              31.18
Input token throughput (tok/s):          6291.68
Output token throughput (tok/s):         6261.00
---------------Time to First Token----------------
Mean TTFT (ms):                          2896.11
Median TTFT (ms):                        2157.79
P99 TTFT (ms):                           7457.77
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          32.38
Median TPOT (ms):                        24.64
P99 TPOT (ms):                           149.36
---------------Inter-token Latency----------------
Mean ITL (ms):                           217.58
Median ITL (ms):                         201.78
P99 ITL (ms):                            999.50
==================================================

TODO

Cleanup the PR
Verify all tests pass

@robertgshaw2-neuralmagic @WoosukKwon @megha95 @KuntaiDu @comaniac @SolitaryThinker

The PR is still in rough shape, since I just made it finally to work after fixing some complicated race conditions. Will work on cleaning it up tomorrow.

nice job alex

/ready

The PR is ready for review

rebased over Andy's logprobs changes, all works

Nice job Alex! I am rerunning the benchmark using ur PR and thank you for the great work!!!


[Feature]: Add option to only copy files

这个功能解决了什么问题？
Currently, when specifying copy, I also get an index.js file that is compiled.
I am using the bundleless method for my other build configs, and they are in a subfolder.
buildConfig: [
  {
    format: "cjs",
    target: "es6",
    buildType: "bundleless",
    outDir: "./dist/lib",
    dts: false,
  },
  {
    format: "esm",
    target: "es6",
    buildType: "bundleless",
    outDir: "./dist/es",
    dts: false,
  },
  {
    outDir: "./dist/types",
    dts: {
      only: true,
    },
  },
]

In my case, I also want to copy files from my public folder (my use case is fonts). So I initially added this:
{
  copy: {
    patterns: [
      {
        from: "./**/*",
        to: "./",
        context: "./public",
      },
    ],
  },
},

This however also uses the defaults to create a bundle of index.js. I did find a workaround:
{
  buildType: "bundleless",
  dts: false,
  input: [],
  copy: {
    patterns: [
      {
        from: "./**/*",
        to: "./",
        context: "./public",
      },
    ],
  },
},

As you can see, you can set input to an empty array to only copy files. This however requires the buildType to be bundleless, since the bundle buildType doesn't allow an empty array. Then, dts must be set to false to stop generating typings in the dist folder.
你期望的 API 是什么样子的？
My proposal is to have a more ergonomic API for disabling the build step (and only having a copy step). This could be "buildType": "none". Alternatively, similar to dts, copy could also have an option "only": true.
If this is undesirable, the documentation might be updated to reflect this use case.
If that is also undesirable, I hope this github issue allows for some documentation on the matter to those who need it as all the APIs for a workaround are already in place.

Thank you for suggestions! I have improve it in https://github.com/web-infra-dev/modern.js/pull/5226
Now you only need to set input: [], we will skip the compilation.

I am sorry that I see the issue util totay. If you still have any question, you can @me or contact me by email, I will support you directly.


*:upgrade mockery to make sure this project builds under go 1.18

close #1366 (replace it)
Current version of mockery used by this project does not support go 1.18. According to the suggestion of the maitainer of this project, we should upgrade it and drop the support of old Golang compiler.
This PR do the upgrade work and push the minium supported Golang version to 1.18

Codecov Report

Merging #1382 (e7d861a) into master (fe10601) will increase coverage by 1.40%.
The diff coverage is 0.00%.

:exclamation: Current head e7d861a differs from pull request most recent head b9f39b0. Consider uploading reports for the commit b9f39b0 to get more accurate results

@@            Coverage Diff             @@
##           master    #1382      +/-   ##
==========================================
+ Coverage   26.17%   27.57%   +1.40%
==========================================
  Files         200       93     -107
  Lines       15371     9979    -5392
  Branches       99        0      -99
==========================================
- Hits         4023     2752    -1271
+ Misses      11077     7047    -4030
+ Partials      271      180      -91

Flag
Coverage Δ

be_integration_test_nightly
?

be_unit_test
27.57% <0.00%> (-0.02%)
:arrow_down:

e2e_test
?

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

Continue to review full report at Codecov.

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

I guess the Golang compiler version specified in the CI yaml also need to be updated.


Get Involved Graph isn't updating

It appears to be stuck. We're at 1 issue today and it's showing 3 left still.

We need to set up one of these:

Add a cronjob to execute http://beta.elementaryos.org/backend/chart.php every day (this is the script which updates the graph)
Auto-update graph each day the first time a user go on the /get-involved page

Just manually updated the graph in #351. This is a temporary solution.
Also, accessing /backend/chart.php from beta.elementaryos.org doesn't work (502 Bad Gateway), maybe setting a custom time limit can help?

I've assigned fabian because this requires some background work and really needs doing.

Just added a recurring job in Azure to call that page every day at 3am and 3pm (UTC-0) until you'll get something sorted on your side.

Alright, added the cronjob, starts from now every day, 3 in the morning UTC.


[Bug] Encount TCP error (Port Aready used) when deploy with PytorchEngine

Checklist

[x] 1. I have searched related issues but cannot get the expected help.
[x] 2. The bug has not been fixed in the latest version.

Describe the bug
I use  PytorchEngineConfig(tp=NUM_GPUS,session_len=2048) to deploy int8 model and tp=2, then I found MASTER_PORT will default use 29500 and it is already used.
Reproduction
71         self.gen_config = GenerationConfig(top_p=TOPP, top_k=TOPK,  temperature=TEMPERATURE,  max_new_tokens=MAX_NEW_TOKENS)
72         chat_template_config = ChatTemplateConfig(TEMPLATE, stop_words=['<|im_end|>', '<|action_end|>', '','<|endoftext|>'], capability='completion') # 0520 base 0510 yi_ies_cs
73         self.pipe = pipeline(
74             model_path,
75             backend_config=backend_config,
76             chat_template_config=chat_template_config
77         )
Environment
not environment error

Error traceback
The server socket has failed to bind to <IP_ADDRESS>:29500 (errno: 98 - Address already in use)

custom the port with env variable MASTER_PORT.

custom the port with env variable MASTER_PORT.
代码中用 find_available_port 重置了外部 MASTER_PORT 因此无效

         port = _find_available_port()
1115         os.environ.setdefault('MASTER_ADDR', '<IP_ADDRESS>')
1116         os.environ.setdefault('MASTER_PORT', str(port))
1117         addr = os.environ['MASTER_ADDR']
1118         port = os.environ['MASTER_PORT']
1119         logger.info(f'MASTER_ADDR={addr}, MASTER_PORT={port}')

@Desein-Yang Is it still an issue? I noticed that you had closed a related PR (https://github.com/InternLM/lmdeploy/pull/1926)

setdefault will only update MASTER_PORT if it is NOT given.


WARNING and ERROR

[comfy_mtb] | WARNING -> cv2.ximgproc.guidedFilter not found, use opencv-contrib-python
[comfy_mtb] | ERROR -> Some nodes failed to load:
Failed to import faceenhance because ModuleNotFoundError: No module named 'munch'
Failed to import faceswap because ModuleNotFoundError: No module named 'ifnude'
Failed to import fun because ModuleNotFoundError: No module named 'qrcode'
Failed to import image_interpolation because ModuleNotFoundError: No module named 'tensorflow'

Thanks! I will fix them before the next "release"!
Half are not needed and left overs, the other half should get installed... but my current approach for installing dependencies is not the best.

It should be fixed in main, you can also double check these install instructions (in progress): https://github.com/melMass/comfy_mtb/blob/dev/doc-and-examples/INSTALL.md which will live here in case you see this after the merge https://github.com/melMass/comfy_mtb/blob/main/INSTALL.md


 Don't forget to sync with upstream before you start working on new stuff.

Ping @tohanss

Ping @tohanss

Locally, master claimed to be up to date but it seemed to have updated anyway. All should be well now!


Depend on virtual package

Updated composer.json to depend on the virtual package psr/http-message-implementation; this allows substitution of PSR-7 implementations.

wow nice. I was looking how we can add the virtual package.
Thank you for the information.

If your code never instantiate anything itself, you should depend only on psr/http-message IMO. Your code does not actually depend on an implementation (the implementation is needed for people to pass an instance to your own code, but not much here).
In fact, having a psr/http-message-implementation in the provide section is mostly useful for people to find an implementation on Packagist, rather than for libraries to depend on it.

I've done a bit more research, and here are my conclusions:

The actual requirement for this package is psr/http-message, no more, no less.
It should suggest using a psr/http-message-implementation so that those installing it can actually consume it by creating messages to pass to it.
Ideally, the psr/http-message packages should require psr/http-message-implementation. That way, it can only be installed if an implementation is also present.

I can only address the first two points in this repository, and will make those changes shortly.

@weierophinney please don't require an implementation in the interface package. It would make a pain for anyone using the psr/http-message (they would have to dev-require a specific implementation just to be able to install the dependencies, even in case they just mock the interface in their tests without using an implementation, for instance) and would create circular dependencies issues for anyone working on an implementation. Thus it would be wrong. The interface does not depend on an implementation of the interface (the implementation depends on the interface package though)

@stof I was just drawing the same conclusion, actually. I think the approach I have in here is correct now, and we can leave it at that.

Thank you.
Hari K T
You can ring me : +91 9388 75 8821
http://harikt.com , https://github.com/harikt ,
http://www.linkedin.com/in/harikt , http://www.xing.com/profile/Hari_KT
Skype  : kthari85
Twitter : harikt
On Thu, May 21, 2015 at 7:14 PM, weierophinney<EMAIL_ADDRESS>wrote:

Closed #42 https://github.com/phly/conduit/pull/42 via a999347
https://github.com/phly/conduit/commit/a999347165e7334fd5bb7fe43c7734f766491628
.
—
Reply to this email directly or view it on GitHub
https://github.com/phly/conduit/pull/42#event-310640210.


Releasing 0.9.0

Coverage remained the same at 100.0% when pulling efc55d5d7575503fe27370b07b50d31f309d5b2b on yuce:releasing-0.9.0 into 05bf399b4c61b1325beee3678b85728038b116f2 on pilosa:master.

Coverage remained the same at 100.0% when pulling efc55d5d7575503fe27370b07b50d31f309d5b2b on yuce:releasing-0.9.0 into 05bf399b4c61b1325beee3678b85728038b116f2 on pilosa:master.


Finding adjacent voxels in 2d or 3d space

This will be used for the MVPA. There are tests included in the docstring to be used with doctest. We may need to move these to a separate file and test with nose.

Need more checks.


Not working in NextJS v13.4

CODE-
import { checkIPLocation } from "react-ip-location";

interface Result {
  success: boolean;
  error: string;
  data: object;
}

const locateIP = async (ip: string): Promise<Result> => {
  const result: Result = {
    success: false,
    error: "Error getting IP information.",
    data: {}
  };

  try {
    if (ip) {
      const location = await checkIPLocation(ip);

      console.log(location);

      if(location){
        result.success = true;
        result.error = "";
        result.data = location;
      } else {
        result.success = false;
        result.error = "IP location not found.";
        result.data = {};
      }
    } else {
      result.success = false;
      result.error = "IP not provided.";
      result.data = {};
    }
  } catch (error) {
    console.log(error);

    result.success = false;

    if (typeof error === "string") {
      result.error = error;
    } else if (error instanceof Error) {
      result.error = JSON.stringify(error);
    } else {
      result.error = "";
    }

    result.data = {};
  } finally {
    return result;
  }
};

export default locateIP;

package.json
{
  "name": "astropathshala-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@types/crypto-js": "^4.1.1",
    "@types/node": "20.1.1",
    "@types/react": "18.2.6",
    "@types/react-dom": "18.2.4",
    "@types/uuid": "^9.0.1",
    "axios": "^1.4.0",
    "axios-retry": "^3.4.0",
    "check-password-strength": "^2.0.7",
    "crypto-js": "^4.1.1",
    "email-validator": "^2.0.4",
    "eslint": "8.40.0",
    "eslint-config-next": "13.4.1",
    "is-ip": "^5.0.0",
    "mysql2": "^3.3.0",
    "next": "13.4.1",
    "nodemailer": "^6.9.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-ip-location": "^1.0.14",
    "typescript": "5.0.4",
    "universal-cookie": "^4.0.4",
    "uuid": "^9.0.0"
  }
}

ERROR
Error: Adapter 'http' is not available in the build
    at Object.getAdapter (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2128:19)
    at Axios.dispatchRequest (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2169:30)
    at Axios.request (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2468:39)
    at Axios.<computed> [as get] (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2493:21)
    at Function.wrap [as get] (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:139:19)
    at eval (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2781:39)
    at step (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:120:23)
    at Object.eval [as next] (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:61:20)
    at eval (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:39:71)
    at new Promise (<anonymous>)
    at __awaiter (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:21:12)
    at ipLocation (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2772:12)
    at checkIPLocation (webpack-internal:///(sc_server)/./node_modules/react-ip-location/dist/cjs/index.js:2801:12)
    at locateIP (webpack-internal:///(sc_server)/./src/modules/server/locateIP.ts:15:102)
    at isValidIP (webpack-internal:///(sc_server)/./src/modules/server/isValidIP.ts:19:95)
    at POST (webpack-internal:///(sc_server)/./src/app/api/accounts/account/is-registered/route.ts:22:104)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async eval (webpack-internal:///(sc_server)/./node_modules/next/dist/server/future/route-modules/app-route/module.js:244:37)

Hi @ShreshthTiwari the issue is fixed in lastest version (react-ip-location@1.0.15).

oh.
thank you :)


Add Try.of(Either) factory method (see #2653).

Add a method to convert an Either to a Try.
Example of the same approach in Scala : def toTry(implicit ev: <:<[A, Throwable]): Try[B]

After searching in Scala, I have found this function :
https://www.scala-lang.org/api/current/scala/util/Either.html#toTry(implicitev:A<:<Throwable):scala.util.Try[B]
I think I will change this PR to use this approch :
public final Try<R> toTry(Function<? super L, ? extends Throwable> leftMapper) {
        Objects.requireNonNull(leftMapper, "leftMapper is null");
        return mapLeft(leftMapper).fold(Try::failure,Try::success);
    }

by coincidence this PR is the counterpart of PR #2724

Hi, any update on this PR please ? You can close it if you are not interested by merging it

Hi, sorry for the late reply. This looks good to me.


gnomeExtensions.unite-shell: rename to gnomeExtensions.unite

Motivation for this change
After using the gnome-shell-extension-prefs i realized this package should be named unite.
On GitHub repository the extension is mentioned under the name Unite also the header in the demo images is also Unite.

Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.

Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

@ofborg eval

@ofborg eval

@SuperSandro2000 is my commit message wrong, that's why ofborg can't build it? should I rename the commit to gnomeExtensions.unite: init at 44?

@SuperSandro2000 is my commit message wrong, that's why ofborg can't build it? should I rename the commit to gnomeExtensions.unite: init at 44?

@SuperSandro2000 is my commit message wrong, that's why ofborg can't build it? should I rename the commit to gnomeExtensions.unite: init at 44?

I am not actually sure what is happening here.
@ofborg eval

@SuperSandro2000 is my commit message wrong, that's why ofborg can't build it? should I rename the commit to gnomeExtensions.unite: init at 44?

I am not actually sure what is happening here.
@ofborg eval

@rhoriguchi Sorry that I not noticed this earlier but can you add an alias to aliases.nix? I think a normal one without throw should be fine.

@rhoriguchi Sorry that I not noticed this earlier but can you add an alias to aliases.nix? I think a normal one without throw should be fine.

Should be fine now. Please verify that the alias is correct. I'm not sure this is the correct way. Should a set be used or is this fine?

Should be fine now. Please verify that the alias is correct. I'm not sure this is the correct way. Should a set be used or is this fine?

Should be fine now. Please verify that the alias is correct. I'm not sure this is the correct way. Should a set be used or is this fine?

Good catch. Actually I am not sure but looking at other examples we maybe want it? https://github.com/rhoriguchi/nixpkgs/blob/unite/pkgs/top-level/aliases.nix#L197

Should be fine now. Please verify that the alias is correct. I'm not sure this is the correct way. Should a set be used or is this fine?

Good catch. Actually I am not sure but looking at other examples we maybe want it? https://github.com/rhoriguchi/nixpkgs/blob/unite/pkgs/top-level/aliases.nix#L197

@jonringer du you think this is correct this way?

@jonringer du you think this is correct this way?

Personally, I think the gnomeExtensions should be moved in to a package set under pkgs/desktops/gnome3/extensions/default.nix. It's already got 32 packages in it, and a small deprecation section as well.
  gnomeExtensions = recurseIntoAttrs {
    appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
    arc-menu = callPackage ../desktops/gnome-3/extensions/arc-menu { };
    caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
    clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
    clock-override = callPackage ../desktops/gnome-3/extensions/clock-override { };
    dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
    dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
    draw-on-your-screen = callPackage ../desktops/gnome-3/extensions/draw-on-your-screen { };
    drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { };
    easyScreenCast = callPackage ../desktops/gnome-3/extensions/EasyScreenCast { };
    emoji-selector = callPackage ../desktops/gnome-3/extensions/emoji-selector { };
    freon = callPackage ../desktops/gnome-3/extensions/freon { };
    gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { };
    icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
    impatience = callPackage ../desktops/gnome-3/extensions/impatience { };
    material-shell = callPackage ../desktops/gnome-3/extensions/material-shell { };
    mpris-indicator-button = callPackage ../desktops/gnome-3/extensions/mpris-indicator-button { };
    night-theme-switcher = callPackage ../desktops/gnome-3/extensions/night-theme-switcher { };
    no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { };
    noannoyance = callPackage ../desktops/gnome-3/extensions/noannoyance { };
    paperwm = callPackage ../desktops/gnome-3/extensions/paperwm { };
    pidgin-im-integration = callPackage ../desktops/gnome-3/extensions/pidgin-im-integration { };
    remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
    sound-output-device-chooser = callPackage ../desktops/gnome-3/extensions/sound-output-device-chooser { };
    system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor { };
    taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { };
    tilingnome = callPackage ../desktops/gnome-3/extensions/tilingnome { };
    timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
    topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
    unite-shell = callPackage ../desktops/gnome-3/extensions/unite-shell { };
    window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
    window-is-ready-remover = callPackage ../desktops/gnome-3/extensions/window-is-ready-remover { };
    workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { };

    nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
    mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
  };

Personally, I think the gnomeExtensions should be moved in to a package set under pkgs/desktops/gnome3/extensions/default.nix. It's already got 32 packages in it, and a small deprecation section as well.
  gnomeExtensions = recurseIntoAttrs {
    appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
    arc-menu = callPackage ../desktops/gnome-3/extensions/arc-menu { };
    caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
    clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
    clock-override = callPackage ../desktops/gnome-3/extensions/clock-override { };
    dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
    dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
    draw-on-your-screen = callPackage ../desktops/gnome-3/extensions/draw-on-your-screen { };
    drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { };
    easyScreenCast = callPackage ../desktops/gnome-3/extensions/EasyScreenCast { };
    emoji-selector = callPackage ../desktops/gnome-3/extensions/emoji-selector { };
    freon = callPackage ../desktops/gnome-3/extensions/freon { };
    gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { };
    icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
    impatience = callPackage ../desktops/gnome-3/extensions/impatience { };
    material-shell = callPackage ../desktops/gnome-3/extensions/material-shell { };
    mpris-indicator-button = callPackage ../desktops/gnome-3/extensions/mpris-indicator-button { };
    night-theme-switcher = callPackage ../desktops/gnome-3/extensions/night-theme-switcher { };
    no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { };
    noannoyance = callPackage ../desktops/gnome-3/extensions/noannoyance { };
    paperwm = callPackage ../desktops/gnome-3/extensions/paperwm { };
    pidgin-im-integration = callPackage ../desktops/gnome-3/extensions/pidgin-im-integration { };
    remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
    sound-output-device-chooser = callPackage ../desktops/gnome-3/extensions/sound-output-device-chooser { };
    system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor { };
    taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { };
    tilingnome = callPackage ../desktops/gnome-3/extensions/tilingnome { };
    timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
    topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
    unite-shell = callPackage ../desktops/gnome-3/extensions/unite-shell { };
    window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
    window-is-ready-remover = callPackage ../desktops/gnome-3/extensions/window-is-ready-remover { };
    workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { };

    nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
    mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
  };

Right, using self (i.e. final in recemt terminology) would not be correct here. gitAndTools uses it because those packages were moved to top level so self will contain them (along with all other packages).
Moving the extensions to a separate file would be a good improvement as well. And we should probably rename the attribute to gnome-shell-extensions or something.
But this looks good to me as is. Thanks.

Right, using self (i.e. final in recemt terminology) would not be correct here. gitAndTools uses it because those packages were moved to top level so self will contain them (along with all other packages).
Moving the extensions to a separate file would be a good improvement as well. And we should probably rename the attribute to gnome-shell-extensions or something.
But this looks good to me as is. Thanks.

Building with this commit in master is broken for me, seemingly because of the alias - this is the first bad commit I could find that I couldn't build on.
error: Alias gnomeExtensions is still in all-packages.nix

Building with this commit in master is broken for me, seemingly because of the alias - this is the first bad commit I could find that I couldn't build on.
error: Alias gnomeExtensions is still in all-packages.nix

yea, the intention was correct, but the implementation needs to change:
  # Make sure that we are not shadowing something from
  # all-packages.nix.
  checkInPkgs = n: alias: if builtins.hasAttr n super
                          then throw "Alias ${n} is still in all-packages.nix"
                          else alias;

yea, the intention was correct, but the implementation needs to change:
  # Make sure that we are not shadowing something from
  # all-packages.nix.
  checkInPkgs = n: alias: if builtins.hasAttr n super
                          then throw "Alias ${n} is still in all-packages.nix"
                          else alias;

nested attrs are not allowed to be aliased in aliases.nix

nested attrs are not allowed to be aliased in aliases.nix

fixed in 31e833ede5d
$ nix-build -A gnomeExtensions.unite
/nix/store/cv2jm9ywcz6cbvkg9n7hcivnkivc27s7-gnome-shell-extension-unite-44

fixed in 31e833ede5d
$ nix-build -A gnomeExtensions.unite
/nix/store/cv2jm9ywcz6cbvkg9n7hcivnkivc27s7-gnome-shell-extension-unite-44

well, more accurately, there's an assertion that top-level attrs aren't being shadowed. For nested attrs, it means they will always fail as they all exist on a top-level attr.

well, more accurately, there's an assertion that top-level attrs aren't being shadowed. For nested attrs, it means they will always fail as they all exist on a top-level attr.

Kind of surprised ofborg didn't fail, as it should have tried to do query rebuilds... unless that's done with allowAliases = false;

Kind of surprised ofborg didn't fail, as it should have tried to do query rebuilds... unless that's done with allowAliases = false;


Add option to ignore missing @Override annotations in interfaces

In the mobile RIB architecture, we often have cases where Dagger Component-related interfaces form an inheritance chain, such that a method gets added to a Component super-interface that was already present in the Component sub-interface.  In such a case, the EP MissingOverride check forces an @Override annotation to be added to the sub-interface.  Forcing this change goes against some of the modularity in the RIB architecture (@AttwellBrian can explain more).  Further, in this case the annotation does not really add safety, as (I think) Dagger code gen will complain if there is some ambiguity in the set of methods exposed by the component sub-interface.
In general, it's not clear whether forcing @Override annotations in interfaces is as much of a win as it is for classes.  (Kotlin forces it on interfaces, but Swift only requires it on classes, not sub-protocols.)  This PR adds an option to the MissingOverride check to disable checking for @Override annotations in interfaces.

@Stephan202 thanks for the review!  And you were right about the tests; I must have been invoking maven incorrectly before.

@eaftan any thoughts on this one?

@eaftan another bump on this one, if you have time

@cushon should I open a separate PR to update the docs?


fix the sed expression replacing version info

Issue #, if available:
the sed expression in scripts/get-release-info.sh was broken giving the rather cryptic
sed: -e expression #1, char 26: unterminated `s' command

when rerunning scripts/environment-deploy.sh
Checklist:

[x] Have you successfully deployed to an AWS account with your changes?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hi @mrgum ! Thanks for the PR. I am not experiencing that sed error in my terminal with the original script. The original script works as expected and outputs no errors to my terminal. What operating system are you using?

Hi @mrgum , I have tested your version of the script and while I could not replicate the error you faced, I will merge this edit in to unblock you since this version of the script also succeeds without error.

Running checks now...

Thank you for merging. To see the previous error you need to run
scripts/environment-deploy.sh
Twice, the first time adds the version and date. The second time fails to
replace them due to the way the quotes were handled in the sed expression.
On Mon, 29 Aug 2022, 20:20 Marianna Ghirardelli, @.***>
wrote:

Merged #1027
https://github.com/awslabs/service-workbench-on-aws/pull/1027 into
develop.
—
Reply to this email directly, view it on GitHub
https://github.com/awslabs/service-workbench-on-aws/pull/1027#event-7281159896,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3M5SUGSMDJ3N7AT4WEIRDV3T5N3ANCNFSM57PZT3PA
.
You are receiving this because you were mentioned.Message ID:
@.***
com>


exhtml: yaws code crashed

Hi.
I was toying with yaws and ran into some kind of bug. Seems like exhtml output:
out(_Arg) ->
    Struct = {p, [{id, <<"foo">>}], <<"bar">>},
    {exhtml, Struct}.

produces error:
Internal error, yaws code crashed

ERROR erlang code threw an uncaught exception:
 File: /Users/ev/erlang/apps/yawstest/www/exhtml.yaws:1
Class: error
Exception: {case_clause,[[],60,"p",
                         [32,"id",61,34,<<"foo">>,34],
                         62,
                         [10,["  ",[]],<<"bar">>],
                         10,[],60,47,"p",62]}
Req: {http_request,'GET',{abs_path,"/exhtml.yaws"},{1,1}}
Stack: [{yaws_server,handle_out_reply,5,
                     [{file,"src/yaws_server.erl"},{line,3171}]},
        {yaws_server,deliver_dyn_part,8,
                     [{file,"src/yaws_server.erl"},{line,2809}]},
        {yaws_server,aloop,4,[{file,"src/yaws_server.erl"},{line,1222}]},
        {yaws_server,acceptor0,2,[{file,"src/yaws_server.erl"},{line,1059}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]

The same ehtml output works just fine.

Thanks for the report, I'll take a look at this.

Thank you, Steve. BTW, Yaws version: 1.99


Grayed navigation bar after creating  or watching a new wallet

Steps to reproduce:

tap on blockie icon to open wallets;
select + button
watch some wallet 'tomek.eth' for example;
observe grayed navigation bar;
expect while nabigation bar.


Copy terminal links

Instead of just opening the links when you control click on them in the integrated terminal also let the user copy them like with alt or something of the sort.

Double click will select the detected link now which makes it easy to copy.


test.sh hangs at 1062/1195

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:

What is the expected behavior?
060/1195 Test #1060: SettingsTest.testSlow_addSingleSettingObserverWithInvalidKeyTest ................................................   Passed    3.49 sec
Start 1061: SettingsTest.test_removeSingleSettingObserverWithInvalidKey
1061/1195 Test #1061: SettingsTest.test_removeSingleSettingObserverWithInvalidKey .....................................................   Passed    3.34 sec
Start 1062: SettingsTest.test_removeSingleSettingObserverWithCorrectKey
But Alexa works ...
Tell us about your environment:

What version of the AVS Device SDK are you using?
1.13
Tell us what hardware you're using:

[X] Raspberry Pi

Tell us about your OS (Type & version):

[] Raspbian Stretch

Hello Lupopa,
Does this test hang consistently?  Does it hang if you run just SettingsTest - e.g.?:
CapabilityAgents/Settings/test/SettingsTest
or the specific test case that is hanging?:
CapabilityAgents/Settings/test/SettingsTest --gtest_filter=*.test_removeSingleSettingObserverWithCorrectKey
If you can reproduce the problem, we may get more information if you enable logging for the test.  You can do this by editing CapabilityAgents/Settings/test/SettingsTest.cpp adding an include of:
#include <AVSCommon/Utils/Logger/Logger.h>
and adding the following line at the top of SettingsTest::SetUp():
avsCommon::utils::logger::getConsoleLogger()->setLevel(avsCommon::utils::logger::Level::DEBUG9);
Thank you,
-SWH

It depends on the start of
E.G. sudo bash ./test.sh
Unfortunately, I do not know how to execute SettingsTest directly.
I inserted the lines and started the test again.
No changes and no more debug messages ...
I hope you understand my english, I'm german User ;-)

What's now?
I have remove the added Lines and restart test.sh
now run test.sh without Errors and it does not hang anymore....

Hello Lupopa,
What an odd coincidence!  Yesterday I reviewed a fix for DirectiveSequencerTest.test_handleBlockingThenImmediatelyThenNonBockingOnSameDialogId.  The existing test includes a race condition and fails intermittently.  So, you should ignore that test until we release the fix.
As for executing the settings test directly, you should be able to do that from the build directory with the command:
CapabilityAgents/Settings/test/SettingsTest --gtest_filter=*.test_removeSingleSettingObserverWithCorrectKey
It is not clear to me why the adding and removing the added diagnostics would clear the hang for you.  Are you sure there is no residual change?  If it is some kind of intermittent hang, you can repeat the test as many times as you want by adding --gtest_repeat=N (where N is the number of times you want to repeat the test).  So, for example:
CapabilityAgents/Settings/test/SettingsTest --gtest_filter=*.test_removeSingleSettingObserverWithCorrectKey --gtest_repeat=1000
... will repeat the test 1000 times.
Best regards,
-SWH

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.


Bump go to 1.8

Do we know this won't break any of our Golang projects?

Other Go Projects:

https://github.com/snowplow/sql-runner
https://github.com/snowplow/snowplow-golang-tracker
https://github.com/snowplow/snowplow-tracking-cli

Maybe we should just version the thing, append 1.8, that would be safest. Then projects can control their own dependencies...

It might break tests, I'm running 1.8 on my machine and a few error messages seem to have changed:
go test ./build/src -tags test -v -covermode=count -coverprofile=build/coverage/coverage.out
=== RUN   TestInitAvroResolver
--- PASS: TestInitAvroResolver (0.00s)
=== RUN   TestParseClusterRecord_Success
--- PASS: TestParseClusterRecord_Success (0.00s)
=== RUN   TestParseClusterRecord_Fail
--- FAIL: TestParseClusterRecord_Fail (0.00s)
        Error Trace:    config_resolver_test.go:273
	Error:      	Not equal:
	            	expected: "json: cannot unmarshal object into Go value of type string"
	            	received: "json: cannot unmarshal object into Go struct field SelfDescribingRecord.Schema of type string"
=== RUN   TestParsePlaybookRecord_Success
--- PASS: TestParsePlaybookRecord_Success (0.00s)
=== RUN   TestParsePlaybookRecord_Fail
--- FAIL: TestParsePlaybookRecord_Fail (0.00s)
        Error Trace:    config_resolver_test.go:324
	Error:      	Not equal:
	            	expected: "json: cannot unmarshal object into Go value of type string"
	            	received: "json: cannot unmarshal object into Go struct field SelfDescribingRecord.Schema of type string"
=== RUN   TestToSelfDescribingRecord
--- PASS: TestToSelfDescribingRecord (0.00s)
=== RUN   TestTemplateRawBytes
--- PASS: TestTemplateRawBytes (0.00s)
=== RUN   TestGetJobFlowInput_Success
--- FAIL: TestGetJobFlowInput_Success (0.00s)
        Error Trace:    emr_cluster_test.go:99
	Error:      	Not equal:
	            	expected: "strconv.ParseInt: parsing \"h\": invalid syntax"
	            	received: "strconv.Atoi: parsing \"h\": invalid syntax"
=== RUN   TestGetJobFlowInput_Fail
--- PASS: TestGetJobFlowInput_Fail (0.00s)
=== RUN   TestTerminateJobFlows_Fail
--- PASS: TestTerminateJobFlows_Fail (0.00s)
=== RUN   TestRunJobFlow_Fail
--- PASS: TestRunJobFlow_Fail (0.00s)
=== RUN   TestGetJobFlowStepsInput_Success
--- PASS: TestGetJobFlowStepsInput_Success (0.00s)
=== RUN   TestGetJobFlowStepsInput_Fail
--- PASS: TestGetJobFlowStepsInput_Fail (0.00s)
=== RUN   TestAddJobFlowSteps_Fail
--- PASS: TestAddJobFlowSteps_Fail (0.00s)
=== RUN   TestSetLogLevel
--- PASS: TestSetLogLevel (0.00s)
=== RUN   TestGetCredentialsProvider
--- PASS: TestGetCredentialsProvider (0.00s)
=== RUN   TestInterfaceToJSONString
--- PASS: TestInterfaceToJSONString (0.00s)
FAIL

cf https://beta.golang.org/doc/go1.8#encoding_json

Maybe we should just version the thing, append 1.8, that would be safest. Then projects can control their own dependencies...

@alexanderdean I'm not sure to get what you mean?

Like these ones @BenFradet (https://github.com/snowplow/ansible-playbooks/blob/master/scala-2.10.5.yml)

Ok, I'll update the PR.

Closing in favor of #116


UnhandledPromiseRejectionWarning: Error: resolveIds() timed out

When my Smart Plugs are off I receive the following unhandled exception warning. Everything appears to work fine but it seems the code should handle this exception.
[11/11/2018, 12:06:46 PM] [TuyaPlatform] Adding: Smart Plug X (generic / Y)
(node:711) UnhandledPromiseRejectionWarning: Error: resolveIds() timed out. Is the device powered on and the ID correct?
    at timeout (/home/homebridge/.nvm/versions/node/v10.13.0/lib/node_modules/homebridge-tuya/node_modules/tuyapi/index.js:143:22)
    at Timeout.setTimeout [as _onTimeout] (/home/homebridge/.nvm/versions/node/v10.13.0/lib/node_modules/homebridge-tuya/node_modules/p-timeout/index.js:19:13)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)
(node:711) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)

Hmm, the error should be caught.  What version of homebridge-tuya do you have installed?

"npm view" shows<EMAIL_ADDRESS>

After some more investigation, it appears it's a bug in TuyAPI.  Thanks for the report.


auto verify smart contracts functionality while deploying

Used packages:

@nomiclabs/hardhat-etherscan
child_process

A contract with simple arguments can be easily verified directly without the need to running a verify command yourself. A contract with complex arguments can be verified too using automation, will also make a PR for that as well. I have tested both but only added a single feature in this PR.
Please review the code, looking forward for your response, Thank you so much!

This feature should be designed to be optional imo, and should not throw an error for an empty etherscan API key.

This feature should be designed to be optional imo, and should not throw an error for an empty etherscan API key.

Thank you for this suggestion, I didn't think of it this way. Let's see what is review from Paul.

I'm willing to merge this, but there should be some changes before I do that.

We should use the hardat-etherscan plugin programatically, not via a node.js child process.
Hardhat should run even with an empty etherscan api key. Consider passing the process.env.ETHERSCAN_API_KEY var directly to the apiKey field.

I'm willing to merge this, but there should be some changes before I do that.

We should use the hardat-etherscan plugin programatically, not via a node.js child process.
Hardhat should run even with an empty etherscan api key. Consider passing the process.env.ETHERSCAN_API_KEY var directly to the apiKey field.

I'll surely update these mentioned things and try once again, thank you for the guidance. Should I close this PR, update the code and make another PR for review ?

Should I close this PR, update the code and make another PR for review ?

No. You can git push --force and replace the existing work on you branch.

Should I close this PR, update the code and make another PR for review ?

No. You can git push --force and replace the existing work on you branch.

Thank you @paulrberg

Hey @paulrberg , I refactored the code using the programmatic verify:verify subtask, please review.
Thanks!

Hey @paulrberg  , I refactored the code using the programmatic verify:verify subtask, please review.
Thanks!

for what it's worth, if you enable the metadata option in solc's default output, you can verify with Sourceify.dev automatically just by uploading it to their endpoint.
here is a script that will upload your build/contracts output provided that you have enabled metadata: https://github.com/cgewecke/metacoin-source-verify/blob/master/scripts/ipfs.js
Configuring Solc output:
export const defaultSolcOutputSelection = {
  "*": {
    "*": [
      "abi",
      "evm.bytecode",
      "evm.deployedBytecode",
      "evm.methodIdentifiers",
      "metadata",
    ],
    "": ["ast"],
  },

see discussion here: https://github.com/nomiclabs/hardhat/pull/1863 - this may become the default in hardhat soon.

you can actually just install hardhat-deploy and do hardhat --network mainnet sourcify to verify your contracts that way.

I find hardhat-deploy unnecessarily complicated for most use cases - and the docs/ README are hard to digest.

for what it's worth, if you enable the metadata option in solc's default output, you can verify with Sourceify.dev automatically just by uploading it to their endpoint.

Thanks for the tip! I didn't know that.

Just came across this discussion by chance.

you can actually just install hardhat-deploy and do hardhat --network mainnet sourcify to verify your contracts that way

This would be the easiest way if you are using hardhat-deploy to deploy contracts
For other cases it is a little manual:
Truffle: If you are using truffle to deploy your contracts, you can provide the json file of the contract deployed at build/contracts + the source files used (i.e. all .sol files, openzeppelin libraries etc.)
Compile in Hardhat and deploy manually: We have an easier verification for hardhat build outputs coming up, but for now, you'd have to

enable the metadata option in solc's default output

as stated. Then you'd need to extract the metadata of the contract at output.contracts.<contract-path>.<contract-name>.metadata in a seperate .json file. Here you'll see the metadata for all contracts but you need to extract only the deployed main contract's metadata. Finally provide the metadata + source files in the sourcify.dev interface.

Thanks for your input, @kuzdogan. There has been a length discussion in https://github.com/paulrberg/solidity-template/issues/31 which at the time led me to believe that disabling the metadata hash is the best thing to do (since the template is aimed at newbies who might be confused by the impact of the metadata hash on the bytecode).
But not supporting Sourcify out-of-the-box is not nice. I will reconsider this. Might be worth it to build a Hardhat plugin for Sourcify?

As stated above hardhat-deploy has Sourcify support but a plugin would be as simple as calls to our API. I don't think we can focus on a seperate plugin for a while since hardhat-deploy exists and is quite popular. But it's welcome and would be nice to have :slightly_smiling_face:. It can be spun off the hardhat-deploy plugin directly I guess.
+ https://github.com/nomiclabs/hardhat/pull/1863 is merged so we are expecting hardhat to output metadata by default with the next release. Then our goal is to verify a contract at a given address and chain by only the output .json in artifacts/build-info, since it contains both sources and metadatas.

But not supporting Sourcify out-of-the-box is not nice. I will reconsider this. Might be worth it to build a Hardhat plugin for Sourcify?

@PaulRBerg i've built one recently (i.e. forked and updated a defunct one) in case you're interested: @xtools-at/hardhat-sourcify


ModuleNotFoundError: No module named 'torchvision'

Hi,
I tried to run with torch 0.4.1, but torchvision cannot be found when I run:
 python TestPhotoReal.py

When I tried to install torchvision, the pytorch is automatically updated to 1.2, which will raise another error:
ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

Did anyone meet similar problems ?

Hi, could you try to install lower version torchvision so that pytorch would not be automatically updated?

Close due to lack of feedback. Feel free to reopen the issue.


Access to data used

The word doc is great to understand it. However, I can't completely understand it. it would help to have the data to see how it works.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: af7bffc1-7691-53e6-c582-c17b3f4c03da
Version Independent ID: 6d3ce776-d39a-b834-e05b-73bc5452fd63
Content: Bidirectional cross-filtering in Power BI Desktop - Power BI
Content Source: powerbi-docs/desktop-bidirectional-filtering.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @scramiro. This issue has been assigned to the doc author for review.

Thanks for your comments. We'll look into posting the data in a future update.


Move all RelationExpression error handling inside the RelationExpression class.

We need to pass a Model instance for the costructor. This is related to #1002 and #1020

I have looked through the code and this appears to be long implemented, the error handling is all happening in RelationExpression.js. The referenced issues have also long been closed. Closing this issue.


[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[SourceGen] Cleanup diagnostic descriptors

Cleanup FunctionMetadata generation related diagnostic descriptors and add more tests similar to this startup extension test.
Diagnostic descriptor messages are currently lengthy and difficult to test.
Items:

[ ] Clean up source gen descriptors
[ ] Re-enable MultipleOutputOnMethodFails test

@liliankasem / @satvu have the context on this issue.