Dictionary keys cannot be CuPy element

A more answerable question would be, can keys of a dictionary be an element stored in GPU?

Code to reproduce

import numpy as np
import cupy as cp

arr = [1, 2, 3]
np_dict = dict()
cp_dict = dict()
np_arr = np.asarray(arr)
cp_arr = cp.asarray(arr)

for i in np_arr:
     np_dict[i] = "okay"

print(np_dict)                                # {1: 'okay', 2: 'okay', 3: 'okay'}

for i in cp_arr:
     cp_dict[i] = "okay"

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: unhashable type: 'cupy.core.core.ndarray'

Error messages, stack traces, or logs
Conditions (you can just paste the output of python -c 'import cupy; cupy.show_config()')

CuPy Version          : 6.0.0
CUDA Root             : /usr/local/cuda
CUDA Build Version    : 10000
CUDA Driver Version   : 11010
CUDA Runtime Version  : 10000
cuDNN Build Version   : 7301
cuDNN Version         : 7605
NCCL Build Version    : 1000
NCCL Runtime Version  : (unknown)

Unlike NumPy, CuPy returns a ndarray when iterating over a ndarray, even if the resulting value is a scalar. This is because the scalar value is on GPU and we don't want to implicitly transfer it to the host (CPU) memory. You can use ndarray.item() to explicly convert the ndarray (cupy or numpy) into a scalar, e.g., cp_dict[i.item()] = "okay" instead of cp_dict[i] = "okay".
https://docs.cupy.dev/en/stable/reference/generated/cupy.ndarray.html#cupy.ndarray.item

Unlike NumPy, CuPy returns a ndarray when iterating over a ndarray, even if the resulting value is a scalar. This is because the scalar value is on GPU and we don't want to implicitly transfer it to the host (CPU) memory. You can use ndarray.item() to explicly convert the ndarray (cupy or numpy) into a scalar, e.g., cp_dict[i.item()] = "okay" instead of cp_dict[i] = "okay".
https://docs.cupy.dev/en/stable/reference/generated/cupy.ndarray.html#cupy.ndarray.item

Thanks! 👍🏼

Thanks! 👍🏼

btw @aitikgupta I guess you installed CuPy from Anaconda's channel? v6.0 is unsupported now. If you're a conda user, you can either pip install in your conda environment, or do conda install -c conda-forge cupy.

btw @aitikgupta I guess you installed CuPy from Anaconda's channel? v6.0 is unsupported now. If you're a conda user, you can either pip install in your conda environment, or do conda install -c conda-forge cupy.

btw @aitikgupta I guess you installed CuPy from Anaconda's channel? v6.0 is unsupported now. If you're a conda user, you can either pip install in your conda environment, or do conda install -c conda-forge cupy.

