Package request: stl-thumb

Project description
stl-thumb is a thumbnail generator for STL and OBJ files (helpful for file managers). It is tested against Gnome and KDE (KDE with an extra plugin needed), and Windows, but any file manager should work.
Metadata

homepage URL: https://github.com/unlimitedbacon/stl-thumb
source URL: https://github.com/unlimitedbacon/stl-thumb
license: mit
platforms: linux

Wish to add, that stl-thumb-kde is also needed for KDE integration:
https://github.com/unlimitedbacon/stl-thumb-kde

I gave it a go. stl-thumb compiles, but the test suite (and usage) fails with an error Creating EventLoop multiple times is not supported. It seems something is going awry with the rust-windowing/winit package usage. I'm not quite sure how to fix that unfortunately.

(the package derivation)
Note that I had to use the (current) master blob because of a git dependency in v0.5's released Cargo.lock file, which buildRustPackage doesn't seem to like.
{
  lib,
  pkgs,
  stdenv,
  fetchFromGitHub,
}:
pkgs.rustPlatform.buildRustPackage rec {
  pname = "stl-thumb";
  version = "v0.5.0-dec70d8";

  src = fetchFromGitHub {
    owner = "unlimitedbacon";
    repo = pname;
    rev = "dec70d8d8cfbb6c635ecbd8c1f3d3959ea42f5e8";
    sha256 = "sha256-xF3sl3LOno3MeLK11cP48KlkbQDIZ/7Ax17dD8DL+po=";
  };

  #   doCheck = false;

  cargoSha256 = "sha256-uaVyw3RKuzFjmVCagvzhOKMw8RiWvOG5siwUCwblpZ4=";

  meta = with lib; {
    description = "Thumbnail generator for STL files";
    homepage = "https://github.com/unlimitedbacon/stl-thumb";
    license = licenses.mit;
    maintainers = [];
  };

  buildInputs = with pkgs; [
    fontconfig
  ];

  nativeBuildInputs = with pkgs; [
    cmake
    pkg-config
  ];
}

Still ran into the same "Creating EventLoop multiple..." errors

