Handling confirmation_token invalid for old confirmation token

When user first registers/Sign up a confirmation token is generated and need to confirm his account from email works absolutely fine.
Case2: When user requests "Resend Confirmation instructions" again, new confirmation token will be generated and sent to mail.
However, when user clicks on old confirmation token mail instead of new... it says "Confirmation token is invalid".
Can i know how better we can handle it further..

@arun-manthani It is meant to be, to have one valid confirmation token at a time. On requesting new token, old one is overwritten on the DB.

Can i know how better we can handle it further..

You mean to handle multiple confirmation tokens or the error message that the user sees when they click the old link?

Please use the mailing list or StackOverflow for questions/help, where a wider community will be able to help you. We reserve the issues tracker for issues only.


[SPARK-39326][PYTHON][PS] replace "NaN" with real  "None" value in indexes

What changes were proposed in this pull request?
Since pandas 1.4 https://github.com/pandas-dev/pandas/commit/aaba0efd630ed607c5aaaef7b5f43d2fe90ca81c

Series.repr() and DataFrame.repr() no longer replace all null-values in indexes with “NaN” but use their real string-representations. “NaN” is used only for float("nan")

We need to fix the doctest in PS
Why are the changes needed?
follow pandas behavior
Does this PR introduce any user-facing change?
Yes, follow pandas behavior
How was this patch tested?
CI passed

We need to cleanup all these doctest after bump pandas to 1.4. will address together in SPARK-39150.

also cc @HyukjinKwon @xinrong-databricks ready for review

Merged to master


add ATLAS compact and netCDF testing modules

Codecov Report

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

@@           Coverage Diff           @@
##             main      #28   +/-   ##
=======================================
  Coverage        ?   75.99%
=======================================
  Files           ?       41
  Lines           ?     3687
  Branches        ?      348
=======================================
  Hits            ?     2802
  Misses          ?      773
  Partials        ?      112

Flag
Coverage Δ

#unittests
75.99% <0.00%> (?)

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

Continue to review full report at Codecov.

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


documentation all wrong ?!

After scratching my head for quite a while (trying to) follow the docs, I found that whereas it says:
<MainSidebar.Menu.Header> - A sidebar menu header. Good for dividing the sidebar into groups. Renders text in a <li>.

Props
title (string) - The header text.

what actually it should say is the props is children !
e.g.
<MainSidebar.Menu.Header>My Title String</MainSidebar.Menu.Header>

<MainHeader.Logo> is also documented as taking props, but doesn't
So now I'm having to check everything else as I go.

Hi, thanks for catching that. It seems the docs might have gotten a little out of date in some places. I'll fix the two errors you spotted -- let us know if you find more discrepancies.

It looks like you're right. I cannot give a time estimate for when this will get fixed (sorry) but feel free to open a PR!

Also @jonmpqts thoughts?


Can't create an agent, please help.

I ran your installation. I get the webpage, the buttons take me to pages, but it does not create an agent, so cannot create anything else. This functionality does not need 8Gb, so what am I missing?

Most probable cause is that your webpage is not communicating with API docker container. You can check this, in browser dev tools and in network tab you will see that the page fails to load swagger.json file from the API container. You need to have properly configured .env file in your project root, before you start docker-compose up.

@macasas sorry that your default install isn't working for you, we're more than willing to help you get it running if you are willing to work with us.
What operating system are you running?
Did you download a release or pull from master?
Are there any errors in the docker-compose logs?
Are there any errors in the webpage console?
What webpage are you going to that is dead?
@Johnz86 running locally on Unix or Mac there are no configuration changes necessary for most people. Or has your experience with it shown you otherwise?

@wrathagom  I noticed this behaviour first, when I tried local setup on my Windows 7 and docker-machine. The UI started and clicking on the create button did nothing. I noticed the errors in browser dev tools network tab. After some investigation I did setup a proper .env file and everything worked. Then I tried do similar stuff in AWS cloud VM. I allowed UI port for docker container and forgot to allow API docker container port for public acess, I got the same UI behaviour. After allowing the API container port for public access it worked like a charm.

On 28 April 2018 at 13:48:31, Caleb M. Keller<EMAIL_ADDRESS>wrote:
@macasas https://github.com/macasas sorry that your default install isn't
working for you, we're more than willing to help you get it running if you
are willing to work with us.
What operating system are you running?
OSX 10.12
Did you download a release or pull from master?
Followed instructions on your github page
Are there any errors in the docker-compose logs?
Just installed Docker, just to install your application, no idea where any
logs are, cannot see anything in the menus.
Are there any errors in the webpage console?
Failed to load swagger.json, @Johnz86 was on the money, despite being on
Windows.
[Log] [HMR] connected
What webpage are you going to that is dead?
It loads the page, the button highlights, but it just doesn’t do anything
when trying to create an agent.
@Johnz86 https://github.com/Johnz86 running locally on Unix or Mac there
are no configuration changes necessary for most people. Or has your
experience with it shown you otherwise?
Looks like I’m not most people, because I’m on Mac and its showing Johnz86
swagger.json error
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385169194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jAmUfNYa40DtnBlDMObnMO4lu-kutks5ttFcOgaJpZM4TrPVQ
.

@macasas Can you tell me what the output of docker ps -a is?

daves-air:~ dave$ docker ps -a
CONTAINER ID        IMAGE                                 COMMAND
CREATED             STATUS                    PORTS
NAMES
b31f00b47e56        samtecspg/articulate-ui:repo-head     "yarn start"
18 hours ago        Up 18 hours               <IP_ADDRESS>:3000->3000/tcp
articulate-071_ui_1
7c1fc1506926        samtecspg/articulate-rasa:repo-head   "./entrypoint.sh
sta…"   18 hours ago        Up 18 hours               <IP_ADDRESS>:5000->5000/tcp
articulate-071_rasa_1
7c8022ca6cfd        samtecspg/articulate-api:repo-head    "node start.js"
18 hours ago        Up 18 hours (unhealthy)   7500/tcp,
<IP_ADDRESS>:8000->8000/tcp
articulate-071_api_1
696aabd72cc3        samtecspg/duckling:<IP_ADDRESS>            "/bin/sh -c
'stack e…"   18 hours ago        Up 18 hours
<IP_ADDRESS>:8500->8000/tcp
articulate-071_duckling_1
07efee555cce        redis:4.0.6-alpine
"docker-entrypoint.s…"   18 hours ago        Up 18 hours
<IP_ADDRESS>:6379->6379/tcp             articulate-071_redis_1
On 28 April 2018 at 17:42:20, Caleb M. Keller<EMAIL_ADDRESS>wrote:
docker ps -a

And doing a search finds nothing for swagger.json or even swagger
I don’t know where this file is supposed to be,
all I can find is a swagger.yml file
On 28 April 2018 at 18:23:47, David MacDougall<EMAIL_ADDRESS>wrote:
Failed to load resource: net::ERR_EMPTY_RESPONSE
:8000/swagger.json
In Chrome I get the same message, and then noticed it is saying 8000, not
3000
Is that the issue?
On 28 April 2018 at 18:22:00, David MacDougall<EMAIL_ADDRESS>wrote:
http://localhost:3000/documentation Uuups we didn't found that!
and this message would be better as "Ooops, we didn’t find that!"
yes, I am using localhost:3000
On 28 April 2018 at 18:19:34, Caleb M. Keller<EMAIL_ADDRESS>wrote:
@Johnz86 https://github.com/Johnz86 I remember your issue, our support
for docker-machine was non-existent. Glad you pointed it out and got your
install running. I've opened #178
https://github.com/samtecspg/articulate/issues/178 and #179
https://github.com/samtecspg/articulate/issues/179 to try and make it
more obvious when things aren't working right specifically with the API and
we'll link to docs for common troubleshooting problems. This one is
interesting because he's essentially running it the way we run it, but
having your kind of problems. Suggests something is different about the
network setup.
@macasas https://github.com/macasas everything is running, so that is a
good sign.
when you try to go to http://localhost:3000/documentation do you get
anywhere? When accessing the UI are you going to localhost or some local ip
like <IP_ADDRESS>?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385187672,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jAte6jZEw4qXASwSfsQcRYghjHSm-ks5ttJaWgaJpZM4TrPVQ
.

I had the documentation address wrong, can you access http://localhost:8000/documentation?
It's interesting that the error is just Failed to load resource: net::ERR_EMPTY_RESPONSE :8000/swagger.json with no host before it. We're getting closer to the root problem.

@macasas I know what the problem is. I am going to try and tip up instructions on how to unwind it. Give me a little bit to boil it down.

@macasas there is a problem in the source code file that you downloaded. When we made the release, we didn't update it to point to the 0.7.1 tag. It instead points to master, but we're making port changes in master. That's where the problem is originating.
So first let's clean up the old install. From a terminal in the articulate-0.7.1 folder enter the following:
docker-compose down