That's right, I trust Anaconda to handle CUDA binaries and their versions better than me. :)
(you're right though, I should update)

btw @aitikgupta I guess you installed CuPy from Anaconda's channel? v6.0 is unsupported now. If you're a conda user, you can either pip install in your conda environment, or do conda install -c conda-forge cupy.

That's right, I trust Anaconda to handle CUDA binaries and their versions better than me. :)
(you're right though, I should update)

We maintain the cupy package on Conda-Forge and we have better toolchain now. Recently Conda-Forge has been completely decoupled from the default channel, so perhaps you could give it a try and report any issues to https://github.com/conda-forge/cupy-feedstock 🙂

We maintain the cupy package on Conda-Forge and we have better toolchain now. Recently Conda-Forge has been completely decoupled from the default channel, so perhaps you could give it a try and report any issues to https://github.com/conda-forge/cupy-feedstock 🙂

Ah, I was in the wrong conda env when I filed the issue. Turns out, I do trust myself with handling the versions. :D
I do a pip install within conda envs, this should be updated now:
python -c 'import cupy; cupy.show_config()':
OS                           : Linux-5.8.0-7630-generic-x86_64-with-debian-bullseye-sid
CuPy Version                 : 8.3.0
NumPy Version                : 1.19.2
SciPy Version                : 1.5.4
Cython Build Version         : 0.29.21
CUDA Root                    : /usr/local/cuda
CUDA Build Version           : 10000
CUDA Driver Version          : 11010
CUDA Runtime Version         : 10000
cuBLAS Version               : 10000
cuFFT Version                : 10000
cuRAND Version               : 10000
cuSOLVER Version             : (10, 0, 0)
cuSPARSE Version             : 10000
NVRTC Version                : (10, 0)
Thrust Version               : 100903
CUB Build Version            : 100800
cuDNN Build Version          : 7605
cuDNN Version                : 7605
NCCL Build Version           : 2604
NCCL Runtime Version         : 2604
cuTENSOR Version             : None
Device 0 Name                : GeForce GTX 1650
Device 0 Compute Capability  : 75

Recently Conda-Forge has been completely decoupled from the default channel, so perhaps you could give it a try and report any issues to https://github.com/conda-forge/cupy-feedstock :slightly_smiling_face:

Thanks, I'll try the conda-forge channel 👍🏼

Ah, I was in the wrong conda env when I filed the issue. Turns out, I do trust myself with handling the versions. :D
I do a pip install within conda envs, this should be updated now:
python -c 'import cupy; cupy.show_config()':
OS                           : Linux-5.8.0-7630-generic-x86_64-with-debian-bullseye-sid
CuPy Version                 : 8.3.0
NumPy Version                : 1.19.2
SciPy Version                : 1.5.4
Cython Build Version         : 0.29.21
CUDA Root                    : /usr/local/cuda
CUDA Build Version           : 10000
CUDA Driver Version          : 11010
CUDA Runtime Version         : 10000
cuBLAS Version               : 10000
cuFFT Version                : 10000
cuRAND Version               : 10000
cuSOLVER Version             : (10, 0, 0)
cuSPARSE Version             : 10000
NVRTC Version                : (10, 0)
Thrust Version               : 100903
CUB Build Version            : 100800
cuDNN Build Version          : 7605
cuDNN Version                : 7605
NCCL Build Version           : 2604
NCCL Runtime Version         : 2604
cuTENSOR Version             : None
Device 0 Name                : GeForce GTX 1650
Device 0 Compute Capability  : 75

Recently Conda-Forge has been completely decoupled from the default channel, so perhaps you could give it a try and report any issues to https://github.com/conda-forge/cupy-feedstock :slightly_smiling_face:

Thanks, I'll try the conda-forge channel 👍🏼


set swift_version with  all supported version

Cocoapod is not dead, yet. Some projects require it. This commit installs this pod with the latest version of cocoaPod.

👍 thanks @david-spaeth :)


Update release notes

See #1611

I've also added a note about the --renderToDisk command that was mentioned by @moorereason. Correct me if I was wrong about the command in the release notes!

I'd like to see the actual shortcode names in the release notes:
* Hugo is now shipped with new built-in shortcodes: [1576](https://github.com/spf13/hugo/issues/1576)
  * `youtube` for YouTube videos
  * `vimeo` for Vimeo videos
  * `gist` for GitHub gists
  * `tweet` for Twitter Tweets
  * `speakerdeck` for Speakerdeck slides

Done.

Merged.


Allow toggling series in chart

user-kent
User performed time-series chart and expected to be able to toggle what columns were visible from the UI.
Seems reasonable.

user-andrew


Use dune-build-info rather than dune subst

This PR proposes to move from dune subst to dune-build-info for the --version option.
The version number is stored in the dune-project file. It should be bumped before a new release.
I also propose to tag the development version with .dev. The idea is that if one wants more precise information about a far is the installed development version is from the last release, one can ask opam pin or just git.

Thanks. I didn't know that dune subst would change anything without watermarks. That's great!
I agree with the +dev, this is what shows up with opam anyway so I believe this is the way to go.

Thanks!
Merging.


new spiderfy function

Hello! :wave: Per your comment in #467 I put together a function _generatePointsLine() in MarkerCluster.spiderfy.js that is invoked if the user passes spiderfyLinear: true in the MarkerClusterGroup parameters. Right now it just overrides _generatePointsCircle() and will still spiral if there are more markers than the this._circleSpiralSwitchover number.
This is a first-draft and there's no expectation of this becoming a full feature in the distributed version, but I figured I'd show what I ended up doing! This also requires some extra parameters and defaults in src/MarkerClusterGroup.js (probably too many new params?)
Here's a gif:

Thanks :exclamation:

Going to close this, since the functionality is probably too specific to add to the library.


Get the account balance/credit for the entity

https://github.com/laravel/cashier/issues/454

No plans on adding this to core. You can make the Stripe calls necessary yourself to get this information.


Add Regex.Match.subscript(_: Reference) to DSL pitch.

Given that the Regex type pitch is going to include the Regex.Match type, we add the extension that contains subscript(_: Reference) to the DSL pitch. Also fix the Reference code example.

@swift-ci please test Linux


Deprecate INTERNAL APIs and references to it : /moves/{moveId}/personally_procured_move[POST, GET] - SET A

…/{moveId}/personally_procured_move[GET, POST]
Agility ticket
Summary
Is there anything you would like reviewers to give additional scrutiny?
this article explains more about the approach used.
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Access the
Login as a

Frontend

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
[ ] There are no new console errors in the browser devtools.
[ ] There are no new console errors in the test output.
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
[ ] This change meets the standards for Section 508 compliance.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

Test coverage on server failed.
Last run: Thu 21 Dec 2023 08:22:12 PM UTC
Refer to this report to see coverage details for the server app.
Documentation for test coverage can be found at this link.

Warnings

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

  Generated by :no_entry_sign: dangerJS against 41cba5a9a3658d3ca316bcd7db36f1f72489960f


Can't call zxcvbn js function

I'm working on a client-side strength meter but when I attempt to call the zxcvbn function I get a not defined error in the console. If I add //= require zxcvbn to my application.js file I get a

couldn't find file 'zxcvbn' with type 'application/javascript'

error. zxcvbn.js definitely exists in .rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/zxcvbn-js-4.4.3/data. What am I missing?

Interesting, I'm primarily using this fo backend validation and using the normal zxcvbn.js for the client side.

I had a feeling that was the case. I was just hoping to be able to include the packaged version in the asset pipeline to both avoid duplication and ensure the same results on both sides.

That is a good idea - something I will look into.

closing this as we've switched to zxcvbn-rb


Update Analyze samples

In sample.cs files:

[x] Sample should also show operation information like CreatedOn, ExpiresOn, TotalActions etc... PR #19243
[ ] Sample should check that there were no errors in the action and in the document. for document level example, see here.

sample.md:

[ ] Name needs to change to Sample_AnalyzeBatchActions or Sample7_`?.
[x] Remove the word asynchronously from the description.  PR #19243
[x] Description of the content needs to be updated to reflect the new names (ie. use StartAnalyzeBatchActions instead of StartAnalyzeOperationBatchAsync PR #19243

The new blog post include links to Analyze sample so we can't rename them anymore :(


Remove version: taers232c.GAMADV-XTD3 version 6.74.00

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/taers232c/GAMADV-XTD3/releases/download/v6.74.00/gamadv-xtd3-6.74.00-windows-x86_64.msi
OK
(Automated message - build 910)


Reserve account clarification

The current state
The reserve account has no functional authority in the protocol. It is purely informational.
The proposed state
The reserve account has no functional authority in the protocol. It is purely informational. Even said that it can still send and receive the asset.
Provide any additional context
Hi, I was exploring the reserve address of an ASA and I realized that there is a discrepancy between the documentation and the actual functionality of it, for instance, on the docs it is said that "The reserve account has no functional authority in the protocol. It is purely informational." but it can actually send an amount of that asset without any problem, I think this should be noted in the documentation because it could be misunderstood, even though since it is an actual account so it can obviously transfer the asset.

+1
@JasonWeathersby can you CLARIFY

I think someone added that note to clarify that the reserve account is a logical construct meant to hold unminted tokens. The protocol treats it as any other account in Algorand.


remove build pkgs

Adds PagerDuty CLI support
Removes unused build packages

solve the conflict here and change everything to dnf and I can merge this


Rick/vm 3190 vuln details with fields

VM-3190
Need a code example using selected fields and details.

It meets a minimum--small changes would probably make things a bit more tidy and if we can solve what's Jared's problem is and document around that before we unleash it on more people--that would be wise

Even if/when my issue gets resolved we should still put a disclaimer in the readme that data from scanner details is inherently "dirty" and customer may experience errors depending on the raw details provided by the scanner. Otherwise we'll be stuck in a pit trying to sanitize all kinds of crazy stuff.

Probably.  Part of me gets extremely bothered when there's garbage floating around anywhere in our system because you can't really address where / when it will surface.  If we're lucky its ugly, if we're unlucky--we get this and things fall apart.  If we know its garbage in/garbage out--the we probably need to get more clever with the garbage in--we can't just disallow data on automation--but we can strip out / replace stuff that we know is risky.  I don't know if its more an importer or connector thing--but we should have something upstream that makes sure all the text hitting the system is valid utf8.


[Web][Desktop]: The dropdown of an AutoComplete widget should be dismissed by an ESC hit or by clicking outside area.

The default behavior of this component is to shows the dropdown right after it get focus(e.g, you clicked in the inputfield). It covered the (important) thing underneath.  The problem is the dropdown cannot be dissmissed by any clicking other place or an ESC hit, it stay there until you deliberately input some wrong words or click an item which leads to unwanted result.
You can check the result by the demo on dartpad which is just a copy-paste from the offical document.
BTW, dartpad itself has problem to show the demo correctly. You have to click the run button at least twice to show all the stuff on screen. I don't know why.

Verified this behavior on latest stable and seems to be occuring on web and desktop platforms, ie, tapping escape key doesn't close the dropdown / autocomplete widget list.

 flutter doctor -v
[✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.2.1 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision 02c026b03c (4 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 91.0.4472.77

• No issues found!

Code sample: https://dartpad.dev/7cb153e960dbb167e19862506b3de374?null_safety=true

CC @gspencergoog @darrenaustin @jonahwilliams  - being able to dismiss in-progress mouse gestures with the escape key is a common case for custom UI as well as built-ins like AutoComplete. Maybe we a sample that documents how to handle this? Definitely need to support it for AutoComplete and menus in general.

with https://github.com/flutter/flutter/pull/82575 , mouse clicks outside of the area will close the drop down. Is escape specific to UI elements that pop up info like auto complete and dropdown, or are there more examples?

I don't know of all of the uses, and they're likely to be platform specific. Some examples that I can verify just now (MacOS)

It typically dismisses dialogs.
Clears the selection in the Terminal app
In Chrome's address bar, when the text cursor is visible, clears the focus and restores the previous selection
In spotlight search it doesn't dismiss the dialog, it just clears the current search entry (likewise for the search field in the System preferences panel)

we could treat escape as a dismiss intent for modal routes, that would cover most of the general use cases. Text selection interaction I'm less sure of

Escape is already bound to DismissIntent in the default shortcuts, and is already the action that occurs for Modal routes. If that's not working, we should fix it.

Yup, @gspencergoog  is correct here, modal routes already support dismissal with the escape key by default. The issue for the autocomplete options is that it isn't using a modal route to show the options. I have a fix for the escape key mapping that I will put up shortly.
Fixing the tap outside the options to dismiss it will require some thinking, as there is a way to configure the options to not use a popup, but instead show up somewhere else in the application. That makes it hard to put a dismiss barrier over everything under the options as they are part of the app screen.

Fixing the tap outside the options to dismiss it will require some thinking, as there is a way to configure the options to not use a popup, but instead show up somewhere else in the application. That makes it hard to put a dismiss barrier over everything under the options as they are part of the app screen.

This should already be fixed via #82575

ahh but just for clicks, not for taps.

This should be fixed in the framework. Removing the web label.

@jonahwilliams Are you working on this one?

I am not, I'm not sure what the correct behavior is

Gave a shot at implementing what should be the expected behavior here in https://github.com/flutter/flutter/pull/97790. There are a couple of interesting little details I could use some input on.


Context based sidebar icons display

The buttons on the left panel from various extensions should be displayed based on context (only show when needed): e.g. if i don't have a json file open no need to show the JSON viewer icon. Or python icons should be hidden when coding in c++ etc.

Sounds like you are using some extensions which activate too eagerly.

I suspect VSCode development guidlines probably includes such recommendations for the extension developers.. If not, perhaps is it left up to the eXtension developers (X-Dev) to play nice? If there are such guidelines I wonder if they are goverened by some process.. to reject or warn against possible guidelines violations.
Btw, can the X-devs get a context of the deveoping session? or be able to check whether there are c++ or python or any particular file type opened or in the working directory space. I imagine there should be an API to propbe for such things at the X-dev level, but I don't know anything about the VSCode X API so that's just a wild guess.
Either way.. should I give this feedback directly to the developers of the guilty extension(s) ? :)

should I give this feedback directly to the developers of the guilty extension(s) ? :)

I think so, yes.

@DolphinDream yes, this type of information is available to extension developers so that they do not activate so eagerly. Please file your feedback on their repos accordingly. Thank you for your bug report.

Thank you
On Fri, Oct 7, 2022 at 16:33 DolphinDream @.***> wrote:

The buttons on the left panel from various extensions should be displayed
based on context (only show when needed): e.g. if i don't have a json file
open no need to show the JSON viewer icon. Or python icons should be hidden
when coding in c++ etc.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/163018, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT5KQVHSB2K2VMGLPWFQ2OTWCCXL7ANCNFSM6AAAAAAQ77VSRQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Tina Silvia
My America inc


Error: Invalid product/target product but listed in available products

I am using this tool as a github-action for my package [Cabinet](https://github.com/ but it fails to find a product which is listed in the available products.
The product in question is a library which only combines other targets, see Package.swift
swift-create-xcframework version: 2.3.0
Swift version:
swift-driver version: 1.62.8 Apple Swift version 5.7 (swiftlang-<IP_ADDRESS>.4 clang-14<IP_ADDRESS>)
Target: arm64-apple-macosx12.0

Environment:
Xcode 14.0.1
macOS 12.6
xcode-select version 2395.
Checklist

[x] If possible, I've reproduced the issue using the master branch of this package
[X] I've searched for existing GitHub issues

Steps to Reproduce

Clone the repository:

git clone https://github.com/philprime/Cabinet

Run the command:

swift-create-xcframework

Inspect the error:

debug: evaluating manifest for 'cabinet' v. unknown
debug: evaluating manifest for 'flow' v. 1.0.0
debug: evaluating manifest for 'cabinet' v. unknown
Error: Invalid product/target name(s):
    Cabinet

Available Cabinet products:
    Cabinet
    CabinetCoding
    CabinetCollections
    CabinetCrypto
    CabinetFoundation
    CabinetPartialTypes
    CabinetPropertyWrappers
    CabinetSwiftUI

Additional available targets:
    CabinetCore
    Flow
Usage: command [<options>] [<products> ...]
  See 'command --help' for more information.

Expected behavior
It should build the frameworks
Actual behavior
The target is not found and it throws an error, but also lists the target name in the list Available Cabinet products

still relevant

still relevant

@philprime fyi seems an expected behaviour, checking the code you cannot have target(s) with the same name of the package "Cabinet"

@matteocrippa do we know why this exclusion is built-in?

I was facing the same issue and started to dig down and discovered that trigger.
I can think that issue is from an old version of xCode, not sure if it's relevant still, but I recall some times ago it was generating xcframework with the wrong naming like "Cabinet.Cabinet" and imports were totally broken.

Maybe @bok- can give us some further insights before fork and pull-request to revert the exclusion


ListItem with Left/Right does not justify content correctly.

I have gone through these following points

[x]   Check latest documentation: https://docs.nativebase.io/
[x]   Check for existing open/closed issues for a possible duplicate before creating a new issue: https://github.com/GeekyAnts/NativeBase/issues
[x]   Use the latest NativeBase release: https://github.com/GeekyAnts/NativeBase/releases
[x]   Check examples from NativeBase KitchenSink https://github.com/GeekyAnts/NativeBase-KitchenSink
[ ]   For discussion purpose make use of NativeBase Slack: http://slack.nativebase.io/
[x]   For queries related to theme, check Theme Variables from Docs and live NativeBase Theme Editor http://nativebase.io/customizer/

Issue Description

I am using the following code in a List:
<ListItem>
  <Left>
    <Text>Model</Text>
  </Left>
  <Right>
    <Text>{DeviceInfo.getModel()}</Text>
  </Right>
</ListItem>

This produces the following output:

node, npm, react-native, react and native-base version, expo version if used, Xcode version
node         11.9.0
react-native 0.58.4
native-base  2.11.0

Expected behaviour
Produces the correct output, without unnecessarily wrapping multiple lines:

I managed to do this by setting flex: 1 for both Left and Right:
<ListItem>
  <Left style={{flex: 1.0}}>
    <Text>Model</Text>
  </Left>
  <Right style={{flex: 1.0}}>
    <Text>{DeviceInfo.getModel()}</Text>
  </Right>
</ListItem>

Actual behaviour
Produces the output seen in the issue description.
Steps to reproduce
See code in issue description.
Is the bug present in both iOS and Android or in any one of them?
Both.
Any other additional info which would help us debug the issue quicker.
I tried setting flex: 1 everywhere in theme/components/ListItem.js, which also didn't work.

@reitermarkus In your ejected theme, set flex:1 as in the screenshot

@suvenduchhatoi, I was previously using
import { getTheme } from 'native-base'
import platform from './native-base-theme/variables/platform'

because I only needed custom colors.
If I actually use the ejected theme as the getTheme function like
import getTheme from './native-base-theme/components'
import platform from './native-base-theme/variables/platform'

it works without adding flex: 1 at all. Any idea why getTheme behaves differently depending on where it is imported from?

I just tried one more thing. It works with
import getTheme from './node_modules/native-base/src/theme/components'

but it doesn't work with
import getTheme from './node_modules/native-base/dist/src/theme/components'

@reitermarkus It has been mentioned in the docs how to import getTheme https://docs.nativebase.io/Customize.html#theaming-nb-headref

While making customization, you may use native-base-theme, else if you are customizing from within node_modules, you need to set the "main": "dist/src/index.js" to "main": "src/index.js",`. The reason is it needs to be transpiled before running from within dist folder


Support circuit breaking on event sending

It would be useful to have a basic circuit breaker option on event sending. Any caller can do this today via Hystrix, but ideally they should not be required to use a 3rd party lib to break a circuit and maintain their own SLAs. Also the client itself doesn't want to force a new dependency-  Hystrix is awesome, but has a not-so-small set of transitive dependencies that make it unsuitable for the client to rely on, also the command pattern it uses has a heavyweight code footprint.
This doesn't need to be a full-fledged breaker. A simple timed/attempt break with fallback and onError support would do, along with some new metrics.
See also: https://github.com/zalando-incubator/nakadi-java/issues/81

It would be useful to have a basic circuit breaker option on event sending. Any caller can do this today via Hystrix, but ideally they should not be required to use a 3rd party lib to break a circuit and maintain their own SLAs... This doesn't need to be a full-fledged breaker. A simple timed/attempt break with fallback and onError support would do, along with some new metrics.

Going to scope this out for now. The retry options allow max time and max calls, which covers the main use cases, especially latency bounding.


[BUG]: Simulate updates are not returned in their insertion order

Intermediate results (aka simulation updates) should be returned in the order they are inserted into the database, this doesn't seem to be the case.
See calibrate operatin's loss-chart as an example.

This needs to be fixed on the back-end


Hue filter set artifacts on photo

I use filters array on photo
When hue filter is in filters there are some artifacts on photo
Without hue filter everything is correct

Please provide the test diagram. What is the problem for me to see.

where I can find test diagram in xcode?


USB Serial Drivers Kernel Problem

Hello JDEL,
on the apollolake arch is not possible to be load Kernel Modules.
DS918+
dmesg Failure:
[  155.515266] usbserial: USB Serial support registered for FTDI USB Serial Device
[  155.570797] usbserial: version magic '4.4.59 SMP preempt mod_unload ' should be '4.4.59+ SMP preempt mod_unload '
Can you help me to be fix this issue?
Best regards
Denny

Hello Denny,
These packages are not supported anymore. Please seek help directly with the maintainer of the package you have installed.
Best of luck,
Julien


Label or name of landmark?

I am working with Pose landmark detection and i met an issue: Any way to get the landmark for a specific part of body, for example: i need to get the left-elbow and left-wrist connection to be drawn in a different color the the rest remain the same.

Hello @H1eu69
Please provide the following information to better understand and address your issue:

Programming Language and version (e.g. C++, Python, Java)
Are you using MediaPipe Tasks or legacy solutions?
OS Platform and Distribution

My OS is Ubuntu 20.04, and i am following this guide using Kotlin:
https://developers.google.com/mediapipe/solutions/vision/pose_landmarker/android

Hello @H1eu69
You can get the Landmark from a NormalizedLandmarkList by providing the index of the corresponding location. The indices are labelled in a human stick figure in the documentation here.

I am able to get it, thank you so much

Can we consider this issue as resolved @H1eu69 ?

Yeah ty
On Thu, 18 May 2023, 13:04 Ayush Gupta, @.***> wrote:

Can we consider this issue as resolved @H1eu69 https://github.com/H1eu69
?
—
Reply to this email directly, view it on GitHub
https://github.com/google/mediapipe/issues/4421#issuecomment-1552476191,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATBS5OXGV4LVJGMK35PYSTLXGW3XHANCNFSM6AAAAAAYFBTAIY
.
You are receiving this because you were mentioned.Message ID:
@.***>

hi im trying the same thing but facing some errors can please provide syntax for it .To get the Landmark from a NormalizedLandmarkList by providing the index of the corresponding location

I am able to get it, thank you so much

can u provide the snippet of it im doing it with wrong syntax

I am able to get it, thank you so much

can u provide the snippet of it im doing it with wrong syntax

You can find the syntax in OverlayView at the line 79, replace the 0 number to any index you want to get


libwacom: Load config from /etc

Description of changes
Follow-up to https://github.com/NixOS/nixpkgs/pull/70520.
This will allow users to install custom quirks.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/custom-libwacom-tablet-files-for-wacom-devices/26725/8


Generate .deb packages of buildstream

See original issue on GitLab
In GitLab by [Gitlab user @jjardon] on Aug 2, 2018, 19:02
BuildStream is not currently packaged for Debian. Until that happen (if it happens at all), I think it would be a good idea to offer a .deb package to easy the installation for debian users
We can use the already existing dpkg plugin for this to generate it as part of a CI job: https://gitlab.com/BuildStream/bst-external/tree/master/bst_external/elements

In GitLab by [Gitlab user @tacgomes] on Aug 4, 2018, 10:30
How does that plugin help here? That plugin is able to create a deb for a BuildStream element, not to debianize the pip3 install step of installing BuildStream from its git repo.

In GitLab by [Gitlab user @tristanvb] on Aug 4, 2018, 11:12
changed the description

In GitLab by [Gitlab user @tristanvb] on Aug 4, 2018, 11:17
I think it's pretty uncontroversial to package BuildStream in debian, just need to recruit a friendly debian package maintainer or put the time in ourselves to become one. [Gitlab user @bochecha] is currently helping out to get it into fedora.
As for [Gitlab user @tacgomes]'s question; I think [Gitlab user @jjardon]'s idea is to add a BuildStream project to BuildStream itself, so that we can dogfood our dpkg element to create the package; which I do find to be a very interesting approach to actually building the packages, especially if it can be useful to the process of packaging BuildStream on debian (although I think that's doubtful, as I suspect debian will have their own build process, but I'm not familiar with that).

In GitLab by [Gitlab user @tristanvb] on Aug 4, 2018, 11:36
marked this issue as related to #332

In GitLab by [Gitlab user @jjardon] on Aug 8, 2018, 16:35
marked this issue as related to #410

In GitLab by [Gitlab user @valentindavid] on Sep 19, 2018, 15:07
I have made the Debian packages. I put them in https://gitlab.com/valentindavid/buildstream-debian

In GitLab by [Gitlab user @jjardon] on Sep 19, 2018, 15:11
[Gitlab user @valentindavid] cool!
Have you used the buildstream plugin to generate them? One of the idea of this issue was to add a pipeline so they get generated automatically. Still a very good thing if not!

In GitLab by [Gitlab user @valentindavid] on Sep 19, 2018, 19:14
[Gitlab user @jjardon] No. I think it would be difficult to make something that can be submitted to Debian and uses BuildStream. At least the plugins we have in bst-external cannot be used here.

In GitLab by [Gitlab user @valentindavid] on Sep 20, 2018, 15:15
If you run Debian Sid and you want to test, get the artifacts for "collect" in the CI at: https://gitlab.com/valentindavid/buildstream-debian/pipelines
Unpack it and add the following in your /etc/apt/sources.list:
deb [trusted=yes] file:/path/to/artifacts ./

Then you can install buildstream.
Other packages interesting to install:

builstream-artifact-server (not tested yet)
python3-bst-external
builstream-doc (should appear in devhelp)
python-bst-external-doc (should appear in devhelp)

In GitLab by [Gitlab user @jbicha] on Jan 15, 2019, 00:54
Buildstream has been packaged for Debian. It should show up in Debian 10 "Buster" in about 5 days.

In GitLab by [Gitlab user @valentindavid] on Jan 15, 2019, 14:27
I have noticed bst-artifact-server is not yet packaged. So we should not close this issue yet.

In GitLab by [Gitlab user @jbicha] on Jan 15, 2019, 14:36
Yes, I intentionally didn't include that in the main package since I assumed it wouldn't be useful for most users.
Do you need it?

In GitLab by [Gitlab user @jjardon] on Jan 17, 2019, 12:09
Thanks [Gitlab user @jbicha]! MR to update the website here: https://gitlab.com/BuildStream/website/merge_requests/107
I think It would be great to package the cache server as It's very typical to setup one in projects using buildstream


Prepare 2.14.0 release

Summary
Hi @barryvdh , it's been almost a year since 2.13.0 was pushed out and I propose we do another release with the current changelog (I found one missing entry which I added):

Changed

Official support for Lumen has been dropped #1425 / mfn
Refactor resolving of null information for custom casted attribute types #1330 / wimski

Fixed

Add support for attribute accessors marked as protected. #1339 / pindab0ter
Catch exceptions when loading aliases #1465 / dongm2ez

Added

Add support for nikic/php-parser 5 (next to 4) #1502 / mfn
Add support for immutable_date:* and immutable_datetime:* casts. #1380 / thekonz

WDYT?
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[x] Misc. change (internal, infrastructure, maintenance, etc.)

Checklist

[ ] Existing tests have been adapted and/or new tests have been added
[x] Add a CHANGELOG.md entry
[ ] Update the README.md
[ ] Code style has been fixed via composer fix-style

Yeah I guess so. And after this release drop the old version support?

Thank you!


🚀 Feature: Add Sync with Meilisearch for .NET

Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code. 🤩 You can learn more at our official Appwrite Functions docs.
Your task is to implement the Sync with Meilisearch function in .NET. You can look at the existing Appwrite Functions Templates in another coding language.
Your function should behave and be implemented similarly to existing Sync with Meilisearch Node.js template.
Tasks summary:

[ ] Fork & clone Appwrite's templates repository
[ ] Create a branch feat-implement-sync-with-meilisearch-dotnet
[ ] Write code for the function in folder dotnet/sync-with-meilisearch/.
[ ] Test the function using Appwrite, provide a video.
[ ] Write a README.md explaining what the function does, how to use it, and customize it. Here is an example.
[ ] Submit a pull request to our templates repository

If you need any help, contact us on our Discord server.
Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊
Happy Appwriting!

I would like to work on this

I would like to work on this.
Can you help me with the setup as well? I didn't understand about RuntimeContext and RuntimeOutput

I would like to contribute one this. however I do not see .NET runtime in the Functions runtime either in cloud or locally.

Hi @Rishank23, I've assigned the issue to you! Happy Hacktoberfest 🎃!
Notes:

Please update us with your progress every 3 days, so that we know you are working on it.
Join us on Discord - https://appwrite.io/discord to chat about Hacktoberfest and Appwrite!

The RuntimeContext and RuntimeOutput objects are added by OpenRuntimes. They contain the methods necessary to read and respond to HTTP requests. Be sure to join us on Discord if you have more questions, we can better support you there :)

I would like to contribute one this. however I do not see .NET runtime in the Functions runtime either in cloud or locally.

Sorry, we are operating on first-come first-serve basis. Be sure to check out our other open issues to see if any are available!

Hi @Rishank23 unassigning the issue due to inactivity. @rbhagavathsingh the issue is yours now

hi @Haimantika @loks0n
, i would wish to work on this , please assign it to me

I'd like to work on this

@Haimantika Please reassign to either @parthj000  or @ShatilKhan , I wont be able to complete this soon.

hi @Haimantika @loks0n , i would wish to work on this , please assign it to me

Hi @parthj000 assigning the issue to you. Please update us every 3 days :)