stl-thumb
```
{
  lib,
  pkgs,
  stdenv,
  fetchFromGitHub,
  libX11,
  libXcursor,
  libXrandr,
  libXi
}:
pkgs.rustPlatform.buildRustPackage rec {
  pname = "stl-thumb";
  version = "v0.5.0-dec70d8";
src = /home/tom/t7/stl-thumb;
src2 = fetchFromGitHub {
owner = "unlimitedbacon";
repo = pname;
rev = "dec70d8d8cfbb6c635ecbd8c1f3d3959ea42f5e8";
sha256 = "sha256-xF3sl3LOno3MeLK11cP48KlkbQDIZ/7Ax17dD8DL+po=";
};
doCheck = false;
cargoSha256 = "sha256-1sQzMyrzy43l5MJxqg9ihUpp0rskuIXndTnh230wO6Q=";
postInstall = ''
mkdir $out/include
cp libstl_thumb.h $out/include
mkdir -p $out/thumbnailers
mkdir -p $out/mime/packages
cp stl-thumb.thumbnailer $out/thumbnailers/stl-thumb.thumbnailer
cp stl-thumb-mime.xml $out/mime/packages/stl-thumb-mime.xml
'';
meta = with lib; {
description = "Thumbnail generator for STL files";
homepage = "https://github.com/unlimitedbacon/stl-thumb";
license = licenses.mit;
maintainers = [];
};
buildInputs = with pkgs; [
fontconfig
libX11
];
propagatedBuildInputs = [
libXcursor
libXrandr
libXi
];
postFixup= ''
patchelf --add-rpath ${lib.makeLibraryPath [ libXcursor ]} $out/bin/stl-thumb
patchelf --add-needed "libXcursor.so.1" "$out/bin/stl-thumb"
'';
nativeBuildInputs = with pkgs; [
cmake
pkg-config
];
}

</details>
<details>
<summary>stl-thumb-kde</summary>

{libsForQt5,
stl-thumb,
dolphin
}:
libsForQt5.callPackage
({
stdenv,
fetchFromGitHub,
cmake,
extra-cmake-modules,
qtbase,
wrapQtAppsHook,
kio,
}:
stdenv.mkDerivation {
name = "stl-thumb-kde";
src = fetchFromGitHub {
owner = "unlimitedbacon";
repo = "stl-thumb-kde";
rev = "79abfa5210386a3d9997ac8c9131b81aba4a94d0";
hash = "sha256-cj3DVJ2s9x9whsRkbAiZzM58qtHfS+vHg7ieZeHPez4=";
};
nativeBuildInputs = [cmake extra-cmake-modules wrapQtAppsHook ];
buildInputs = [ qtbase kio stl-thumb ];
postInstall = ''
mkdir -p $out/bin
ln -s ${dolphin}/bin/dolphin $out/bin/dolphin
'';
}) {}

</details>

The actual error is not Creating EventLoop multiple times is not supported. but above: Failed to initialize any backend! Wayland status: NoWaylandLib X11 status: LibraryOpenError(OpenError { kind: Library, detail: "opening library failed (libX11.so.6: cannot open shared ob ject file: No such file or directory); opening library failed (libX11.so: cannot open shared object file: No such file or directory)" })
stl-thumb tries to load X11/Wayland bindings dynamically. (And it does so even despite the job is to just convert one file to another.) On NixOS, it cannot find the libraries.
I used the solution from mc filemanager in nixpkgs: patch the binary to make it explicitly require the required libraries. And it worked for me!
Here is the piece you should insert to stl-thumb derivation for it to work:
    # libs are loaded dynamically; make make sure we'll find them
    postFixup = with pkgs; ''
      patchelf \
        --add-needed ${xorg.libX11}/lib/libX11.so \
        --add-needed ${wayland}/lib/libwayland-client.so \
        --add-needed ${libGL}/lib/libEGL.so \
        $out/bin/stl-thumb
    '';

NOTICE: we should likely make some of the lines conditional to make X11/Wayland support configurable. For now we will depend on both X11 and Wayland which is not good.


SR-1378: Rewrite countFormatSpecifiers(:) to handle positional specifiers

What's in this pull request?
Rewrite _countFormatSpecifiers(_:) to handle positional specifiers correctly.
Resolved bug number: (SR-1378)

Before merging this pull request to apple/swift repository:

[x] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

Overall LGTM. Couple minor comments.
@swift-ci Please test

Thanks @rsfinn, and sorry for a much delayed review.

@rsfinn, thank you so much for your efforts!  However, we can't repair these checks in Swift 3; rationale is in https://github.com/apple/swift/pull/3917.  As it says there, doing this right introduces even more complexity than your patch (which wouldn't handle "%1$.*2$d", for example), and doing it so it actually guarantees safety is harder still.  We think the checks just need to be removed for now.


cREAL contract release

Description
Adding contracts to cBRL.
Other changes
Describe any minor or "drive-by" changes here.
Tested
TODO
Related issues
TODO
Backwards compatibility

Documentation
TODO

@rkachowski yes

Running verification:
$ git log -1
commit 452db85836374e9f6eb675d86df7dfb47be770be (HEAD -> rc/v6, tag: cREAL, origin/rc/v6)
Author: Martín Volpe<EMAIL_ADDRESS>Date:   Wed Nov 3 18:58:06 2021 +0100

    Added CR6 script
$ yarn verify-deployed -b $PREVIOUS_RELEASE -n staging
yarn run v1.17.3
$ ./scripts/bash/verify-deployed.sh -b core-contracts.v5 -n staging
 - Checkout contracts source code at core-contracts.v5
 - Contract artifacts already built at build/core-contracts.v5
$ /Users/martinvol/celo/creal_fork/node_modules/.bin/truffle exec ./scripts/truffle/verify-bytecode.js --network staging --build_artifacts build/core-contracts.v5/contracts --librariesFile libraries.json
> Warning: possible unsupported (undocumented in help) command line option: --build_artifacts,--librariesFile
Using network 'staging'.

Proposal contains only valid release transactions!
Initialization Data was verified!
Contract deployed at 0x1E7F230fE54c11293d341360f54f86F34f789EeA matches Validators
Library deployed at 0xa8703ddc7b8d3cc9df9ee3cd2d9d8b101dd817eb matches AddressLinkedList
Contract deployed at 0xf57C17c8DBb5EeC8A3ACc4351408dA18112Ac62d matches StableTokenEUR
Contract deployed at 0x5F3860eE563AF65708D2b529c1663f4674490154 matches StableToken
Contract deployed at 0xDf3db2C6615243728182044830cb6FFE5D83043A matches SortedOracles
Library deployed at 0xf3ce737d09c23b7bfeb937f76b834dcceb7da643 matches AddressSortedLinkedListWithMedian
Contract deployed at 0x84AC7AF18C4303d304ec0C87421D79f1C61a19D4 matches Reserve
Contract deployed at 0xC957183c23057Edc47f3c31b63EC9fEbd1bc0f18 matches Random
Contract deployed at 0xe5894d1D33158F763154EEd333b957aDE7988D9b matches LockedGold
Contract deployed at 0xFA5696a00b612f23386fE0a58AdccB78c76012Fc matches GrandaMento
Contract deployed at 0x98668130CeE355094ce85CFF6a95bCD7d053E9b0 matches GovernanceSlasher
Contract deployed at 0x7b4A6b2d5A2eD204a79CB7FBD32DEf67C7Ec4d1F matches Governance
Library deployed at 0xfb20a27a8a9426247214d72f2f68f4b4604c3099 matches Proposals
Library deployed at 0xf1cef7bb81e097b488eba954304e6b32f111d7be matches IntegerSortedLinkedList
Contract deployed at 0xd4D459273076BeB2b9AAAE06Fd7e4246E767106a matches GoldToken
Contract deployed at 0xe66876bD37763EdeeC87fA3374B406949da92805 matches GasPriceMinimum
Contract deployed at 0xe6D2E3daFe96196871189aF479e48D06c8F43409 matches Freezer
Contract deployed at 0xd4fA8116523c21ab302d845a2E4e7312D519231B matches FeeCurrencyWhitelist
Contract deployed at 0x5C14F43872895EDBDBa12E15aEDBB8dAd874bE0C matches ExchangeEUR
Contract deployed at 0x8D25F1045B5eF0B458A48cC8a8166bAb38bECdDD matches Exchange
Contract deployed at 0xBA2eA3dcb024703e0B127cA5E6F9Be7cBe7cA848 matches Escrow
Library deployed at 0x4d8beac715132dbe22ad63e72e5a133ca8fccd37 matches Signatures
Contract deployed at 0xB958Fc98049306461E2fa40773BAdb5b122DA610 matches EpochRewards
Contract deployed at 0xeb815829D22a86D29d1E37Bd2b1d7F8C102F9648 matches Election
Library deployed at 0x5184c92775a99c645d905553b1286c8e4ec5e404 matches AddressSortedLinkedList
Contract deployed at 0x34c883BA0b737b16A5eB42e57c864610C8E6B85D matches DowntimeSlasher
Contract deployed at 0x06F4D990684C00416d32A3530ad1184E8649ef37 matches DoubleSigningSlasher
Contract deployed at 0x06bDef1190b9Cc7B79182392Cf490f8eaD0F0054 matches BlockchainParameters
Contract deployed at 0x8f7D62a88450D6011a9c5f1b66Ee3eD21E1e1C7a matches Attestations
Contract deployed at 0xAc4166d7A925477454B511F953766c36f2fba59e matches Accounts
Success, no bytecode mismatches found!
Writing linked library addresses to libraries.json
✨  Done in 132.75s.

$ yarn verify-deployed -b $PREVIOUS_RELEASE -n baklava
yarn run v1.17.3
$ ./scripts/bash/verify-deployed.sh -b core-contracts.v5 -n baklava
 - Checkout contracts source code at core-contracts.v5
 - Contract artifacts already built at build/core-contracts.v5
$ /Users/martinvol/celo/creal_fork/node_modules/.bin/truffle exec ./scripts/truffle/verify-bytecode.js --network baklava --build_artifacts build/core-contracts.v5/contracts --librariesFile libraries.json
> Warning: possible unsupported (undocumented in help) command line option: --build_artifacts,--librariesFile
Using network 'baklava'.

Proposal contains only valid release transactions!
Initialization Data was verified!
Error: Validators's onchain and compiled bytecodes do not match
    at /Users/martinvol/celo/creal_fork/packages/protocol/lib/compatibility/verify-bytecode.ts:142:11
    at step (/Users/martinvol/celo/creal_fork/packages/protocol/lib/compatibility/verify-bytecode.js:33:23)
    at Object.next (/Users/martinvol/celo/creal_fork/packages/protocol/lib/compatibility/verify-bytecode.js:14:53)
    at fulfilled (/Users/martinvol/celo/creal_fork/packages/protocol/lib/compatibility/verify-bytecode.js:5:58)
    at process._tickCallback (internal/process/next_tick.js:68:7)
Truffle v5.1.18 (core: 5.1.18)
Node v10.16.3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

$ yarn verify-deployed -b $PREVIOUS_RELEASE -n alfajores
yarn run v1.17.3
$ ./scripts/bash/verify-deployed.sh -b core-contracts.v5 -n alfajores
 - Checkout contracts source code at core-contracts.v5
 - Contract artifacts already built at build/core-contracts.v5
$ /Users/martinvol/celo/creal_fork/node_modules/.bin/truffle exec ./scripts/truffle/verify-bytecode.js --network alfajores --build_artifacts build/core-contracts.v5/contracts --librariesFile libraries.json
> Warning: possible unsupported (undocumented in help) command line option: --build_artifacts,--librariesFile
Using network 'alfajores'.

Proposal contains only valid release transactions!
Initialization Data was verified!
Contract deployed at 0x6cf9fcF2e91fd13911c917b02C1E9BB30807b920 matches Validators
Library deployed at 0x66b7726972fb970bf94fc0bf8bb16ba419dd5810 matches AddressLinkedList
Contract deployed at 0xfE52C5E855268B48cCcF8f0C68a608bdf4Af3001 matches StableTokenEUR
Contract deployed at 0xD2e63f44565ceD986ce4FcD6119558e5ccF5b7cB matches StableToken
Contract deployed at 0x0A1dfD7212Ab1Aac06F85AC4208a7Ff78a7bdFe6 matches SortedOracles
Library deployed at 0x0dc83ef10c57c5de40538d292ca60faddbfeb95a matches AddressSortedLinkedListWithMedian
Contract deployed at 0xbb1CF1ceEe58dcB7Bb2B579B7860E4F25FdD803F matches Reserve
Contract deployed at 0x67c6829506DdF66Ed824Fd1cCC40665588Bc4631 matches Random
Contract deployed at 0x3D66E7B60E34FA737AFcE4383687fd4A69cb9a7a matches LockedGold
Contract deployed at 0x9906CC9EfD28892c9d35B8a0711E5222DB9AA36a matches GrandaMento
Contract deployed at 0xFAb34a61482E415eF949FF0ec9a7914313018318 matches GovernanceSlasher
Contract deployed at 0xa3579981CE90F26549809243A12B024053cdc0c5 matches Governance
Library deployed at 0x1f8d9926fe99cdbf09b2cbaa96cd5eb4abf73824 matches Proposals
Library deployed at 0x18166ee69ef34c0a7502feff8fc23bab613240e5 matches IntegerSortedLinkedList
Contract deployed at 0xF469829b3b0D7f696720B34BDE0284E628bD448e matches GoldToken
Contract deployed at 0x6A0F33AD4c641f57ac2B1eA1cD457a83a578f82D matches GasPriceMinimum
Contract deployed at 0x423A32Ee1AF793DF26c4aEe7e36441C00C29e280 matches Freezer
Contract deployed at 0xe7888E7D90d475260970C58d2bB9d181259de505 matches FeeCurrencyWhitelist
Contract deployed at 0x4A3ACB12178B40d8cA2b719cBa6BCAE0e8E31F4C matches ExchangeEUR
Contract deployed at 0xbe632C8756294DbAc9863703eC7E3759141350cF matches Exchange
Contract deployed at 0x34Ea188653c50788e52ebc52e90A5d11cdD42022 matches Escrow
Library deployed at 0x5d245dbb4ebf18be6f90064cb69ba4c5f91da1e0 matches Signatures
Contract deployed at 0xd894682B96B1E5954223e0554afad14b2a93cDdb matches EpochRewards
Contract deployed at 0x1FdaBF4EbaeE6209c6060183452c6796b937aA63 matches Election
Library deployed at 0x40ad38a4c07ca90e4fefb7ce3c46ecc9774dbac6 matches AddressSortedLinkedList
Contract deployed at 0xdF3d2CD57090B3B6C15c18Ec7C1E33DCF565B449 matches DowntimeSlasher
Contract deployed at 0xF06EF728067dd7b5CC752DC0C787dABECcBfC82e matches DoubleSigningSlasher
Contract deployed at 0xbc4c0e92ac0a588DF2712E3425723fe22361966f matches BlockchainParameters
Contract deployed at 0x080396CADF22ceB36BD97Fc1c3fbC8B4D58d339e matches Attestations
Contract deployed at 0xd4aC632E0e3DE81DC565b402a99210C5b31271a0 matches Accounts
Success, no bytecode mismatches found!
Writing linked library addresses to libraries.json
✨  Done in 126.14s.
$ yarn verify-deployed -b $PREVIOUS_RELEASE -n rc1
yarn run v1.17.3
$ ./scripts/bash/verify-deployed.sh -b core-contracts.v5 -n rc1
 - Checkout contracts source code at core-contracts.v5
 - Contract artifacts already built at build/core-contracts.v5
$ /Users/martinvol/celo/creal_fork/node_modules/.bin/truffle exec ./scripts/truffle/verify-bytecode.js --network rc1 --build_artifacts build/core-contracts.v5/contracts --librariesFile libraries.json
> Warning: possible unsupported (undocumented in help) command line option: --build_artifacts,--librariesFile
Using network 'rc1'.

Proposal contains only valid release transactions!
Initialization Data was verified!
Contract deployed at 0x2e3b47Cf3163dE47E852ff11D53a9ad8dFE7C68D matches Validators
Library deployed at 0x939c9cefbce3aa3a212d424b5ba978ac1b712801 matches AddressLinkedList
Contract deployed at 0x09933e89986FeA776C3Be3556dBF9BA23c240bB3 matches StableTokenEUR
Contract deployed at 0x18E6BFDc909063F7445E410a5495264619495bCB matches StableToken
Contract deployed at 0x6CEB70e9237dfE15eDC4A35aAd1598225609d171 matches SortedOracles
Library deployed at 0x147f2a2e9ab1f6d7c42b25a30e4d3fd57186c941 matches AddressSortedLinkedListWithMedian
Contract deployed at 0xc683e6f77B58D814B31F8661331EbDf63785D607 matches Reserve
Contract deployed at 0xE43ea9C641a2af9959CaEEe54aDB089F65457028 matches Random
Contract deployed at 0xc683d91656ED9024ADDD7a40A181398E0258283F matches LockedGold
Contract deployed at 0x5B2C9E7932B08D8F2Ce70ef9E5c98528256f9aB4 matches GrandaMento
Contract deployed at 0x68f04Ab73B93f5175207296528454999475294d5 matches GovernanceSlasher
Contract deployed at 0x074a4810015d67bAFac5fE522c70761f343db55E matches Governance
Library deployed at 0xc285ed87e999c31a9639f9bfa71e063106afc73b matches Proposals
Library deployed at 0xf488ad21cebfad0650c7677eb8647383051aba21 matches IntegerSortedLinkedList
Contract deployed at 0x4DdeB8F7041aB3260c6ec5Afb6FEab0650F4ABB4 matches GoldToken
Contract deployed at 0x7C4194dF1Dbdb5ca737B7d457bB00176f8A52361 matches GasPriceMinimum
Contract deployed at 0xa79cDb272799175A118A4Ce49ceCBF3eC86649e6 matches Freezer
Contract deployed at 0xc301efebAe9c517eA81f87d2CF2Ff0A87caaBc83 matches FeeCurrencyWhitelist
Contract deployed at 0x622833AB6E9501C9072d2c706c60AaB5Ff0234d9 matches ExchangeEUR
Contract deployed at 0xEDF3F7e01037e4583de2659C5e243621Ea2501A4 matches Exchange
Contract deployed at 0x7A097d13F2B9f4E32effFBf2a5EA756dAb4420C1 matches Escrow
Library deployed at 0x0867323826e7cd65ea8295e32c0726a2b2e1df0e matches Signatures
Contract deployed at 0x563BA8Ed56bd32a964831aB6AfF1E53238177eDA matches EpochRewards
Contract deployed at 0x31EFa3ea696F91E751ec5fA6c93B876E7270D77B matches Election
Library deployed at 0xa9d3dc58f68a4257c880baaeffa1c654fdb4b716 matches AddressSortedLinkedList
Contract deployed at 0x9ebB6A46149a43C9D1B12EfdC068b969eCA7246F matches DowntimeSlasher
Contract deployed at 0x4Bb82B5862Beb483Fdb762EC4A6cB60953568A12 matches DoubleSigningSlasher
Contract deployed at 0xDEfbc89482cd36B98d1b506Cc56Dd2AF74217955 matches BlockchainParameters
Contract deployed at 0x936d74304a17440488e02197285a2EA5f6Dd40A8 matches Attestations
Contract deployed at 0xccF3e2a7c06A515E36F547c6eB563dc8E00d3c08 matches Accounts
Success, no bytecode mismatches found!
Writing linked library addresses to libraries.json
✨  Done in 125.48s.


Binned distribution gives wrong quantiles if the probability of first bin is nonzero

Description
While expanding bin centers, the code incorrectly adds the probabilities of the first bin to the bin centers (zeros_cdf has the probabilities of the initial bin for all batch elements/time points).
Also the index returned is always zero and hence the quantile returned is the first bin + probability of the first bin, unless the initial bin probability is zero which is always the case in tests.
To Reproduce
In [1]: import mxnet as mx
from
In [2]: from gluonts.distribution import Binned

In [3]: binned = Binned(bin_probs=mx.nd.array([[0.5, 0.2, 0.15, 0.15]]), bin_centers=mx.nd.array([[1e-4, 1e-6, 1e-5, 1e-3]]))

In [4]: binned.quantile(mx.nd.array([0.1, 0.5, 0.7, 0.9, 0.999]))
Out[4]:

[[0.5001]
 [0.5001]
 [0.5001]
 [0.5001]
 [0.5001]]
<NDArray 5x1 @cpu(0)>

Fix
Replacing broadcast_add by broadcast_mul here seems to solve both  problems. I think zeros_cdf was meant to be zeros not the probabilities of the first bin.
After fix:
In [4]: binned.quantile(mx.nd.array([0.1, 0.5, 0.7, 0.9, 0.999]))
Out[4]:

[[1.e-04]
 [1.e-06]
 [1.e-05]
 [1.e-03]
 [1.e-03]]
<NDArray 5x1 @cpu(0)>

@rshyamsundar the bin centers appear not to be sorted in your example: does the distribution assume that they are?

Right, it assumes it is sorted but the result would still be wrong. Let me update the example.


test charts with miniziti

Currently installing miniziti from this PR branch's git rev: https://github.com/openziti/ziti-doc/pull/625
I'm considering relocating miniziti to this charts project so they are versioned together.


feat(monaco-editor): add option to disable minimap

Issue
https://gravitee.atlassian.net/browse/APIM-3395
Description
Add option to disable minimap view on the monaco editor

🧪  Gravitee.io Automatic Prerelease @gravitee/ui-policy-studio-angular
npm install<EMAIL_ADDRESS>
yarn add<EMAIL_ADDRESS>

📚  View the storybook of this branch here

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Is it right to use 'bg_idx = (masks.shape[1] - 1)' ?

Hi,
Your work is very interesting and I have a question about your code.
Refer to line 42 in avss/loss.py,
 bg_idx = (pred_masks.shape[1] - 1)
you define background idx as 'masks.shape[1] - 1', which is 70. But after I ran the code, I think the background idx should be 0, which is also defined in label2idx.json. Is there any problem?
Thank you in advance.

Sorry for the late reply. Thank you for pointing out this. I think you are right. There may be a misalignment when reorganizing the codes and dataset and I have updated the codes.


Work in progress: Journal of Open Source Science paper

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

Project coverage is 81.3%. Comparing base (4b2806d) to head (a5121f4).

Additional details and impacted files
@@          Coverage Diff          @@
##            main     #35   +/-   ##
=====================================
  Coverage   81.3%   81.3%
=====================================
  Files          6       6
  Lines        632     632
  Branches     110     110
=====================================
  Hits         514     514
  Misses        71      71
  Partials      47      47

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


fix error "We need CPython 2.7, 3.2 .. 3.9 to compile source code; you are running 4.0"

Fixes python version error when running python3.10 -m xpython -c "print('Hello World')"
Also checks for python version (4, 0) which seems to match python 3.10.
user@localhost ~ $ python3.10 -m xpython -c "print('Hello World')"
We need CPython 2.7, 3.2 .. 3.9 to compile source code; you are running 4.0
user@localhost ~ $

after installing with sudo python3.10 -m pip install git+https://github.com/LinuxUserGD/x-python.git:
user@localhost ~ $ python3.10 -m xpython -c "print('Hello World')"
Hello World
user@localhost ~ $

Failures seem to be associated with workflows problems not code.  Treading 4.0 as 3.10 seems a little weird, but okay.
Thanks for the PR.


Scrolling is broken in 1.1

Hey!
Very cool app!
Scrolling seems to be broken with 1.1. On a new document or a short one, it’s not possible to scroll at all, and thus not possible to dismiss the keyboard.

If I understand you correctly, you're saying that scrolling works fine when there's text that doesn't fit the screen. But scrolling to dismiss the keyboard doesn't work when there's no text offscreen (and thus no scroll bar)?

Yes, exactly. It's one of the properties on UIScrollView that controls this. I think it's alwaysBounces.

It is exactly that:

If this property is set to YES and bounces is YES, vertical dragging is allowed even if the content is smaller than the bounds of the scroll view. The default value is NO.

Fixed e866a6938bec5592b3d0584eabe4939a665f9d2f

Thanks


Automate --> Explorer --> Expand directories issue

Hi folks,
We have encountered with a problem when you cannot expand directories in Automation domains, it means that when you are trying to expand it - loading circle infinitely. You should refresh the page for viewing expanded tree. You should do it every time when you want to expand it. I have an idea that it can occur due to version jquery library. Euwe 2 uses version of jQuery 3 instead of 2.1.4 in Euwe 1.

@miq-bot assign @himdel

@himdel can you please take a look, looks like some latest refactoring in the trees caused this issue.

I have an idea that it can occur due to version jquery library. Euwe 2 uses version of jQuery 3 instead of 2.1.4 in Euwe 1.

@vkuptsov Thanks for this, this would indeed explain the problem.
But it also means we can close this, should be already fixed by https://github.com/ManageIQ/manageiq/pull/14200 (which is unfortunately not in euwe-2 but is in euwe).

@vkuptsov would you be able to verify, and close if so, please? :)

@himdel Thank you for so quick answer! Am I wright I should wait for future Fine release? :-)

@vkuptsov I'm not sure if there's any more Euwe releases coming up, but Fine definitely is :)
Or, you may be able to apply those changes manually, should be a one line change, bower install and a rake evm:assets:compile.. (and probably evm:restart).

@himdel Sorry for that, could you kindly tell me what line should I change?

Of course, if you go to /var/www/miq/vmdb on the appliance, you should see a bower.json file.
Edit it, and you should see a resolutions section at the end .. https://github.com/ManageIQ/manageiq/pull/14200/files shows you what to change in there (careful about the commas, must be exactly like this).
Then, running bower install -F in that directory should install the right version of jQuery, rake evm:assets:compile should recompile assets so that the rails app can use the right version, and rake evm:restart will restart the app so that it picks up those changes.
Hope it helps :)

@himdel Hi,
thank you for your answer - it really helped me. Now all fine!
Thanks again!


Create linearized instruction representation.

I'm creating this issue ex-post so that we can track the history of the Instruction representation of the pipeline.
In #220 @tomerk created a "linearized" version of the Pipeline DAG structure which converts a pipeline to a Seq[Instruction] which is (in some cases) an easier object to optimize than the pure nodes/edges representation of the DAG.
This representation will be used in the next few PRs but is a fairly significant independent feature which we should keep in mind as we develop more optimizations.

Closed by #220


Publish test results even if build is canceled

If build is cancelled due to agent timeout, some tests results may have already been generated and should still be published

/azp run js - storage-queue - tests


High accuracy variance with colsample_bytree and certain seeds

I am currently observing high variance in accuracy with using colsample_bytree and specific seeds. Changing the seed can change the accuracy by at least 10%.
I am wondering how to tackle this issue. Not use feature sampling at all or maybe even use some form of bagging with different seeds?

@bbennett36 Currently, I have two models with different number of iterations in Python defined as follows:
lgb.LGBMClassifier(objective="binary", seed=42, n_jobs=4, boost_from_average=False, n_estimators=100, learning_rate=0.1, colsample_bytree=0.5, max_depth=-1, min_child_samples=200, num_leaves=255, scale_pos_weight=55)
lgb.LGBMClassifier(objective="binary", seed=42, n_jobs=4, boost_from_average=False, n_estimators=1000, learning_rate=0.02, colsample_bytree=0.5, max_depth=-1, min_child_samples=200, num_leaves=255, scale_pos_weight=70)
You are totally correct that the variance is much higher for the 100 iteration model with different seeds. However, it is also imminent from the 1000 iteration model, specifically for test dataset, to a lesser extend on the cross validation results.

@psinger I would guess that its just overfitting based on those parameters. Try setting num_leaves=40, min_samples_leaf=50, and instead of using scale_pos_weight try setting is_unbalance=true. That will make the weights equal to the event rate. Scale_pos_weight=70 might be too high. I don't think ive ever went over like 10.
Let me know if this helps your issue.

@bbennett36 Thanks for help, but I have heavily unbalanced data and scaling it by 70 is not extreme at all in my case, is_unbalance=True nearly never works for me as it is scaling way too aggressively.

@psinger Gotcha.  I'm not sure what metric you're using but I'll usually use 'binary_logloss" when dealing with unbalanced data. This will usually make the predictions closer to the actual event rate.
Also, early stopping rounds will help control overfitting too if you're not already using it

@bbennett36 My final goal is more in the direction of ranking. Also, early stopping stops way too early for my data at hand. I guess everything boils down to the fact that my data is quite problematic ;)

I've seen 30% accuracy variance with stratified cross-validation on a poorly made dataset, and 20% accuracy variance on a very unbalanced dataset (1:10000 ratio).
When introducing very low column / row sampling ratios, make sure to increase significantly the number of boosting iterations. For a value of 0.02, I usually recommend at least 10,000 iterations (with a learning rate low enough to not overfit before 10,000 iterations).
Another issue when introducing such ratio is instability of early stopping, in that case cranking it to 500 or more is not uncommon (also with very high regularization, boosting tends to stop itself by building empty trees).

@Laurae2 Thanks! What do you see as very low column / row sampling ratios. What learning rate do you propose for 10,000 iterations?
I am also wondering regarding what metric to choose for early stopping in highly unbalanced datasets where final goal is to achieve good ranking. My current perspective on this is that something like AUC does not work properly for early stopping then, and one might need to rely on logloss with, as you said, quite high number of steps.

@psinger If we assume you use 0.3 for 100 iterations, try 0.003 (= 0.3 / (10000 / 100) ) for 10000 iterations.
If your final target is ranking, keep AUC as long as you are interested into "top N" predictions for your use case. AUC only cares about order. Otherwise, switch to logarithmic loss.

@Laurae2 I am actually interested into top N predictions. Thanks for elaborations.

@psinger @Laurae2 Can we close this?


Rust transport mod

New features

MqttClient struct
MqttRouter struct
Item struct renamed to Packet
Topic is now a trait
mqtt mod has moved into a new mod called transport
Configuration struct now manages MQTT parameters
Remove Ord impl for Quadkey (fixes #101)

How to test
Nothing much to do other than checking that build, tests and benches runs correctly
In addition from previous PR also build the documentation to check it correctly does with no warnings

cargo clean
cargo build
cargo test
cargo bench
cargo doc --no-deps --open

Tests ok. How to execute "copycat" now? It's lost?

Not it's not, this is Git, code's never lost (almost)

Tests ok. How to execute "copycat" now? It's lost?

No it's not, this is Git, code's never lost ;)
First, the code is still available in the branch but not shown by your IDE because not included in Cargo.toml, if you ls the root rust directory, the old copycat code folders are still there
If you want to be reassure you can check the examples branch where the copycat example has been re implemented with the new version of the lib ;)


Unable to run uperf with sample from docs

The uperf documentation gives this simple YAML file:
apiVersion: ripsaw.cloudbulldozer.io/v1alpha1
kind: Benchmark
metadata:
  name: uperf-benchmark
  namespace: my-ripsaw
spec:
  workload:
    name: uperf
    args:
      client_resources:
        requests:
          cpu: 500m
          memory: 500Mi
        limits:
          cpu: 500m
          memory: 500Mi
      server_resources:
        requests:
          cpu: 500m
          memory: 500Mi
        limits:
          cpu: 500m
          memory: 500Mi
      serviceip: false
      runtime_class: class_name
      hostnetwork: false
      pin: false
      kind: pod
      pin_server: "node-0"
      pin_client: "node-1"
      multus:
        enabled: false
      samples: 1
      pair: 1
      test_types:
        - stream
      protos:
        - tcp
      sizes:
        - 16384
      nthrs:
        - 1
      runtime: 30

but this CR fails to execute.
From what I could understand in the logs, the issue is:
Job.batch "uperf-server-0-b7e20b49" is invalid: spec.template.spec.runtimeClassName: Invalid value: "class_name": a DNS-1123 subdomain must consist of lower case alphanumeric characters ...

Removing runtime_class: class_name solves the problem.

@kpouget the runtimeclass parameter is specific to kata containers. So if your environment is not setup as such it will not work with that option in there.
If you look down in the docs some:
runtime_class If this is set, the benchmark-operator will apply the runtime_class to the podSpec runtimeClassName.

Note: runtime_class has been tested with Kata containers, no other runtime.

That said, we should probably update the docs to be more clear.

@dry923 thanks for the clarification :)
regarding #416, the way I [didn't] read the documentation is that I wanted to quickly try uperf, see if it works and if it could help me with my investigations, so I took the 1st CR I found, customized when I recognized and didn't touch the rest.
Maybe you could change:
      runtime_class: class_name

to
      runtime_class: ""

if this works with kata & not kata, or:
      runtime_class: class_name # only works with kata, remove it for other runtime


pgpainless-cli verify incorrectly accepts INLINESIGNED messages as SIGNATURES objects

sop verify is meant to verify detached signatures. That is, it compares a text or binary data against a SIGNATURES object, with reference to a set of acceptable signers.
pgpainless-cli is willing to treat an inline-signed message as a SIGNATURES object in this case. I don't think it should do that, because it is effectively confusing the type of object it receives with the type that it expects (see also §11.4.
Below is a transcript that demonstrates the concern. every command in it succeeds, but I think the final command (pgpainless-cli verify) should have failed.
Note that i'm using sqop inline-sign to make the inline-signed message here, because if i use pgpainless-cli inline-sign, it creates a compressed message, and a compressed INLINESIGNED message doesn't get mis-read as a SIGNATURES object.
0 dkg@bob:~$ pgpainless-cli version --extended
PGPainless-SOP 1.6.8
https://codeberg.org/PGPainless/pgpainless/src/branch/master/pgpainless-sop

Implementation of the Stateless OpenPGP Protocol Version 07
https://datatracker.ietf.org/doc/html/draft-dkg-openpgp-stateless-cli-07

Based on pgpainless-core 1.6.8
https://pgpainless.org

Using Bouncy Castle 1.77
https://www.bouncycastle.org/java.html
0 dkg@bob:~$ sqop version --extended
sqop 0.36.0
sop-rs 0.8.0
Nettle 3.10 (Cv448: true, OCB: true)
Sequoia 1.21.2
0 dkg@bob:~$ pgpainless-cli generate-key test > test.key
0 dkg@bob:~$ pgpainless-cli extract-cert < test.key > test.cert
0 dkg@bob:~$ echo test | sqop inline-sign test.key > test.msg
0 dkg@bob:~$ pgpainless-cli inline-verify test.cert < test.msg
test
0 dkg@bob:~$ echo test | pgpainless-cli verify test.msg test.cert
2024-12-04T22:55:08Z 8FC0C899C8F11FCA6A70774734D6A228981EECBE 22726D5BA01E6DD570EB5FC5F542F5CD2B244E95 mode:binary
0 dkg@bob:~$

This is again due to PGPainless using the same API for all types of message verification and comes with the cost of having a simple API. Imho, users should not know the difference between inline- and detached signatures.

I agree with you, we want to keep things as simple for users as possible.  That said, I don't think it's possible for users to stay ignorant about what data type they're handling, unfortunately.
They need to know the difference between a certificate and a TSK (so that they don't send the TSK to someone else!) and they need to know the difference between an encrypted (and possibly signed) message and an message that happens to be signed (but is not encrypted).  And, they need to know the difference between a message that is signed, and a detached signature.
We already have actively dangerous APIs in the wild for OpenPGP signature verification, we don't need any more: gpg (and gpgv) attempted to make it so users wouldn't have to know the difference between a signed message and an unsigned message, and ended up here (from gpgv(1)):

   `gpgv pgpfile`
  `gpgv sigfile [datafile]`
        Verify the signature of the file. The second form is used for detached signatures, where `sigfile` is the detached signature (either ASCII-armored or binary) and `datafile` contains the signed data; if `datafile` is "`-`" the signed data is expected on stdin; if `datafile` is
         not given the name of the file holding the signed data is constructed by cutting off the extension ("`.asc`", "`.sig`" or "`.sign`") from `sigfile`.

Note that the results from invoking gpgv with a single argument will vary depending on whether another file exists that happens to have a similar name to the name of the single argument.
Consequently, if i know (or can control) the contents of a single file in the directory you're going to run gpgv from, i can hand you something that i claim is a signed message, and as long as gpgv is willing to interpret it as a sigfile, and you retain the filename i've given you, you'll think that you have a valid signed message, but actually the thing is a detached signature.  This is dangerous.
The interface should be as simple as possible, i agree: but no simpler!


Presentation breaks with Error #1486

Describe the bug
The exact same bug has been reported already in #1486 but still occurs.
Latest update breaks presentation and throws an error!
To Reproduce
Steps to reproduce the behavior:
1⃣ See repo, forked from the great template-nextjs-personal-website:
https://github.com/mdillgen/template-nextjs-personal-website
2⃣ Updated dependencies
❌ Error occurs!
Screenshots

Which versions of Sanity are you using?
@sanity/demo                 2.0.0 (up to date)
@sanity/icons               2.11.8 (up to date)
@sanity/image-url            1.0.2 (up to date)
@sanity/preview-url-secret  1.6.12 (up to date)
@sanity/react-loader        1.9.18 (up to date)
@sanity/ui                   2.1.7 (up to date)
@sanity/vision              3.41.1 (up to date)
sanity                      3.41.1 (up to date)

What operating system are you using?
macOS 14.4.1
Which versions of Node.js / npm are you running?
npm 10.1.0
Node v20.9.0

Additional context
As mentioned above, the previous issue has been closed and locked. But error still occurs, even after latest updates.

The bug has been fixed in the latest version of @sanity/presentation. However, the sanity package hasn't been updated yet to include that latest version. You can either wait for<EMAIL_ADDRESS>or install<EMAIL_ADDRESS>manually. The template already ships with the latter by default to mitigate this issue while we wait for<EMAIL_ADDRESS>


How to Recreate Dice Similarity Results?

We have trained the model on the EchoNet Dynamic Dataset and are trying to recreate the Dice Similarity results written in your paper. Which scripts and parameters need to be used to reproduce the Dice Similarity results from your paper? @guybenyosef

@SarTho9, can you please let us know if there is a way to perform inference on the images to obtain a Dice Similarity score for the left ventricle segmentation? What model backbone should be used for training and testing? Also, what is sd in the types of error that are calculated?

Hi adikrishnanucd,
sorry for the late reply.
If you want ie to replicate the single frame model you can use the config https://github.com/guybenyosef/EchoGraphs/blob/main/files/configs/Train_single_frame.yaml which gives you the mobilenet version (there are different ones in the paper). For testing we ran the eval script on the eval.py.
For computing the dice, we first used the GCN to create the keypoints and then we converted the keypoints into masks and computed dice and other metrics using the functions in utils/utils_metrics.py. The function there is not too elegant nor straightforward but I guess it can still help to look at the functions used for computing dice and for converting the masks.
The sd stands for the labeling of the keyframes and the error indicates how far you are from the actual true key frame.

Thank you @SarTho9 for your response. So, will we need to call the compute_statistics function from the utils/utils_metrics.py file in the eval.py script before running this evaluation script? If so, where should we call this and how can we ensure that it is using the appropriate key points from the test data?
I apologize for the many questions. Thank you very much for your time, guidance, and support.


Update nanobox to 2.3.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

The version did not change but the sha256 of the official source changed.

Since sha256 was updated but version stayed the same, this change needs to be verified. Please follow the instructions to do so.

@vitorgalvao There is no public information of the sha256 nor it is signed. AFAIK the only way to verify is by downloading it from https://dashboard.nanobox.io/download "Use Docker Native" option.

19298f958d56856061d1a93750f01c3ff36a12f3e113b9839704810753684200  nanobox--2.3.0.pkg

Package "nanobox--2.3.0.pkg":
   Status: signed by a certificate trusted by Mac OS X
   Certificate Chain:
    1. Developer ID Installer: Eric Graybill (R6JH5QLWZ5)
       SHA1 fingerprint: 40 88 3F 7B 54 0A 90 7A B2 90 1D 64 EE FA 72 1C AA D2 6F DC
       -----------------------------------------------------------------------------
    2. Developer ID Certification Authority
       SHA1 fingerprint: 3B 16 6C 3B 7D C4 B7 51 C9 FE 2A FA B9 13 56 41 E3 88 E1 86
       -----------------------------------------------------------------------------
    3. Apple Root CA
       SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60

There is no public information of the sha256

From the document:

It can be asked for.


⚠ Bofrost.com has degraded performance

In 2570cc4, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 1456 ms

Resolved: Bofrost.com performance has improved in 4ad3972 after 9 minutes.


scripts/fix_any.py does not work together with make gen-oscal

Describe the bug
scripts/fix_any.py is embedded in scripts/gen_oscal.sh. That should be run by make gen-oscal. When doing so the path assumptions within scripts/fix_any.py fail with the following error:
Traceback (most recent call last):
  File "scripts/fix_any.py", line 123, in <module>
    with open(out_name, 'w') as out_file:
FileNotFoundError: [Errno 2] No such file or directory: 'out_trestle/oscal/ssp.py'

To Reproduce
Steps to reproduce the behavior:

make gen-oscal

Expected behavior
make gen-oscal updates oscal models AND overwrites current models so it can be run cleanly.

Make sure that scripts/gen_oscal.sh will error out if an error is hit. Currently it continues through exceptions.

There is something strange happening here. we should discuss.


PP-9545 Make search param consistent with transactions

Transactions expects an account_id for search, this is generally
provided by public api. Agreements originally specified this as
gateway_account_id as it's more descriptive but change it back to
account_id to bring it in line with the other endpoints public api
interacts with.

Thank @oswaldquek @alexbishop1 can 2i tomorrow


Add artist's impression of an onboarding tracker

Add a new fully-immersive onboarding journey diagram for the ultimate mobile and desktop 'new starter' experience.
Allow user to:
a. click relevant links on journey cards to navigate to the correct section to complete a given task,
b. click on info icon in a given action card, to open a modal displaying further details/links,
c. click outside modal to close it (in addition to already being able to close via 'close' btn, escape key).
Note:

Initially developed this thing assuming active statuses as per ACs so there is quite a bit of redundant action status-related logic lying round until Reuben's PR is ready - which will generate a few code smells in the meantime. Could refactor to remove in a follow-up commit if this is too confusing/messy.
The CCT calc does not currently close via click outside as it was developed before the Modal comp so needs refactoring.

TIS21-6367

Will re-open when rebase etc. after @DorisWongNHS 's merge.


accidentcially clicked Pause

the title say it all , (when playing)

pause button is at the top right corner (last digit of the score)

or @TigerHix  can add pause button by hard key Back on a device Android, or ios device(don't use it but I think it had) this's simple I used in my game
https://gist.github.com/natsupy/e6a7f8a949c21aaf321d6960e4a48212

Decreases the pause hitbox and added back button.


File Uploader Bug in Web UI

User Story
As a student, I want to be able to upload a file using the File Uploader and also view the file with its original content by downloading it. As a ministry user, I want to view the original file by downloading it from the File Uploader.
Current Behavior
When a student uploads a file and immediately download it by clicking on the file, the downloaded file doesn't have the original content. The same error happens when the ministry user downloads the file from the File Uploader. It is known to happen for `text files. The downloaded text file will display [object object] as shown below.