Once that is finished delete the entire articulate-0.7.1 folder and download the file from this page labeled articulate-v0.7.1.zip. It's essential to download that one as opposed to the source code files since the source code files contain the error.

Once you've got that downloaded, you can do the docker-compose up from the unzipped folder.

Okay thanks, I’ve done that and it is now allowing me to add an agent, a
domain and an intent.
Can you tell me, what and where has it installed 10Gb of stuff, because it
has used up all my free space, the first installation used 8Gb, then
deleting and reinstalling has used up an additional 2Gb.  The articulate
folder is not even close to this, so where is everything?
On 28 April 2018 at 19:14:19, Caleb M. Keller<EMAIL_ADDRESS>wrote:
@macasas https://github.com/macasas there is a problem in the source code
file that you downloaded. When we made the release, we didn't update it to
point to the 0.7.1 tag. It instead points to master, but we're making port
changes in master. That's where the problem is originating.
So first let's clean up the old install. From a terminal in the
articulate-0.7.1 folder enter the following:
docker-compose down
Once that is finished delete the entire articulate-0.7.1 folder and
download the file from this page
https://github.com/samtecspg/articulate/releases/tag/v0.7.1 labeled
articulate-v0.7.1.zip. It's essential to download that one as opposed to
the source code files since the source code files contain the error.
[image: 2018-04-28_13-08-22]
https://user-images.githubusercontent.com/1779894/39399092-b4a6de1a-4ae5-11e8-86b4-2008f4927981.png
Once you've got that downloaded, you can do the docker-compose up from the
unzipped folder.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385191600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jAkjmfu5rgmGr26v8gv8_ZOTPqrXwks5ttKNrgaJpZM4TrPVQ
.

We were curious where the 8Gb was coming from as the actual install is more like 2.5Gb, but if you're looking at the size on disk, then that is a Docker artifact as it reserves a chunk of space by creating a file to store its data in.
Here's the issue with Docker if you're interested: https://github.com/docker/for-mac/issues/371
If you're finished playing with Articulate and just want to get rid of everything the easiest way to do that is to reset all your Docker data or remove Docker entirely.

@macasas we will soon be offering a free hosted trial, if we had had that today would you have chosen it over installing Docker and trying locally?

When I Reset, I gain back 16Gb of hard drive space.
When I restart Docker the qcow2 grows to 1.5Gb and then when I run docker
up again I lose a further 10Gb, from a user experience perspective, the
process is very poor because to run your page I have to re-download
everything via docker up, plus lose a load of disk space, so am I doing the
right thing, is there a different “docker start” to start the app after
“docker up” installs it, or must I run “docker up each time i want to start
the localhost server?
Free trials either shut off after 30 days, which is a pointless exercise or
they are use-restrictive while free, which gives me a better chance to
learn what it does and how I can use it in a project. I’m a freelancer, so
I don’t have all day to play with free trials, so a 30 day free trial is
probably only accessed 4 times when freetime allows.
On the other hand, I prefer if I can take it offline because I travel a
lot, and cannot alway connect, so having it on my laptop is a big help, and
I can play with it during a flight, for example.
On 28 April 2018 at 21:26:09, Caleb M. Keller<EMAIL_ADDRESS>wrote:
We were curious where the 8Gb was coming from as the actual install is more
like 2.5Gb, but if you're looking at the size on disk, then that is a
Docker artifact as it reserves a chunk of space by creating a file to store
its data in.
Here's the issue with Docker if you're interested: docker/for-mac#371
https://github.com/docker/for-mac/issues/371
If you're finished playing with Articulate and just want to get rid of
everything the easiest way to do that is to reset all your Docker data or
remove Docker entirely.
[image: 2018-04-28_15-24-03]
https://user-images.githubusercontent.com/1779894/39400114-3cb19cac-4af8-11e8-8c8b-c1e17c1cfcdd.png
@macasas https://github.com/macasas we will soon be offering a free
hosted trial, if we had had that today would you have chosen it over
installing Docker and trying locally?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385200095,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jAvT84eAO3YMKy39nZuZiVr7AWWZYks5ttMJRgaJpZM4TrPVQ
.

@macasas several questions rolled into one there.

Whenever you are finished testing locally you can Ctrl+C to stop the application running in the terminal. Once that is done you can type docker-compose down. That will stop everything, but not free up the disk space.
The next time you run, so long as you have not reset the Docker data docker-compose up should not have to re-download anything, it should just create new containers
Keep in mind that nothing will shrink the size of the qcow2 file, it only grows. Until you reset the Docker data, but doing that will cause everything to re-download the next time it starts up.

One thing that may help is to limit the size of the qcow file, but on my computer, the smallest option is 16Gb which is still quite large:

I’m new to Docker, and to be honest the cost far outweighs the benefits of
using your app.  Sorry, but I’ve switched it all off.
On 29 April 2018 at 14:55:13, Caleb M. Keller<EMAIL_ADDRESS>wrote:
@macasas https://github.com/macasas several questions rolled into one
there.

Whenever you are finished testing locally you can Ctrl+C to stop the
application running in the terminal. Once that is done you can type
docker-compose
down. That will stop everything, but not free up the disk space.
The next time you run, so long as you have not reset the Docker
data docker-compose
up should not have to re-download anything, it should just create new
containers
Keep in mind that nothing will shrink the size of the qcow2 file, it
only grows. Until you reset the Docker data, but doing that will cause
everything to re-download the next time it starts up.

One thing that may help is to limit the size of the qcow file, but on my
computer, the smallest option is 16Gb which is still quite large:
[image: 2018-04-29_08-53-47]
https://user-images.githubusercontent.com/1779894/39406820-ec9650a8-4b8a-11e8-90e4-4ece77a49e92.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385249554,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jArR_MKP8vYvgcanp3nWZAX2wz5sIks5ttbgwgaJpZM4TrPVQ
.

No worries here, Docker is probably the single most useful tool that I've added to my developer toolkit in some years, but it comes with a few prices.
Let me know if you'd like for us to set up a cloud instance for you to experiment with. We'll leave it running almost indefinitely so long as it is getting some use as feedback is valuable at the stage we are in.
Otherwise, I will close the issue.

Yes, I would like to try your cloud instance, where should I go to do
that?  Then close this issue, thanks for your help.
On 29 April 2018 at 15:04:41, Caleb M. Keller<EMAIL_ADDRESS>wrote:
No worries here, Docker is probably the single most useful tool that I've
added to my developer toolkit in some years, but it comes with a few prices.
Let me know if you'd like for us to set up a cloud instance for you to
experiment with. We'll leave it running almost indefinitely so long as it
is getting some use as feedback is valuable at the stage we are in.
Otherwise, I will close the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/samtecspg/articulate/issues/176#issuecomment-385250110,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3jAmb9Uj_WKuliAGkRnwA0U1u35pMyks5ttbpogaJpZM4TrPVQ
.

@macasas we don't have the self-service piece of this fully operational. I'll get your instance set up today or tomorrow and send you an e-mail.

We'll do the rest via e-mail.


Optimize trouble spot in load_from_other_repos

Summary of changes
Asana Ticket: 🔧 Look into Green Controller performance issues
Virtually all of the time that a request for the Green Line page takes is spent in load_from_other_repos. I'm not 100% clear on why, but changing that function to use Task.async as opposed to Task.async_stream improved the average performance on this page, from about 1200 ms to about 900 ms.

Assigned to: @ryan-mahoney

@phildarnowsky can you provide some benchmarks?

@ryan-mahoney Using this benchmarking script:
ab -c 5 -n 10 http://localhost:4001/schedules/Green
On master:
Percentage of the requests served within a certain time (ms)
  50%   1308
  66%   1347
  75%   1378
  80%   1392
  90%   1396
  95%   1396
  98%   1396
  99%   1396

On this branch:
Percentage of the requests served within a certain time (ms)
  50%    990
  66%    992
  75%   1009
  80%   1069
  90%   1106
  95%   1106
  98%   1106
  99%   1106
 100%   1106 (longest request)

So in the fastest tranche of requests, this branch cut about 24% of the latency, and in the slowest, about 21%.


代码错误的地方: beam_search

错误的代码：
def unbottle(m):
return m.view(beam_size, batch_size, -1)
修改后：
def unbottle(m):
return m.view(batch_size, beam_size, -1)

It works on each batch individually. Please see L162 as well beam.py.

inp = var(torch.stack([b.getCurrentState() for b in beam])
.t().contiguous().view(-1))
inp的格式： batch_size X beam_size
output, decState, attn, memory = self.decoder(inp, decState, embeds, memory)
output的格式： batch_size*beam_size  X vocab_size
output = unbottle(self.log_softmax(output))
unbottle 变成： beam_size X batch_size  X vocab_size
怎么突然就变成了beam_size优先了？