Hi @parthj000 are you still working on it? If not, we will be reassigning the issue to the next contributor

Closing issue due to inactivity and hacktoberfest being over, thank you for taking the time to be part of hacktoberfest this year :)


Fix all asciidoc warnings by using pass macro

Asciidoc interprets strings like ${ARTEMIS_NAMED_URL} as attributes and then issues a WARN during the build that it will skip reference to a missing attribute. This PR uses inline pass macro to tell asciidoc that enclosed content should be excluded from all substitutions.
Proof of all warnings gone:

Proof of warnings before this PR:

@TheJavaGuy thanks for the PR!

@turing85 Luckily, main branch doesn't have this problem, only 2.x does.

@turing85 Luckily, main branch doesn't have this problem, only 2.x does.

That's strange. Shouldn't this line cause the same warning? Or does the colon prevent the warning?

@turing85 It looks like colon makes asciidoctor not to consider ${ARTEMIS_URL:tcp://dummy:12345} to be a reference to an attribute. If it was just ${ARTEMIS_URL} then we would have a warning there too.


web_benchmarks_html_draw_rect.html.averageDrawFrameDuration, other web benchmark regressions

The benchmarks are pretty noisy, so it's hard to pinpoint a cause. Looks like it started around https://github.com/flutter/flutter/pull/50693.

@yjbanov - this benchmark looks like it's been noisy from inception, but it seems like it has trended upwards at some point.  Any ideas?

It will remain noisy for some time. The work on Web benchmarks is just starting. I hope we can reduce noise with future improvements. For now, I can just set the baseline above the noise. I'm removing the TODAY label, as it's not critical.

@yjbanov : the averageDrawFrameDuration benchmark seems to have been replaced by drawFrameDuration.average. The drawFrameDuration.average benchmark is now at 27340 μs which is much lower than 34132 μs in the screenshot above. I wonder if this means that the regression is gone, and we're having a big speedup here compared to 1 month ago? (Sorry, I can't confirm it myself due to https://github.com/flutter/flutter/issues/52692.) If so, maybe we can close this issue.

One difference is that we now wait for noise from multiple metrics to settle. Previously we only waited for the overall draw frame noise to settle. That would affect the numbers.

@yjbanov Have we subsequently deprecated this benchmark on the dashboard, or am I just not seeing it? I'm not finding it now to have a look, and leaning towards closing this issue as a result.

This benchmark looks like it's no longer being tracked. I'm closing it for now, as it's not on the dashboard. If we have actionable things here, please re-open it.


Added proper checking for "process" 's existence

I'm developing a browser extension, and I'm using Rollup to bundle the files.
When Rollup attempts to import
https://github.com/ffmpegwasm/ffmpeg.wasm/blob/0f400a0961c7216aa07a7cba355dde38034d9c9b/src/index.d.ts#L102
it reaches the code in corePath, which attempts to use process.env.NODE_ENV.
Except, in a browser environment, this line will throw an error as process does not exist, so I added this non-null assertion.

Looks good to me! Thanks for the PR!


Replace fs-extra.copy with fs.promises.cp

Summary
As of Node v20.8.0, fs.promises.cp is considered Experimental with Stability: 1. For this reason, we're instead using fs-extra.copy. But this dependency adds a lot of extra code to the compiled bundle. Once fs.promises.cp stabilizes, let's switch over.

https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#fspromisescpsrc-dest-options
https://github.com/nodejs/node/issues/44598

Benefit

Compiled bundle with fs-extra.copy: 54.1kb
Compiled bundle without fs-extra.copy: 4.7kb
Savings: 49.4kb (over 91%)

Acceptance criteria

GIVEN fs.promises.cp is used instead of fs-extra.copy,
WHEN this package is compiled with npm run compile,
THEN the fs-extra dependency is not included in the compiled bundle

AND all tests still pass.

We're using mock-fs to mock the file system in tests, which does not support fs.promises.cp, and most likely never will.
This seems to be the only thing holding us back from using fs.promises.cp, which actually feels pretty stable at this point, despite the current Experimental status.
Since Node does not natively provide a way to mock the file system, we'll continue to use mock-fs to accomplish this in tests. And for that reason, let's just recursively create directories and files manually, instead of using fs.promises.cp.
If the landscape changes later, we can always revisit.

New acceptance criteria

GIVEN FileSystem.copy is accomplished by recursively creating directories and files instead of fs-extra.copy,
WHEN this package is compiled with npm run compile,
THEN the fs-extra dependency is not included in the compiled bundle

AND all tests still pass.


Finger Tree

Overview

Write code for Finger Tree in C++.
Add that code into a directory named "Tree", if the directory doesn't exist, create one and add the code file.

Please take care of these things while creating the pull request.

The code file was added to the correct directory.
Code quality looks good.
The programming language used is the same as mentioned in the issue.

@vashuteotia123  plz assign it to me.

Can this issue be assigned to me??

can you please assign this issue to me?

Can you please assign it to me?

can you please assign it to me!


feat: allow injecting a Clock into the SessionPool for testing

fixes #1428

This change is

I believe this PR is no longer needed since https://github.com/googleapis/google-cloud-cpp-spanner/pull/1452


controllercmd: restart operator when service account ca.crt change

When kubelet change the ca.crt inside container, the operator file observer should see that change and automatically trigger restart to reload the certificate.
proof: https://github.com/openshift/cluster-kube-controller-manager-operator/pull/253

/hold
we probably don't need this as the CA is valid for 10y.


[DO NOT MERGE] Remove checks for import local links and local authority URLs

We are stopping these imports from LocalDirectGov in LocalLinksManager,
so these checks are not needed anymore.
For https://trello.com/c/t820ZpYU/452-delete-ldg-import-to-local-links-manager-and-related-code-2
Link to LocalLinksManager PR
NOTE: Not to be merged/deployed before we officially transition from LocalDirectGov.

:+1:

LGT FFTM


Add tent icon

name
about
labels

New icon
Add a new icon to the library
🎨 <icon

Name of the icon : Campsite
Tags (alternative names for this icon) (add them in tags.json) :  tent
What is the purpose of this icon? : Depicting holidays or outdoor activities. Can be used in maps as well.
100% scale preview :
Have you considered alternative possibilities for its naming or design? : It's roughly based on #61 at feather, but I feel this one is slightly more recognizable as a tent.

@MoltenCoffee Nice icon, thanks for the contribution!
Can you split up the path in separate shapes?
Because some design programs don't like combined/merged paths.
If you need any help with that let me know!

Sure, of course! Which parts would need to be separate paths? I quickly 'colored' the icon below for reference, I hope you're able to see it.

I'd assume it would have to be split in the following paths:

red (ground)
both greens (outside of the tent)
blue and brown (the entrance)
pink and yellow (the rods at the top) (these are at a slightly different angle compared to the tent itself)

Also, I named it "campsite" as that is how it is listed in #116, but I think "tent" with "campsite" as an alias is probably better. Do you agree?

@MoltenCoffee Yeah tent is perfect. We prefer naming as is what it shows than what it means. Because icon can multiple meanings.
For the splitting paths, I think we can split it up in 4 paths.

red
Brown
Green#1 with extended line to pink
Green #2 with extended line to yellow

I think the change of the paths that have a different angle (pink and yellow) is not visible when seeing this icon on 100%.

I've replaced all paths, and like you said the difference in angles are negligible when viewed around 24px and way beyond. I've also renamed it to 'tent'.

@ericfennis Once you merge this PR, can you update icon status in this issue as well https://github.com/lucide-icons/lucide/issues/119

@mittalyashu Will do!


First part of audio response cut off

Sometimes when the bot joins a voice channel, the green light shows but there is no audio for a couple seconds so you only hear the last part of the response. Seems to only happen after the bot hasn't been used in a while.

Temporary fix added: https://github.com/TychoTheTaco/Discord-Dictionary-Bot/blob/2e14af9e687a758d1b867a36a3232ae8d49b80ec/src/definition_response_manager.py#L446

Issue seems to have resolved itself with the latest discord.py version


evolution_bayes.py 'global' key error

In line 22, in the getsettings ('global') statement, the 'global' key takes the first one in uppercase as represented in the settings.py file.
Change
gsettings = getSettings()['global']
for
gsettings = getSettings()['Global']
Thank you very much for your work.
Cheers.

Fixed.. Thanks for the report;


[Bug]:  require() of ES Module not supported when running tests

Provide environment information

Serwist: 8.4.4
Next: 14.0.4
Node: 20.10.0

Which project is this issue for?
@serwist/next
Link to reproduction - Issues with a link to complete (but minimal) reproduction code help us address them faster
https://github.com/hirviid/serwist-next-jest-example
To reproduce

Clone https://github.com/hirviid/serwist-next-jest-example
Run yarn
Run yarn test

Describe the bug
Running Jest after adding @serwest/next to a nextjs gives an error:
Error [ERR_REQUIRE_ESM]: require() of ES Module ~/serwist-example-next/node_modules/string-width/index.js from ~/serwist-example-next/node_modules/cliui/build/index.cjs not supported.
Instead change the require of index.js in ~/serwist-example-next/node_modules/cliui/build/index.cjs to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (~/serwist-example-next/node_modules/cliui/build/index.cjs:291:21)
error Command failed with exit code 1.

Expected behavior
Adding Serwist to a Next project should not impact Jest tests.
Screenshots (if relevant)
No response
Additional information (if relevant)
No response

That seems to be a Jest issue:

Not sure how this could be attributed to Serwist when the traceback didn't even refer to it.
Also, I couldn't reproduce this in Yarn stable, pnpm, or npm. This issue only appeared when I tried Yarn v1 (same as the original reproduction). Just saying, but you shouldn't use it anymore in 2024.

Hi @DuCanhGH, thanks a lot for your quick answer.
Indeed, the traceback doesn't mention anything about Serwist, but the issue occurs only after adding Serwist packages.
I tested it with npm and it works indeed, so I guess it's some strange Yarn v1 issue, and we need to migrate 😉
Thanks again for your quick and complete reply! 🙌

@hirviid glad to hear that!  Strange things.


Train-accuracy=0.000000

When I finetune the resnet50 with a small dataset(several thousand), the train accuracy can achieve above 90% fast, but when I use the same net and configuration to finetune resnet50 with a big dataset(millions), the train accurancy and the valid accurancy are always 0.00000.

By the way, i use the the work from https://github.com/tornadomeet/ResNet.

Have you solved this problem? I have the same problem...

welcome in deeplearning ^^
You have to adjust learning rate and/or dataset size.
Do you start from a pretrained network or from random initialised weight ?

any hope to have the solution to this problem ?
even by using other datasets/learning rate/etc... I keep having exactly a train-accuracy = 0

@yimyom what kind of network did you use ? dataset ? did you use pretrained model ?
from my personnal experience to finetune model try a small learning rate for 2/3 iterations and after use a more regular learning rate. If you have enough processing power you can try hyperparameter space exploration to find the better parameters.

I'm building an autoencoder. I found my bug in fact. I was using an "accuracy" loss function instead of a "mse" (or "mae" or "rmse"). For those making the same mistake as me, "accuracy" is used to test for classification and you want the output of the network to be exactly the label of your classe. Obviously in a regression problem, the result will never be exactly the same as the observed value. So you want to use mse (or rmse or mae) instead because they compute a squared-error (root squared-error, absolute error).
@edmBernard  : thanks for the advice. I will indeed add a phase of layer-wise pretraining. It seems it will improve the model by a lot.

FYI there's an example for layer-wise pretrain for auto-encoder
https://github.com/apache/incubator-mxnet/blob/master/example/autoencoder/autoencoder.py

@BrettLL : Is this issue solved ?

Please post questions on our user-forum. Closing this now.

Forum: https://discuss.mxnet.io/


Bug #353: Adds bignumber.js

Closes #353
Description

Replaces web3 toBN usage with BigNumber

How to test:

Open the transactions of this safe 0x94D998c2Cb35bD4388D1D5Ed71992bF4a802d7a9, the transactions should be displayed

Travis automatic deployment:
https://pr362--safereact.review.gnosisdev.com

Also I'm not sure whether we need to fix it at all, because our backend was also updated to always use CharField for gasPrice and value instead of plain number. This was communicated via slack, sorry for not keeping you updated

The backend fix has been deployed. https://safe-team.dev.gnosisdev.com/safes/0x94D998c2Cb35bD4388D1D5Ed71992bF4a802d7a9/transactions now works, thus this PR is not needed


Changing rows per page dropdown on Study List should refresh results

Right now if you switch from 25 to 50 in the rows per page selector on the study list, nothing happens. It should perform the query again and display the results.

After an investigation, I notice that there is no issue on the frontend side. Viewers are passing the right limit number to the backend service such as https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs/studies?limit=50&offset=0&OTHER_PARAMETERS.... but are not getting more than 25 items through the payload.
If it says less than 25 it works, but more than that it doesn't.
I Talked to @swederik and he'll do the changes on the backend side.

Unable to reproduce. Closing.


Full ......

Add new connection and sub
close appp
run again. and push button connect. No connect app silent!
try delete saved connection - no delete!
full..................

Hi, of course, I checked before releasing.
I don't know what's going on. I tried it based on your feedback and there was no such problem. Could you please give me a video screen?


Enhancement Request: SelectedAnnotations

Hi,
I'd like to ask if this is possible, we are facing an issue when using 'selectedAnnotations' in ADClusterMapView it returns ADClusterAnnotation instances instead of the desired NSArray of original annotations that normally happens with MKMapView. In the case with ADClusterMapView, the app immediately crashes.
Example (from my debugger code):
po [[self.mapView selectedAnnotations] firstObject];
returns ADClusterAnnotation:

This behaviour is the one expected. Indeed if you are selecting a cluster annotation (with many child) you can't have anything but an ADClusterAnnotation.
However you can unwrap your annotations with the "originalAnnotations" from ADClusterAnnotation


Explore "transpile only" build

For CI builds we should explore the use of a fast transpiler, like SWC or esbuild. This would enable use to run (blocking) transpile, then in parallel run tests and TS type checking.
SWC transpile command: npx swc --config-file .swcrc src --copy-files --out-dir out

The joh/swc-branch has some changes that explore to use SWC for this. TODOs

[x] support for AMD - SWC just does that, great!
[x] we heavily rely on TS decorators for our injection story and need that to be supported. Good news is that latest SWC 1.2.186 has this fixed
[ ] SWC doesn't hoist const enums swc/issues/3648 which isn't ideal for perf but also exposes some cyclic module dependencies that we have. We need to fix

[x] https://github.com/microsoft/vscode/issues/150291
[x] https://github.com/microsoft/vscode/issues/150176
[x] https://github.com/microsoft/vscode/issues/150177
[x] https://github.com/microsoft/vscode/issues/150178

[ ] The --copy-files flag doesn't seem to copy JS files (unclear if that's because they are compile-ignored or always seen as compilable resource)
[x] Workaround export import bug swc/issues/4481
[x] Local require-function is missing from AMD modules, swc/issues/4718