Expected Behavior
The uploaded file on File Uploaded should have the original file content after downloading.
Acceptance Criteria

[ ] The downloaded file should have the original file content after downloading using the File Uploader
[ ] Ensure all accepted files (JPG, PNG, DOC, DOCX, PDF, TXT) have the correct behavior.

There is a change in the feature when the student uploads a file. Currently this bug is created, without virus scanning is enabled. We will have a look on the bug again, once the ticket #3297 for UI enhancement for both Ministry and Student user is complete.


Cannot edit table entities if they contain binary properties

Storage Explorer Version: 1.10.1
Build Number: 20190919.2
Platform/OS: Windows 10
Architecture: ia32
Regression From:  weas fixed in 0.8.4
Bug Description
Cannot edit table entities if they contain binary properties
Steps to Reproduce

edit entities in a table that contains a binary property
click on update and nothing happens

Expected Experience
The edit window should be closed and the entity should be updated
Actual Experience
Window is not closed and the entity is not updated
Additional Context
This bug was solved in version 0.8.4 but has been reintroduced
https://docs.microsoft.com/en-us/azure/vs-azure-tools-storage-explorer-relnotes?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json#version-084

Duplicate of #554


feat: empty ui for create flows

Details

This PR adds illustrations to empty list for create flows:

Split Expense
Submit Expense
Pay Someone