The size of the input is dependent on the decoder, while the size of the output for beam search is dependent on the implementation of beam search. This is why I advised you to check beam.py, especially the "advance" function. I think if you really prefer "batch size first", you can also make some changes on your implementation of beam :)


Add new exercise simple linked list

As described in #98

Why both this one and #85?

@sit "linked-list" is supposed to be doubly linked.  This exercise is singly linked.  Both are specified in x-common.

Refactored to allow generics.  Feedback appreciated!

@sit @jtigger is this OK to merge?  Any remaining concerns?  Thanks

LGTM.

Thanks!

btw, @sit, we were singing your praises, this morning.  Great spot
feedback/questions!  Thank you, sir!  Hoping to help carry forward that
which you started.
On Sun, Mar 6, 2016 at 11:53 AM, Katrina Owen<EMAIL_ADDRESS>wrote:

Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/exercism/xjava/pull/99#issuecomment-192974264.


A few updates to get the templates working with the current fxhash API (project SDK)

Just tested on sandbox https://www.fxhash.xyz/sandbox but not in production (testnet/mainnet).

@nclslbrn - oh my gosh this is freaky timing - i'm literallly just started working on updating this & other project templates... thank you very much! LGTM! 👍


.travis: add IBM JDK 8

Coverage remained the same at 95.164% when pulling 0c7b554561d534fecda44b4140122583917aa981 on PascalSchumacher:travis_add_ibm_jdk into 425d8085cfcaab5a78bf0632f9ae77b7e9127cf8 on apache:master.

Looks like the IBM JDK is not yet supported by the travis jdk-switcher, so let's wait some time.


Roles and Profiles CRUD UX + UI dev

Currently, the CRUD of Roles and Profiles is available via a poor JSON textarea.
We need a more structured interface with field selection in order to guide the user through the creation of such complex entities.

Done


edit temperature sensor 12-HD Max

one of my temperature sensors has broken down and is showing very high values, it is the "12-HD Max" because of this the server is shutting down due to thermal protection. There would be a way to disable this sensor or raise the critical temperature value about 10 degrees ...? thanks

This tool doesn't make use of temperature sensors.
Instead, check out the available commands in the iLO patch, I think there should be a way to fix your issue.


KAFKA-10533; KafkaRaftClient should flush log after appends

This patch adds missing flush logic to KafkaRaftClient. The initial flushing behavior is simplistic. We guarantee that the leader will not replicate above the last flushed offset and we guarantee that the follower will not fetch data above its own flush point. More sophisticated flush behavior is proposed in KAFKA-10526.
We have also extended the simulation test so that it covers flush behavior. When a node is shutdown, all unflushed data is lost. We were able to confirm that the monotonic high watermark invariant fails without the added flush calls.
This patch also piggybacks a fix to the TestRaftServer implementation. The initial check-in contained a bug which caused RequestChannel to fail sending responses because the disabled APIs did not have metrics registered. As a result of this, it is impossible to elect leaders.
Committer Checklist (excluded from commit message)

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

test this please


[BUG] Issue after upgrading to Cython 3.0.10

Describe the bug
When I tried to run the compiled Cython code it outputs this error: ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/isce/components/contrib/alos2proc_f/alos2proc_f.so, 0x0002): symbol not found in flat namespace '_PyUnstable_Code_NewWithPosOnlyArgs'
Code to reproduce the behaviour:
# example code

Expected behaviour
No response
OS
macOS
Python version
3.11.9
Cython version
3.0.10
Additional context
No response

PyUnstable_Code_NewWithPosOnlyArgs is used in one place in Cython, but only for Python versions 3.12 and above.
https://github.com/cython/cython/blob/7ae85318297ed306b84ecc72d0279e27090b25f3/Cython/Utility/ModuleSetupCode.c#L812-L816
Therefore you should not need it on Python 3.11.
My suspicion is that you're trying to use a module that was compiled for Python 3.12 on Python 3.11. But it's hard to know what you're doing

Normally you'd expect the filename to be something like alos2proc_f.cpython-311.so to avoid this kind of version mix-up, but whatever build system is being used is clearly avoiding doing that


Any problematic flags?

Hi, thanks for this nice project!
I was looking to use the program with some extra curl flags such as --cookie/--ipv4 and wondered if any of these could cause the default fingerprint to change. I heard that even the order of the headers sent could affect the fingerprint so I am wondering if there are any issues using additional flags such as the above. Are there any known "problematic" flags which could possibly affect the default fingerprint?

Hi,
Any flag that deals with TLS is very likely to change the TLS fingerprint. I would suggest not to use them and just use the default set of TLS flags that are used by the wrapper scripts.

I was looking to use the program with some extra curl flags such as --cookie

It would likely not change the TLS fingerprint. However the --cookie flag will add an additional HTTP header, which may be placed differently than how the browser places it. You may want to check the order of HTTP headers as sent by the browser, and then add the cookie manually with -H "Cookie: ..." to the wrapper scripts in the correct place.
If you want to be extra careful and verify that you got your TLS fingerprint right, you can check out my ts1 library. It's still not user friendly enough (you'll have to capture the traffic in Wireshark feed it to the library) but it will allow you to compare signatures and be more certain about your fingerprint.

Thanks for the reply @lwthiker. Do you think it's a good idea for the program to detect certain flags and either auto reorder flags that can be safely used but need reordering or warn if a flag could change the default fingerprint regardless?. This could be useful even if done just for the most popular/commonly used flags.


Testing Anyscale

This code deploys an Anyscale cluster for Mistral FT Optimized. It mirrors all traffic from that model to the Anyscale cluster. Currently, it then throws away the completion we get back entirely -- this is just for initial load testing/error tracking. If all looks well we can start actually using the completions in a follow-up.

Does Anyscale read the base models and LoRAs from the same buckets as Modal?

Not exactly -- modal actually reads them from the shared modal fs directly, and anyscale reads them from s3.


Witness compression: storage leafs

The current specification is as follows:
<Storage_Leaf_Node(d<65)> := key:<Bytes32> val:<Bytes32>
                             {leaf node with value (key, val)}

The key is always a hashed key, so it is not possible to do any reasonable compression on it. (Perhaps it is worth mentioning this in the spec?)
The val however is raw data. Since Solidity is the most widely used language, we can inspect what kind of value is it storing (this is only a subset of possibilities):

Value types (those fitting 256-bits) are stored as single storage elements. Numbers are stored as 256-bit big endian numbers. Short fixed-size byte-arrays and strings are stored as left-to-right.

Larger than 256-bits types are split across multiple keys. This is the case for dynamic-length arrays for example. If the array has regular value types as elements, they can be individually stored as described in 1.

Short types can be packed in "structs".

Based on the above, the case we could provide a simple optimisation for is when numbers are stored in individual storage slots. Is that however a common case? Yes! Solidity "mappings" of balances, a common feature of ERC-20 tokens, would store the values in such a manner.
As a naive option we could extend the storage leafs as follows -- I hope I got the notation correctly:
<Storage_Leaf_Node(d<65)> := 0x00 key:<Bytes32> val:<Bytes32>
                             {leaf node with value (key, val)}

<Storage_Leaf_Node(d<65)> := 0x01 key:<Bytes32> val:<Integer(256)>
                             {leaf node with value (key, val)}

In the above I refer to the Integer() notation introduced in #36. It could potentially also be combined with #38.
I am not sure it will be a worth optimisation in the end, but I think it would be a valid one to check once there are prototypes ready for experimentation.

Assuming we want to have a concept of a canonical wiitness, we'd need to make it deterministic as to whether an <Integer(256)> vs <Bytes32> are used.  The naive way to do this seems to be choosing the LEB approach when the resulting size is strictly less than 32 bytes, and using the full Bytes32 in all other cases.

I believe @poemm's goal in the format is to describe it as such that the path producing the shortest output must be taken (in essence).

Yes @axic , this is a significant optimization for things like ERC20 tokens.
I support @pipermerriam 's goal of canonicalness. (Need to add this to the goals of the spec doc.) The mentioned restrictions described above by @pipermerriam may be described as follows.
<Storage_Leaf_Node(d<65)> := 0x00 key:<Bytes32> val:<Bytes32>
                                                    {leaf node with value (key, val)}
                                                    Where val has a nonzero bit after the 217th bit.
                                                  | 0x01 key:<Bytes32> val:<Integer(217)>
                                                    {leaf node with value (key, val)}

The <Integer(217)> case is restricted by noticing that we must parse fewer than 32-bytes, and 31 7-bit LEB128 limbs is 217-bits.
The <Bytes32> case is restricted with a validation rule. Alternatively we can render this restriction completely in syntax, but then we may new syntax rules, maybe something like <Bytes32_At_Least_One_Nonzero_Bit_After_217th_Bit>. I think that a validation rule is OK for now.

The <Integer(217)> case is restricted by noticing that we must parse fewer than 32-bytes, and 31 7-bit LEB128 limbs is 217-bits.