[x] https://github.com/swc-project/swc/issues/4797
[x] https://github.com/swc-project/swc/issues/4798

[x] Using a namespace before its declaration fails, swc/issues/4897
[x] Issue with import-require mixing, either avoid or wait for https://github.com/swc-project/swc/issues/4898
[x] https://github.com/swc-project/swc/issues/4899

👋  Just want to say excited to see vscode explores swc as transpiler and happy to try to support as much. Please drop by swc repo if there's something to followup (Yes, saw one issue filed already)

https://github.com/swc-project/swc/issues/4481 is updated.

@kwonoj Awesome. What's your release cycle like? We are now heading into endgame and I'll be able to pick this up early June again. Are those fixes published by then?

We should able to. @kdy1 , if we didn't publish new one can we do it for @swc/core?

@kdy1 @kwonoj Thanks so far. With 1.2.192 things are looking better but I ran into two further bugs with AMD's local require-function: https://github.com/swc-project/swc/issues/4798 and https://github.com/swc-project/swc/issues/4797. Let me know if you need further clarification or help. Thanks a ton!

Thanks - I am OOO for a bit and I'll pick this up again early June

@kdy1 @kwonoj Any chance for releasing s new version of SWC with your latest fixes?

Currently CI of swc is broken due to recent changes of github actions, but it's almost fixed by another team member.
Once he sends a PR for fixing CI scripts, I'll publish a new verion.