Fixed Issues

$ https://github.com/Expensify/App/issues/42227
PROPOSAL: https://github.com/Expensify/App/issues/42227#issuecomment-2115801897
Tests

Create a new account
Press FAB >> Submit expense
Enter any amount and navigate to participant selector page
Verify loading skeleton appears first
Verify illustrations appear if the selection list is empty
Verify referral banner disappears
Search for any contacts
Verify illustrations disappear
Verify referral banner appears
Repeat with other flows as mentioned in Details

[x] Verify that no errors appear in the JS console

Offline tests

NA
QA Steps

[!NOTE]
Refer to iOS: mWeb Safari and MacOS: Chrome / Safari screenshots for the latest design.

Create a new account
Press FAB >> Submit expense
Enter any amount and navigate to participant selector page
Verify loading skeleton appears first
Verify illustrations appear if the selection list is empty
Search for any contacts
Verify illustrations disappear
Repeat with other flows as mentioned in Details

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

https://github.com/user-attachments/assets/fb5b04f5-e764-41c6-b784-4cac0f97c8b8

MacOS: Chrome / Safari

MacOS: Desktop

From a copy perspective, it looks like we have an orphan in "number" - cc @jamesdeanexpensify

Looks like the illustration is cut off on iOS:

@shawnborton tagged ya here to get alignment.