:+1:, this is a nice "hack" to enforce shortness via syntax.


Tools fixes

@elibarzilay,
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


DoT Effects Trigger Multiple Ranks

Describe the bug
DoT Effects trigger multiple ranks, visible in things like Searing Totem, Fire Nova Totem, Moonfire, etc
To Reproduce
Steps to reproduce the behavior:

Go to https://wowsims.github.io/sod/enhancement_shaman/
Run Sim
Go to Results
See both Fire Nova Totem Rank 1 and Rank 2

Expected behavior
Only one rank of a DoT should be applied
Additional context
Discord context

Fixed by #67


Run with Test Plan Id and no run id doesn't capture results

Describe the bug
When I try to get results into an existing Test Plan, the parameters are accepted, but no results are found in the UI.
To Reproduce
Create a testrail configuration file with the following valid values:
[API]
url = https://conversica.testrail.io
email =<EMAIL_ADDRESS>[TESTRUN]
assignedto_id = 2
project_id = 7

Execute a pytest run with command line arguments included with valid values like the following, where 65 is an empty Test Plan with a descriptive name for environment:
--testrail --tr-config=testrail.cfg --tr-password=MyRealPassword --tr-plan-id=65

Output
python3 -m pytest --junitxml logs/out_report.xml --html /logs/out_report.html --variables /config/config.json --testrail --tr-config=testrail.cfg --tr-password=password --tr-plan-id=65
============================= test session starts ==============================
platform linux -- Python 3.6.8, pytest-4.3.0, py-1.8.0, pluggy-0.9.0
pytest-testrail: existing testplan #65 selected
rootdir: /, inifile:
plugins: variables-1.7.1, testrail-2.3.3, metadata-1.8.0, html-1.20.0, cov-2.6.1
collected 60 items

tests/menu_walk/test_leadmanager_listview.py ....                        [  6%]
tests/menu_walk/test_leadmanager_listview_morefilters.py ....FF..        [ 20%]
tests/menu_walk/test_leadmanager_responseview.py ....                    [ 26%]
tests/menu_walk/test_leadmanager_resview_morefilters.py .......          [ 38%]
tests/menu_walk/test_overview.py ..                                      [ 41%]
tests/menu_walk/test_reporting_assistantactivity.py .....                [ 50%]
tests/menu_walk/test_reporting_conversation.py ....                      [ 56%]
tests/menu_walk/test_reporting_customreports.py .......                  [ 68%]
tests/menu_walk/test_reporting_leadprocess.py .....                      [ 76%]
tests/menu_walk/test_reporting_leadsources.py .....                      [ 85%]
tests/menu_walk/test_reporting_newleads.py .....                         [ 93%]
tests/menu_walk/test_reporting_repperformance.py ....                    [100%][testrail] Start publishing
[testrail] Testcases to publish: 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721
[testrail] Testruns to update:
[testrail] End publishing

Expected behavior
A Test Run with an auto generated name will be added to the Test Plan, much like how a Test Run will be created and populated when no Test Run or Test Plan ID is included
Comment
I'm just trying to find a simple flow to allow me to group newly auto-generated Test Runs into a grouping object (Test Plan seems logical) for runs to a given environment. I want to group TRs for QA vs. Stage environments separately. The closest I've found is to include a static TR id for a run with a descriptive name, but that captures results showing only most recent at the aggregated summary level. I think I want a separate run for each actual build server run, but want to group rather than using a naming strategy for example.

Accidentally clicked closed, re-opened

@conversica-aaronpa I'll take at this when I get a chance.
You have left your password in the sample output, I have removed it. Please change your password on testrail asap

Whoops, forgot about that echo. Done, thanks.

Looking at the pytest-testrail and the testrail API some more, I guess I'm surprised that add_run doesn't have an optional plan id that can be passed in, and to create a run inside a plan it looks like you have to call add_plan_entry in place of add_run. That's more complicated than I'd expected, so perhaps this is actually a feature request. If there is an existing feature (suites? we are currently single suite by default in cloud hosted) that can allow me to organize similar test runs being created on the fly by automated runs into Plans or some other grouping per environment/run-reason that would work.

Hello @conversica-aaronpa, options --tr-run-id and --tr-plan-id don't allow to automatically create testrun. Your testplan must contained one or more testruns. Actually, these options work only on existing testplan/run.
If you want to create a new testrun, you must not use these options.
If you want to create a new testrun into an existing testplan, you're right, it's a new behavior/feature.

Yes, the latter is what I'm after, new run in a passed in plan. I'm not sure what else could happen when accepting such parameters, what happens now with no results being logged at all after going through all the motions doesn't seem right.
It shouldn't be difficult to add another path in the logic to call add_plan_entry in place of add_run for this scenario. As it stands, this scenario, passing in a test plan id only, seems to lose the results.
If I can figure it out I'll make a pull request, but it might take me a while.

@conversica-aaronpa OK, feel free to open a pull request.

PR made as https://github.com/allankp/pytest-testrail/pull/92, will add example output there.

I've encountered this issue due to sheer confusion.   You have two parameters that create test runs, and two that update test runs.  Unfortunately, plan_id has use cases for both:
create test run:

project_id
milestone_id

overrides creation and only updates:

run_id
plan_id

From what I understand, there was an original use case where plan_id would update all test runs that exist under a test plan (that doesn't make any sense to me, but that's how it works).
I think there are two options:

Fix plan_id to follow suit with milestone_id and project_id.   This makes logical sense as updating a test run only happens when you explicitly supply the run_id.
Make a new parameter for test run creation under a plan.   --tr-testrun-plan-id  and config value say...    plan_newrun_id   This doesn't make logical sense from a naming schema, but it does allow for backward compatability.

There is a separate API call for adding a test run to a test plan (add_plan_entry):
https://www.gurock.com/testrail/docs/api/reference/plans#addruntoplanentry
Maybe --tr-testrun-planentry-id   and planentry_id as values for creating the test run under a test plan?


Robots plugin on C Sharp editor in Rhino

Hi,
I have an issue, when trying to create a valid tool-path, I need to rotate manually planes 90 degrees until I reach a good rotation that is reachable. I would like to automate this process, because manually guessing is very slow.
Is there any ready-made examples for C Sharp I could use to mimic similar workflow to this?

If yes where can I get ABB library?