The new version is published!
https://github.com/swc-project/swc/actions/runs/2479477756

👋 Casually checking in (not urging or pushing anything), if there's some progress or if there are any blockers in upstream swc land we can try to fix forward?

@kwonoj Great timing! Two days back I have merged https://github.com/microsoft/vscode/pull/159300. For CI/CD we now use SWC to transpile our "client" bits (basically all of VS Code but not yet its builtin extensions). Look out for transpile-client-swc in our PR checks (random sample).
Random observations and things that can be improved

I ended up with two separate config files (one for amd and one with no module system) because I couldn't figure out how to achieve this in one config file 🙈. We had discussed this but I couldn't get it working with a single file. Maybe you have more insights
Transpile is part of our ancient gulp pipeline but we don't use SWC as library- we simply shell out to swc-cli. That's good because we don't need to pipe files around but ideally we shell out to the native executable directly so that we don't use JS to write files. @kwonoj @kdy1 Do you have any clue what the perf difference would be (write files from rust instead of JS)?
Along the way we also added a transpiler that uses TypeScript's transpileModule-API. We have this as fallback/alternative just in case something goes wrong (new TS version that SWC hasn't adopted yet, etc). SWC is faster but "only" twice as fast, do you think more could be gained with SWC? Like avoid swc-cli or swc-core and use the binaries directly?

