bot.say attachment messages not sending for the first 4-5 tries, after that it's fine?

When the bot is started up, sending the first 4-5 attachment messages using bot.say won't go through, but after that they'll send every time no problem until the bot is restarted. Then the same process happens again.
It's also not a timing issue, I can run the bot and leave it for a few hours, it still needs those 4-5 attachment messages to go through before actually working.
I get API CALL: https://slack.com/api/chat.postMessage info: ** every time, no errors I can see.
Non-attachment bot.say messages run instantly however, so no issues there.
Very confused. What could be the issue here?

It could be a malformed attachment, or slack doesnt like something about
it. I think slack has had some issues in the api this last week.
When did you start experiencing this?
On Sat, Feb 18, 2017 at 9:55 PM Justin<EMAIL_ADDRESS>wrote:

When the bot is started up, sending the first 4-5 attachment messages
using bot.say won't go through, but after that they'll send every time no
problem until the bot is restarted. Then the same process happens again.
It's also not a timing issue, I can run the bot and leave it for a few
hours, it still needs those 4-5 attachment messages to go through before
actually working.
I get API CALL: https://slack.com/api/chat.postMessage info: ** every
time, no errors I can see.
Non-attachment bot.say messages run instantly however, so no issues there.
Very confused. What could be the issue here?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/howdyai/botkit/issues/666, or mute the thread
https://github.com/notifications/unsubscribe-auth/AMUR290UMkN5HkRVsJGtqPQsvqKReN50ks5rd681gaJpZM4MFVsP
.

It started right when I began using attachments instead of simple text, which was a few months ago. So it could very well be something with my code. It's just very odd that it starts working perfectly after what I like to consider hitting it with a wrench a few times (forcing posts until it starts working).
{
	"fallback" : "",
	"color" : "#fff",
	"author_name" : "",
	"author_icon" : "",
	"footer" : "",
	"footer_icon" : "",
	"mrkdwn_in" : [
		"pretext"
	]
}

This is a template I use for the attachment. The app fills in the values. Then  send the attachment to the channel using
slackBot.say({
            "attachments": [connectInfo],
            channel: slackGeneral // general channel
        });

I never use bot.say so maybe I'm wrong but I don't think you need attachments to be in json, It should parse it for you.
I've had weird things happen with attachments before, but never so consistently and stubbornly as you describe.
Is your function that fills the template dynamic? Is it possible something is happening there which is breaking a field on your attachment and slack is refusing it?
When you add debug: true to your controller's config options, you get a response from the chat.update logged to console after the chat.postMessage that should give you more info if slack is rejecting the message.

The function is dynamic, but I'm using the exact same info each time and it eventually goes through. To be more specific, it's not exactly consistent, sometimes 2, 3, 4, 5, 6, 7, 8 times the same content will not post until it just does.
I checked debug and this is all that I get after the chat.postMessage : debug: Got response null
Very strange.

Hmm maybe its failing in sending the request, so the response comes back
null
Will take a closer look soon
On Sun, Feb 19, 2017 at 12:56 AM Justin<EMAIL_ADDRESS>wrote:

The function is dynamic, but I'm using the exact same info each time and
it eventually goes through. To be more specific, it's not exactly
consistent, sometimes 2, 3, 4, 5, 6, 7, 8 times the same content will not
post until it just does.
I checked debug and this is all that I get after the chat.postMessage : debug:
Got response null
Very strange.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/howdyai/botkit/issues/666#issuecomment-280898306, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMUR24FtCzxvzOWMlBpeHB8hCx_uQf9xks5rd9l-gaJpZM4MFVsP
.

Much appreciated!

Anything change on this front for you @nomad5?

Hey, thanks for checking back in. Unfortunately no. I recently changed up how I create the attachment object, while hoping that would solve the issue. It seems that it's pretty persistent.

Closing for now then!

Out of nowhere, it seems as if the problem fixed itself. Same exact code and content. I'm assuming this has something to do with Slack's end of it. Hopefully it doesn't change!
Thanks for the help.

Reopening if this is still a problem.


Added logary, fixed Orchard

@SergeyKanzhelev,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@SergeyKanzhelev : Thanks for your contribution to the Azure documentation! The author, @OlegAnaniev-MSFT, has been notified to review your proposed change.

#sign-off


Removing user interests: Cannot remove final interests tag

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to your profile
Add interests to profile and save
Re-open interests and click the X on each, then save
See that one interest always remains

Expected behavior
Expected all interests to be gone, then expected to be able to add more.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 10
Browser: Edge
Version 103.0.1264.49

Additional context
Add any other context about the problem here.

Issue fixed in this PR: https://github.com/bcgov/CITZ-HybridWorkplace/pull/378


cannot access sideshow with touch.

Slide show is inaccessible on touch device as no touch UI. I was using Firefox on Android.

that's, err, some really old slideset indeed. maybe we should just remove it...

heh.
Are there any other beginners resources that could be added to Getting Started at http://baconjs.github.io/?
I was coming from https://gist.github.com/staltz/868e7e9bc2a7b8c1f754 and Parikka's bacon fork : http://jsfiddle.net/paprikka/dmgnhmxo/3/

Running through the slide show now have keyboard the live demos are nice - though don't all work.
Also made it clear jQuery is a dependency wich as a complete newbie I hadn't grokked

Oh take it easy, jQuery is not a dependency :)


Updating Atom takes more than one "Restart and Install..." click (macOS)

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When updating Atom with a project opened (see below for explanation), I have to click "Restart and install..." twice. The first time I click from the About package - this closes the Atom's window but keeps the application running. Then I have to click "Restart and install..." from the menubar to actually update Atom.
Steps to Reproduce

Open Atom
Wait for an update
From the About package, click "Restart and install"
Observe Atom window closing but Atom app still running in foreground
From the menubar, click "Restart and install..." again
Finally have Atom restart itself and install the update

Expected behavior: Clicking the button from the About package immediately restarts Atom and install the update.
Actual behavior: Clicking the button only closes Atom window but keeps the app running in foreground, forcing me to click the menubar's "Restart and install..." menubar item to actually update Atom
Reproduces how often: All the time for Atom, Atom Beta and Atom Nightly
Versions
Atom    : 1.32.0-nightly6
Electron: 2.0.7
Chrome  : 61.0.3163.100
Node    : 8.9.3

Additional Information
Only tested on macOS (High Sierra and Mojave).
This has been happening for several months now, I just did not find the time to report this. 😇
While there is only a single, empty (non-project) Atom window opened, the update procedure works as expected:

Open fresh new Atom window only (tested from CLI via atom-nightly --new-window
Wait for an update
From the About package, click "Restart and install"
Atom updates as expected

It looks like some project-related code path is keeping the Atom app from restarting itself correctly. 🤔

Thanks for the report @robertrossmann - since I started using the nightlies, I've noticed this too.

While there is only a single, empty (non-project) Atom window opened, the update procedure works as expected:

Similarly, if there are no windows open (but Atom is still running) updating works with a single Atom > Restart and install from the menubar.

This has hit everyone in my office using Atom. On every update. It has never worked as expected. I'm happy to provide any info if need be... just let me know what to gather.

Here are some notes from the investigation so far:
If you comment out this line, the "Restart and Install Update" action restarts Atom as expected but Atom's state is not reloaded correctly after the update is installed.  The result is that it starts up an Atom window with no project loaded.  Apparently the this.quitting = true line was added to fix this precise problem in https://github.com/atom/atom/pull/7234
With the this.quitting = true assignment in place, one thing you'll see in Atom's console log output is the following statement right before the update process stalls:
Sending message to WebContents with unknown ID 1

My suspicion here is that since the browser window is not prevented from being closed here (event.preventDefault() is not called in this event handler), the window closes before some future message passing occurs between the main process and renderer process,   causing Atom's shutdown process to stall before the app fully shuts down.  We may need to inherit some of the logic of the non-quitting code path so that the shutdown process can complete its operations and close cleanly.


Fixed #31676 -- Updated organization docs according to DEP 0010.

ticket-31676
TODO:

[X] add Triage & Review team, (unnecessary)
[x] update the Technical board section.

@carltongibson Thanks :+1: I also updated the technical board description.

@django/technical-board This is a DEP-0010's implementation milestone, so according to DEP-0010 I'd like to inform the Technical Board of an intent to merge it.

@carltongibson Thanks for checking :+1:

@django/technical-board Please hold a vote :ballot_box: , according to DEP-0010 :
"The Technical Board MUST then hold a vote (see Voting process of the Technical Board) on whether to permit the merge."

+1

+1

+1

+1 from me

Voting will end on July 29th, 2021 :calendar:  (members of the Technical Board may change their votes at any time prior to closing of the final voting period).

@jacobtylerwalls Thanks :+1: Updated.

Thanks y'all :confetti_ball: :partying_face:


Weak supervision for token classification metrics

refs #1767
I have a suggestion to validate :
When there is no query, the component Rules Metric doesn't have the total number of coverage and total annotated coverage.
So to keep an atomic design,  is it possible to show at the initialization the Rules Metric like this :

It's different from the TextClassification, since the totals are already showned

I like your suggestion! and I would apply it also to the TextClassification view, let's see what the others think

Agree!

This is related to the weak label changes for the Text classification task, right?

This behavior was only in Token Classification but it will be put in text classification too

Refs #1749


Blank space when turning on fullscreen on video call

Plugin:
📜 BetterChannelList
What version of BetterDiscord are you using?
1.10.2
What version of the selected plugin(s) are you using (if applicable)?
1.1.1
What client are you using?
🔵 Stable
Describe the bug

Fullscreening a participant in a call results in a blank space on the left, preventing the participant's video from filling up the screen.
Additional comments
No response
I have read and agree to the following:

[X] I have searched existing/closed issues to confirm that this hasn't been solved already.
[X] I've already tried to disable all other plugins (or themes) to confirm this issue is related to the plugin.
This isn't necessarily required

Fixed in d40916cf4b35f93587270604f359911aa6efb205


Can't interact with user interface

Hi,
When every it launches it I can't do anything with user interface, it only display blurred overlay.
Thanks,
https://user-images.githubusercontent.com/51430971/105795775-666cc880-5f5b-11eb-9bbd-4bfc67f17f31.mp4

I have the same thing on:

MacOS Big Sur
on Terminus v128

I have the same thing on:

MacOS Big Sur
on Terminus v128

Same here v128. I'm afraid of clicking on the gift on the right-top corner.

Same here v128. I'm afraid of clicking on the gift on the right-top corner.

Seems that v129 is okay. Let's see if it continues throughout the day.

Seems that v129 is okay. Let's see if it continues throughout the day.

I updated to 129, now it can't load my configs.
https://user-images.githubusercontent.com/51430971/106103219-95776b80-610e-11eb-8e69-cf9f5c52da32.mp4

I updated to 129, now it can't load my configs.
https://user-images.githubusercontent.com/51430971/106103219-95776b80-610e-11eb-8e69-cf9f5c52da32.mp4

Fixed in 1.0.130

Fixed in 1.0.130


[#155856825] Move Cloud Controller behind GoRouter - Part 2: The Return of the Router

What
Now that the ELB is configured we can switch DNS over to serve via GoRouter.
How to review

Deploy on top of https://github.com/alphagov/paas-cf/pull/1314
Make sure all tests pass, particularly availlability tests.

Before merging

Merge https://github.com/alphagov/paas-cf/pull/1314
Rebase on master

Who can review
Anyone but me, @46bit or @chrisfarms

Rebased.


x/pkgsite: missing anchors for "source files" and "directories" on a package page

i could no find existing tickets for this. sorry if a dup.
What is the URL of the page with the issue?
https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm
What is your user agent?

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4350.0 Safari/537.36

Screenshot

NONE
What did you do?

reproduction steps:

open this package link.
scroll to the bottom where "Source files" and "Directories" are.
there are no clickable anchors ( ¶ ) over "Source files" and "Directories", so it's not possible to link to them.

What did you expect to see?
anchors ( ¶ ) over the "Source files" and "Directories" sections for a certain package page.
NOTE: this was possible with the previous design of the go doc website.
the anchor for directories was #pkg-subdirectories
What did you see instead?
no anchors.

@neolit123
It seems that this has changed to #section-directories
https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#section-directories

thanks for the info.

the change frompkg-subdirectories to section-directories is a minimal breaking change, which pkgsite could have avoided.
inspecting the HTML and looking at https://github.com/golang/pkgsite i think i can send a fix for the missing ¶.

sent a PR for this here:
https://github.com/golang/pkgsite/pull/24
instead of pinning to the anchors to the new IDs, it might be a good idea to preserve the backwards compatibility and rename the IDs too. the diff for that would look like:
diff --git a/content/static/html/helpers/_unit_directories.tmpl b/content/static/html/helpers/_unit_directories.tmpl
index 3047e7b9..6d3d6a58 100644
--- a/content/static/html/helpers/_unit_directories.tmpl
+++ b/content/static/html/helpers/_unit_directories.tmpl
@@ -6,8 +6,9 @@

 {{define "unit_directories"}}

-

+

       Directories
+      ¶

       <button>Expand all</button>
diff --git a/content/static/html/helpers/_unit_files.tmpl b/content/static/html/helpers/_unit_files.tmpl
index 568c06f5..67c600f2 100644
--- a/content/static/html/helpers/_unit_files.tmpl
+++ b/content/static/html/helpers/_unit_files.tmpl
@@ -6,8 +6,9 @@

 {{define "unit_files"}}

-

+

       Source Files
+      ¶

       View all

NOTE: i don't know what was the old ID for source files, was it pkg-sourcefiles?
let me know if you want this diff instead.


Fix references to local.example.js

Description
This is a great tool, thanks for sharing! While going through the README, I noticed a reference to a file which doesn't exist (src/config/local.example.js). Presumably this used to exist, or was just a typo for public/config/local.example.js, so I've updated them here.
QA steps
n/a
Author checklist
Create the PR

[x] Fill out PR template
[ ] Make sure you've added a CHANGELOG entry under "Unreleased"

n/a?

[x] Request a review
[ ] Make any requested changes and get approval

After approval

[ ] Merge any changes from main into your branch, resolve any conflicts
[ ] Squash & merge changes into main
[ ] Delete branch

Appreciate the prompt! Some of these references were fixed in #154 and we'll open another PR to get the rest.


Bacnet

Hi @grafnu ,
With the help of Francesco and Jason(also Ketan), we have managed to do an end to end test development and integration testing for bacext. Can you PTAL?

To deal with the bacnet hash, you essentially need to think of this being
staged as two separate commits. Eventually you'll finalize both of them,
and then submit them in dependency order. After everything is
complete/working, then you submit the BacNET one as a PR, get that
approved, and then pushed to the repo (not a fork from the grafnu one
anymore). Then, after that, you update all the hashes to match and then
submit that to the DAQ repo. At all stages everything is fully functional
and internally consistent. Forking is required, but also "dangerous" in
that it allows for deviation, so the strategy is always
fork-when-necessary-and-merge-quickly.
On Mon, May 20, 2019 at 3:47 AM Joel Ureellanah<EMAIL_ADDRESS>wrote:

@JoelRedstone commented on this pull request.
In subset/bacnet/Dockerfile.test_bacext
https://github.com/grafnu/daq/pull/138#discussion_r285531811:

@@ -0,0 +1,22 @@
+FROM daq/aardvark:latest as bacnet_build

+# Do this alone first so it can be re-used by other build files.
+RUN $AG update && $AG install openjdk-8-jre
+
+RUN $AG update && $AG install openjdk-8-jdk git
+
+#This refer to a specific github commit on the repo
+ENV BACHASH=6b4493f5d9b4e2640ebb9dcc659e5e05fda61b33
I need more clarification on this as I'm writing all bacnet tests in my
bacnet4j library forked from you. Every time I commit a new change I need
to update the env in my dockerfile and test_***. It'd like to know your
advice on this for future reference.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/grafnu/daq/pull/138?email_source=notifications&email_token=AAIEPD7HE3FA2LDIXSYRSUDPWJ6VXA5CNFSM4HNUOEDKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBZCUZZQ#discussion_r285531811,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIEPD2FWXNGCNYUPN6HPRDPWJ6VXANCNFSM4HNUOEDA
.

Hi @grafnu, PTAL

Hi @grafnu,
I've made a separate java project for the bacnet version test that use bacnet4j as a library.
PTAL

Hi @grafnu,
PTAL


Question about contributing

This project looks great. Are there ways I could help contribute? Is there a roadmap?

Hi and happy to hear the project has caught your interest. I think there is a lot we can do to improve Mummy. Here is my personal perspective right now.
The most important thing I think that Mummy will benefit from is actual projects using it. Even just tiny demos that run locally. But ideally it would be things that people can visit from their browser and see the source code of (that I can link to here as well).
A concrete example of this is I am pretty much done with a rewrite that migrates NimDocs.com to use Mummy (branch link): https://github.com/treeform/nimdocs/tree/ryan. This'll be an open source website that shows how Mummy can be used by a real website on the internet.
I'll happily link to examples and provide feedback on how to get the most out of Mummy for those experimenting with it.
Additionally, actually using Mummy to build something will help identify shortcomings that can be addressed. I like this idea of "run into a shortcoming" more than "think up cool ideas to add" because it is so much more real and easy to discuss when there are concrete examples of the need.
I realize this isn't a list of "what to do" but I think if you're interested in Mummy, maybe try using it to get some little project working locally and perhaps grow from that into something fun on the internet. Little things like "a website that takes a number and hex encodes it" or "upload an image and get it turned black-and-white" or a personal homepage or the like. Tons of little things that will run face first into real issues we can work to improve.


SHS-NG M7: Limit disk usage of the history server.

This change adds a new configuration option and support code that limits
how much disk space the SHS will use. The default value is pretty generous
so that applications will, hopefully, only rarely need to be replayed.
This works by keeping track of how much data each application is using;
because it's not possible to know, before replaying, how much space will
be needed, it's possible that usage will exceed the configured limit
temporarily. The code uses the concept of a "lease" to try to limit how
much the SHS will exceed the limit.
Active UIs are also tracked, so they're never deleted. This works in
tandem with the existing option of how many active UIs are loaded; because
unused UIs will be unloaded, their disk stores will also become candidates
for deletion. If the data is not deleted, though, re-loading the UI is
pretty quick.

Hi Vanzin, I just come up with a idea. Instead of using two configurations EVENT_TO_STORE_SIZE_RATIO and MAX_LOCAL_DISK_USAGE to control the disk usage, how about allowing user to limit the max number of applications written to disk store?
It may be simpler and more user friendly.

limit the max number of applications written to disk store

The size of the disk store can vary wildly from application to application, so that's not very user-friendly if the goal is to control how much disk space to use.


Voice recognition development

Can we develop this project to recognize the all commands we know?

There's a limit to what you can do with a model small enough to run quickly on an esp32.
You can use a larger more complex model with more preprocessing and recognise more words, but you might struggle to get it to run on the esp32.

what type of development board I can run when I make a model like that? I have a question, the Alexa project and this voice control car's code is really written by yourself? or did you get this code from another person?

You would probably find a raspberry pi more suitable.
Very strange question. Yes, I wrote the code.

wow really awesome. you are a genius. These days  I am doing a C course after I will do a C++ course then I will try your projects. before I had not any knowledge now I have a  little bit of knowledge about C. I also want to write codes like you.


Working without GPU support?

Is this container dependent on nvidia-docker or is there a version that runs with CPU only.
This would be quite beneficial for windows users, since nvidia-docker is not supported on windows.

The deep-visualization-toolbox project doc said we could compile it with gpu support but run it cpu mode.
I tried that, but despite setting caffevis_mode_gpu = False (in settings_local.py), I still get an error:
Check failed: error == cudaSuccess (35 vs. 0)  CUDA driver version is insufficient for CUDA runtime version
Any help?

This is a very late answer. But I was also looking for a version that runs with CPU only and decided to make one:
https://github.com/mhalsharif/dvtb-cpu


Add shipwright sample pre-req image mirroring

Changes
In order to be independent of DockerHub images in the samples, we should aim
for having equivalent images available in quay.io.
Add daily mirror job for required images.
Submitter Checklist

[ ] Includes tests if functionality changed/was added
[ ] Includes docs if changes are user-facing
[X] Set a kind label on this PR
[X] Release notes block has been filled in, or marked NONE

Release Notes
NONE

I am actually a bit puzzled on how to properly test it, since we only seem to get the workflow available once it is merged.

@HeavyWombat I think you use the secrets that we also use to push to quay.io/shipwright. Is it really the same credential that can also push to quay.io/shipwright-samples ?
fya @adambkaplan

@HeavyWombat I think you use the secrets that we also use to push to quay.io/shipwright. Is it really the same credential that can also push to quay.io/shipwright-samples ?
fya @adambkaplan

Same credentials as for the other image operations. So if we can make sure that these have access to the shipwright-samples, I think it should be working.


Allow JSX customization (boolean props, etc)

It'd be cool if this let you set some basic configuration options on styling. For example, in our project we require boolean props to have a value, so disabled isn't sufficient, rather we prefer disabled={true}. This addon, however, transforms it to disabled in the actual JSX displayed, which means someone copying and pasting examples would have to fix it themselves. Similarly with <React.Fragment> being transformed to <>, etc. (Or if there is a way to do this, please let me know!)
This is a great addon, and I really appreciate how well it works right out the gate and all the little features like showing the type definition when hovering over a prop, etc. 😄

This plugin support all options that react-element-to-jsx-string does. So I think you want to set useBooleanShorthandSyntax and useFragmentShortSyntax to false`.
Do those meet your needs?

@hipstersmoothie Oh, that's perfect, thank you!


bulk delete all imported entries

No content

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @zach in #server-support.

Done


metal release 1.0: create limits/parameters api

We need a new API to query runtime/device limits:

queryable limits will be enumerated in a global enum space.  the enum specifies an attribute
limit will be returned

First task is to enumerate the list of limits and their types (are all integers?) and then decide if we need more than one API.  A start is:

METAL_MAX_UNIQUE_RUNTIME_ARGS
METAL_MAX_COMMON_RUNTIME_ARGS
METAL_MAX_CIRCULAR_BUFFERS
METAL_MAX_SEMAPHORES
METAL_MAX_DATA_MOVEMENT_PROCESSORS
METAL_MAX_COMPUTE_PROCESSORS
METAL_MAX_PROGRAMMABLE_CORE_TYPES (do we wnat this? eg, tensix/eth)
METAL_MAX_NOCS

There may also be limits that will require a parameter, eg, memory by core type.  Todo to fully specify.

Hello - thanks for creating issue. From talking to Paul, was suggested I donate some API requests here.
tt-mlir compiler would like to request the/an API to export up the "Supported Data Formats" and "Supported Tile Sizes" for the device (https://github.com/tenstorrent/tt-mlir/issues/433) please.  Something like (feel free to adjust):

METAL_SUPPORTED_DATA_FORMATS
METAL_SUPPORTED_TILE_SIZES (ie. 32x32, blah)

In addition, tt-mlir would like to request the following device specific params be queryable (https://github.com/tenstorrent/tt-mlir/issues/300), somehow (maybe also a list like METAL_SUPPORTED with a single value, or something else) so we can remove hardcoded values.

L1_ALIGNMENT
PCIE_ALIGNMENT
DRAM_ALIGNMENT

We also need:

L1_UNRESERVED_BASE
ERISC_L1_UNRESERVED_BASE
DRAM_UNRESERVED_BASE

We also need:

L1_UNRESERVED_BASE
ERISC_L1_UNRESERVED_BASE
DRAM_UNRESERVED_BASE

curious: why?
(note: these are all moving into the hal and will go away ~soon as consts, could still be queryable though)

We also need:

L1_UNRESERVED_BASE
ERISC_L1_UNRESERVED_BASE
DRAM_UNRESERVED_BASE

curious: why? (note: these are all moving into the hal and will go away ~soon as consts, could still be queryable though)

We are experimenting in the compiler with autogenerated kernels and going direct to metal which means the compiler will have its own allocator for CBs & tensors.  It'll need to know what address range is legal to use.

FYI @cfjchu


Update appVersion to "3.0.0" in Chart.yaml

Fixes #364
Motivation
Pulsar Helm chart still installs version 2.10.2. Bump version so 3.0.0 is installed
Modifications
*Modified the chart.yaml file. *
Verifying this change

[ ] Make sure that the change passes the CI checks.

Thanks for your contribution @Suman-Mohan. We will need to fix CI before we can merge it.

Thanks for your contribution @Suman-Mohan. We will need to fix CI before we can merge it.

@michaeljmarshall Thank you for looking into this. Looks like this PR and few previous PR's  are all failing with below error message.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.

	Unfortunately, an error has occurred:
		timed out waiting for the condition

	This error is likely caused by:
		- The kubelet is not running
		- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

the apachepulsar/pulsar-all:3.0.0 image is not valid, see https://github.com/apache/pulsar/issues/20420 . It's better to postpone updating to 3.0.x until 3.0.1 has been published.

I'll follow up with a new PR for 3.0.2


Reduce the size of ensembles on disk

... especially but not only if we need to increase the number of plans collected.
There are 3 levels to this:

Using a more compact index representations of precinct geoids and district ids that track back to the user-friendly versions
Storing successive plans as deltas from the previous plan incrementally -- I can currently "pack" an ensemble in this way but only as a batch process after an ensemble is stored on disk which is how it currently needs to be stored in order to be read back in
Zipping the resulting file -- i.e., store the unzipped file in a temp location and zip it

Then reverse the process when reading an ensemble from disk.
This would allow us to store much larger ensembles in GitHub w/o having to resort to LFS (which can be very tricky, in my experience) and reduce transfer times (back from the cluster).

The maximum number of precincts is CA with 25,607. The maximum number of districts is the PA state house with 203.


Log warning: deprecated config paths

On run:
06:00:37  [WARNING]: Deprecated functionality
The `source-paths` config has been renamed to `model-paths`. Please update your
`dbt_project.yml` configuration to reflect this change.
06:00:37  [WARNING]: Deprecated functionality
The `data-paths` config has been renamed to `seed-paths`. Please update your
`dbt_project.yml` configuration to reflect this change.

DBT hub seems to have the 0.3.0 version, it looks like Git goes up to 0.3.1

Think a new release is needed on Github for 0.3.1 as reflected on main branch:
https://github.com/emilyriederer/dbtplyr/blob/d15eab017c4abc1d426ef25d9c64ac345479caa6/dbt_project.yml#L6
https://github.com/emilyriederer/dbtplyr/blob/d15eab017c4abc1d426ef25d9c64ac345479caa6/dbt_project.yml#L16-L21

Done! Thanks for opening the issue. I've been doing releases mostly for major changes, but hadn't considered how much this might be cluttering people's logs.


Update mkimage

Pin build to x86 since it is broken on ARM. Required for M1 users.

Looks like there is a build error, looking into it.
Making docker image rvt_solvers:latest using Dockerfile
../mkimage: line 20: [: -v: unary operator expected
[+] Building 0.4s (6/17)
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 1.76kB                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/rvt_base:latest                                                                                0.0s
 => [ 1/13] FROM docker.io/library/rvt_base:latest                                                                                0.0s
 => importing cache manifest from rvt_solvers:latest                                                                                0.0s
 => ERROR [ 2/13] RUN mkdir /home/root/minisat                                                                                0.2s
------
 > [ 2/13] RUN mkdir /home/root/minisat:
#4 0.184 /usr/bin/mkdir: cannot create directory '/home/root/minisat': No such file or directory

Apparently /home/root  didn't exist.   Spammed a mkdir -p /home/root, crossing fingers.

Brilliant, thanks for this!

Um, it doesn't work yet, why I pulled the PR. First issue is you need to set up a non-root user under Ubuntu or else change the paths on /root/  vs /home/root.  Second issue was a lot of compiler errors in Rust. Setting "-C codegen-units=1" fixed the termcolor error, but there was another memory out of bounds issue on rust demangle.

I'm not sure what is going on with /root vs /home/root - the docker building step should not be doing anything with either of those directories. Instead, everything should be built inside /home/${USERNAME} where ${USERNAME} is your account name. So if your login was 'chad', it should all be in /home/chad
In case this is going wrong, the key bits of code that do this are:
docker/mkimage
# The default user for a Docker container has uid 0 (root). To avoid creating
# root-owned files in the build directory we tell Docker to use the current user
# ID, if known.
# See
# https://github.com/googleapis/google-cloud-cpp/blob/a186208b79d900b4ec71c6f9df3acf7638f01dc6/ci/kokoro/docker/build.sh#L147-L152
readonly DOCKER_UID="${UID:-0}"
readonly DOCKER_GID="$(id -g)"
readonly DOCKER_USER="${USER:-root}"

and docker/base/Dockerfile
# Placeholder args that are expected to be passed in at image build time.
# See https://code.visualstudio.com/docs/remote/containers-advanced#_creating-a-nonroot-user
ARG USERNAME=user-name-goes-here
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
ENV USER_HOME=/home/${USERNAME}

# Create the specified user and group and add them to sudoers list
#
# Ignore errors if the user or group already exist (it should only happen if the image is being
# built as root, which happens on GCB).
RUN (groupadd --gid=${USER_GID} ${USERNAME} || true) \
  && (useradd --shell=/bin/bash --uid=${USER_UID} --gid=${USER_GID} --create-home ${USERNAME} || true) \
  && echo "${USERNAME}  ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

And then various docker/*/Dockerfile scripts do things like this at the start
USER ${USERNAME}
WORKDIR ${USER_HOME}

I'm guessing that the problem you are hitting is due to the way we (mis?)use docker.
Our process of building a docker container is intended to create a container that is customized for one specific user (usually the person who built it).
We haven't tried to make a more general/flexible container that can be shared with others – we're trying to strike a balance between having something that is easy for us to use when developing RVT and something that is easy to install on a range of platforms.
We also have not put much effort into creating small images that are suitable for sharing with others. (eg by copying the pattern in the KLEE Dockerfile of building all the binaries in one docker image and then COPYing the binaries over.
Instead, our docker images include full source, intermediate files, etc. so that it is easy to modify them and rebuild them as part of developing RVT.
This seemed like a good choice when we started because it forced us to use Docker on a day to day basis - which made it less likely that we would break Docker.
But, the downside is that we don't have something small and convenient for others to use.
Thoughts (and pull requests!) welcome on how to turn what we have into small, lightweight containers.

The M1 is macOS zsh by default, so it is probably passing environment information differently than Ubuntu/bash.
In other projects I set up a "builder" user in the base image that is added to the sudoers file. I'll resubmit when I figure out the rest of the Rust compile errors.


Make it possible to proxy consul as a configuration provider through sidecar

Configuring a simple spring-based sidecar is described here.
Configuring a spring boot application to use consul as a source of configuration is described here.
The problem, when creating a spring boot application to run behind a spring boot based sidecar, is that when a spring boot application using consul as the source for configuration properties runs behind a sidecar, requests to the k/v store in consul for configuration properties cannot be proxied easily by the sidecar.
In order for the proxying to happen, the spring boot application behind the sidecar would need to issue consul requests using an URL starting with "http(s)://localhost:<sidecar port>/consul/", but there's no way to insert the "/consul/" part in the URL. You can only configure the host and the port for consul, but not a path prefix.
(The motivation for such a setup is simple: a sidecar needs to be developed and maintained only once, and can include any kind of infrastructure-specific customizations, without the need to have those implemented and dragged along in each microservice that's part of a larger system. Without putting a sidecar in front of spring boot based microservices, you'd need to recompile and restest every single microservice when the changes you are doing are infrastructure-related, not specific to the business logic of the microservices themselves.)
The root cause is (IMO) in how the ConsulAutoConfiguration class constructs the ConsulClient. This eventually reaches the constructor ConsulRawClient(HttpTransport httpTransport, String agentHost, int agentPort), where there's no way available to inject a path.
Changing this is IMO simple, but I know too little about the entire codebase to submit a full patch or create a pull request. The change would need to happen to a large extent in the non-spring dependency consul-api, though. I'm adding this here, however, because the changes may not be important to that other project, but are required to be able to run a spring boot based application using consul to provide configuration behind a spring boot based sidecar.

the sidecar was built specifically for spring cloud netflix. Consul is meant to communicate through a local agent, a sidecar in itself, according to the hashicorp guidelines. Can you tell me why you want to talk to consul thru a sidecar?

Picture two environments: local and production.
No consul whatsoever on local. The service is able to talk freely to other services, whose URLs are configured in an application-local.properties. The developer runs all services needed on local in a single instance, with no consul and no clustered configuration whatsoever.
A clustered consul is available in production. The service/app you develop sits behind a sidecar in production and is completely cut off from the network (started so that it can only access localhost). It can only access the sidecar running on the same host/inside the same container via the sidecar port. In production, however, it should take its configuration from consul, however.

That sounds like a very non-standard way of doing things. The recommended way to run consul is as a local agent.
Nothing is keeping you from defining your own ConsulClient bean. ConsulClient is a third party library. If you want to make changes to it, you'll need to open an issue with them.


Copying ssh keys into the build environment...

When I run nanobox run

I get Copying ssh keys into the build environment...

It is trying to override on one of the key in my .ssh folder. Very strange.
Why do you think it is happening?

Since everything Nanobox runs is run inside one or more containers, we have to copy your SSH keys into your containers in order for your apps to have access to them. These keys are never placed anywhere that will see them leave your own computer, though, so there's not a security concern from that.

Error   : failed to execute hook (user) on 19c46ba52f448326d61df4e49d62777a22c71c81d6566729284a306846ce8c54: util:Exec:/opt/nanobox/hooks/user: bad exit code(1):
Context : failed to build the code -> failed to run the (build)user hook

So do I need to give 777 permission to my files in .ssh folder?

No, that would break all sorts of things. Let's dig in and get more details on what the actual error is. Can you re-run the nanobox task with -v added to it, then paste the entire output here?

Building runtime :
  Starting docker container :
  Preparing environment for build :
    - Copying ssh keys into the build environment...

    ! FAILED TO /DATA/VAR/HOME/GONANO/.SSH/CADDIECHALLENGE COPY.PEM.TXT !

    Exit
     1

    Command
     chown gonano:gonano /data/var/home/gonano/.ssh/caddiechallenge copy.pem.txt

    Output
     chown: cannot access '/data/var/home/gonano/.ssh/caddiechallenge': No such file or directory
     chown: cannot access 'copy.pem.txt': No such file or directory

Error   : failed to execute hook (user) on b639317ae8f75348d08625f33b60f163cf1b5997422ea30b7e8e6784f3d5975c: util:Exec:/opt/nanobox/hooks/user: bad exit code(1):
Context : failed to build the code -> failed to run the (build)user hook

caddiechallenge is an application that I developed longtime ago and has nothing to do with my current project.

Oh. Huh. It isn't properly quoting the filenames to avoid issues with spaces.
The fix here is to rename any files in your ~/.ssh so they don't have spaces, at least until we can fix that behavior.

Thanks. I never put space in my files, the one in there was dummy file, so I deleted. All good now. Thanks


initSdk not returning any response i.e no sucess or failure

Report
Plugin Version
cordova -plugin-appsflyer-sdk - 5.2.1
On what Platform are you having the issue?
e.g. android only.On Ios its working
and I am using ionic 4
What did you do?
I am using it for ionic . So as mentioned in documentation, i did below steps

Installed the plugin using
ionic cordova plugin add cordova-plugin-appsflyer-sdk
npm install @ionic-native/appsflyer

Added below code on when device ready
var options = {
devKey: 'XXXXXXXXXXX', // your AppsFlyer devKey
isDebug: true,
appId: 'XXXXXXXX' // your ios appID
};
this.appsflyer.initSdk(options).then(result=>{
console.log("success appssflyer");
},error=>{
console.log("error  appsflyer");
console.error(error);
}); //AppsFlyer

What did you expect to happen?
It should either sucess or some failure
What happened instead?
No response from initSdk function
Please provide any other relevant information.
I have looked at simlar issues raised here but didnt get anu helpful informatin to proceed. In ios its working good but issues is only with android.

I got the same issue.
I'm developing an Android app.
Inside Android studio I got:
 D/AppsFlyer: Executing... D/AppsFlyer: Starting Tracking D/AppsFlyer_5.2.0: Initializing AppsFlyer SDK: (v<IP_ADDRESS>1) I/AppsFlyer_5.2.0: getDeepLinkData with activity null I/AppsFlyer_5.2.0: Allowing multiple launches within a 5 second time window. I/AppsFlyer_5.2.0: sendTrackingWithEvent from activity: android.app.Application I/AppsFlyer_5.2.0: Trying to fetch GAID.. I/AppsFlyer_5.2.0: ******* sendTrackingWithEvent: Launch W/AppsFlyer_5.2.0: Permission android.permission.ACCESS_WIFI_STATE is missing in the AndroidManifest.xml I/AppsFlyer_5.2.0: IMEI was not collected. I/AppsFlyer_5.2.0: Android ID was not collected. I/AppsFlyer_5.2.0: AppsFlyer: first launch date: 2020-04-23_084357+0000 D/AppsFlyer_5.2.0: didConfigureTokenRefreshService=false D/AppsFlyer_5.2.0: No deep link detected I/AppsFlyer_5.2.0: AppsFlyerLib.sendTrackingWithEvent I/AppsFlyer_5.2.0: url: https://launches.appsflyer.com/api/v5.2/androidevent?app_id=com.XXXXXX.app&buildnumber=5.2.0 I/AppsFlyer_5.2.0: data: {"country":"IT","af_timestamp":"1587633258412","appsflyerKey":"s********************Y","af_events_api":"1","isFirstCall":"true","registeredUninstall":false,"cell":{"mnc":10,"mcc":222},"operator":"ho.","network":"WIFI","timepassedsincelastlaunch":"23","open_referrer":"","af_v2":"xxxxxxx","sig":"xxxxxx","uid":"xxxxxx,"isGaidWithGps":"true","lang_code":"it","installDate":"2020-04-23_082846+0000","app_version_code":"101153","firstLaunchDate":"2020-04-23_084357+0000","ivc":false,"model":"SM-A320FL","lang":"italiano","brand":"samsung","deviceType":"user","last_boot_time":1582484959486,"product":"a3y17ltexc","kef7366":"xxxx","deviceData":{"cpu_abi":"armeabi-v7a","build_display_id":"xxxxxxx","btch":"no","dim":{"size":"2","ydp":"309.638","xdp":"309.966","y_px":"1280","x_px":"720","d_dpi":"280"},"arch":"","btl":"100.0","cpu_abi2":"armeabi"},"date2":"2020-04-23_104222+0200","counter":"16","date1":"2020-04-23_102846+0200","advertiserId":"xxxx","advertiserIdEnabled":"true","af_v":"xxxxxxx","carrier":"ho.","disk":"610\/10165","af_preinstalled":"false","iaecounter":"2","sc_o":"p","tokenRefreshConfigured":false,"sdk":"26","appUserId":"xxxxxx","app_version_name":"0.0.23","device":"a3y17lte","platformextension":"android_cordova","cksm_v1":"xxxxx"} I/System.out: (HTTPLog)-Static: isSBSettingEnabled false     (HTTPLog)-Static: isSBSettingEnabled false I/AppsFlyer_5.2.0: response code: 404
https://launches.appsflyer.com is unreachable from my browser, I'm in italy.
Maybe this helps,
Thanks in advance

@mineexcellence @marc0n3 I'm checking it

@mineexcellence please run the init function like that:
this.appsflyer.initSdk(options).then(result=>{    console.log(result);    });
and send me the log.
@marc0n3 please send me your devkey and your app_id for further check to<EMAIL_ADDRESS>

Thanks for your reply.
I have responded to your email with detais.

@marc0n3
try this and let me know if it helped

Thank you @amit-kremer93!
It was my fault, to make log work with android studio debug app I have to create a new app in your platform of type "Pending approval or unpublished"

@amit-kremer93 actually, logging is happening but no result nor error comes to javascript as result of init.
`   instance.startTracking(c.getApplication(), devKey, new AppsFlyerTrackingRequestListener() {
@Override
public void onTrackingRequestSuccess() {
callbackContext.success(SUCCESS);
}
                @Override
                public void onTrackingRequestFailure(String s) {
                    callbackContext.success(FAILURE);
                }
            });`

is executed but the debugger is not stopping inside onTrackingRequestSuccess nor onTrackingRequestFailure.
Thanks


How to load Material Design Icons?

What is the best way to load the material design icons? Below is a plain HTML example.
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

Was wondering the same thing


zip files are read as docx files

when you parse a zip file it reads as a docx file because they share the same magic number, same with ppx and xlsx. is there a way to identify them individually?
thanks!

@jmripper it looks like I can do that but I'll have to add an async method. I've wanted to refactor it anyway, so I'll add this feature.


Parametric control types

Pull request to address #359.
Core Changes:

Change _ControlTerm to AbstractControlTerm[_Control];
Allow type hinting of the form ControlTerm[AbstractBrownianPath]. Provided demonstration in _solvers/milstein.py. Will all relevant solvers want updating?

Additional Changes:

Bumped ruff and pyright pre-commit versions;
Corrected typos in _solvers/milstein.py.

Known Issues:

In test/test_term.py:133  the following type error is thrown (not sure why):

test/test_term.py:133:46 - error: Argument of type "(t0: Unknown, t1: Unknown) -> tuple[Array]"
cannot be assigned to parameter "control" of type "_Control@ControlTerm" in function "__init__"
    Type "(t0: Unknown, t1: Unknown) -> tuple[Array]" cannot be assigned to type "AbstractPath"
      "function" is incompatible with "AbstractPath" (reportArgumentType)

In diffrax/_term.py:266 the following type error is being suppressed (as I can't find a nice way to avoid it):

diffrax/_term.py:266:14 - error: Cannot assign member "control" for type "AbstractControlTerm[_Control@AbstractControlTerm]*"
    Expression of type "AbstractPath | _CallableToPath" cannot be assigned to member "control" of class "AbstractControlTerm[_Control@AbstractControlTerm]"
      Member "__set__" is unknown
      Type "AbstractPath | _CallableToPath" cannot be assigned to type "_Control@AbstractControlTerm" (reportAttributeAccessIssue)

I think this looks excellent!

Allow type hinting of the form ControlTerm[AbstractBrownianPath]. Provided demonstration in _solvers/milstein.py. Will all relevant solvers want updating?

So for this, I'm now thinking that what we really need is a way to indicate the type of the control directly in AbstractTerm, not just AbstractControlTerm. The fact that we had _ControlTerm was only ever just an implementation detail.
Put another way, from a user perspective, then ideally they should only need to know about AbstractTerm and its concrete subclasses; I don't want to introduce a whole abstract hierarchy!
It's a bit odd, but would something like this work do you think?
class AbstractTerm(eqx.Module, Generic[_Control]):
    ...  # doesn't actually use _Control

class _AbstractControlTerm(AbstractTerm[_Control]):
    control: _Control
    ...

(possibly with a pyright: ignore to prevent any complaints about an unused generic parameter?)
I'm not completely sold on the design here, so happy to hear alternate suggestions.

In test/test_term.py:133 the following type error is thrown (not sure why):

Ah, this is due to a quirk of __init__ methods and inheritance. This takes a small amount of explanation.
Dataclasses will create a new __init__ method on subclasses, even if an __init__ method already exists in the parent class. (I.e. dataclasses do not inherit __init__ methods.) So in this case pyright thinks that is what is happening, and that ControlTerm.__init__ is being created just by looking at the fields... including control: _Control. (And not control: Union[AbstractPath, Callable].
In practice we've found that this is a bit awkard ergonomically, so Equinox deliberately diverges from standard dataclass behaviour here, by just inheriting __init__ methods as normal if one is provided. (If you're curious, Equinox has precisely two divergences from dataclasses: the one above, and the fact that you can write self.foo = bar inside __init__ methods, rather than requiring the object.__setattr__(self, "foo", bar) required with regular frozen dataclasses.)

In diffrax/_term.py:266 the following type error is being suppressed (as I can't find a nice way to avoid it):

I've bumped into versions of this one before. It's an annoying case with generics + fields + __init__ methods that I've not found a nice way to resolve. I think adding a pyright: ignore annotation is indeed appropriate here.

Thank you for the information, and explanations. They will save me from many future headaches.
Regarding the design of the type hinting for AbstractTerm. An alternative approach would be to type hint the output type of contr. For example, with the new UnsafeBrownianPath, you could do something like:
class AbstractTerm(eqx.Module, Generic[_Control]):
    def contr(self, t0:RealScalarLike, t1:RealScalarLike) -> _Control:
        ...

# Restrict to control which evaluate to provide a LevyArea.
term: AbstractTerm[LevyArea]
# This would be valid
term = ControlTerm(UnsafeBrownianPath(..., levy_area="space-time"))
# This would be invalid.
term = ControlTerm(UnsafeBrownianPath(...))

This approach is more permissive than hinting on the paths themselves. It is also closer to my original problem, where I don't really care what path the user provides, only that the control evaluates to a certain shape.
The downside is that you might need to define new types for distinguishing between different controls.

Ah, that's a nice alternative solution. Indeed it does mean that there's no way to say something like 'this solver only accepts Brownian motions', since our existing Brownian paths just return normal JAX arrays. Another possible difficulty is that I'm not sure how easy this will be for either runtime or static type checkers to pick up on.
However on the plus side, it's something which really does make sense for AbstractTerm itself -- and arguably a point of Diffrax is that you shouldn't need to distinguish between different types of control, with the our term system deliberately erasing any difference in types there. So I think on balance I like your suggestion better - let's go with that!
I think one change that we would want to introduce is an AbstractLevyVal, so that we can distinguish between the different kinds of Levy area that we might want. The goal I have in mind here is that if we're going to do parameterisation by control, then we should be able to replace this (from #344):
https://github.com/patrick-kidger/diffrax/blob/59778bdc285aa6ddbc8068c9344175fb06bb71fe/diffrax/_solver/srk.py#L285-L301
with something more principled.

Implemented so far:

Generic typing of AbstractTerm.contr
Generic typing of AbstractPath.evaluate and AbstractPath.derivative.

Remaining:

Abstraction of LevyVal.

Known Issues:

test/test_term.py:135 from the original comment.
Unfortunately it doesn't appear that any of mypy, pyright or beartype can spot the type violation in the example test/test_term.py:67.  I've tested with reveal_type and the Generic term remains as Unknown.

Unfortunately it doesn't appear that any of mypy, pyright or beartype can spot the type violation in the example test/test_term.py:67.

It's not obvious to me what the error is supposed to be here? ControlTwo() has its return type annotated as LevyVal, which is consistent with the term_typed: diffrax.ControlTerm[diffrax.LevyVal] annotation.
For what it's worth, when it comes to tackling the fact that our Brownian motions switch their return type based on an __init__ argument, I think I've managed to figure out how to get pyright to check that (by adding some dummy annotations for __new__):
from typing import cast, Generic, Literal, overload, TypeVar, TYPE_CHECKING, Union

T = TypeVar("T")

class Foo(Generic[T]):
    def meth(self) -> T:
        ...

class Bar(Foo[T]):
    if TYPE_CHECKING:
        @overload
        def __new__(cls, arg: Literal["use_int"]) -> "Bar[int]":
            ...

        @overload
        def __new__(cls, arg: Literal["use_str"]) -> "Bar[str]":
            ...

        def __new__(cls, arg: Literal["use_int", "use_str"]):
            if arg == "use_int":
                return cast(Bar[int], None)
            elif arg == "use_str":
                return cast(Bar[str], None)
            else:
                assert False

    def __init__(self, arg: Literal["use_int", "use_str"]):
        self.arg = arg

    def meth(self) -> T:
        if self.arg == "use_int":
            return 2  # pyright: ignore
        elif self.arg == "use_str":
            return "hi"  # pyright: ignore
        else:
            assert False

def f(x: Foo[int]):
    pass

f(Bar("use_str"))  # this produces an error with pyright!

So I've managed to avoid the error in test/test_term.py:136 by utilising a property that calls _callable_to_path on the _control attribute.
I've also simplified the type checking tests and added a placeholder for beartype runtime type checking, which can be enabled if https://github.com/beartype/beartype/issues/238 is implemented.  Without this feature there will be no way to perform checking of any control typed as "ControlTerm[PyTree[...]]", as static checking evaluates such hints to Unknown.
That said, the hints will still be useful as documentation.
I like your trick for the init argument dependant hints!
Is there any reason why use_levy and levy_area both need to exist If we had types like these:
class BrownianIncrement(eqx.Module):
    dt: ...
    W: ...

class SpaceTimeLevyArea(BrownianIncrement):
    H: ...
    bar_H: ...
    K: ...
    bar_k: ...

Maybe not exactly like this as they don't obey concrete is final?

Oh for completeness -- regarding the BrownianIncrement and SpaceTimeLevyArea types, this is how you'd write them in a concrete-means-final way:
class AbstractBrownianReturn(eqx.Module):
    dt: AbstractVar[...]
    W: AbstractVar[...]

class BrownianIncrement(AbstractBrownianReturn):
    dt: ...
    W: ...

class SpaceTimeLevyArea(AbstractBrownianReturn):
    dt: ...
    W: ...
    H: ...
    bar_H: ...
    K: ...
    bar_k: ...

if need be you could also introduce an AbstractLevyArea that sits between SpaceTimeLevyArea and AbstractBrownianReturn in the type hierarchy, if you wanted to additionally have another kind of FooLevyArea type.
(Or you could just keep just AbstractBrownianReturn, and then just use an ad-hoc supertype like Union[SpaceTimeLevyArea, FooLevyArea] rather than a named supertype like AbstractLevyArea -- this is particularly useful in cases where you don't control the type hierarchy because it's in someone else's library.)

Also also, would it be possible to add checking for this type into the existing runtime term_structure check here:
https://github.com/patrick-kidger/diffrax/blob/8aafefcd081d51240ac865662a1767ca999d2455/diffrax/_integrate.py#L80
?
Probably by doing a jax.eval_shape(term.contr, ...) and checking the return type.
That way we can have diffeqsolve enforce the validity of term_structure (and we don't depend on beartype to do so).

(let me know when you next want my input on this PR by the way)

I think almost everything should be there now. The primary additions since the last review are:

Corrections to directly address the review comments;
The addition of a control check in _integrate.py, along with a dedicated test in test_integrate.py;
The addition of AbstractLevyArea and the subclasses TimeLevyArea and SpaceTimeLevyArea.
Updated Brownian paths to expect one of the new AbstractLevyArea types for the levy_area.

TimeLevyArea might be better noted as BrownianIncrement. However, my reservation is that even if the path evaluates to a PyTree[Array], semantically, we still expect this array to represent a Brownian increment of the path?

Regarding #370, I'm happy to include vector_field typing in this pull, and agree with your suggested format forAbstractTerm[_VF, _Control].

Hey @tttc3 if you want a somewhat clearer overview of what the VBT is doing with Levy Areas, I have a paper in the works here:
https://www.overleaf.com/read/zqvmccrdwzsy#ccc24b
I will try to give this thread a bit more attention once I figure out how eqxi.scan works 😅

TimeLevyArea might be better noted as BrownianIncrement. However, my reservation is that even if the path evaluates to a PyTree[Array], semantically, we still expect this array to represent a Brownian increment of the path?

In fact the Brownian increment is a space Levy Area if anything. Time Levy area would literally just be t.

I think, with the exception of the discussion on the LevyArea types, my recent commits should address the review comments. The only remaining unimplemented feature is the vector field type hinting for AbstractTerm?

I've now added draft vector field typing support.

Heads-up that I've just (a) merged #378 into dev, and (b) switched the target branch on this PR to dev. The conflicts now being reported are just the changes from that PR -- I think just rebase on top of dev and things should work.

I've added comments to, and attempted to simplify the logic in, the term_compatibility check. I've also minimised the diffs where possible and extended the tests to cover the types for which better_isinstance is needed. Providing the new tests are sufficient, I think this is now (hopefully) feature complete.

Okay, take a look at the parametric-tweaks branch I've just pushed. It's not 100% ready because (a) it's completely untested -- I gotta dash for now -- and (b) I want to add some tests for the tweaks I've made to the term compatbility. To explain what's going on here:

I don't think the single-argument return from get_args is ever possible; Python demands that all type annotations be filled.
However, they can be filled with TypeVars, so I've added a check for that.
The y should be tree-mapped alongside the terms. This is admittedly an entirely undocumented point that I need to make clearer somewhere at some point. (But take a look at SemiImplicitEuler for an example of this.)

Aaaaand opened https://github.com/tttc3/diffrax/pull/1 with these changes.

And merged! Gosh, that ended up being much harder than we all thought it would be, huh?
Thank you for the contribution, and great work putting this all together. I'm really happy to have this in, it's a huge improvement to the codebase. :)

I just noticed that at some point we lost the reportUnnecessaryTypeIgnoreComment = true from the pyproject.toml, so the contrapositive static type checking test in test_terms aren't actually doing anything.

Ah, agreed throughout. Can you send a PR?


version 0.0.2 with push notifications support

It's preferable to create a new repository only with the example code


fix(addons/karpenter): merge user provided settings.aws values with addon provided values.

Issue #, if available:
Closes #802
Description of changes:

Added initially failing unit test demonstrating the issue.
Made test green by merging user provided values with the addon provided values.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests

@shapirov103 Interesting. Am I able to view logs of the e2e tests anywhere?
Should I rebase this branch onto the latest changes from main?

@BradenM there was a failure from the previous run, which failed to deprovision the stack. So subsequent runs failed. Now it is addressed, I will rerun.

/do-e2e-tests


Webpack 4 + jQuery + jQuery Migrate

I'm facing an issue while moving from Webpack v3 to v4, my app is quite big and has an old part that relies on jQuery + jQuery Migrate, in webpack 3 it was working all OK as follows:

jQuery + jQuery Migrate are imported in a common.js entry file that is loaded for all pages.
In all other modules (used by other entries) we only import jQuery

In v4 I've been playing with configurations and nothing works for me, basically what happens is that in any other entry file I get an error ($(...).live is not a function or $.browser is undefined) because migrate is not loaded in this case, I do not want to import migrate in all modules where I import jQuery, I just need that jQuery + jQuery Migrate are loaded together always, ideas? What should be the configuration for splitChunks?
Also seems that jQuery is not reused everywhere, with Webpack 4 I found a copy of it in all entry files, so I think Webpack 4 is not doing its magic

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

Hi
This is a small repository showing the problem: https://github.com/juan-bastidas/webpack-4-jquery-issue
To recap:

This works OK using webpack v3
In v4 Jquery gets copied in all entry files
Do not want to import jQuery migrate in all my modules, I only imported it in common.js bundle and it was just enough to make it work
Build this repository, load page1.html and note the error in console about $(...).live not defined
I've played with many different splitChunks configurations to fix the problem but no luck

Thanks

Any update on this issue?
I got the same problem when SplitChunksPlugin does not work like CommonsChunkPlugin in webpack v3 and causes TypeError: $(...).DataTable is not a function
here is my example: https://github.com/mozartilize/test_webpack_4

/cc @sokra

Any updates on this one? It still looks to be an issue.


Fixed embedding data not working on model objects ending with an s

References

Fixes #9240

Description
Standardised the repository & rest controller beans, by using the plural name for both of them. This automatically fixes the problems with some endpoints as described in #9240
Instructions for Reviewers
List of changes in this PR:

Made the RestModel#getTypePlural abstract, this way every rest object has to set the plural name correctly in it's class
Added the PLURAL_NAME variables in all the rest object classes with the correct translation
Refactored all the @Components to use the PLURAL_NAME variable instead
Removed the usages of makeSingular in Utils#getResourceRepository & Utils#getLinkResourceRepository
Replaced all the usages of English#plural that were used on RestModel#getType/RestModel#NAME with RestModel#getPluralType/RestModel#PLURAL_NAME
The HarvestedCollectionRest object uses collections as value for NAME & PLURAL_NAME, this is problematic because CollectionRest also uses the value collections for PLURAL_NAME. So I change the NAME & PLURAL_NAME values from HarvestedCollectionRest to harvestedcollection & harvestedcollections respectively.
Fixed the tests using incorrect endpoints. Previously both /server/api/core/site/ & /server/api/core/sites/ for example were supported because of this bug, but now only the plural form exists anymore. Angular already only used the plural form so no changes were needed there
Did some other minor refactoring

Standardised the name of variables & to some @RequestMapping
REGEX_REQUESTMAPPING_IDENTIFIER_AS_UUID

To test this you should verify that you can now embed data on the process endpoint like this: /server/api/system/processes/1?embed=files
Also verify that everything still works like it's supposed to in Angular
Checklist

[ ] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[x] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

before to be able to merge, we also need the small REST contract PR

I'm realizing as well that, because of the larger REST Contract modification, this "bug fix" may be difficult to backport to 7.6.x.  Arguably, as a bug fix, we should find a way to backport this as well.  But, for now, I'll remove the port to dspace-7_x label as this bug may only be fixable in 8.0

@alexandrevryghem : I believe this needs to be updated on latest main, as I'm now encountering compilation issues when I try to run this locally.  The compilation issues are likely from #8280 as it added some new model objects that aren't updated to align with this PR.
Also, it appears that @abollini 's feedback hasn't been addressed yet?  Could you either respond to the feedback or address it?
Trying to get this moved forward so that related work can be merged that requires this.


Avoid nil value in runAsGroup in injection template

Fix Jira customer case: OSSM-4632

/retest

@luksa Done, please take a look

/help


Valid replay crashes console application

I've attached one of my replay files causes a crash in my console app in case you're interested.  Fortnite replays it without a problem.
UnsavedReplay-2022.01.22-20.04.48.zip

Hi @stevegee58 , I seems to work fine for me on both the master branch and the latest feature/di branch. What kind of error do you get?

Interesting.  I had another file that crashed but after rebuilding the whole solution it worked.  In this case rebuilding didn't help.
I'm using Visual Studio Community 2019.
Here's the crash output:
fail: ConsoleReader.Program[0]       failed ReceivedRawBunch, index: 448       System.NullReferenceException: Object reference not set to an instance of an object.          at FortniteReplayReader.Models.NetFieldExports.HealthSet.set_<HealthBaseValue>k__BackingField(INetFieldExportGroup , Object )          at Unreal.Core.NetFieldParser.CreateType(String group) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\NetFieldParser.cs:line 577          at Unreal.Core.ReplayReader1.ReceiveProperties(FBitArchive archive, NetFieldExportGroup group, UInt32 channelIndex, INetFieldExportGroup& exportGroup, Boolean enablePropertyChecksum, Boolean netDeltaUpdate) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 1619
at Unreal.Core.ReplayReader1.ReceivedReplicatorBunch(DataBunch bunch, FBitArchive archive, Nullable1 repObject, Boolean bHasRepLayout) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 1278
at Unreal.Core.ReplayReader1.ProcessBunch(DataBunch bunch) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 1241          at Unreal.Core.ReplayReader1.ReceivedSequencedBunch(DataBunch bunch) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 1104
at Unreal.Core.ReplayReader1.ReceivedNextBunch(DataBunch bunch) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 1096          at Unreal.Core.ReplayReader1.ReceivedRawBunch(DataBunch bunch) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 954
at Unreal.Core.ReplayReader1.ReceivedPacket(FBitArchive bitReader) in C:\Users\steve.guercio\Desktop\stuff\FortniteReplayAnalyzer\FortniteReplayDecompressor\src\Unreal.Core\ReplayReader.cs:line 2098 f

The error message helped me find the issue ;)
Basically, these lines should be done for both 'normal' export groups and handle export groups: https://github.com/Shiqan/FortniteReplayDecompressor/blob/master/src/Unreal.Core/NetFieldParser.cs#L198
I've committed a fix to a feature branch.
Let me know if you want it on master instead :)

Thanks a lot!  Do I need to install .NET 6.0?  I only have 5.0 with VS 2019

I installed VS 2022 and got your feature branch to build but the PlayerData field in the replay appears to be empty.
Maybe committing the fix to master would be best for now.

Should release in a bit :)

Yay it worked!  Thanks!


rebuild and fix test

rebuilt for some new MIMEs.
font/otf was needed in test per:
https://github.com/jshttp/mime-db/commit/3d7616db76bbd3423ba3502d4c4ec121cc00b8b1

I should also probably make a PR to https://github.com/pillarjs/send after this gets published so it propagates out to majority of users.

Hey, thanks!
For future reference, I would expect this commit to also have a package.json diff to reflect the change in mime-db version (but I'll do that on my end, so no worries.)

Published as v1.4


Possible error in util/jwt

It looks like the verify method in jwt.js uses the same test for "exp" as it does for "nbf". Is this correct?

Hi @andymans !
I think the method comparing it to the "now" is correct.
@Code-Hex
What do you think about it?

Closing. I agree with you!


Patch onStartReached improvement

Details
Add a patch for upstream change https://github.com/facebook/react-native/pull/44287.
Fixed Issues

$ https://github.com/Expensify/App/issues/39674
PROPOSAL:
Tests

[x] Verify that no errors appear in the JS console
[x] Verify that loadNewerChats is only called once when opening a chat

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console
[ ] Verify that loadNewerChats is only called once when opening a chat

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

I noticed that in some cases onStartReached is called more than once, I can reproduce this on few reports and only after sign out / sign in. It may be due to some other bug
https://github.com/Expensify/App/assets/16493223/752289ec-ecb2-4a98-b8ac-111135e512d6
https://github.com/Expensify/App/assets/16493223/bf3a2cd3-bc54-44c9-8370-4ce4eb2a65f1

It kind of looks like there is one initial message cached, then the rest are loaded. Seems like correct behavior since after new messages are added at the start of the list we want to call onStartReached again. Those call are still not needed but should be covered by the change in https://github.com/Expensify/App/pull/41053.

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/16493223/e756023a-c635-49db-8c68-ac342d605369

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/16493223/f219770b-4858-462f-8ea5-12f2a6c4011f

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/16493223/ff251412-ee01-4a38-84f8-26f702da5aa2

MacOS: Desktop

https://github.com/Expensify/App/assets/16493223/d74a16f4-3eee-4e4a-bfab-30b62ccce1ef

🚀 Cherry-picked to staging by https://github.com/francoisl in version: 1.4.67-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to staging by https://github.com/francoisl in version: 1.4.68-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/francoisl in version: 1.4.67-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.68-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Naming function parameter as "input"

Motivation
https://github.com/bessagroup/F3DASM/blob/f14330ea61d928f19b3b866a380611822055639a/src/f3dasm/design/experimentdata.py#L93
def add_numpy_arrays(self, input: np.ndarray, output: np.ndarray):
....

The work input is a keyword

Suggestion
Would be better to change it from  "input" to another name as per our Code of conduct.
Additional context (optional)
No response

I've fixed this issue and created a pull request to the pr/1.0 branch. I added @SNMS95 as a reviewer!


Remove .NET 2.0

Signed-off-by: Mendy Baitelman<EMAIL_ADDRESS>Description
Removes .NET 2.0
Issues Resolved
Fixes #751
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[X] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Thanks @mbaitelman


Data formats are not included

Data formats are not considered, for another languages (not English), as it happens to numbers or currencies.
Here is an example in Spanish.

@ValentinH, maybe didn't you understand this trouble?

Sorry, I missed this issue. However, I don't really understand what's the issue. Also your demo isn't working as it's missing the step and precision to work with floating numbers.

The problem is that each culture has an own system of data writing. Your implementation (and many others) is USA-centrist. To avoid this, AngularJS solutions it with $locale service.
My example is only to demostrate differences between native filters (right way) and your slider (wrong). Don't care floatings!

I don't really like the way you request help... But I'm in a nice mood today so I'll help you anyway:
The default is USA-centrist but we provide a translate function that enables the developer to choose how values are displayed on the slider.
Here's a demo: http://jsfiddle.net/xctrqyjb/


Add circuit dial failed events

Circuit dial failed events can be used to give more detailed information about dial failures so we can see if it's limited to a specific service or services or to a set of end users.

Completed


Instance segmentation does not work to show objects with different colors

Hello. I was checking your code and it seems it is doing an instance segmentation with bounding boxes.
https://github.com/IDEA-Research/Grounded-Segment-Anything/blob/main/grounded_sam_simple_demo.py
But then I could not see there a visualization of the segmentation of each instance of the same class. I saw your example on "bear" when it segment each bear with different color and I was supposing it is an instance segmentation.
For for trees I received a segmentation, but all of them with the same color. It seems a semantic segmentation.
Can you please recommend me what I should modify in order to get each tree with a different color segmented.

Hello. I was checking your code and it seems it is doing an instance segmentation with bounding boxes. https://github.com/IDEA-Research/Grounded-Segment-Anything/blob/main/grounded_sam_simple_demo.py
But then I could not see there a visualization of the segmentation of each instance of the same class. I saw your example on "bear" when it segment each bear with different color and I was supposing it is an instance segmentation.
For for trees I received a segmentation, but all of them with the same color. It seems a semantic segmentation. Can you please recommend me what I should modify in order to get each tree with a different color segmented.

Sorry, we use supervision repo to simplify the demo code, which not output different color for each instance, you can try to use our original code to generate different color: https://github.com/IDEA-Research/Grounded-Segment-Anything/blob/main/grounded_sam_demo.py

@rentainhe thank you very much. I removed the part that doing a box annotation to get only mask segmentation.
annotated_image = mask_annotator.annotate(scene=image.copy(), detections=detections)
#annotated_image = box_annotator.annotate(scene=annotated_image, detections=detections, labels=labels)
In attached you can see the example of extracted one instance. How I can keep the RGB part of segmented instances and all other parts just make black? How to extract the pixel of each instance and make a visualization like in this example?
Thank you very much in advance!!!

@rentainhe I found a way how to do it, the solution is below and it looks good for me!
mask = np.asarray(Image.fromarray(detections.mask[0]))
expanded_mask = np.expand_dims(mask, axis=2)
result= expanded_mask * np.asarray(image)
result_img = Image.fromarray(result.astype(np.uint8))
plt.imshow(result_img)
plt.axis('off')
plt.show()