@danielrvidal we're going with the updated copy below as decided here, right?

Submit an expense
Submit to someone and get $250 when they become a customer.

Split an expense
Split with a friend and get $250 when they become a customer.

Pay someone
Pay anyone and get $250 when they become a customer.

What do you think it should be like?

My take is that the illustration and text should ignore the keyboard and be centered vertically on the. That means that when the keyboard moves in it'll obscure parts of the text and illustration.

Yup, I agree with @dubielzyk-expensify in that the keyboard would sit on top of the content in this case.
Also, I think we decided to only show the referral banner once you start seeing results in the contact list after searching? This way we aren't duplicating the same message from the empty state.

My take is that the illustration and text should ignore the keyboard and be centered vertically
That means that when the keyboard moves in it'll obscure parts of the text and illustration.

Yup, I agree too.

Just double checking - where should I confirm that we're updating to this copy? Thank you!

@tienifr can you please make sure to update the copy and screenshots to reflect this comment from @jamesdeanexpensify.
That matches the copy here, where you can also find the Spanish copy as well.

Lint failing @tienifr

Actually rather than forcing a line break, what if we just added like 20px of padding extra horizontally?

Or actually, I would also be fine just doing nothing so that we aren't making any special one-off exceptions here. Maybe that's the best path forward.