@kdy1 @kwonoj With all that said: a very big "Thank You" for SWC and for the instant help and fixes. We are all very excited about this and hope to get involved more deeply (use SWC to watch-transpile on our dev machines etc)

I couldn't figure out how to achieve this in one config file

Let's retry this. If you don't mind share some minimal repro you'd like to try (and not working), I'll try to peek.

ideally we shell out to the native executable directly so that we don't use JS to write files

Correct, native cli should be more performant. Not cause of writing performance, there are few things we may consider

You don't need to cost spin node.js process: npx runs node.js script under npm's env, and then swc-cli itself runs with node.js again. Native cli won't need those bootstrap performance.

Native cli can parallelize multiple inputs when performing transform, without back and forth v8's async event loop

Currently, most of @swc/core native bindings ships with experimental native cli. You may give it a go, and if there's some missing features / bugs we can try to fix it forward.

SWC is faster but "only" twice as fast, do you think more could be gained with SWC

This sounds odd. When I tried transform performance with some large scale codes, even though it was compared with babel it was much visibly faster. I guess we could try to create some isolated cases to dig deeper, probably using either native cli / or node.js bindings api directly. It is totally possible js based cli's overhead cuts off some perf gains.

There are some code which make handling of small files faster but have exponential time complexity.
What's your target/.swcrc?

Let's retry this. If you don't mind share some minimal repro you'd like to try (and not working), I'll try to peek.

Repos with a .swcrc-file that is an array, not object. I can file a real issue, the task I want to solve is that for one source file we need a different module system - all files should be compiled with AMD, except for vs/base/worker/workerMain.ts

This sounds odd. When I tried transform performance with some large scale codes, even though it was compared with babel it was much visibly faster. I guess we could try to create some isolated cases to dig deeper, probably using either native cli / or node.js bindings api directly. It is totally possible js based cli's overhead cuts off some perf gains.

Yeah, that's what I though. In all fairness, we have custom code around transpileModule which uses NodeJS worker threads and other perf tricks. I'll explore how to use the native cli directly. Does @swc/core come with an API that exposes the path of the actually binary? (so that this is easy across platforms)

Does @swc/core come with an API that exposes the path of the actually binary? (so that this is easy across platforms)

No, but calculation is rather straightforward: https://github.com/swc-project/swc/blob/7a6a43576a3388cb07d6c8923b9118228b8e09f0/node-swc/src/run_swcx.ts#L39-L80
You can try to copy-paste with small modifications, maybe. Or you could do npx swcx, but I do not recommend since it'll require spinning npm for the npx execution then it goes to another spawning to swc cli.

You can try to copy-paste with small modifications, maybe

This looks promising: I am running /Users/jrieken/Code/vscode/node_modules/@swc/core-darwin-arm64/swc compile --config-file build/lib/swc/.swcrc-amd --out-dir out3 --source-root src/ src/**/*.ts. I do get output but it is rooted at out3/src/vs instead of out3/vs. Do I need to pass another value to source-root or how is that meant to work?

Do I need to pass another value to source-root or how is that meant to work?

I believe it's simple lacks of features (after all, native cli is still not yet feature-complete). If you don't mind file an issue in upstream swc, I'll try to assign myself.

With #160274 we now have SwcTranspiler which we use to transpile the client and all extension bits. This transpiler can be used interchangeably with the TscTranspiler but is ~3 times faster.


API Reference in the composer Welcome page unlinked

Description:
API Reference in the composer Welcome page does not direct to the API Guides
Affected Versions:
Version - Ballerina-0.970.0

Fixed in 0.975.0


[chore] Upgrade jest to version 29 (v2)

What needs to be done
See #64 for some security related concerns with jest.
Additional context
upgrade the library version.

Closing with above commit. (for v2)


Replace travis with GitHub actions

This PR replaces travis with sbt-github-actions. Also handles publishing via sonatype.

(we'd have to make sure those secrets are available to the github action, but I don't have the authorizations to do that in this repo)

I just pushed the changes to accept main as well as master for targeted branch. Responded to other comments as well.

I added the secrets, but it didn't trigger releasing when I just created the release in the GH UI. Pushing the tag worked, though.


⚠ GreatPosterWall has degraded performance

In fca1eff, GreatPosterWall ($GPW) experienced degraded performance:

HTTP code: 200
Response time: 1724 ms

Resolved: GreatPosterWall performance has improved in 4168dc8.


Fix removeTrailingSpaces and linkify helpers bugs if content is null, with little css fix to collapse content

@timbrandin some fixes related channel purpose last merge


Add a missiing line

Hello again,
Thanks for feedback.
And sorry, my bad for the missing line : "Failed to retry this task.="
I just add this line to the file with traduction.
Have a good day !

LGTM


Change the hard dependency on reader to only a suggestion

Hi!
great lib.
1 suggestion:
This library has a disabled by default optional functionality to validate qr-odes.
Would you consider to move the hard coded dependency on khanamiryan/qrcode-detector-decoder to a composer suggestion?
this would be a bc break, but it would mean one less dependency.
regards

Hi @mmarton thank you for your question. If it had a lot of dependencies or a large footprint I would surely consider your suggestion, but for now I'd rather leave it in by default, even though not everyone will use it.


CI releases + Inclusivity

Automate and secure releases using GitHub Actions
Inclusivity: Rename git branch master into main

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

Comparison is base (051db76) 90.27% compared to head (6f4a09b) 90.27%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #43   +/-   ##
=======================================
  Coverage   90.27%   90.27%
=======================================
  Files           3        3
  Lines         216      216
=======================================
  Hits          195      195
  Misses         21       21

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


Exclude test files from ts build

close #47

Codecov Report

Merging #48 (41348c4) into master (e957950) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #48   +/-   ##
=======================================
  Coverage   99.07%   99.07%
=======================================
  Files           8        8
  Lines         108      108
  Branches       20       20
=======================================
  Hits          107      107
  Misses          1        1

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 e957950...41348c4. Read the comment docs.

Codecov Report

Merging #48 (41348c4) into master (e957950) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #48   +/-   ##
=======================================
  Coverage   99.07%   99.07%
=======================================
  Files           8        8
  Lines         108      108
  Branches       20       20
=======================================
  Hits          107      107
  Misses          1        1

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 e957950...41348c4. Read the comment docs.


Documentation

Improve documentation

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #3   +/-   ##
=======================================
  Coverage   94.03%   94.03%
=======================================
  Files           1        1
  Lines         302      302
=======================================
  Hits          284      284
  Misses         18       18

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 ba22186...3b0787f. Read the comment docs.


Legacy GCC Support

This MR adds:

gcc that is lower than version nine is linked against stdc++fs
gcc that is lower than version eight will use experimental/filesystem instead of filesystem

Please check the cmake files. I hate cmake - unsure if this works correctly

See results: https://build.opensuse.org/package/show/home:sp1rit:testing/clatexmath

I have a question about this, please look at #49.


Support other sensor configurations