I assume this issue is because you are using some tool that has 5 degrees of freedom (the rotation around the normal of the tool doesn't matter), and you're trying to search for solutions that are reachable given the same normal direction and position.
You can do this in a number of ways, depending on how the tool is mounted. Assuming the normal is perpendicular to the flange, rotate the tool around the normal depending on it position so that the 5th is extended (use the arm orientation as a vector guide to align the plane).
You could also use iterative approaches, incrementally rotating until you don't get an error. To do this faster, if its only on certain parts, use the kinematics component rather than the full create program component. If you use this be careful not to select solutions as soon as they don't give an error, have some margin, as the real robot might not not be exactly the same. You might want to make some small calibration adjustments without having to create a new program, also things like absolute accuracy will have slightly different joint positions as in the simulation.
Regarding the ABB library, you can find it here:
https://developercenter.robotstudio.com/pc-sdk

Yes It is exactly this, because I am just milling and using saw-blade for cutting process.
Do you have examples what are explaining considering rotations?
I use Robots plugin for simulation, for real movement I need to export .txt file to our ABB robot, because the company installed specific software package considering robot controller. But the simulation is almost the same, and without robots it would be really painful to do anything.
I am somehow stuck in this grasshopper interface and seeking for your help to setup iterative approach for plane rotation.
It would be a huge help, because each tool-path takes a day to setup.

Not that I can quickly post here, but it's not complicated and you are pretty good and Grasshopper and C#, I'm sure you will figure it out.
A really simple variation of option 1 is, assuming the robot base is in the world origin, connect an align plane component after the target planes and use the position of the target as the alignment vector (the X axis), you might have to rotate the tool 90/-90/180 degrees after this.

It is not a hurry, but do you think that could help considering the code how to set it up correctly?
Also I do not know how reference ABB .dll correctly, it seems the project is a bit different that I use for grasshopper components:

Right click where it says 'dependencies' then 'add project reference' then 'browse'.

What I am missing:

Did you try removing it and adding it again?

I am trying to write this iterative solver after painful 2 weeks work with the robot, I realized that I cannot rotate planes manually...
I would like to ask how can I create targets in C# ?
I see that input of the program component takes Targets as input list, but then it is somehow casted to toolpath.
How can I manually write the target and append to GH_Toolpath list?
I am not very familiar with abstract classes.
        var toolpathsA = new List<GH_Toolpath>(toolpathsA_.DataCount);
        for (int i = 0; i < toolpathsA_.Branches.Count; i++)
        {
            GH_Toolpath defaultToolpath = new GH_Toolpath(new IToolpath());
        }

I tried this but also does not work
        var toolpathsA = new List<GH_Toolpath>(toolpathsA_.DataCount);
        for (int i = 0; i < toolpathsA_.Branches.Count; i++)
        {
            GH_Target sourceTarget = null;
            sourceTarget.Value = new JointTarget(new double[] { 0,Math.PI*0.5,0,0,0,0 }, tool.Value);

            //GH_Toolpath defaultToolpath = new GH_Toolpath(new IToolpath());
        }

I found one way, but I do not know if it is right why targets have to be casted to a toolpath?
        var toolpathsA = new List<GH_Toolpath>(toolpathsA_.DataCount);
        for (int i = 0; i < toolpathsA_.Branches.Count; i++)
        {

            JointTarget jointTarget = new JointTarget(new double[] { 0, Math.PI * 0.5, 0, 0, 0, 0 }, tool.Value);

            SimpleToolpath itoolpath = new SimpleToolpath();
            itoolpath.Add(jointTarget);
            GH_Toolpath toolpath = new GH_Toolpath(itoolpath);// (jointTargetGH.Value);

            toolpathsA.Add(toolpath);

        }

See here for a minimal robot program written in C#:
https://github.com/visose/Robots/blob/master/RobotsStandalone/TestProgram.cs
The Grasshopper component "Create Program" accepts a list of objects that implement IToolpath.
This interface requires the implementing type to return a list of targets (an IEnumerable).
The Create Program component then joins all these toolpaths together into a single one.
You can connect a list of targets directly to Create Program because the Target class implements IToolpath. Each target returns an IEnumerable with a single target (itself).

Hi,
I think I got it, thank you, what might take some much time to compute these simple planes.
I am running this code   2 times and it takes one second. There are 30 planes at one iteration.

Currently the code is just this:
protected override void SolveInstance(IGH_DataAccess DA)
{
        //https://github.com/visose/Robots/blob/master/RobotsStandalone/TestProgram.cs
        string name = null;
        GH_RobotSystem robotSystem = null;
        var initCommandsGH = new List<GH_Command>();
        var toolpathsA_ = new GH_Structure<GH_Plane>();
        var toolpathsB = new List<GH_Toolpath>();
        var multiFileIndices = new List<int>();
        double stepSize = 1;
        GH_Tool tool = null;
        var toolpathsA_Type = new GH_Structure<GH_String>();

        if (!DA.GetData(0, ref name)) { return; }
        if (!DA.GetData(1, ref robotSystem)) { robotSystem = new GH_RobotSystem(RobotSystem.Load("IBOIS-IRB6400B", new Rhino.Geometry.Plane(new Point3d(0, 0, 517), Vector3d.XAxis, Vector3d.YAxis))); }
        if (!DA.GetDataTree(2, out toolpathsA_)) { return; }
        DA.GetDataList(3, toolpathsB);
        DA.GetDataList(4, initCommandsGH);
        DA.GetDataList(5, multiFileIndices);
        if (!DA.GetData(6, ref stepSize)) { return; }
        if (!DA.GetData(8, ref tool)) { return; }
        if (!DA.GetDataTree(7, out toolpathsA_Type)) { return; }
        if (toolpathsA_.DataCount == 0 || toolpathsA_.DataCount != toolpathsA_Type.DataCount) return;
        RobotConfigurations? configuration = null;

        ///////////////////////////////////////////
        //Cast planes to targets
        //Simple Tool Path contains targets, and toolpaths contains many toolpaths
        ///////////////////////////////////////////

        var oneToolPath = new SimpleToolpath();

        for (int i = 0; i < toolpathsA_.Branches.Count; i++)   {

            var oneToolPathCurrent = new SimpleToolpath();

            ////////////////////////////////////////////////////////////////////////
            //Default plane that goes to 0
            JointTarget jointTarget = new JointTarget(new double[] { 0, Math.PI * 0.5, 0, 0, 0, 0 }, tool.Value);
            oneToolPathCurrent.Add(jointTarget);
            ////////////////////////////////////

            ////////////////////////////////////////////////////////////////////////
            //Plane Target
            for (int j = 0; j < toolpathsA_.get_Branch(i).Count; j++)   {
                //Input planes
                var JointType = toolpathsA_Type[i][j].Value == "Joint" ? Motions.Joint : Motions.Linear;
                CartesianTarget cartesianTarget = new CartesianTarget(toolpathsA_[i][j].Value, configuration, JointType, tool.Value, Speed.Default, Zone.Default);
                oneToolPathCurrent.Add(cartesianTarget);
            }
            ////////////////////////////////////////////////////////////////////////

            ////////////////////////////////////////////////////////////////////////
            //Run Current Branch program
            var allToolPathCurrent = new List<IToolpath>() { oneToolPathCurrent };
            var programCurrent = new Program(name, robotSystem.Value, allToolPathCurrent, null, multiFileIndices, stepSize);
            //////////////////////////////////////

            ////////////////////////////////////////////////////////////////////////
            //If there are no errors add them to final target list
            if (programCurrent.Errors.Count == 0)
            foreach (var t in oneToolPathCurrent)
                   oneToolPath.Add(t);
            else
            {

            }
            ////////////////////////////////////////////////////////////////////////

        }//for i

        var allToolpaths = new List<IToolpath>() { oneToolPath };
        var program = new Program(name, robotSystem.Value, allToolpaths, null, multiFileIndices, stepSize);
        DA.SetData(0, new GH_Program(program));

        ///////////////////////////////////////////////////////////////////////////////
        //Create Errors
        ///////////////////////////////////////////////////////////////////////////////
        if (program.Errors.Count > 0)
        {
            DA.SetDataList(4, program.Errors);
            this.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Errors in program");
        }

    }
}

The plugin is not really optimized for performance., if I ever was to rewrite it I would make it considerably faster.
But I don't think that's the issue. If you have many long linear motions, you could increase the 'stepsize' variable to 100 mm or so.
As you have it right now it will compute the robot position every 1 mm to check for errors, but this might not be necessary.

Thank you, as long as it produces good results it is worth waiting.
I would like to ask about axes limitations.
Why the program stops at -92 rotations in axes 5, if the limit is -180?
In the XML I constrain rotations like this.

<RobotSystems>

  <RobotCell name="IBOIS-IRB6400B" manufacturer="ABB">
    <Mechanisms>
      <RobotArm model="IRB6400" manufacturer="ABB" payload="100">
        <Base x="0.000" y="0.000" z="0.000" q1="1.000" q2="0.000" q3="0.000" q4="0.000"/>
        <Joints>
          <Revolute number="1" a ="240" d ="800" minrange = "-110" maxrange ="110" maxspeed ="110"/>
          <Revolute number="2" a ="1050" d ="0" minrange = "-360" maxrange ="360" maxspeed ="110"/>
          <Revolute number="3" a ="225" d ="0" minrange = "-360" maxrange ="360" maxspeed ="110"/>
          <Revolute number="4" a ="0" d ="1520" minrange = "-360" maxrange ="360" maxspeed ="190"/>
          <Revolute number="5" a ="0" d ="0" minrange = "-180" maxrange ="90" maxspeed ="150"/>
          <Revolute number="6" a ="0" d ="200" minrange = "-180" maxrange ="180" maxspeed ="210"/>
        </Joints>
      </RobotArm>
    </Mechanisms>
    <IO>
      <DO names="DO10_1,DO10_2,DO10_3,DO10_4,DO10_5,DO10_6,DO10_7,DO10_8,DO10_9,DO10_10,DO10_11,DO10_12,DO10_13,DO10_14,DO10_15,DO10_16"/>
      <DI names="DI10_1,DI10_2,DI10_3,DI10_4,DI10_5,DI10_6,DI10_7,DI10_8,DI10_9,DI10_10,DI10_11,DI10_12,DI10_13,DI10_14,DI10_15,DO10_16"/>
    </IO>
  </RobotCell>

</RobotSystems>

The plugin rotation values in radians don't translate directly to degrees. More info here: https://github.com/visose/Robots/issues/8
Probably also discussed in another issue or the wiki.

Also see here: https://github.com/visose/Robots/issues/10

Sorry to ask too many questions but is this a right conversion?

No, that component is to convert from degrees to radians and not the other way around.
I haven't exposed radians to degrees as a Grasshopper component since I haven't found the need to do this.
If you want to know if the axis in in the limit, plug the axis limit in degrees into that component to get the limit in radians and compare to the values in radians that you're getting.

I think I am lost.
Would it be possible to give an example to convert axes degrees correctly?

You almost have it. You mentioned the limit of axis 5 is -180 degrees. You just have to connect a panel with the value -180 to the D input of degrees component from the plugin. This will return a value in radians. This is the value you should compare to the J output of the simulation component. Don't transform the values from the J output to anything.

Sorry I still do not understand it:

Which part you don't understand? That grasshopper file seems good. Axis 5 is at an angle of 0 radians, which not close to its limit of -3.14159 radians.