Also looks like that on mWeb iOS the promo banner isn't at the bottom:

Conflicts @tienifr

@tienifr What's the latest here?

The keyboard would sit on top of the content in this case

Interesting... because don't we auto-focus that field every time too? I guess that means on mobile, this would always be covered up no matter what, right?

Hah good timing indeed!
So maybe we can see a version where the content shrinks when the keyboard is up (as in, the keyboard does not sit on top of the content), but we can give that view a min-height so it doesn't look too bad on the shorter mobile devices which would allow the keyboard to partially cover it if needed?

Not opposed to that, but I say let's first start by just seeing what it looks like with my suggestion here and then we can adjust to the smaller device sizes from there.

Okay cool, I think it's worth trying to make the illustration slightly smaller too. Could you try it at 146x148 and see if that looks nice?

Can you show a similar spread of screenshots for a more modern iPhone too for comparison? I don't think we should overly optimize for SE, though what you have for 0x0 is interesting - we could consider just not showing an illustration when the screen height is quite small. Thoughts @Expensify/design?

I agree that we probably don't need to overly optimize for super tiny viewports. Not against ditching the illustration for extra teeny tiny screens, but personally I also don't mind if the user has to scroll to see the message (that might just be me though!)
I do kinda want a little bit more space between the input and the illustration though. It feels pretty tight to me.

Cool, I think that's good feedback. @tienifr can you adjust for us so we can see another round of mocks?

Cool, thanks for sharing! I think at this point I would be down to just use something like 120x125 everywhere, and not worry about any kind of conditional sizes for smaller screens (because as Danny mentioned, you can always scroll to see more). Let's see what the rest of the @Expensify/design team thinks though!

I think at this point I would be down to just use something like 120x125 everywhere, and not worry about any kind of conditional sizes for smaller screens

Definitely down for this approach!

@tienifr sounds like we got an agreement on how to move this forwards, can you please implement it? thanks!

Awesome breakdown. I agree that 120x125 will work well for all use cases 👍

sooooo, Are we good for final review @allroundexperts?

Yes. On it again now!

@tienifr It seems like you've not pushed your changes yet. Since we have an agreement to use 120x125 as the size, I think this would be fairly simple to implement.

@allroundexperts what is your ETA to complete the checklist here?

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/2979e55e-2b08-4d99-8b81-2cead23c8b39

Android: mWeb Chrome

https://github.com/user-attachments/assets/400dd434-7a28-4376-856a-3715cbe1b919

iOS: Native

https://github.com/user-attachments/assets/e3d69b0b-e07c-4cf0-b778-a94c4aa0777a

iOS: mWeb Safari

https://github.com/user-attachments/assets/6e3a9bcf-0bc1-4375-9092-64c753f78173

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/346239fc-e1e1-458a-851b-b3f39a35b045

MacOS: Desktop

https://github.com/user-attachments/assets/87d7be6d-a20a-4733-a146-703f27a0d7c6

There's a slight jump when there's no results found. I think we should make sure this jump doesn't happen. It's a bit jarring:

Also, I think we should add extra padding on the bottom of like 20-32px to make sure that the illustration and text looks more centered vertically. (It might technically be centered, but if often looks too low in these instances, so adding a bit of padding will help:

But keen to hear if @Expensify/design agrees here

Those are great comments, I agree with both of them.

For the "not found" jump - I'm guessing that's not what Jon had in mind. I think the idea is to always reserve space below the input for the not found message, so that this way if the message is there, it doesn't cause the illustration below to move. Let me know if that makes sense.
Unrelated, why is there so much green at the top/bottom of this view?

@dubielzyk-expensify Would you be able to check this out please?
@tienifr seems like lint is failing

Yeah, the behavior I think we should aim for is exactly what Shawn mentioned above:

I think the idea is to always reserve space below the input for the not found message, so that this way if the message is there, it doesn't cause the illustration below to move.

@tienifr can you please do the final updates here? thanks!

@tienifr can you please prioritize this one to get completed? Thanks!

Hmm I think we're still not on the same page here. The idea is to keep the illustration when there are no results found, but we should make it so that the "no results found" message does not cause the illustration to jump. Let me know if that makes sense.

If we decide to show the illustration in case 1 and 2, it can cause the illustration to jump.

Yeah, so the suggestion is to leave a fixed space below the input so that when the "No results found" message appears, the illustration doesn't jump. Does that make sense?

@shawnborton do you think you could whip a quick figma gif or something to cross the imagination gap here? Thanks!

There're 3 cases:

At the beginning when users don't type anything yet, there's no result and we don't show no results found messages.
Users search someone -> there's no result and we show no results found messages.
Users search someone -> there're some results and we don't show no results found messages.

Currently, we show illustration in case 1 only
If we decide to show the illustration in case 1 and 2, it can cause the illustration to jump.

We want the illustration to stay at the same place regardless of whether the No results found message is showing. And we want it for both case 1 and 2 listed above.
Previously it caused jumping because when the string No results found was added, it caused the illustration to move down slightly.
So here in the illustration you can see the two states, Empty and No Results Found. In both instances the illustration stays in the same place and the only difference is just that the No results found string appears below the input.

Hopefully that helps and thank you for your patience on this one @tienifr !

Yes! Thank you so much Jon.

Looooovely! Can we move the illustration up about 20-32px? It sits a bit low. Otherwise this is awesome work 😄  Thank you!

Looking good! Thanks for bearing with our feedback.
One small idea as I see this - should we slightly increase the horizontal padding of the empty state so that the text wraps in a more friendly way? Basically so that we can get "become..." to start on the second line, which might balance out how that sentence looks split across the two lines?

One small idea as I see this - should we slightly increase the horizontal padding of the empty state so that the text wraps in a more friendly way?

I like that idea. I also wonder if instead of changing the padding, we just add a line break so it wraps exactly how we want it to?

True... we could definitely try that out and see what happens!

Looks good!

given Shawn's approval I will move this ahead to avoid any merge conflicts

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 9.0.21-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌

🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Hmm I am getting some jumpiness when the "not found" message appears under the search input - I thought we fixed that?
https://github.com/user-attachments/assets/67254a2c-ba06-484c-9770-0817c4ba3682

@tienifr Are you able to look into this one. Can you reproduce? It should have been fixed I believe


Fails to convert Gerbers generated by Orcad

I have tried to convert Gerber files for a number of different PCBs using gerber-to-svg but all of my files fail.
The most simple application (taken from your documentation) outputs the error message cannot parse coordinate with format undefined.
These Gerber files have all been sent to PCB manufacturers (and can be previewed in desktop Gerber viewer software) without problem.
I have attached a zip file containing a number of Gerber layers for one example PCB.
KB0006R00.zip

Hey, I really appreciate the issue and files! The problem is being caused by the fact that these Gerber files have an invalid Format Specification line: %FSLAN2X34Y34*%. As per the Gerber file spec (see the table in section 6.1), the N2 in that line is invalid. Because of those extra characters, the parser is missing the format details it needs.
Obviously, though, seeing as these files exist and are manufacturable, the parser should be more lenient with this command. It should be an easy fix.

I just released<EMAIL_ADDRESS>which fixes this issue, so you should be able to uninstall and then re-install gerber-to-svg to pick up the updated dependency


client_id, client_secret and authorize_scopes are all required idp details

Before opening, please confirm:

[x] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm i -g @aws-amplify/cli
If applicable, what version of Node.js are you using?
v14.15.4
Amplify CLI Version
4.45.2
What operating system are you using?
Windows
Amplify Categories
auth
Amplify Commands
publish
Describe the bug
I received an error while publishing to my test environment. Publishing to production was successful. The issue appears to be related to OAuth setup which is the same in both environments.
This error was in the console
UPDATE_FAILED               authtracktitanwebe5df7ee5         AWS::CloudFormation::Stack Mon Mar 15 2021 08:59:07 GMT-0400 (Eastern Daylight Time) Embedded stack arn:aws:cloudformation:us-east-1:972180027784
:stack/amplify-tracktitanweb-test-121019-authtracktitanwebe5df7ee5-1PNV7APLUO244/011d8c00-739f-11eb-93b8-124ddee56cf7 was not successfully updated. Currently in UPDATE_ROLLBACK_IN_PROGRESS with reason: The f
ollowing resource(s) failed to update: [HostedUIProvidersCustomResourceInputs].

The following error is from my cloudwatch logs.
2021-03-15T11:58:36.589Z	22ca071d-07be-4594-acd2-e8c476b2627e	INFO	Response body:

{
    "Status": "FAILED",
    "Reason": "See the details in CloudWatch Log Stream: 2021/03/15/[$LATEST]cdad37b3875e47a9af4a278c2e8e2537",
    "PhysicalResourceId": "2021/03/15/[$LATEST]cdad37b3875e47a9af4a278c2e8e2537",
    "StackId": "arn:aws:cloudformation:us-east-1:972180027784:stack/amplify-tracktitanweb-test-121019-authtracktitanwebe5df7ee5-1PNV7APLUO244/011d8c00-739f-11eb-93b8-124ddee56cf7",
    "RequestId": "b6a7302b-a060-47a7-a952-00890cfe5f6e",
    "LogicalResourceId": "HostedUIProvidersCustomResourceInputs",
    "NoEcho": false,
    "Data": {
        "err": {
            "message": "client_id, client_secret and authorize_scopes are all required idp details.",
            "code": "InvalidParameterException",
            "time": "2021-03-15T11:58:36.554Z",
            "requestId": "c01089f3-06ce-4dae-87cb-3ffdcd2a100f",
            "statusCode": 400,
            "retryable": false,
            "retryDelay": 82.31004771926726
        }
    }
}

Expected behavior
Publish should work without issue
Reproduction steps

Have project with social login successfully publishing
amplify publish

Log output
# Put your logs below this line

After swapping between prod and test a few times, my publish eventually worked, it's not clear what actually changed.

I'm facing a similar issue for one of the environments during amplify push:
UPDATE_IN_PROGRESS HostedUIProvidersCustomResourceInputs Custom::LambdaCallout Mon Apr 05 2021 15:13:53 GMT-0400 (Eastern Daylight Time) Requested update required the provider to create a new physical resource
UPDATE_FAILED      HostedUIProvidersCustomResourceInputs Custom::LambdaCallout Mon Apr 05 2021 15:13:54 GMT-0400 (Eastern Daylight Time) Failed to update resource. See the details in CloudWatch Log Stream: 2021/04/05/[$LATEST]6ce5bfb6cc2143a58323a4061ebd41e2
⠋ Updating resources in the cloud. This may take a few minutes...

UPDATE_ROLLBACK_IN_PROGRESS amplify-dvcclient-qa-211341-authdvccliente6700c86-NRLBOIMJHQQ9 AWS::CloudFormation::Stack Mon Apr 05 2021 15:13:55 GMT-0400 (Eastern Daylight Time) The following resource(s) failed to update: [HostedUIProvidersCustomResourceInputs].
⠏ Updating resources in the cloud. This may take a few minutes...

UPDATE_FAILED               authdvccliente6700c86       AWS::CloudFormation::Stack Mon Apr 05 2021 15:14:03 GMT-0400 (Eastern Daylight Time) Embedded stack arn:aws:cloudformation:us-east-1:<MASKED>:stack/amplify-dvcclient-qa-211341-authdvccliente6700c86-NRLBOIMJHQQ9/f79e5ae0-5078-11eb-8361-0a90e6def441 was not successfully updated. Currently in UPDATE_ROLLBACK_IN_PROGRESS with reason: The following resource(s) failed to update: [HostedUIProvidersCustomResourceInputs].
UPDATE_FAILED               functionsavesearch          AWS::CloudFormation::Stack Mon Apr 05 2021 15:14:03 GMT-0400 (Eastern Daylight Time) Resource update cancelled

with log message:
{
    "Status": "FAILED",
    "Reason": "See the details in CloudWatch Log Stream: 2021/04/05/[$LATEST]6ce5bfb6cc2143a58323a4061ebd41e2",
    "PhysicalResourceId": "2021/04/05/[$LATEST]6ce5bfb6cc2143a58323a4061ebd41e2",
    "StackId": "arn:aws:cloudformation:us-east-1:<MASKED>:stack/amplify-dvcclient-qa-211341-authdvccliente6700c86-NRLBOIMJHQQ9/f79e5ae0-5078-11eb-8361-0a90e6def441",
    "RequestId": "0481612e-c6c7-4fa1-beed-96acb83bd961",
    "LogicalResourceId": "HostedUIProvidersCustomResourceInputs",
    "NoEcho": false,
    "Data": {
        "err": {
            "message": "client_id, client_secret and authorize_scopes are all required idp details.",
            "code": "InvalidParameterException",
            "time": "2021-04-05T19:13:52.767Z",
            "requestId": "960f29c8-790a-443a-a17c-a8b9652b771c",
            "statusCode": 400,
            "retryable": false,
            "retryDelay": 67.56379915504516
        }
    }
}

Amplify Version:
4.46.1
In the corresponding auth-related parameters.json I do have a proper configuration for hostedUIProviderMeta and oAuthMetadata. I compared it with the other two environments and they matched.
I spent a fair amount of time troubleshooting (i.e. comparing cf templates between envs) and searching for similar issues.
Since there is no clear resolution to this problem, I would like to reopen it here if possible to get some help. Thanks.

Facing the same issue here after upgrading the cli.
Amplify Version:
4.46.1

@roman-burdakov
Have you checked your team-provider-info.json?
In my case, hostedUIProviderCreds was missing client_id, client_secret and authorize_scopes for the dev environment (actually the one failing).
After adding those missing attributes to hostedUIProviderCreds for the dev environment, I run amplify push and it worked fine.
Just notice when pushing it will move all the secrets of the updated environment to ~/.aws/amplify/deployment-secrets.json.
Hope this helps you.

@arturocanalda I have compared sections for dev and prod which work and qa. Nothing stood out there to me. In particular auth section looks the same for all three envs:
  "qa": {
    "awscloudformation": {..},
    "categories": {
      "auth": {
        "dvccliente6700c86": {}
      },
    ...

Also, I believe we should not have hostedUIProviderCreds in team-provider-info.json. I have them in ~/.aws/amplify/deployment-secrets.json
thanks for your response. I will keep looking into how those are handled. Strange that it only doesn't work for one environment while others are fine.


when and how to support spring-boot3.x project

What would you like to be added?
插件支持spring-boot3.x项目
Why is this needed?
spring-boot3.x项目集成sermant实现注册、治理

#1669 router plugin supports springboot3


[AIRFLOW-1817] use boto3 for s3 dependency

Since S3Hook is reimplemented based on the AwsHook using boto3, its package dependencies need to be updated as well.
Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
This PR adjusts setup.py to the reimplementation of the s3 hook based on the aws hook using boto3.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Since the scripts/ci/requirements.txt install boto3 already this cannot be tested.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2790 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2790      +/-   ##
==========================================
- Coverage   73.37%   73.36%   -0.01%
==========================================
  Files         157      157
  Lines       11935    11935
==========================================
- Hits         8757     8756       -1
- Misses       3178     3179       +1

Impacted Files
Coverage Δ

airflow/models.py
87.25% <0%> (-0.05%)
: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 d4d8eb9...699e5b0. Read the comment docs.

LGTM, thanks


Openapi support v1

The duplicated code is unfortunate, but the library used for 2 and 3.0 has plans to support 3.1 and appears active. So we could possibly move on from oas3 lib soon.

Some of the duplication could be removed by operating on string slices and not the stronger types. I can pursue that in a future PR. Additionally, I plan on adding support for variable stanzas.

Variable stanza support added. Better support for jikken variables as well.


Optimize bool multiply/indexing/nn.Embedding --- O(N + M) nn.Embedding

Optimizes bool tensor indexing by fusing cases where a bool tensor constant over a is cast then multiplied with another value before being added to an accumulator. The operating principle is if it is zero over that broadcast dim the computation can be eliminated. Sometimes this requires loop reordering if the dim it is being iterated over is not the lowest loop. So loops are reordered if needed, bools are pulled out it is check if the aforementioned criteria is meet if so the loop(s) are put in an if statement. This helps with the indexing speed as well as many cases with bool broadcast multiplies. The arange case can be optimized further to just more directly do the indexing but would be less general and this seems to get ~2/3 (depending of course on sizes) of the order of magnitude improvements.
Running:
CLANG=1 NOOPT=1 TC=0 DEBUG=4 GRAPH=1 python3 test/external/external_test_mnist_data_select.py
Before:
*** CLANG      4 r_512_784_60000                        arg   4 mem  0.22 GB tm 101742.51ms/101820.88ms (    0.71 GFLOPS,    0.00 GB/s)
After:
*** CLANG      4 r_512_784_60000                        arg   4 mem  0.22 GB tm     10.70ms/    88.36ms ( 6750.10 GFLOPS,   17.75 GB/s)
So a 10,000x speedup.

https://github.com/tinygrad/tinygrad/?tab=readme-ov-file#contributing "If your PR looks "complex", is a big diff, or adds lots of lines, it won't be reviewed or merged. Consider breaking it up into smaller PRs that are individually clear wins. A common pattern I see is prerequisite refactors before adding new functionality. If you can (cleanly) refactor to the point that the feature is a 3 line change, this is great, and something easy for us to review."

Sure I can break it up probably into ~3 MRs, I wanted to confirm that at a high level this is something that is wanted (in terms both of the functional improvement and the approach) beforehand though. Breakdown into smaller MRs would be approximately:
misc helpers/checks in uops
add_ends and try_fix_vin: changes that should be helpful for uops flexibility independent of this optimization
Changes specific to this optimization
Does that sound suitable to you?

i don't know, to me it's a 300 line change to core tinygrad that has no tests. why would i want this?

Well because it works, unborks indexing, helps optimize other kernels and should help make further uops optimizations easier as well. As far as tests I did not add any since it seemed reasonably well covered in existing tests. Up to you though just lmk.

please read https://github.com/tinygrad/tinygrad/?tab=readme-ov-file#contributing

I have, you mentioned the one part above, I am looking for some clarity here and I don't feel like I have it, do you want changes to this effect or no?

I see actually the full test suite is not passing that is my bad. I still don't have clarity here on whether at a high level these changes would be wanted.


feat: a way to pass token from headers

Describe the feature you'd like to request
When building demo applications or documentation examples, it would be helpful to allow users to test the upload functionality with their own API tokens without modifying environment variables. This would enable interactive demos where users can input their API keys through a UI.
Currently, the token can only be set through:

Environment variables (UPLOADTHING_TOKEN)
Static configuration in createRouteHandler({ config: { token: string } })

Describe the solution you'd like to see
Allow the token to be dynamically set from request headers.
Additional information
No response
👨👧👦 Contributing

[ ] 🙋♂ Yes, I'd be down to file a PR implementing this feature!

Bump


git clone returns 500

Gogs version (or commit ref):  <IP_ADDRESS>0
Git version: 1.7.1
Operating system:  CentOs
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist (usually found in log/gogs.log):
2018/04/10 08:04:45 [TRACE] Custom path: /home/git/gogs/custom
2018/04/10 08:04:45 [TRACE] Log path: /home/git/gogs/log
2018/04/10 08:04:45 [TRACE] Log Mode: File (Trace)
2018/04/10 08:04:45 [ INFO] Gogs <IP_ADDRESS>0
[Macaron] 2018-04-10 08:05:48: Started GET /issues for <IP_ADDRESS>
[Macaron] 2018-04-10 08:05:48: Completed GET /issues 200 OK in 20.683433ms
ed
2018/04/10 08:04:45 [ INFO] Session Service Enabled
2018/04/10 08:04:45 [ INFO] Git Version: 1.7.1
2018/04/10 08:04:45 [ INFO] SQLite3 Supported
2018/04/10 08:04:45 [ INFO] Run Mode: Production
2018/04/10 08:04:45 [TRACE] Doing: CheckRepoStats
2018/04/10 08:04:45 [ INFO] Listen: http://<IP_ADDRESS>:3000
2018/04/10 08:05:48 [TRACE] Session ID: 9ae2a46e16d93281
2018/04/10 08:05:48 [TRACE] CSRF Token: 8L9YbMp-HECyI4saIpVOKUdGrck6MTUyMzM2MDc5ODQ3MTQzMDg3NQ==
2018/04/10 08:05:48 [TRACE] Template: user/dashboard/issues
2018/04/10 08:11:21 [TRACE] Log Mode: File (Trace)
2018/04/10 08:11:21 [ INFO] Gogs <IP_ADDRESS>0
2018/04/10 08:11:21 [ INFO] Cache Service Enabled
2018/04/10 08:11:21 [ INFO] Session Service Enabled
2018/04/10 08:11:21 [ INFO] Git Version: 1.7.1
2018/04/10 08:11:21 [ INFO] SQLite3 Supported
2018/04/10 08:11:21 [ INFO] Run Mode: Production
2018/04/10 08:11:21 [TRACE] Doing: CheckRepoStats
2018/04/10 08:11:21 [ INFO] Listen: http://<IP_ADDRESS>:3000

Description
$ git clone http://xx.me:3000/bzhu/bpoAssistant.git/
Cloning into 'bpoAssistant'...
fatal: unable to access 'http://xx.me:3000/bzhu/bpoAssistant.git/': The requested URL returned error: 500
...


Support Swift 5, Remove Warring.

I would be very interested in this

The automated 4.2 code update works perfectly except for the UIAlertControllers. dongdongpc has the correct code for that in his fix. This should be simple to do

@dillidon Please merge this PR

+1


Create unit test for

[x] User model
[x] Events model
[x] Attendances model
[x] Invitations model

Add unit test for each of our models :test_tube:
The changes can be seen in the next links: :eyes:

88739f793406398f4e138112a6858b35361863ef - User model
17daeb71649ab25fff2bbe14380c8fc0f0365309 - Event model
5355f2a5914f374e610dcfc042607315c92f44ff - Invitation model
d284faf0e2fa57eb0051a8cc5c8d182866ac2a6c - Attendance model


Fixing Shallow renderer deprecation warning

This PR adds react-test-renderer dev dependency to fix warning/deprecation messages seen when running the tests.

Thanks @gabema


KAFKA-10618: Update to Uuid class

As decided in KIP-516, the UUID class has been named Uuid. This PR changes all instances of org.apache.kafka.common.UUID to org.apache.kafka.common.Uuid.
It also modifies the Uuid class so that it no longer wraps a java.util.UUID object. Now it simply stores two longs.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@cmccabe @ijuma
Let me know if this looks ok.


Delete cookies after certain time

Instead of deleting all cookies as soon as I close the tab it would be nice to delete them a few days later. Maybe a week or a month. There are sites I visit regularly that use login and I'm happy to keep those cookies even when I close the browser, but if I don't visit the site for a certain amount of time it would be nice to have the cookies removed. A default of 30 days, maybe with a simple "number of days" picker would be sufficient.
This is a request for enhancement, not a bug.

I think you should look for a different extension that edits the expiration date of the cookie. This extension uses an in-browser timer API which wouldn't work with 30 days as it would reset on browser restart.

@atrasatti

set cookie lifetime policy

network.cookie.lifetimePolicy
values: 0=until they expire (default), 2=until you close Firefox, 3=for n days (see next pref)

set cookie lifetime in days (see above pref) - default is 90 days

network.cookie.lifetime.days

So set network.cookie.lifetimePolicy=3, and network.cookie.lifetime.days=30