Now, I've felt some guys want to test their sensor configurations. However, our focus was mostly on the SemanticKITTI dataset.
To address this issue, I tested in my Patchwork code and separate sensor configuration (see sensor_configs.hpp and zone model (see zone_models.hpp from the single hpp file, and it worked (tested in the Kimera-Multi dataset, which is captured by 16 channel sparse LiDAR sensor)!

Now, we are looking for someone to help us import those codes in Patchwork to this repository!

Does it support solid-state or semi-solid-state LiDARs, such as the Livox MID360, and vertical resolution angles that are not fixed (0.4 to 0.8 degrees), such as the Hesai QT128 LiDAR?

I really want to support those sensors; do you have any idea of how to perform region-wise ground plane fitting for them?


ANSI escape sequences are not well displayed in jc logs

Some strings [32m and [0m that control the font format are not well displayed.
❯ jc logs 804ace83de
[16:50:24] INFO     [32m        gateway@ 1[L]: Gateway with protocol GRPCGatewayRuntime started[0m                                      flow.py:276
           INFO     [32msandbox_executor/head@ 1[L]: Executor sandbox_executor/head started[0m                                          flow.py:276
           INFO     [33msandbox_executor@ 1[W]:You are using Jina version 3.0.0, however version 3.3.1 is available. You should         flow.py:276
                    consider upgrading via the "pip install --upgrade jina" command.[0m

yes, it is a server-side problem.
Server-side should add JINA_LOG_NO_COLOR tags on every running flow:
JINA_LOG_NO_COLOR=1 jina flow --uses toy-flow.yml

This will not add ANSI color chars to the logs.

Depends on https://github.com/jina-ai/jina/issues/4634


[pact-jvm-consumer-junit] Allow to specify the target folder for generated pacts

Currently, when using the PactProviderRuleMk2 together with the @Pact annotation to create a pact, the pact files are always put into the folder target/pacts. It would be helpful to control the target folder for the pacts, for example by specifying the target folder in the constructor of PactProviderRuleMk2.
This would make it more clear where the pact files come from and would allow for a more flexible integration in a build process with Gradle (since Gradle doesn't know about the target folder by default).

That makes sense, I might look at adding it to the config options.
In the mean time, you can set the pact.rootDir system property. For Gradle, you can do
test {
  systemProperty 'pact.rootDir', "$buildDir/pacts"
}

Hey, is there any progress on the feature?

Nothing to date, I'll see about getting some time for this but it will be done for version 4.0.0.
Also, an update from @pkubowicz now allows pact-jvm to detect that it is running in Gradle and will set the build directory appropriately.

Actually, this has been implemented as part of #840 and released with 3.6.2, but for JUnit 5.


Stale bot

Auto label issues and PRs with a stale label after 14 days of inactivity
https://github.com/actions/stale

Coverage remained the same at 78.528% when pulling d88ddc24298d78374e6b508f04256aa24ce0a7e7 on tnorling-stale-workflow into 63b710daaf0058818baeecf0e212ea2d588dc4d7 on dev.

Big fan!


after upgrading to beta viewCompiler compiled fragment's context is null

this used to work before but now the ctx is always null thus no binding is working
compiler class
import {inject, ViewCompiler, ViewResources, Container} from 'aurelia-framework';

@inject(ViewCompiler, ViewResources, Container)
export class ViewFactory {
  constructor(viewCompiler, resources, container) {
    this.viewCompiler = viewCompiler;
    this.resources = resources;
    this.container = container;
  }

  create(html, viewModel) {
    let view = this.viewCompiler.compile(html, this.resources)
      .create(this.container, viewModel);

    return view;
  }
}

usage in viewModel
let view = this.viewFactory.create('<div>${test}</div>', this);
this.element.appendChild(view.fragment);

so the viewmodel above have a property called test, but it does not show in html in browser
thx in advanced.

The API changes. In order for us to make a bunch of improvements, we fully separated the creation of the view from the binding of the view.
As a result, the create method does not take a view model. You should first call create to get the view, then you would call bind on the view, passing your view model.
That said, you aren't quite using the view in a way that is going to guarantee 100% behavior because you are just manually adding the fragment. Instead, create a ViewSlot instance for the element you wan to append to, like this let slot = new ViewSlot(element, true);
Then add thew view to the slot slot.add(view); Then call slot.attached().

thx rob :) it works now


Fix decider debug logging, add lambda support

There's no debug function in console which is used as default logger.

@jakubknejzlik Heads up, activity-poller suffers the same issue - see https://github.com/radify/aws-swf/commit/d564d1b19b44b6d385c80eabc8e7a36349331e0a

@warrenseymour thanks, didn't noticed that

Also I'm going to add some more stuff for detecting the lambda failure etc.


fixed spelling

"hast he" changed to "has the"

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0/AzureAD/Set-AzureADUserExtension.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Rails/EagerEvaluationLogMessage should always report an offense when not passed a block

Is your feature request related to a problem? Please describe.
Currently, the Rails/EagerEvaluationLogMessage cop, when enabled manually, will only report offenses when Rails.logger.debug receives as argument an interpolated string directly.
Look at this, for example:
def method_a
  Struct.new
end

def method_b
  "Hello from method b #{method_a}"
end

# Case A: no offense
Rails.logger.debug "some_string"

# Case B: offense
Rails.logger.debug "Hello from method b #{method_a}"

# Case C: no offense
Rails.logger.debug method_b

Now, this cop was created because when the Rails.logger.debug method receives a string as first argument, Ruby will always allocate that string in memory even if the log level for the current Rails environment is :info or above (and thus Rails.logger.debug doesn't actually debug anything).
In the example above, case B is correctly flagged since it results in an unneeded allocation of an interpolated string. Case A and C however are still allocation unnecessary objects (assuming that the Rails log_level is :info or above, of course) but are not flagged by the cop.
Describe the solution you'd like
I think that the Rails/EagerEvaluationLogMessage cop should always report an offense when Rails.logger.debug isn't passed a block.

There is really no reason to restrict passing a plain literal. With frozen string literals this is not a problem and passing a block is in fact slower:
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  gem "rails"
  gem "benchmark-ips"
end

require "minitest/autorun"
require "active_model"

def bar
  "bar"
end

Rails.logger = Logger.new(STDOUT)
Rails.logger.level = :info
Benchmark.ips do |x|
  x.report("literal") do
    Rails.logger.debug "some_string"
  end

  x.report("literal_block") do
    Rails.logger.debug { "some_string" }
  end

  x.report("interpolated") do
    Rails.logger.debug "some_string#{bar}"
  end

  x.report("interpolated_block") do
    Rails.logger.debug { "some_string#{bar}" }
  end

  x.report("method_call") do
    Rails.logger.debug bar
  end

  x.report("method_call_block") do
    Rails.logger.debug { bar }
  end
end

ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]
Warming up --------------------------------------
             literal   644.086k i/100ms
       literal_block   621.929k i/100ms
        interpolated   446.440k i/100ms
  interpolated_block   626.215k i/100ms
         method_call   597.401k i/100ms
   method_call_block   629.532k i/100ms
Calculating -------------------------------------
             literal      6.502M (± 1.5%) i/s -     32.848M in   5.053204s
       literal_block      6.278M (± 0.2%) i/s -     31.718M in   5.052057s
        interpolated      4.454M (± 1.8%) i/s -     22.322M in   5.013773s
  interpolated_block      6.264M (± 0.4%) i/s -     31.937M in   5.098311s
         method_call      5.951M (± 0.6%) i/s -     29.870M in   5.019610s
   method_call_block      6.259M (± 0.3%) i/s -     31.477M in   5.029347s

For the method, I guess it could register an offense there. I find it highly unlikely that it would just return a frozen string and as such will likely be more performant.

@Earlopain I have tried to benchmark the behaviour of Rails.logger.debug with a variable:
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  gem "rails"
  gem "benchmark-ips"
end

require "minitest/autorun"
require "active_model"

var = "var"

Rails.logger = Logger.new(STDOUT)
Rails.logger.level = :info
Benchmark.ips do |x|
  x.report("variabile") do
    Rails.logger.debug var
  end

  x.report("variable_block") do
    Rails.logger.debug { var }
  end
end

ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [arm64-darwin23]
Warming up --------------------------------------
           variabile   530.948k i/100ms
      variable_block   519.175k i/100ms
Calculating -------------------------------------
           variabile      5.306M (± 0.3%) i/s  (188.48 ns/i) -     26.547M in   5.003673s
      variable_block      5.040M (± 3.5%) i/s  (198.41 ns/i) -     25.440M in   5.054491s

It seems that when dealing with variables it's also faster to pass the positional argument instead of a block 🤔.
So I guess this is becoming a little bit too much to handle? I don't think Rubocop can discern wether the argument passed to Rails.logger.debug is a variable or a method call, right?

It can distinguish between local variables and other things

This is something we ran into recently as well. We have some code that amounts to:
Rails.logger.debug very_slow_debug_message_method(current_user)

I was surprised to learn that Rails/EagerEvaluationLogMessage only considers interpolated strings as expensive, but not method calls. Variables, literals, and constants make perfect sense, but method calls? 🤔 Feels like there should be at least a config option for that.


Could not install package 'Common.Logging.Portable 3.4.0-Alpha1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile259'

But Core is supported.

The Alpha1 build was based on the pre-GA version of .NET Core, so my first guess is that this mismatch is probably the cause of the issue you're seeing here.
MASTER has already been updated to reflect the latest (GA) release of .NET Core and our hope is to be able to push an updated package (probably Alpha2 or Beta1) to NuGet this coming weekend.  Once we do, I'll loop back here with a notice to that effect and I'd be interested in hearing whether that solved your issue (or whether there's something more significant going wrong with e.g. our NuGet packaging for this).

Can you check whether the Alpha2 release from last week solves this issue for you --?

I have the same problem - the 3.4.0-Beta4 does not fix it, nor does Alpha2.  I see the same behavior on both Visual Studio 2015 Update 3 and on the latest Xamarin Studio Cycle 9 beta.

We'll investigate this shortly; the plan is to resolve this before the 3.4 release goes GA.

Thanks.  If you are able to resolve it, I would appreciate it.  I will circle back to it eventually if not, but my project has found some more pressing features that are keeping us on our workaround for now.

Others have reported that this behavior has been corrected in our 3.4-RC1 packaging.  Can you confirm/validate this?  Our plans are to move 3.4 to GA by the end of this month and it would be helpful to know whether the 3.4-RC1 release has addressed your issues as well before we go to GA with it.

I'll check it out ASAP.  Will aim for Friday or Monday at the latest. Thanks!

@gjkhw Thanks -- that would be perfect.
Cheers!

I can install this fine into PCL 259 and 111 projects. Unsurprisingly, code from Common.Logging.Portable runs just fine on Android and iOS devices. Thanks for sorting this out!

Excellent -- will CLOSE this issue and prep for the launch of 3.4-GA shortly.


Adjust deps to bypass pip install failure

And to just straight up remove a couple deps that we literally don't use anymore.

wrapt usage was made obsolete with the deletion of azure-devtools and subsequent refactors
markupsafe usage was removed from our sphinx conf

These two are the primary contributors to our "builds randomly decided to start falling over" so this is just a good forcing function.  Also means I'm going to be doing a pass on all our deps as this is a good highlight.

/azp run python - core - ci

Going to make this a venv and be done with it.


terra-image UX Audit

terra-image
Known Aliases
Document any known aliases of the component, decide if another name makes more sense.

[ ] Has known aliases
[ ] Requires name change

Design Standard Doc
Any documentation needed to be added to terra-ui describing the make up and usage of the component
Any doc examples that need to be updated?

[ ] Missing design standard documentation linkage.

Guides
Any guides needed to be added to terra-ui describing the usage of this component when used with other components.

[ ] Missing Guides
[ ] Missing UX recommended Usage.
[ ] Deprecation guide

Accessibility Guides

[ ] Missing Accessibility Guides

Behaviours

[X] Missing behaviours

alt tag should be required. if it's a purely decorative image it should be ' '.
aria labels should never be applied. Potentially block this from being set as a custom prop.
onLoad/onError have potential accessibility implications and should only be used if teams know what they're doing. Possibly privatize them?

[ ] Contains bad practice behaviours that should be removed

Accessibility

[ ] Meets wcag 2.0/section 508 standards
[ ] Meets wcag 2.1/en 301 549 standards

Deprecation

[ ] Component is a bad pattern and should be deprecated.

Related Issues
Other Considerations
It could be possible in the future to provide some canned placeholders to be used in well defined situations.

Tech Design
Summary:
Approach 1
Add imageType prop to terra-image to differentiate between informative and decorative image.
Requirements and Accessibility:
As a consumer of Terra-Image, I would like it have API to support for meaningful images (ability to be read by screen-readers) when they add important context for users and support for decorative images (ignored and hidden to screen-readers), so that Image meets WCAG Success Criterion 1.1.1 (Non-text Content).
New React Props:
Terra-clinical-header

Prop
Type
isRequired
Default
Description

imageType
Enum
optional
'informative'
Specifies Type of image which is either informative OR decorative images

Usage Example
    createImage(customProps, imageClasses) {
    const {
      src, alt, height, width, imageType
    } = this.props;

    if (imageType === ImageTypes.DECORATIVE) {
     // Decorative Image
      return (
        <img
-          {...customProps}
          src={src}
+          role="presentation"
+          alt=""
          height={height}
          width={width}
          onLoad={this.handleOnLoad}
          onError={this.handleOnError}
          className={imageClasses}
          ref={this.ImageRef}
        />
      );
    }

// Informative Image (default )
    return (
      <img
        {...customProps}
        src={src}
        alt={alt}
        height={height}
        width={width}
        onLoad={this.handleOnLoad}
        onError={this.handleOnError}
        className={imageClasses}
        ref={this.ImageRef}
      />
    );
  }

With this we would require to flex the image tag depending on it's type. For Decorative Image we need to

clear the value of alt ( if provided by user )
add a role presentation ( extra prop to ensure the it is non text content )
remove the customProps

Flexing between image types might add up more functions in a single file and might became difficult to maintain when we provide support for more image types along with informative and decorative.

Tech Design
Summary:
Approach 2
Add new subcomponent Decorative Image to render Image API as a non-text content.
Requirements and Accessibility:
As a consumer of Terra-Image, I would like it have API to support for meaningful images (ability to be read by screen-readers) when they add important context for users and support for decorative images (ignored and hidden to screen-readers), so that Image meets WCAG Success Criterion 1.1.1 (Non-text Content).
React Props of New Sub Component:
Decorative-Image

Prop
Type
isRequired
Default
Description

src
string
required
none
The source string for the image which will be loaded and displayed.

variant
Enum
optional
'default'
Sets the style of the image from the following values; default, rounded, circle, thumbnail.

isFluid
bool
optional
false
Sets the fluid behavior of the image, which is non-fluid by default.

placeholder
element
optional
none
A React element which will be displayed during loading and in case of src load failure.

height
string
optional
none
Sets the height of the image

width
string
optional
none
Sets the width of the image

onLoad
function
optional
none
Function to be executed when the image load is successful.

onError
function
optional
none
Function to be executed when the image load errors.

fit
enum
optional
'fill'
Sets the object-fit style of the image from the following values; cover, contain, fill, scale-down, none.

Implementation
import Image from './Image';
import DecorativeImage from './variants/DecorativeImage';

export default Image;
export { DecorativeImage };

Usage Example
import { DecorativeImage } from 'terra-image';

export default () => <Image src={placeholder150x150} title="example image" />;

import Image from 'terra-image'; OR import InformativeImage from 'terra-image';

export default () => <Image src={placeholder150x150} title="example image"  alt="example image" />;

With this Approach we can create new sub-components in future when new image types are created. This reduces the load of an existing API by moving the implementation of new image types to different file.
Existing Image would remain as default Export of the package and new code changes are passive to existing Image API's.

I think in design #2 to create a new subcomponent for this is unnecessary because most of the core features remain the same with the exception of the image type. For this reason, I like design #1 better and it is easier to maintain.
What is the reason to prevent spreading the custom props for a decorative image?

alt is currently a required prop. For a decorative image it is no longer needed and will be overwritten with an empty string. Do we still have to keep it as required? I think so because it is still needed for the informative image type. Maybe we can just update the prop description to call out that it is not required if the imageType is decorative and will be set to an empty string.

I agree with @benbcai . While it is good to plan ahead to easily allow updates to the API, Design 2 feels overkill with the scope of this story and information we have right now. I opt for design 1 because it's simpler to consume. A consumer may want to update their UI and update an image from informative or decorative and they can do that by simply updating a prop in Design 1 instead of needing to change the component.

alt is currently a required prop. For a decorative image it is no longer needed and will be overwritten with an empty string. Do we still have to keep it as required? I think so because it is still needed for the informative image type. Maybe we can just update the prop description to call out that it is not required if the imageType is decorative and will be set to an empty string.

Keeping alt prop as required would make it inappropriate for decorative image as consumer cannot skip alt prop and passing alt prop with empty string will not make sense for consumer as it should be handled internally.
So either we should make alt prop as optional with doc update to highlight that value for alt prop is required to make image accessible to assistive technologies.

I think in design #2 to create a new subcomponent for this is unnecessary because most of the core features remain the same with the exception of the image type. For this reason, I like design #1 better and it is easier to maintain.

we can actually move the code to different file and refer it on both Image.jsx and DecorativeImage.jsx  I think this would not require much effort on code review as we are not introducing lot of code changes with new subcomponent. To make this code changes passive the existing Image API will remain unchanged as a default API for informative Images.

What is the reason to prevent spreading the custom props for a decorative image?

for custom props there are few props that would be inappropriate to use like title, aria-label, aria-labelledby and aria-describedby . these attributes would make decorative image accessible to assistive technologies. So these props should be removed from image when the imageType is decorative

for custom props there are few props that would be inappropriate to use like title, aria-label, aria-labelledby and aria-describedby . these attributes would make decorative image accessible to assistive technologies. So these props should be removed from image when the imageType is decorative

Could we selectively delete these unwanted props instead of not spreading all custom props?
For examples:
delete customProps.title;
delete customProps.aria-label;

Tech Design Decision

Based on our conversations, the API that has the best the method to educate consumers as to their responsibility for accessibility, Approach 2 will be the most clear and have the most amount of enforceability.
While Approach 1 is more flexible, its puts more onus on the consumer to understand their accessibility responsibilities, and it has more opportunities to create erratic end behaviors if intended to be decorative but title, aria-label are provided, or meant not to be decorative and alt is not able to be strictly enforced.
Approach 2 also has ability to not create necessarily additional code overhead for maintenance as the two exposed components will largely be exposing API-only, and we can move all of the current component logic into a shared single private subcomponent that smartly will add or remove the props and relevant html attributes to create stable markup for both situations. It also allows for additional W3C image concepts types in the future that will have their own unique API demands.
To summarize the changes:
Image.jsx

props:  src Required, alt Required, variant, isFluid, height, width, fit, placeholder, onLoad, onError
will continue to be the primary export. Changes to current will be to remove 'alt' having a default value, making it strictly enforced as required propType.

DecorativeImage.jsx

props: src Required, variant, isFluid, alt, height, width, fit, placeholder, onLoad, onError
will provide alt="" and role="presentation" by default, still allow spreading custom props, but remove any specific props/html attributes if they are provided by the consumer that will conflict with making the image appear hidden/decorative to the screenreader, such as title, aria-label, aria-labelledby, aria-describedby, etc. as needed.

/private/_image.jsx

imported and used by both components and applies or removes props and html attributes as needed


Fixed KayentaSerializationConfigurationProperties not found issue

KayentaSerializationConfigurationProperties is not found in many classes due to wrong import statements

Looks good


tabarray onChange method does not fire

I have this schema
The onChange method does not fire as it does in other type of elements.
Other methods have the same onChange method defined and works fine but tabarray is not working.
Looks like is not supported for tabarray, any ideas how to fix this issue?

{
"key": "Atentions",
"type": "tabarray",
"tabType": "top",
"title": "Audio {{ value.audio || $index + 1  }}",
"onChange": "updated(modelValue,form)",
"remove": "Delete",
"htmlClass":"fake-css-tabs-class",
"add": null,
"style": {
"remove": "hide"
},
"items": [
{ "item1" : 1},
{ "item2" : 2}
]

+1

It is fixed for the alphas I believe, have you tried them?


Handling control flow

Hi,
I'm in the process of converting a small project of mine from tokio to smol. In the process, I'm also removing instances of tokio::select! and replacing them with constructs from futures-concurrency. For the most part, the changes have been simple. That's great, because I would prefer to avoid macros if they don't significantly simplify the code.
However, I think I found one instance where the macro wins out. I wanted to bring it up here, since I don't see any existing issues discussing it.
I had loop that would await either more data or a signal. If I got a signal, I would break the loop.
loop {
    let data = tokio::select! {
        data = future() => data,
        _ = signal.recv() => break,
    };
}

Implementing this with Race is a bit tricky. You need to somehow unify the types. I chose ControlFlow, as it seemed the most natural. Here's what I came up with:
loop {
    let data = async {
        let data = future().await;
        ControlFlow::Continue(data)
    };
    let sig = async {
        let _ = signal.next().await;
        ControlFlow::Break(())
    }
    let flow = (data, sig).race().await;
    let ControlFlow::Continue(data) = flow else {
        break;
    };
}

Can you think of any better way to implement this? I think this is one area where the macro has a natural advantage. Is there any simpler way to do this in the smol ecosystem?

Consider using Stream::merge instead:
enum Message<T> {
    Data(T),
    End,
}
let data = stream::once(future.map(Message::Data));
let end = signal.map(|_| Message::End);
let mut s = (data, end).merge();
while let Some(msg) = s.next().await {
    match msg {
        Data(data) => ..,
        End => break,
    }
}

I describe how this works in more detail here.

Ah, that's a good idea. I didn't think to use the fact that Signals already implements Stream. Using .map() certainly helps cut down on the boilerplate too.
Thanks for the tip. I think this is clean enough for me to justify moving away from a macro.