Actions in paneview

I want to display a dynamic list of items in a popup located in the header of a Paneview component. My goal is to capture an event when the user clicks on one of the items in this list.
In the demo-dockview demo, the DockviewReact component accepts the rightHeaderActionsComponent parameter. Would it be possible to have similar functionality for actions in Paneview component headers?
Describe alternatives you've considered
I tried using an event in a panel's settings to retrieve events, however, every time I update my item list I am forced to update all panels.

Is it something like the custom paneview headers that you require, or something with more functionality?
https://dockview.dev/docs/next/components/paneview#custom-header

I've tried with little time to make an example here: https://codesandbox.io/s/simple-paneview-forked-qrklqh?file=/src/app.tsx
It works, but I have my doubts about the performance of passing a component to updateParameters.


AltIdentifier API is broken

This is an issue with the API and there’s nothing I can do about it.


Basic solution in Mosek

An update to the Mosek interface which takes into account the basic solution mosek.soltype.bas in addition to mosek.soltype.itr. Hopefully resolves issues #335, #327. Serves the same purpose as proposed PR #328.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Coverage decreased (-0.2%) to 89.334% when pulling db82dcb87715a8ef7b4d740e7a189849010e0c30 on aszekMosek:master into 6f519f6d36cc4b60a222d785247c088b72b6dd2c on cvxgrp:master.

Looks good!


Support DATETIME type

Is your feature request related to a problem? Please describe.
I need to maintain a materialized view whose output column type is a DATETIME type.
A simple repro. KDATB is a DATE type.
dev=> create materialized view test_datetime as select CAST(KDATB AS DATETIME) from "EKKO";
ERROR:  QueryError: Bind error: failed to bind expression: CAST(KDATB AS DATETIME)

Caused by:
  Feature is not yet implemented: unsupported data type: DATETIME

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

Yes, there is no DATETIME in PostgresQL.
But we may improve the error message, which seems to imply a missing feature rather than wrong usage.
Caused by:
  Feature is not yet implemented: unsupported data type: DATETIME

Postgres:
test=# create table t_datetime (v datetime);
ERROR:  type "datetime" does not exist
LINE 1: create table t_datetime (v datetime);
                                   ^
test=#

Changing to TIMESTAMP works.
The error message could be improved.
Closing this FR. Feel free to follow up on the error message.


make the GetHashCode of string extensible enums case insensitive

Keep parity of https://github.com/Azure/autorest.csharp/pull/4842

API change check
API changes are not detected in this pull request.


Use \k, not \w, for splitting qw(...) constructs

This is a tiny change -- the regex is insufficient, as Perl recognizes
more than the class of characters represented by \w, e.g. ":".  With
just \w, something like this is, ah, sub-optimally split:
qw( MooseX::StrictConstructor::Trait::Class MooseX::TraitFor::Meta::Class::BetterAnonClassNames )

\k should suffice, as iskeyword will contain the additional
characters.

That makes sense, I really should have started with \k to begin with. I'm surprised it works for ::, though, didn't know that iskeyword includes :. Oh, well.
Thank you for the fix 👍


View is stretched when using canvaskit in an iFrame

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
I have an Angular project, with an Iframe containing my Flutter Web project. I want to dynamically set the height of the iframe to make it look like a website, and not an embedded widget inside the iframe.
When running the project with the HTML renderer, the view is correctly displayed, accordingly to the size of the iframe set. However, using canvaskit, the whole Flutter view is stretched and blurred when I want to set a size of ~1150px or more, and then my whole application is stretched until the next resize of the iframe. And as my website contains a lot of animations, I need to use canvaskit
I have seen some similar issues : #122541, I don't really know if this could be related?
I am running the Flutter project in 3.7.12, but I have tried 3.10.5 and the issue was still there.
Steps to reproduce :

Create a Flutter project
Embedded it in an HTML Iframe
Build and run the project using canvaskit
Change the size of the iFrame dynamically (using a button and window.parent.postMessage for instance)

Expected results
The view is not stretched, the iFrame is resized and when I scroll, it scrolls onto in the Angular project and not in the iFrame
Actual results
The view is completely stretched, with the top of my view hidden by the header, and no possibility to scroll (the iFrame seems to be correctly resized, but content is stretched)
Screenshots or Video
Current result :

Expected result:

Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.2 22D49 darwin-arm64, locale fr-FR)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.79.2)
[✓] Connected device (4 available)
[✓] HTTP Host Availability

Hi @cordierben
Issue https://github.com/flutter/flutter/issues/122541 is only mentioned to blurry behavior so I'm not sure if this is the same.
I tried checking this with a minimal sample using HtmlElementView but can't reproduce the issue. Perhaps it's not enough implementation code. Could you provide a completed and minimal reproducible code sample so that we may verify this?

Hi @huycozy, thanks for your reply.
Yes the issue is a bit different, but the input to reproduce it is pretty much the same.
Here is a minimal reproducible code sample :
Flutter - main.dart (by clicking one of the amber tiles, you will send a resize event) ==> Flutter 3.7
import 'dart:convert';
import 'dart:html';

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ListView.builder(
          itemCount: 50,
          itemBuilder: ((context, index) => GestureDetector(
                onTap: () => window.parent?.postMessage(
                    jsonEncode({"type": "pageHeight", "pageHeight": 1700}),
                    '*'),
                child: Container(
                  color: Colors.amber,
                  child: const SizedBox(height: 20, width: 100),
                ),
              )),
        ),
      ),
    );
  }
}

Angular - app.component.html (better to do it with a header and a footer to see the iframe be stretched and not the angular part)
<app-header></app-header>
<div #flutterContainer id="flutter-container">
	<iframe #iframe id="flutter-iframe" class="absolute w-full h-full opacity-0 z-1000 m-0 p-0"
		src="assets/flutter/index.html" title="Total Energies - Charging Services"></iframe>
</div>
<app-footer>
</app-footer>

Angular - app.component.ts (listen to the event and resize the iframe accordingly)
this.flutterCommunicationService.eventFlutterPageHeight.subscribe(
			(event) => {
				this.iframe!.nativeElement.style.height = `${event.pageHeight}px`
			},
		);

I have made the Angular code poorly as I suppose it can be reproduces using any framework. I can make it more precisely if needed.

Thanks for your update. But I'm not quite familiar with Angular. Can you please provide a complete sample code in a GitHub project and share it here along with detailed steps to replicate the issue?

Ok, I have made a complete Angular/Flutter project and I can reproduce the issue on a mobile device only, there you go : https://github.com/cordierben/iframe-communication-sample
This is the angular project with the iframe and the flutter project contained in the assets to be embedded in the iframe.
Here is also sample-app-resize, which is the flutter project I have put in the iFrame : https://github.com/cordierben/flutter-sample-app-resize
Therefore you just need to download iframe-communication-sample, and yarn run start it.
Once it is running, click on one of the text ("Hello") displayed, and it will send an event to resize the iframe, and it will be stretched on a mobile device :
https://github.com/flutter/flutter/assets/61388583/0fe7c5bb-ab78-4603-9cae-2fbb2aed7946

Thanks for your update. But I got below error when embedding the built flutter web to your Angular project and running it. Am I correct when putting all built Flutter web file into assets/flutter directory? Is there any missing steps?

Error output log
GET http://localhost:4200/flutter.js net::ERR_ABORTED 404 (Not Found)
index.html:43 Refused to execute script from 'http://localhost:4200/flutter.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
core.mjs:10194 ERROR SyntaxError: "[object Object]" is not valid JSON
    at JSON.parse (<anonymous>)
    at iframe-container.component.ts:16:33
    at _ZoneDelegate.invokeTask (zone.js:402:31)
    at core.mjs:25990:55
    at AsyncStackTaggingZoneSpec.onInvokeTask (core.mjs:25990:36)
    at _ZoneDelegate.invokeTask (zone.js:401:60)
    at Object.onInvokeTask (core.mjs:26300:33)
    at _ZoneDelegate.invokeTask (zone.js:401:60)
    at Zone.runTask (zone.js:173:47)
    at ZoneTask.invokeTask [as invoke] (zone.js:483:34)
handleError @ core.mjs:10194
next @ core.mjs:27079
next @ Subscriber.js:91
_next @ Subscriber.js:60
next @ Subscriber.js:31
(anonymous) @ Subject.js:34
errorContext @ errorContext.js:19
next @ Subject.js:27
emit @ core.mjs:22773
(anonymous) @ core.mjs:26339
invoke @ zone.js:368
run @ zone.js:129
runOutsideAngular @ core.mjs:26212
onHandleError @ core.mjs:26339
handleError @ zone.js:372
runTask @ zone.js:176
invokeTask @ zone.js:483
invokeTask @ zone.js:1631
globalCallback @ zone.js:1662
globalZoneAwareCallback @ zone.js:1695
postMessage (async)
sendMsg @ sendMessage.js:10
ok @ index.js:221
(anonymous) @ socket.js:62
client.onmessage @ WebSocketClient.js:45
Show 24 more frames
Show less
index.html:46 Uncaught ReferenceError: _flutter is not defined
    at index.html:46:7

Screenshot error

Thanks for your update, I can run it now. I rebuild Flutter project to check this on the latest SDK. When I rebuild it on the latest Flutter stable 3.10.6 and master channels, then use the built web inside Angular project, it displays well in html renderer but is stretched in canvaskit renderer.
Steps to reproduce
I collect all steps above and summarize them here:

Clone two projects above:

Flutter project: https://github.com/cordierben/flutter-sample-app-resize
Angular project: https://github.com/cordierben/iframe-communication-sample

Build web on Flutter project with explicit canvaskit renderer:

flutter build web --web-renderer canvaskit

Copy the built web output files to iframe-communication-sample/src/assets/flutter and replace <base href="/"> with <base href="./"> in index.html file
In the root path of iframe-communication-sample project, run yarn run start (you may need to install some missing packages, just follow the hint in the output console)
Open the output web on mobile browser, click on yellow item in the list and observe the result

Demo

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.10.6 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (3 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Build 15A5195m
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 115.0.5790.114

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.13.0-19.0.pre.103, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.13.0-19.0.pre.103 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d7877d1fe0 (43 minutes ago), 2023-08-08 22:27:24 -0400
    • Engine revision 8ec575168d
    • Dart version 3.2.0 (build 3.2.0-42.0.dev)
    • DevTools version 2.26.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 115.0.5790.170

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.


wondering why fullscreen events aren't thrown when user uses menu commands to enter full screen

Full screen state isn't detected on Chrome and Firefox when entering full screen mode by using a menu UI.
This isn't actually a bug in fscreen -- seems to be an issue in the browsers.
In Chrome on a Mac you can toggle full screen in the view menu or use ctrl-command-F.
In Chrome on Windows select the rectangle at the right-hand edge of the Zoom menu option.
http://fscreen.rafrex.com/ doesn't detect this change. It's also not reflected in:
document.webkitFullscreenElement => null
It seems some event should be thrown when this happens -- but I can't find any doc describing this alternate path to full screen.

in ff it F11 key enables almost fullscreen, there's 1 px at the top if you hover the ui shows up, so it is not exactly the same

Hi, the type of fullscreen you are referencing is different - you're talking about making the browser app itself fullscreen, not the website, and I am not aware of anyway to pick up on those events. I suggest you open issues with the respective browsers.
Note that when the browser app is fullscreen you can still have the website enter/exit fullscreen while the browser app remains in its fullscreen mode, and fscreen works correctly in this scenario.


Enable simple Promethues API responsiveness measurement.

Measure APIResponsivenessPrometheus twice (gather action):

First call mimics old APIResponsiveness, but uses new metric instead of the old summary.
Second call uses the new two-level query.

/ref https://github.com/kubernetes/perf-tests/issues/498

/retest

/retest

@mm4tt, PTAL

/lgtm
/approve

/hold cancel

/test pull-perf-tests-clusterloader2


Android uncatchable exception

Steps to reproduce

Set the device to not have bluetooth active.

Try to connect to known device.

Expected behavior
Error connection failure exception
Actual behavior
Aggregate exception because of null reference object (uncatchable) in "Device.cs" for the Android implementation
Crashlog
No call stack, since it throws an "Aggregate exception(Aggregate exception(null reference exception))" from:
https://github.com/xabre/xamarin-bluetooth-le/blob/f916758de21ee316b7ef4c16b097fb99de9632e2/Source/Plugin.BLE.Android/Device.cs#L136
Because "Gatt" service is null.
Configuration
Version of the Plugin: V2.1.2
Platform: Android - no specific version.
Device: Most likely any - Tested with "OnePlus 7 Pro"

Hi @iXyles,
I'm the friendly issue checker.
Thanks for using the issue template :star2:
I appreciate it very much. I'm sure, the maintainers of this repository will answer, soon.


Add your metadata file to the _config

Current Behavior
If the sample contents you've added are not displaying, you may need to add your metadata csv top the _config.yml file in the main repo. That's where the jekyll generator will look to see what metadata and digital objects to display.
Steps To Reproduce
No response
Anything else?
No response

So, I updated the _config.yml file  and the content I had for Lab 5 shows up. However, it is only the new data. I think only one metadata file can be used?  So for Lab 5, maybe I was supped to just add the new items to the exisiting metadata sheet?

Yes, the goal is just to have the new, added items for now. -JJ
On Wed, Oct 30, 2024 at 5:06 PM srosb1491 @.***> wrote:

So, I updated the _config.yml file and the content I had for Lab 5 shows
up. However, it is only the new data. I think only one metadata file can be
used? So for Lab 5, maybe I was supped to just add the new items to the
exisiting metadata sheet?
—
Reply to this email directly, view it on GitHub
https://github.com/srosb1491/cb-csv/issues/1#issuecomment-2448380914,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2F4PJHTZKFNRYUIZPOZWBTZ6FC3NAVCNFSM6AAAAABQYMDEX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYGM4DAOJRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


chore: Remove random_pet supporting resource

followup #42

cc @antonbabenko @bryantbiggs

This PR is included in version 2.1.0 :tada:


#5143 add enforcer profile

Addresses: https://github.com/deeplearning4j/deeplearning4j/issues/5143
Should be good to go, I've run build + a mvn clean test -Ptestresources and both seem fine...
And manually confirmed that mvn clean test (without the profile) fails as it should.
This is essentially identical to the DL4J test backend checks.

@sshepel Thanks
I was thinking we hold off merging until after release (but before mono-repo) - just in case we've missed something here.


Getting a 'We're sorry...'

Looks like it's broken?  500 error when attempting to download a new box.

Creating a brand new box worked.  Error was only for trying to download an edited box.

I had the same error, creating a new box fixed it.


Update configure-ssl-certificate-in-code.md

Updated document to explain who a private certificate can be loaded through C# code for a Linux application

@ankitvijay : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Create interface to calculate functional connectivity inflation measures

Closes #14.
Changes proposed in this pull request

Create an interface, FCInflation, to measure FC inflation. It produces two outputs:

A TSV file with the mean Fisher's z value from the Schaefer 100-parcel atlas for sliding windows. The default window size is 21.6 seconds (equivalent to 30 volumes with a 0.72 second TR).
A dictionary of summary metrics:

percent_fc_increase: Mean Fisher's z (across edges) from the last window divided by mean z from the first window, multiplied by 100.
fc_diff: Mean Fisher's z (across edges) from the second half of the scan minus the mean z from the first half.
fc_time_corr: The correlation between Fisher's z (not averaged across edges) and window.

Averaging Fisher's z across edges before calculating the correlation changes the result substantially, so I want to make sure I get this right.

I haven't added graphs or incorporated the interface into the actual workflow yet, but @bbfrederick @ckorponay what do you think?

Looks spiffy!   I assume you will run this on the initial and the processed data, and the report will show the before and after?

I hadn't considered plotting the correlation matrices. I was planning to use carpet plots to highlight changes from denoising, along with any plots that might be good to pull from rapidtide itself (or other CLIs in the rapidtide package that I can call in a later node within the workflow).

This looks great @tsalo - so cool that this all is going to be integrated into the fMRIPrep ecosystem, should really enhance its accessibility and use.


ISPN-8621 Share connection for events

https://issues.jboss.org/browse/ISPN-8621
Set to preview as this depends on #5742

Removing Preview tag as #5742 was merged.

@wburns Hi, this still requires your attention.

@rvansa does this PR solves the issues with the channel and events? (see https://issues.jboss.org/browse/ISPN-9053)

@pruivo I recall that I've fixed some bugs introduced in ISPN-8619/ISPN-8620 but I don't recall which ones. Can't say without investigation. Merge it and you'll see.

@wburns @galderz Two approvals is good, merge would be better.

Integrated into master, thanks @rvansa
Sorry was on PTO for a bit there :)


wrap v2 styles in layer

Changes
Similar to #1412, except it adds the styles from JS at runtime rather than importing them. This allows the flexibility of switching layers on or off (default on).
This is done in three steps:

generateStyles.mjs script will generate a styles.js file which exports the contents of itwinui-variables and itwinui-css as a plain javascript string.
The useStyles hook, which gets called in ThemeProvider (and also in useTheme), will import this string and decide whether or not the final stylesheet should be wrapped in @layer (depending on the user-controlled withLayer option).
The final stylesheet is added to the document using constructable stylesheets (which is supported in all browsers, but will also fall back to using a <style> tag in case it is not supported somewhere). After this, a flag iuiv2Loaded is set on the document to avoid re-adding these styles.

Tangential changes:

styles.tsx was removed, since there is a styles.js file similar to #1302. dependency on itwinui-css/itwinui-variables also removed.
css imports were removed, similar to #1322, because there is a single stylesheet inside JS now.
expandable-searchbox needed increased specificity because utils was overriding it. 6426a1d

Unrelated change: tooltip css visual tests were failing for some reason, so updated images.
Testing
Tested in playground and storybook. Verified build output and inspected browser devtools to make sure constructable stylesheet is created at runtime. Also verified fallback <style> tag is created.
Tested toggling withLayer prop in playground, working correctly.
Not sure if it makes sense to test this in jest as it would require mocking everything, but all visual tests pass, so that serves as a sanity check at least.
Docs
Pending.
Because this code diverges significantly from the dev branch, I'm not sure if this should be merged right now or after v3 is stable.

build:styles command is getting 'operation not permitted' error

i think it was because styles.js empty directory (from switching branches) gets copied by swc. should be fixed now.

Because this code diverges significantly from the dev branch, I'm not sure if this should be merged right now or after v3 is stable.

Are these changes needed in v3? I thought it's only for v2 -> no need to merge with 'dev' branch because v3 changes takes care of this in different way.

we have been merging main back into dev so far. this way dev stays up to date and can be easily merged into main when it's time for stable release.
still unsure about this, but if we do merge it first, then i guess i'll resolve merge conflicts when updating dev and take care of any accidents in subsequent PRs.

I'm also getting this despite force build

Try deleting the styles.js folder from src before running build/dev.

For this PR, this is changes the way that styling is used and shared between itwinui-css and itwinui-react, correct? If a user were to disable the withLayer option, would the code still have some styling or just be an empty shell?

For this PR, this is changes the way that styling is used and shared between itwinui-css and itwinui-react, correct?

yes and no. this PR doesn't change itwinui-css at all; it only changes itwinui-react so that it doesn't explicitly depend on itwinui-css.

If a user were to disable the withLayer option, would the code still have some styling or just be an empty shell?

it will have styling without layers. you can try this yourself in the vite playground.

Would this feature be so the user could create and customize their own styling for their application?

yes, it makes it easier to customize our components.


New version: OpslyCloud.opsly-cli version v0.0.1-alpha.31

Checklist for Pull Requests

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

Manifests

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

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

Automated with GoReleaser
Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

2024-08-15 14:20:44.886 [FAIL] Installer failed security check. Url: https://github.com/Opsly/homebrew-cli/releases/download/v0.0.1-alpha.31/opsly_Windows_x86_64.exe Result: 0x80004005

(Automated response - build 887.)


make config validity check optional

Make the config validity check optional for compatibility. The check can be enabled with the "check_config " key.

Closing. Implemented in #21


[React Native Gallery]: Visual looking headings,"View page code at GitHub", "Documentation", "Feedback" are not defined as heading.

Pre-Requisite:
Turn on Narrator (Ctrl + Win + Enter).
Repro-Steps:

Launch the React Native Gallery app.
Navigate to any component (For e.g., Permissions) and invoke it.
Set narrator to headings mode using caps lock + Page up/down.
Now navigate in heading mode and listen to narrator announcement.
Actual Result:
Visual looking headings,"View page code at GitHub", "Documentation", "Feedback" are not defined as heading. When user navigates to these headings narrator simply announcing as static text.

Expected Result:
Visual headings should be defined as the heading programmatically as well. When user navigates to "View page code at GitHub", "Documentation", "Feedback" narrator should announce as "View page code at GitHub, heading at level 2" and so on.
User Impact:
Users with visual impairments who rely on screen reader may use heading navigation mode to render through the page. Not defining heading in the application will make it difficult for users navigating in the app.
Internal Bug Link: https://dev.azure.com/microsoft/OS/_workitems/edit/47844555

Tested locally on Gallery - unable to repro. All three headings mentioned above are producing 'heading, level two' announcement from narrator when on focus.

Closed by mistake.

Tested locally on Gallery - unable to repro. All three headings mentioned above are producing 'heading, level two' announcement from narrator when on focus. Confirming with a11y team if issue can be closed, and why they are seeing the bug on their end.

Accessibility team checked a latest build of gallery and confirmed this is no longer an issue on their end - closing as not repro.

Tested locally on Gallery - unable to repro. All three headings mentioned above are producing 'heading, level two' announcement from narrator when on focus. Confirming with a11y team if issue can be closed, and why they are seeing the bug on their end.

Accessibility team checked a latest build of gallery and confirmed this is no longer an issue on their end - closing as not repro.


Together AI Client

This is a Together AI Client that provides a way to use the Together AI cloud inference service, which provides options to use many LLMs, such as Google's Gemma, Meta's Llama 2/3, Qwen, Mistral.AI's Mistral, and Mixtral, NousResearch's Hermes models.
This client supports text generation and function/tool calling (when using certain models as noted by Together AI).
Token costs are also implemented.
Will be used in the upcoming blog post #2965.
Related issue number
Can be used for #2916.
Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

Okay - this is getting close but I have an issue in that I can't get this demo notebook chat to finish. In the notebook, in the last example where it plays chess, how do I have it finish after 4 turns. It has max_turns but I'm not sure if that's in the right place as when I look at the call stack in the code, it just goes between send and receive constantly, not getting back to the main loop and checking max_turns after it enters the loop.
Here's the notebook file
Code dump is:
config_list = [
    {
        # Let's choose Meta's CodeLlama 34b instruct model which supports function calling through the Together.AI API
        "model": "mistralai/Mixtral-8x7B-Instruct-v0.1",
        "api_key": os.environ.get("TOGETHER_API_KEY"),
        "api_type": "together",
    }
]

import random

import chess
import chess.svg
from IPython.display import display
from typing_extensions import Annotated

board = chess.Board()

def make_move() -> Annotated[str, "A move in UCI format"]:
    moves = list(board.legal_moves)
    move = random.choice(moves)
    board.push(move)
    # Display the board.
    display(chess.svg.board(board, size=400))
    return str(move)

from autogen import ConversableAgent, register_function

player_white = ConversableAgent(
    name="Player White",
    system_message="You are a chess player and you play as white.  " "Always call make_move() to make a move",
    llm_config={"config_list": config_list, "cache_seed": None},
)

board_proxy = ConversableAgent(
    name="Board Proxy",
    llm_config=False,
    # The board proxy will only respond to the make_move function.
    is_termination_msg=lambda msg: "tool_calls" not in msg,
)

register_function(
    make_move,
    caller=player_white,
    executor=board_proxy,
    name="make_move",
    description="Make a move.",
)

register_function(
    make_move,
    caller=player_black,
    executor=board_proxy,
    name="make_move",
    description="Make a move.",
)

player_white.register_nested_chats(
    trigger=player_black,
    chat_queue=[
        {
            "sender": board_proxy,
            "recipient": player_white,
        }
    ],
)

player_black.register_nested_chats(
    trigger=player_white,
    chat_queue=[
        {
            "sender": board_proxy,
            "recipient": player_black,
        }
    ],
)

# Clear the board.
board = chess.Board()

chat_result = player_white.initiate_chat(
    player_black,
    message="Let's play chess! Your move.",
    max_turns=4,
)

I thought it may be the termination on the board_proxy but as that's for the nested chat I don't think that affects the main chat.
Any help would be appreciated, perhaps I'm missing something... noting @Hk669, @yiranwu0, @joshkyh, @qingyun-wu

Converting from draft, utilising the updated client_utils, now. I think this is ready for review.

we can retire this notebook https://microsoft.github.io/autogen/docs/topics/non-openai-models/cloud-togetherai/

Yes, I think you're right. I'll go through and tidy up references to it.
Can someone provide guidance on what we do if we remove a document page, e.g. External links may break

we can retire this notebook https://microsoft.github.io/autogen/docs/topics/non-openai-models/cloud-togetherai/

Yes, I think you're right. I'll go through and tidy up references to it.
Can someone provide guidance on what we do if we remove a document page, e.g. External links may break

@qingyun-wu @sonichi @yiranwu0

Thanks @yiranwu0 for working through the code. I've updated most items, just a couple of conversations to discuss and resolve.

@Hk669, I'll wait for feedback on removing the old notebook. I'm thinking perhaps we could just replace the old notebook for this and Mistral with the new ones. What do you think?

@Hk669, I'll wait for feedback on removing the old notebook. I'm thinking perhaps we could just replace the old notebook for this and Mistral with the new ones. What do you think?

Yeah sounds good.

@Hk669, I'll wait for feedback on removing the old notebook. I'm thinking perhaps we could just replace the old notebook for this and Mistral with the new ones. What do you think?

Yeah sounds good.

All done :)... same in both Mistral and Together PRs

I'm waiting for a few clarifications on the comments made by yiran. Otherwise it looks good to me.
cc @marklysze @qingyun-wu

LGTM!

Thanks for all your help!!

Resolve the conflict and we are good to go!