[bug] Infinite scroll on "new OBJKTs" feed is broken

basically what it says in the headline:
The infinite scroll of the "new OBJKTs" feed doesnt work, stopy after 8 or so objkts

Not really after 8 but it's indeed stopping after ~30-40.
I still haven't looked into it but it should be fairly obvious to spot with a debugger

I think it stops when you encounter a large amount of restricted objects, but I haven't been able too look further.

I think it stops when you encounter a large amount of restricted objects, but I haven't been able too look further.

Interesting thanks! I will look at it tonight with that in mind

yeah, it's fixed in the refactoring branch, but that might indeed still take a bit of time until it's ready to be merged.

@xat @jagracar ... I just have a doubt, I can't see the error anymore, can you confirm? was it just not deployed when this issue was filed?

It's something that doesn't happen always. It might be connected with some special tokens. That's what makes this issue tricky. It happened again one week ago and since then it didn't happen again, but i would be surprised if it's solved.

I will try to let you when I see it.

Happening now @melMass
The last visible OBJKT is 763828

It might be connected with some special tokens.

That's my guess too!
I'll try to pinpoint it!

It happens on recent sales too, stuck at 680282

Interesting, it's still stuck on 762761 an hour later

I think it remains always stuck. At some moment is so old that you don't notice anymore, because you need to scroll down a lot

Trying to comeup with an automated way to test this in #144

tz1QY9YLf2QmVuF4xukH56NMjqdgK6T7EA6x created a lot of new objkts in a short amount of time. Only the last one is show on the frontend, even though there are many more returned by the indexer:

id's 768236 - 768280 are from the same account
Maybe because of this uniq ?

I think that's another thing. If i remember well, there is some kind of filter to avoid that a single user blocks the complete scroll by minting too many OBJKTs at the same time

This was autoclosed by reference... re-opening and re-investigating ;)


Review prior work in this area, look into porting guide and recommendations

The ultimate goal for this repository is to create an honest recreation of the repository / project: https://github.com/substrate-developer-hub
The original code was written for Polkadot frame v1 and then upgraded to v2 substrate (I think).  But for logistical or resource reasons, this repository fell out of maintenance.  So the objective is to follow up on this thread:
https://github.com/substrate-developer-hub/substrate-enterprise-sample/issues/91
(review mentioned issues), and also review the README in the original repository.
I have forked the original repository here: https://github.com/IoTone/substrate-enterprise-sample
After reviewing the notes from the original developer relations person, it is clear that the path ought to be a full rewrite from scratch.  The notes in the above issue are clear in the path for porting.  While it may not be expedient to simply "port" the code to v3, then we don't need to use the forked repository.  But we have it in case we want to use the the route of taking the fork and porting the code from v2 - > v3.  Since I think a lot of the problem is in the web frontend and its intimate relationship with backend code logic and api, it might be harder than it sounds to just do a port.  But on the other hand, a lot of the problems come in where there are 30+ crates and a butterfly flaps its wings and something changes, a cascading set of dependencies breaks everything.  It's annoying, but that's life.   We will need to evaluate the effort.
If it makes more sense to start from scratch, then there is the question of taking the base substrate sample code and modifying for a new rewrite.  If that is the case, we will put it in this repository.  Either way, will track the initial issues and effort from this issue tracker here.
The further on down the road effort goes beyond this example, but that will be tackled in a different project, also open source.

closing


Cannot use with Podman when short-name resolution is enforced

Bug description
When using the podman engine (with https://pypi.org/project/repo2podman/), an exception occurs when the base image is retrieved:
STEP 1/52: FROM buildpack-deps:bionic
Error: error creating build container: short-name resolution enforced but cannot prompt without a TTY

This is caused by this line:
https://github.com/jupyterhub/repo2docker/blob/813d28bfdbcb0383dbb033427a167f30da1f06a8/repo2docker/buildpacks/base.py#L15
Because the base image uses a short name (i.e. does not state what repository it is from), it will search the registries in the registries.conf file (see https://www.redhat.com/sysadmin/container-image-short-names ). Because the user cannot be prompted to select the registry to pull from, it fails (since short-name resolution is set to enforced).
Expected behaviour
jupyter-repo2docker --engine podman . would launch a Jupyter notebook sucessfully.
Actual behaviour
jupyter-repo2docker --engine podman .
Picked Local content provider.
Using local repo ..
Using PythonBuildPack builder
STEP 1/52: FROM buildpack-deps:bionic
Error: error creating build container: short-name resolution enforced but cannot prompt without a TTY
Traceback (most recent call last):
  File ".../bin/jupyter-repo2docker", line 8, in <module>
    sys.exit(main())
  File ".../python3.10/site-packages/repo2docker/__main__.py", line 418, in main
    r2d.start()
  File ".../python3.10/site-packages/repo2docker/app.py", line 830, in start
    self.build()
  File ".../python3.10/site-packages/repo2docker/app.py", line 801, in build
    for l in picked_buildpack.build(
  File ".../python3.10/site-packages/repo2docker/buildpacks/base.py", line 614, in build
    for line in client.build(**build_kwargs):
  File ".../python3.10/site-packages/repo2podman/podman.py", line 385, in build
    for line in exec_podman_stream(cmdargs + [builddir]):
  File ".../python3.10/site-packages/repo2podman/podman.py", line 205, in exec_podman_stream
    yield from p
  File ".../python3.10/site-packages/repo2podman/podman.py", line 148, in execute_cmd
    raise CalledProcessError(proc.returncode, cmd)
subprocess.CalledProcessError: Command '['podman', 'build', '--build-arg', 'NB_USER=...', '--build-arg', 'NB_UID=1000', '--force-rm', '--rm', '--tag', 'r2d-2e1648064885', '...']' returned non-zero exit status 125.

How to reproduce

Git clone https://github.com/optapy/optapy-quickstarts
Create a venv python -m venv venv
Activate the venv . venv/bin/activate
pip install jupyter-repo2docker repo2podman
jupyter-repo2docker --engine podman .
See error

Your personal set up

OS: Fedora 35
Podman version: podman version 3.4.4
repo2docker version 2022.02.0

Possible Fixes
. Provide an option to state what registry to pull from (which will be inserted into the Dockerfile string)
. Change the FROM line to FROM docker.io/buildpack-deps:bionic

(This cannot be fixed in repo2podman, since the Dockerfile comes from repo2docker, hence why the issue was created here)

Good point! buildpack-deps:bionic implicitly means docker.io/library/buildpack-deps:bionic so I think using the full name is reasonable.
The only people it'd affect are those who have a locally tagged buildpack-deps:bionic image which is different from the upstream one. However this isn't supported- there's a separate long discussion over whether the base-image should be configurable or not https://github.com/jupyterhub/repo2docker/issues/487
@betatim @yuvipanda @minrk are you aware of any installations that would break if we use the full image name docker.io/library/buildpack-deps:bionic?

Nah let's do it!


Fix source of previous gen level up move

If you type /learn Palkia, Heal Block, you currently get the reply
In Gen 7, Palkia can learn Heal Block from:

anywhere (all moves are level-up/tutor/TM/HM in gen 7)

This is plainly untrue as Heal Block is a Gen 4 level-up move. If you were to query for a Gen 4 TM instead, such as swift, you would get the correct reply.
This bug seems to have been introduced when LC validation was added.
My approach is to limit the LC validity check to under-levelled Gen 4-6 moves only. (In Gen 7 you can of course learn under-levelled moves using the Move Relearner.)
I've tested and with this change Nidoran-M still can't learn Toxic Spikes in Gen 6 LC.

This appears to be ripping out old code without providing a replacement.

Actually wow no this needs to be entirely reverted, most of the code you ripped out was doing something important!


fix(@angular/cli): add more packages to packageGroup

In a workspace users, might have a direct depedencies on packages which are currently not listed in the packageGroup such as @angular-devkit/schematics.
A use-case for this would be that users might have a schematics library in their workspace or using the @angular-devkit/architect-cli with Bazel which is currently in prototype.
Fixes #16307

Following a convo with @clydin. the listed packages are intentionally left out. As the only reason they would be present is if the user was using them directly.  And in that case, updating them would most likely break their code.


Is it possible to replicate the exact behavior of the FAB from "Inbox by Gmail" app?

[x] I have verified there are no duplicate active or recent bugs, questions, or requests
[x] I have verified that I am using the latest version of FABsMenu.

Device/dashboard info:

FABsMenu version: NA
Android version: NA
Device Manufacturer: NA
Device Name: NA

Reproduction Steps
NA
Is it currently possible to replicate the behavior of the "Inbox by Gmail" FAB with this library?
I am talking about this (please ignore the blue FAB in the left screenshot):

In particular I am interested in:

(collapsed) Having an icon A and no label on the FAB (this should be possible already)
(clicked collapsed) Animate the expansion of the smaller FABs and the icon swap form A to B on the main FAB
(expanded) The background of the Activity is faded (this should be possible already)
(expanded) The labels have a white background and grey text (this should be possible already)
(expanded) The big FAB button, red in the screenshot, has its own label
(clicked expanded) It starts a custom action and is  toggling the FAB collapse.

So, to answer the things you are interested in:

Already available

It animates as the gif in README. But there can only be one icon with will be rotated on menu toggle.

Not available right now. The main FAB is only used to expand/collapse the menu.


Tabview and initial My Conference screen

There are some Todo comments to show we need to implement data into the currently hard-coded views.
Discussions around VoiceOver are also required as currently items are read out individually but should be made easier and more accessible.

Just peeped that the gradients are all grey for dark mode inside the assets, is this intentional?

Just peeped that the gradients are all grey for dark mode inside the assets, is this intentional?

Yes, there were no dark mode gradients on the design, so for now I made them all the same grey gradient so the content showed up as expected.  It would be nice to have a plan of action on how to convert colors/gradients for dark mode.

There's a quick padding guide with a note to try and remove any ambiguity in Figma, should hopefully clear this up in future 😄


Support topologySpreadConstraints

Although Affinity is great, we tend to use topologySpreadContraints to better distribute our pods over regions, zones and nodes. The NodePools should support this.

Was added with PR #264. I'm closing this issue as completed.


Flowers Classification using DL

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Flowers Classification
:red_circle: Aim : Build a model based on Tensorflow to classify the flowers from the given dataset.
:red_circle: Dataset : https://www.kaggle.com/datasets/ryanholbrook/tensorflow-flowers
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Email ID :
Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Full Name:- B Mani Chander
Github Profile link:- https://github.com/manichander429
Email id:- [manichander429<EMAIL_ADDRESS>Approach for this project:- so recently I developed a cnn model for diabetic retinopathy detection. Coming to the approach First, I will perform data augmentation, so that the model I develop can learn enough features to detect. Then, I would try using different models/architectures like cnn, ResNet, AlexNet, GoogleNet.. Etc. Then I will perform some hypertuning in order to find the optimal hyperparameters and then I will compare the accuracy of the developed models.
What is your participant role?-contributor ,SSOC-Season-2

Hi @manichander429 nice to have you here. I like your approach for solving this issue. This issue will be assigned to you once the program starts officially.
Till then, star the repository and explore more in open source.

Full Name: Manoj Kumar H S
Git Profile Link: https://github.com/Manoj-2702
Email ID<EMAIL_ADDRESS>Approach: So firstly I would perform data augmentation techniques such as random rotations, flips, zooms, and shifts to increase the diversity and quantity of training data. Then I would try using CNN Architectures such as VGG16, ResNet50, or InceptionV3, without the top classification layers. Later on add custom fully connected layers on top of the base model to adapt it to the flower classification task. Then, compile the model with an appropriate optimizer (e.g., Adam) and a suitable loss function (e.g., categorical cross-entropy). Hypertune the model to get better accuracy.
What is your participant Role? Contributor, SSOC-Season-2

Hi @Manoj-2702 nice to have you here. This issue is already pre booked by someone else, you can pick up other issues.

Hi @manichander429 would you like to take this issue?

Yaa i am more than interested

@abhisheks008 Yaa I am more than interested

This issue is assigned to you @manichander429

@abhisheks008 Can I take on this issue under Codepeak-23.I plan to compare several models like YOLO,Resnet,Mobilenet preprocessing based on the requirement of each model and then selecting the best out of them.

@abhisheks008 Can I take on this issue under Codepeak-23.I plan to compare several models like YOLO,Resnet,Mobilenet preprocessing based on the requirement of each model and then selecting the best out of them.

This issue will be assigned to you, once you finish the previous one.

@abhisheks008 Can you assign me now under Codepeak-23?

Hi @YashSachan2 this issue will be assigned to you, once you finish the previous one.

Issue assigned to you @YashSachan2

@abhisheks008 I have made the pr for flower classification.Please look into it.


Use checkbox type instead of list

In the question Which file types you would like to generate? I think it will be better to use checkbox instead of list type. No need to manage the both answer. What do you think?

Yes, after I've used it I was thinking the same :)

Need to update gradle build file.


chore: reduce playwright e2e test timeout, so we see failing tests faster

Description

[ ] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[ ] Chore (non-breaking change which does not add functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Change to the templates directory (does not affect core functionality)
[ ] Change to the examples directory (does not affect core functionality)
[ ] This change requires a documentation update

Checklist:

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Existing test suite passes locally with my changes
[ ] I have made corresponding changes to the documentation

Done already in a different PR


Fix subtitle style parsing

I don't know how long this is broken, but FFmpeg does not return standard ass/ssa format lines anymore.
Will need to test on more files, but this seems to fix it.

It tested with some of my files and it works fine.
I don't have any advanced ASS/SSA files though

During my testing on the WinRT branch, I again noticed the problem that our subtitle fonts get very big on low resolution files. That is because we currently set the font size in pixel unit. I changed this to percentage unit and now our font sizes are very close to other major players, regardless of the video resolution.
All these changes are on the WinRT branch already.

The mplayerhq sample library has some good samples with styles and embedded fonts, by the way:
https://samples.mplayerhq.hu/Matroska/subtitles/

D'oh I forgot to merge this. It was supposed to go into 1.0.1 before C++/WinRT merge...

Isn't this included in the cppwinrt branch anyway?

Yes it is included. I just intended this to be released before winrt merge. But no big deal...

Closing since this was already contained in WinRT PR.


Mongoid 6 Support

There weren't any breaking changes, just a small version logic change was necessary. All gemfiles needed some RUBY_VERSION checks for certain dependencies to maintain support for 1.9.3.
Also, I'd be willing to maintain this gem. We use this in production at hund.io.

Coverage remained the same at 96.35% when pulling bba94087bbe563d3bfe5123af7c6f1a9937f1ce6 on laCour:mongoid-6 into dea50b59a72ace7a1e58bfd5747136d7efc54868 on KoanHealth:master.

Coverage remained the same at 96.35% when pulling 2ba22e20171f43d9ce048da01b9abf6d25567788 on laCour:mongoid-6 into dea50b59a72ace7a1e58bfd5747136d7efc54868 on KoanHealth:master.

Looks good, thanks for the commit.  I'll push out a new version tonight or in the morning.


Container App Environment vnetConfiguration.outboundSettings

Describe the bug
We have been using our Bicep template to deploy container apps for months now with no issues.
Today we got the below error.
The solution was to remove the environment.properties.vnetConfiguration.outboundSettings block.
That's okay, but we would like to understand what happened here in more detail.
The api reference docs indicate that vnetConfiguration no longer accepts an outboundSettings block.
Presumably the block ceased to be supported at some point in the last ~24 hours, since we use this bicep command at least daily.
I'm keen to understand what changed here.
Is there an API reference changelog?
I know this changelog exists, but that doesn't have any changes in the past 24 hours.
Is there somewhere we should be looking to be alerted of breaking changes like this?
Command Name
az deployment group what-if
Errors:
InvalidTemplateDeployment - The template deployment 'v0-7-3' is not valid according to the validation procedure. The tracking id is 'b3d623c3-2e57-44c6-8973-eb4c8b4f858d'. See inner errors for details.
ValidationForResourceFailed - Validation failed for a resource. Check 'Error.Details[0]' for more information.
ManagedEnvironmentInvalidNetworkConfiguration - The environment network configuration is invalid: OutboundSettings is not supported.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Define a Container App Environment with the following

resource environment 'Microsoft.App/managedEnvironments@2022-06-01-preview' = {
...
  properties: {
    vnetConfiguration: {
...
      outboundSettings: {
        outBoundType: 'LoadBalancer'
      }

az deployment group what-if --template-file {} -g {} --name {} --parameters {} --parameters {}

Expected Behavior
what-if shows you a diff of the changed your template will make.
Environment Summary
Linux-5.19.0-32-generic-x86_64-with-glibc2.35, Ubuntu 22.04.1 LTS
Python 3.10.8
Installer: DEB

azure-cli 2.44.1 *

Extensions:
containerapp 0.3.20
log-analytics 0.2.2
ssh 1.1.3

Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1

Additional Context
We tried this on four different Bicep versions: 0.14.85, 0.14.46, 0.14.6 and 0.13.1, across both Ubuntu and MacOS.

@Shenglol Could you please help take a look at the what-if related issue?

@charlesavos The error was returned by the Microsoft.App provider. I would suggest opening a support ticket against the service team to see if there's anything changed on their side.
@zhoxing-ms We may close this since it's not a What-If issue.

@charlesavos, I am also running into this issue, did you manage to get a response from the Microsoft.App provider service team?

Thanks @shenglol, will do 👍
Hi @Wema, no I haven't opened a support ticket yet.
You should be able to fix your problem by removing the part of the vnetConfiguration that looks like this:
      outboundSettings: {
        outBoundType: 'LoadBalancer'
      }

I hope that helps!


Use as a library?

can I somehow use the hardware-accelerated PNG encoder in my own rust application?

No encoding or decoding is done with hardware acceleration as its not really a thing for image formats. Only editing operations are done on the GPU. All of the shader code for that is located in src/shader/image.frag.


cardano node bump 1.15.0

Issue Number

Overview

[x] I have changed yaml
[x] I have updated matrix
[x] I have updated our code to make it compiling
[ ] All test passes

Comments

I have still when stack build :
cardano-wallet-byron  > /home/pawel/Work/IOHK/cardano-wallet/lib/byron/src/Cardano/Wallet/Byron/Compatibility.hs:329:45: error:
cardano-wallet-byron  >     • No instance for (O.HasFullHeader ByronBlock)
cardano-wallet-byron  >         arising from a use of 'blockPrevHash'
cardano-wallet-byron  >     • In the second argument of '($)', namely 'blockPrevHash byronBlk'
cardano-wallet-byron  >       In the 'parentHeaderHash' field of a record
cardano-wallet-byron  >       In the 'header' field of a record
cardano-wallet-byron  >     |
cardano-wallet-byron  > 329 |                 fromChainHash genesisHash $ blockPrevHash byronBlk

Seems to build ok with your changes @paweljakubas.
bors try

@rvl indeed, stack build works. Also
stack test cardano-wallet-byron:unit
stack test cardano-wallet-shelley:unit
stack test cardano-wallet-byron:integration

works.
Problem is with stack test cardano-wallet-shelley:integration

bors r+

bors r+

bors retry

Failure seems benign (as only occurring for one of the environment).
Reporting and merging manually.


[OpenCL] Several tests fail for OpenCL backend

Several tests fail for OpenCL backend:
./bin/MIOpenDriver rnn -n 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -m relu -k 51 -H 127 -W 127 -l 1 -F 0 -r 1 -b 0 -p 1 -U 0
Backward Data RNN vanilla:
/home/user/MIOpen/build/bin/test_rnn_vanilla --float --batch-size 1 --seq-len 51 --vector-len 31 --hidden-size 127 --num-layers 1 --use-dropout 0 --in-mode 1 --bias-mode 0 --dir-mode 1 --rnn-mode 0 --batch-seq 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
MIOpen Error: /home/user/MIOpen/src/ocl/rnnocl.cpp:4866: GEMM is not supported

The following tests FAILED:
	 24 - test_gru (Failed)
	 42 - test_rnn_vanilla (Failed)
	 69 - test_rnn_extra (Failed)
	 70 - test_gru_extra (Failed)

Branch: 8ecc622c254282a71881a0833182e2a7238dded5

@averinevg MIOpenGEMM is not optional for OpenCL backend :) You need to enable this library using the cmake configuration flag -DMIOPEN_USE_MIOPENGEMM=On
If it is missing in the documentation, I think we need to fix the documentation too.

@junliume Wouldn't it be better to add this flag automatically for OpenCL, or at least check that it is set?

Actually, it is on by default with opencl.

Unless it is not installed. And I don't think it is mandatory overall. Only when gemm would be the only applicable solver/whatever.

@averinevg do you have miopengemm-dev installed? It looks like MIOpen cmake didn't find it. It should have logged something like Built without gemm

Unless it is not installed. And I don't think it is mandatory overall. Only when gemm would be the only applicable solver/whatever.
In that case you would get an error you see for legacy code primitives and something like no applicable solver found for solver primitives.

@averinevg do you have miopengemm-dev installed? It looks like MIOpen cmake didn't find it. It should have logged something like Built without gemm

I don't have it installed

I guess, rnn requires any gemm implementation.

In my understanding it should be solved as follows:

Cmake prints error message and exits
Or checks if miopengemm installed, and silently add -DMIOPEN_USE_MIOPENGEMM=On, or throw an error otherwise
Or just give a warning and continue execution by disabling some tests

@averinevg Yes, it makes perfect sense that we should emit errors when OpenCL backend is selected while miopengemm is not installed.


feat: upstream ListM from mathlib4

Can be merged as-is (mathlib down-port).
Just a nitpick: shouldn't it be listMAPI instead of listMApi? This is not important and I'm so I'm accepting this "incorrect" spelling.

the naming convention from core is ListM.Spec

the naming convention from core is ListM.Spec

Sounds a lot better to me! @semorrison ?

@semorrison I made a bunch of modifications here. Most notably, some of the function arguments have gained a Unit -> because we want to run them lazily (e.g. in append), and also the new Thunk type is added as a constructor so that you can have haskell style "evaluated and the result is remembered so you don't have to evaluate it again next time". It is used to prevent deep recursion or infinite recursion in pure functions here, rather than building up a long cons chain immediately.

Since @digama0 has baked-in laziness, maybe we should consider renaming this LazyListT and specialize to the new type LazyList when m:=Id?
One reason is that the specialization to m:=Id is actually interesting and it deserves a cool name! LazyListM would also work but I think that we're moving away from that after the OptionM/Option debacle.
Another reason is that I would expect ListM to reduce to something essentially equivalent to List when m:=Id. But now we have something substantially different from List when m:=Id.
In my mind, ListT m α should implement what may be informally described by m (α × m (α × ...)) (in the same sense that List α can be informally described by α × (α × (α × ...))). The monad m could be used to implement some laziness but that is not necessarily the goal since List is strict. Therefore, I think we are now looking at a fundamentally new type.
PS: Why this was called ListM instead of ListT. Is that a historical accident?

PS: Why this was called ListM instead of ListT. Is that a historical accident?

MList might be a better name, it means essentially "monadic (lazy) list". In lean 3 it was called mllist.
The reason for baking in the laziness is because you can end up with a completely different order of operations when using do notation than what you would expect, when the monad is something "strict" like Id, Option or Except. This is basically the same reason that andThen, orElse etc have a Unit -> thunk around their second argument, there were actual bug reports about this where things would get lifted out of the bottom half of a do block and executed unconditionally, leading to extremely difficult to interpret behavior after optimizations.

I see. The M is because this is a "list type that works well within monadic code" not that it is a monad transformer. In that case, putting the M at the end is confusing. I think it's good to have Lazy in there since that's a key feature. MLazyList sounds nice?

Sorry, I haven't looked at this in a while. I am slightly in favour of MList over MLazyList, as I think the lazyness is subordinate to the monadicness.
However the much bigger chore that remains is to building mathlib against Mario's changes and see if everything still works. I will try to make this a priority.

Downstream I used consOption (called just cons in the Mathlib version, with cons' being the cons in this PR) all the time. So having it disappear is a bit of a surprise.

Remaining tasks here:

wait for https://github.com/leanprover-community/mathlib4/pull/6413 to build to ensure everything works
finish bikeshedding. :-) I like MList the most, so will implement that change now, but am happy to take further instruction on this!


Octave Kernel Hanging

In installed octave_kernel for jupyter and I installed language-matlab 0.2.1 in Atom so their would be an Octave grammar.
Atom details:
> atom -version
Atom    : 1.10.2
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

In jupyter I can connect and execute with the octave kernel. In Atom when I try to execute it just hangs and nothing happens. I do not see anything in the console as well (see below).
I start Atom on the command line with
> OCTAVE_EXECUTABLE=~/bin/octave atom

Is there a suggested way to connect to this kernel?

Changed kernelspec in editor to
{
  "kernelspecs": {
    "Octave": {
      "spec": {
        "display_name": "Octave",
        "language": "octave",
        "argv": ["/home/slo/anaconda/envs/p3/bin/python", "-m", "octave_kernel", "-f", "{connection_file}"],
	      "mimetype": "text/x-octave",
        "name": "octave",
        "env": {}
      }
    }
  }
}

but this did not help. Running the argv on the command line, the kernel starts. I also see that the kernel starts in the editor console.

Could you scroll up the log messages in the dev console to show the messages after KernelManager: startKernelFor?

Thank you for your reply. I apologize for the delay. Here is the message.


Make efs-provisioner to respect custom DNS alias instead of dns name produced by efs service

Hi,
I would like to use an alias DNS instead of dns name produced by efs. Unfortunately efs-provisioner combines filesystemId with aws region and a static part of the dns name to produce full FQDN.
Please consider to enhance efs-provisioner by an argument like: efs_dns_name which by default is empty. When this argument is provided then efs-provisioner uses it and if it's empty then combines  filesystemId with aws region and a static part of the dns name to produce full FQDN.
What do you think about this proposal?

yes, i agree this is needed, see also: https://github.com/kubernetes-incubator/external-storage/issues/422#issuecomment-340129702

It seems that I’ve created a duplicate.

close as dupe, work on it there


allow Enumerable#tally to accept a hash to count occurrences

hash = {} of Char => Int32
words = ["Crystal", "Ruby"]
words.each { |word| word.chars.tally_by(hash, &.downcase) }
hash
# => {'c' => 1, 'r' => 2, 'y' => 2, 's' => 1, 't' => 1, 'a' => 1, 'l' => 1, 'u' => 1, 'b' => 1}

@Fryguy PR updated with your suggestions.

In Ruby this is called tally. We should use the same name. tally_by doesn't make sense. We use "by" with a block that determines something, that's not the case here.
The overload should just be tally(hash) with no type restrictions.

Ah, nevermind, this is about the two methods.

What's the use case for this?

@Sija see the first comment

Because why not? 😄  I can count occurrences even without the tally method.

@Sija You can avoid unnecessary hash allocations in your example if you could pass hash directly instead of merging the result. It also allows using different data structures than Hash.


Where is prepare_voc_data.py?

In voc_instruction.md, we need to Generate json files of pascal voc labeled and unlabeled data.
I follow the instruction but can't find prepare_voc_data.py, can you help me?
Thanks in advance!

Hello，I have the same question？ How do  you solve it?


max examples per class omniglot?

Am I right to assume that the maximum number of examples you can use for k-shot learning on omniglot is 5?  If I set (shots > 5) I get an error.

From memory, the number of examples per class in Omniglot is 20, so you should not get any error when shots > 5 (as long as shots + test_shots <= 20)

ahhh, i was missing (as long as shots + test_shots <= 20).  thanks so much.


Update README.md

Add missing semicolon.

Thank you very much for the pull request! Unfortunately this repository is automatically generated from the mojo repository. Furthermore the mojo repository is not yet able to accept pull requests (I'm working on it), but rather has as separate contribution process:
https://github.com/domokit/mojo/tree/master#contribute
I've fixed this in the main repo per your request:
https://github.com/domokit/mojo/commit/2db7ab1ed8be93702cad74887149cedab2b06daa


Make it more difficult to render a table without widths set

Problem

Currently, the Table widget initialises with an empty widths field. If the widths method isn't called before rendering, nothing is rendered in the table's allocated chunk. From an API standpoint, I find this confusing. I struggle to see a situation where not rendering any of the table's contents is desirable.
Solution

I'm not sure that there's a way to implement this in a non-breaking way. The easiest thing to do would be to add a parameter for widths in the constructor of Table.
Alternatives

I can think of a few other ways to implement my desired behaviour:

Add a reasonable default for widths; something like each column taking up the same amount of room. I'm not sure this can be accomplished without changing widths to be an owned value.
Perform an assertion before rendering that widths is non-empty.

If none of those changes are feasible given their breaking nature, it'd still be super nice to make the documentation clearer about the potential foot gun.

Additional context
Nothing to add apart from I'd be very happy to implement this if approved.

The first option seems reasonable to me.
It breaks anyone intentionally omitting constraints and expecting that to render no columns visible but this doesn't seem like useful behavior to rely on.
Should probably be ~5 line fix in Table::get_columns_widths() something like:
let widths = if self.widths.is_empty() {
  let col_count = self.rows.iter().max_by(|r| r.cells.len());
  vec![Constraint::Ratio(1,col_count); col_count];
} else {
  self.widths.to_vec();
}

Plus unit tests, docs, etc. Do you want to make a PR for it?

Thanks for the direction. Yes, happy to make a PR for it. Another way might be making width an Option<&[Constraint]>, which would allow users to opt in to rendering nothing. As you say though, it is a strange behaviour to rely on. What do you think?

You can always opt to render nothing, you don't need functionality on a custom widget for that.

Yeah, cool. Will get to work on the PR.

Ok, so I'm trying to push my changes to my fork, and the CI is failing on a clippy lint in src/style/stylize.rs. Not sure how to proceed - should I fix this in my commit?

( @joshka I'm not sure if I should open a separate issue for this or not. )
Right now there's no easy way to apply a custom width for each columns. I have to resort to using .widths(&[Constraint::XXX(), ...]).
For example, I want to be able to calculate a layout and pass in widths for the table to use, so that I can add a keybinding for the user to increase the width of a particular column. The way to do it at the moment is do a layout calculation, get the widths, then again explicitly call .widths(widths.iter().map(|w| Constraint::Length(w)).collect::Vec<Constraint>()) to generate the specific widths that I want.
It would be nice if we could rename the current .widths to .width_constraints() and have a new .widths() function that takes just a width directly.

TLDR - yes open an issue ;)
I'm a +1 that we need to nail down a better guarantee for table widths. In particular the gaps between columns should be the last constraint to be broken. I'd suggest taking a step back for that however and thinking in terms of design, use cases, specific tests and combinations that users might need for this. I think that using taffy based layout might be compelling to migrate towards rather than continuing to try to meet this on top of cassowary.
A rename like you're suggesting would break every application built on ratatui and prevent easily updating every tui app, so if we did this, it would probably be via a multi-step process (add a new method, deprecate the old, later delete the old method). But you might just avoid this for now by calling it something like fixed_widths.
The problem with that however is how to handle over allocation generically in a way that makes sense for all usages. I don't know the answer to that, so I'd want someone to put forward some considered approach and help show that it's the right one (compare it against options etc.)

I'll open an issue since it seems like it might be part of a larger discussion.

This issue bit me as well. I created a table, with a few static rows / columns of data, and was getting blank output.
There was no feedback to indicate that I must call the .widths() method and pass in the column sizing constraints. Improving this usability would be helpful for new developers, like myself.

In https://github.com/ratatui-org/ratatui/pull/638 I've rewritten a bunch of docs to make it a bit more clear that widths is necessary.
I'd like to also suggest that we should introduce a breaking change to Table::new() so that the widths are a required parameter.
Summary of approaches:

https://github.com/ratatui-org/ratatui/pull/519 - adds defaults if widths are not set
https://github.com/ratatui-org/ratatui/pull/638 - adds documentation about setting .widths() being mandatory
TODO breaking change to add widths to Table::new()


feat: save active tabs in dashboard permalink

SUMMARY
Save which tabs are selected in permalink state and restore the tab selection so we can restore the same tab selection when users open a dashboard using permalink.
Also renamed properties in the dashboard permalink state to make them easier to understand.
This is in preparation for https://github.com/apache/superset/pull/19354 where we allow users to set tab selection when generating email reports for dashboards. The next step is to generate dashboard screenshots from permalink as well and attach the permalink to the email reports (we will generate a new permalink in the backend based on reports metadata). The next next step is to allow saving filter states in dashboard reports, too.
Depends on https://github.com/apache/superset/pull/19966
This PR includes a db migration where we renamed a couple of properties in permalink states. The migration should be fairly low risk since we are only updating permalinks for dashboards. At Airbnb, after running Superset with the new permalink feature for 3 weeks, there are only about 1400 links generated.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A
TESTING INSTRUCTIONS

Go to a tabbed dashboard with multiple tabbed sections
Switch more than one tab sections and copy a permalink for some tab
When opening the permalink, the previous tab selection should be retained

ADDITIONAL INFORMATION

[x] Has associated issue:
[ ] Required feature flags:
[x] Changes UI
[x] Includes DB Migration (follow approval process in SIP-59)

[x] Migration is atomic, supports rollback & is backwards-compatible
[x] Confirm DB migration upgrade and downgrade tested
[x] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@eschutho This should be ready for re-review.
@villebro @michael-s-molina in case you have an interest in this as well.


    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/ReactCommon/cxxreact/Instance.cpp:61:14 loadApplication
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/ReactCommon/cxxreact/Instance.cpp:95:5 loadScriptFromString
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:1336:29 __51-[RCTCxxBridge executeApplicationScript:url:async:]_block_invoke
    /Applications/Xcode_11.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1799:16 facebook::react::tryAndReturnError(std::__1::function<void ()> const&)
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:276:20 -[RCTCxxBridge _tryAndHandleError:]
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:1319:3 -[RCTCxxBridge executeApplicationScript:url:async:]
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:1299:3 -[RCTCxxBridge enqueueApplicationScript:url:onComplete:]
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:915:5 -[RCTCxxBridge executeSourceCode:sync:]
    /Users/runner/runners/2.160.1/work/1/s/node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm:390:7 __21-[RCTCxxBridge start]_block_invoke_2
    /usr/lib/system/libdispatch.dylib __dispatch_call_block_and_release
    /usr/lib/system/libdispatch.dylib __dispatch_client_callout
    /usr/lib/system/libdispatch.dylib __dispatch_root_queue_drain
    /usr/lib/system/libdispatch.dylib __dispatch_worker_thread2
    /usr/lib/system/libsystem_pthread.dylib __pthread_wqthread

React Native version:
react-native: 0.61.5 => 0.61.5
Steps To Reproduce

Submit to app store in release mode
Happens intermittently in approximately 1/20 boots

It's hard to determine a reliable way to reproduce, but we receive crash reports about this issue.

We are still experiencing this crash on a regular basis.

same issue here


request.auth.claims[scope] does not allow a JWT an array of scopes

Describe the bug
When enabling RBAC, the request.auth.claims[scope] authorization property does not have a way to validate scopes in the form of an array.
i.e. {..., "scope": ["foo.read"]}
Expected behavior
If the token's scopes are in the form of an array, there should still be a way to validate these scopes using request.auth.claims[scope].
For example, if we set the following in the ServiceRoleBinding policy:
request.auth.claims[scope]: "foo.read"
An incoming JWT in the following format should pass:
{..., "scope": ["foo.read"]}
Steps to reproduce the bug

Enable mTLS (istio-auth.yaml) on app similar to BookInfo
Enable JWT Policy
Configure a ServiceBindingRole with the following subject properties

subjects:
  - user: "*"
    properties:
      request.auth.claims[scope]: "foo.read"

Visit the page with a JWT containing the following or equivalent scopes
{..., "scope": ["foo.read"]}

See that the JWT is rejected.

Version
○ → istioctl version
Version: 1.0.1
GitRevision: 42773aacced474d97159902d20579a25b1f98106
User: root@832d5020b1d4
Hub: gcr.io/istio-release
GolangVersion: go1.10.1
BuildStatus: Clean

○ → k version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-18T11:36:43Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Is Istio Auth enabled or not?
istio-auth.yaml enabled on demo BookInfo app with the example JWT Policy enabled
Environment
minikube version: v0.28.1
Cluster state
istio-dump.tar.gz; jwks information in the JWT Policy may need to be updated so that tokens can be generated with scopes in the form of an array.
Related issue: https://github.com/istio/istio/issues/8319

In Istio 1.0, Istio RBAC does not support JWT claims with array type. We recently added this support (bullet 3 of issue #6984). We are in the process of updating documentation. It will be available in 1.1 release.
@lei-tang
For now, the workaround is to use a single string instead of array of one element. For example:
{..., "scope": "foo.read"}

@cameronmoreau: in your "step 2. Enable JWT Policy", what commands and configurations did you run?

Confirmed that istio 1.1.0.Snapshot.1 fixes the described issue 👍 Thanks!

The PR #7747 fixed this issue. Thanks for confirming that the fix works!


Faster logging

👍  if you find the logging annoyingly slow. I can improve the search speed, but the tailing time is limited by cloudwatch logs at the moment.

[ ] new implementation

[ ]  write it
[ ] integration
[ ] remove fields namespacing

[ ] remove old grammar
[ ] parse Lambda logs
[ ] rewrite examples
[ ] rewrite documentation
[ ] QA

not sure if it's worth it, sometimes cloudwatch seems reasonably, sometimes very slow, not really sure why

Not sure what happened to this or if you have any recommendations, I'm on the latest release and up logs staging -S5m is showing no results after 15+ minutes (our staging has very little traffic etc although our prod has a good amount of traffic). Is there anything I can do on my side to improve this process?

@louisrli unfortunately that's just the speed of CloudWatch Logs, I'm not sure why it's so slow, it's hard to imagine how it could take so long. Long-term it might be nice to change it to use CloudWatch Insights instead


The limit rate of tweets_details

Hi, Trevor
You show the rate limit of tweets_by_ids and tweets_by_id, Could you tell about the rate limit of tweets_details? and Where I can find the number.
Thanks a lot

I recently added a rate_limits property to the Scraper class. You'll just need to make an initial test query to populate it (This applies to all methods)

I recently added a rate_limits property to the Scraper class.


Change method of in Views to optimize for View parameter

Great library. I made this small modification for our internal use and wanted to share it if you think it's worthwhile.

@ErrApparent thank you for sharing! Can you please tell us, what would be the use-case of that modification?

@ErrApparent a gentle ping :)


fix(table): now using link buttons to wrap (iss1899)

Fixed spacing between icon and text

close #1899

Deploy preview for pf-next ready!
Built with commit 02ad5d4324474b8d2e64350875041311f79917ef
https://deploy-preview-1978--pf-next.netlify.com

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How does the --warm_start param work?

I am training a new Tacotron model from sratch. The first run I use this command:
python train.py --output_directory=outdir --log_directory=logdir
and run to 200th iter then stop. Now I want to resume the training, but I notice that there is a --warm_start param for train command, so I tried:
python train.py --output_directory=outdir --log_directory=logdir -c outdir/checkpoint_200 --warm_start
but it train from iter 0 again, and new checkpoint files saved from 0 not from 200 as I expected. And if I dont use --warm_start it will continue train from last iter, and new checkpoint file number increased (300, 400, ....)

Hello @EuphoriaCelestial, when checkpoint is loaded without warm_start, it gets iteration from checkpoint_dict and starts incrementing from that number.
The coolest difference is that warm start can ignore embedding weights of pretrained model/checkpoint. So that anyone can warm start from this tacotron 2 model and get alignment image even after 500 iterations. Thank you @rafaelvalle !
Now I am trying to understand how learning rate is updated, when I resume my training without warm start, it seems it gets learning rate from checkpoint_dict.
Do I change ignore_layers and warm start in order to update my learning rate?

Hello @EuphoriaCelestial, when checkpoint is loaded without warm_start, it gets iteration from checkpoint_dict and starts incrementing from that number.
The coolest difference is that warm start can ignore embedding weights of pretrained model/checkpoint. So that anyone can warm start from this tacotron 2 model and get alignment image even after 500 iterations for any language. Thank you @rafaelvalle !

So, it mean I can get the English pretrained model of Tacotron2, and use warm start to train it for another language, even if I change alphabet, symbols, .... ?

you have to change alphabet, symbols and refer to basic cleaners from hparam settings.
--warm_start parameter excludes embedding weights by default and if your dataset is OK, you can get more or less acceptable results in another language.

Closing due to inactivity.

I still couldn't train my own set from scratch. So I tried to run
python train.py --output_directory=outdir --log_directory=logdir -c tacotron2_statedict.pt --warm_start
and train continues great. But now (30k iter) I need to edit the hparams (change learning rate). How do I continue training?
python train.py --output_directory=outdir --log_directory=logdir -c checkpoint_30000.pt --warm_start
or without --warm_start ?

I still couldn't train my own set from scratch. So I tried to run
python train.py --output_directory=outdir --log_directory=logdir -c tacotron2_statedict.pt --warm_start
and train continues great. But now (30k iter) I need to edit the hparams (change learning rate). How do I continue training?
python train.py --output_directory=outdir --log_directory=logdir -c checkpoint_30000.pt --warm_start
or without --warm_start ?

without warm_start
python train.py --output_directory=outdir --log_directory=logdir -c checkpoint_30000.pt


Avalonia Support?

Does this library supports Avalonia? If so, is there any documentation on the implementation with avalonia? Thanks in advance.

@realivanjx Sorry, there is no support for Avalonia.


Inserting Multiple Rows At Once

I tried to search the docs but found nothing, is it possible to insert multiple rows at once?

Could you be more specific or what's to goal that you want to achieve?

How can I do something like that:
INSERT INTO mytable (col1, col2, col3) VALUES
    (1, 2, "abc"),
    (2, 4, "xyz"),
    (3, 5, "aaa"),
    (4, 7, "bbb");

You could do it with an SQL statement like you've wrote.
I've posted a sample SQL-Statement here: https://github.com/stephencelis/SQLite.swift/issues/626
Or you could write a loop and do it with the SQLite way from the documentation:
for user in usersArray {
    try db.run(users.insert(email <- user.email, name <- user.name))
    // INSERT INTO "users" ("email", "name") VALUES (UserEmail, UserName)
}

I haven't tested this.

That's just workarounds I already did use plain sql statements, but would be nice to have it supported.

Well maybe @stephencelis or one of the contributors will comment on this, but I don't see the loop-way as a workaround. I would go that way.

would like this feature also

That would be an awesome feature ... I've searched the docs for something similar but had to use and SQL statement at the end

Is there still a way to insert multiple rows in one go ?

You can add them in a single transaction:

this was merged in #1048


Update fr.js

Small Spelling correction

I had not seen that the correction was already in the pipe


Persistant link to "View Entries" and "Export CSV"

Something like:
View entries: http://localhost:8000/admin/forms/form/export/1/view/
Export CSV: http://localhost:8000/admin/forms/form/export/1/csv/
This would make it quick to check out the entries and get the CSV, by for example having the urls bookmarked.

After some thought, persistant link to "Export CSV" isn't that useful, since you've probably want to configure the filters when doing an export, so I didn't add it.


IndexWork uses ExecutorService to process index tasks by the multi-thread  approach

IndexWork should use ExecutorService to process index tasks by the multi-thread  approach. The size of the thread pool is configurable. By default, it will be the result of number of the host processor cores minus one.
In the Kubernetes environment, the multi-thread feature is off by setting the size of the thread pool to one.
Also, the RabbitMQ Channel should only send one request for each worker at a time:
RabbitMQchannel.basicQos(1);

Now in the IndexWorker class, the multiple threads are used to handle the indexing.


Format JavaScript using Prettier

This PR brings over the following from GOV.UK Frontend:

https://github.com/alphagov/govuk-frontend/pull/3875

This PR configures Prettier to format *.{cjs,js,mjs} files
I've also added eslint-config-prettier to turn off ESLint rules handled by Prettier, since:

StandardJS removes semicolons almost everywhere, Prettier inserts them
StandardJS adds spaces before function parentheses, Prettier removes them

We also have a PR to switch stylesheet formatting to Prettier:

https://github.com/alphagov/govuk-frontend/pull/3799

@romaricpascal @querkmachine This is the last Prettier PR across our two main repos
Other than work to look into commit hooks etc with shared concerns around GitHub Desktop and other UIs


feat: prerender in worker rather than subprocess to support Deno

use workers instead of child_process
related:
https://github.com/denoland/deno/issues/17248
@benmccann would you be able to review this PR?

I'm not sure I totally understand how this affects Deno though — it looks like child_process and worker_threads are both implemented. Is there some nuance I'm missing?

It sounds to me like Deno implements child_process, but not communication between child and parent process and for that recommend using workers - or at least that's what I got from this article. @bartlomieju would you be able to confirm if that's correct?

Thanks for the ping @benmccann.

It sounds to me like Deno implements child_process, but not communication between child and parent process

That's true, we currently don't have support for the child_process.send() API. Unfortunately our polyfill for the worker_threads module is broken at the moment, but given that you have a need for it, we can prioritize fixing it and get it done next week. Does that sounds reasonable to you?

Thanks! Yeah, we can wait to merge this on our side then. I'm also fine going either the worker_threads or child_process.send() route if one is easier than the other

Workers would definitely be easier - we just need to update once-working code. I'll prioritize this work over the next week and get back to you once it's released (I'll target to release in Deno v1.33.4 next week).

iirc we have been using child_process to ensure resources are properly cleaned up (eg db connections). Is that still the case with worker?

iirc we have been using child_process to ensure resources are properly cleaned up (eg db connections). Is that still the case with worker?

@dominikg I believe so - workers use separate OS threads, so once the worked is closed/terminated the resources will be released back to the OS.

This code guarantees that everything is correctly shut down — if it wasn't, the tests would never complete:
https://github.com/sveltejs/kit/blob/9f5642d156a797160abac58a29beca417bf53df8/packages/kit/test/prerendering/basics/src/hooks.server.js#L20-L23
So given that the tests are passing I'm confident that it works correctly.

Please take a look at https://github.com/sveltejs/kit/issues/9989 - seems that using workers require also env cleanup.


Wealth values do not scale by width and are too tight for values that can go into hundreds of thousands

Should be better on the next release, check it out.

Where's what it'll look like in 2.5.23, with nearly the same width as the print and roughly the same values:

And here's the window at the default width:

Hope this fixes the issue.


Version bump to Ipopt 3.12.13

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Yes, it's ready.

Hold on, there's an error here. It's working for an unexpected reason. Standby.

It looks like there was a syntax error with the patch, which caused the re-assignment of FLIBS to be set to an empty string. It caused an error, but the script continued on since apparently having FLIBS be empty is not a problem in this case. I modified the patch to just set FLIBS to be an empty string explicitly.


Implement ==/!= operator support in custom selectors

Custom selectors should have equality operators implemented as all other Selenium selectors do.

Implemented in #25


Reporting performance metrics to the GCP database using metric center directly from the app

This will help to improve the host-independency of a test, and help to collect performance metrics running test on firebase test lab.
It can be a follow up of flutter/plugins#2906. Currently the biggest challenge is https://github.com/dart-lang/gcloud does not support running on flutter runtime.  (liyuqian/metrics_center#5)
/cc @liyuqian

Close this as to track the progress in  #38329 and liyuqian/metrics_center#5


Missing methods on Blackboard object

Version: Godot 4.2.2-Mono
I apologize if I'm misunderstanding the API.
I have a LimboHSM I'm using for turn management in a turn-based RPG.  The LimboHSM has a BlackboardPlan and I call blackboard.top() to reference that from the LimboStates themselves. I consulted the docs and saw the get_vars_as_dict and populate_from_dict methods and thought those would be more convenient than calling set_var and get_var dozens of times. But I get an error saying Invalid call. Nonexistent function 'populate_from_dict' in base 'Blackboard'.
Am I misunderstanding, or is this a bug?

Those methods are available in latest builds, not v1.0.2. You can use the latest pre-release version: https://github.com/limbonaut/limboai/releases

Fair enough. I guess I didn't pay enough attention on the documentation haha.


[core] limitShift: add option to pass an offset amount that is always added to the min/max values

Currently, the limitShift function considers two types of "offsets" when computing the min/max limits for the shift middleware:

the offset from the offset middleware (added
the offset from the offset option (part of the limitShift arguments)

Both of these offsets are added arbitrarily, following a logic that depends on the axis and the popover's placement.
This logic comes as a limitation when the consumer of the library needs to add an offset to the popover that is always applied. In that case.
That's why I'm proposing that we add a new option for the limitShift function, in order to be able to pass an offset amount that gets always added when computing the min/max limits — not sure what the best name for this option would be.
For more context, see the conversation in #1868

Hey @atomiks , let me know what you think about this proposal.
I'm happy to start working on this from next week, if you agree.

Let's see if fixing cross-document element supports makes this unnecessary, otherwise if it's still necessary then consider it


Final Paper Draft

Need to write the final draft of the paper and do some organizing. We maybe want to address Ross's Piazza post answer and squish the appendices into a single PDF with the main report. Ideally, we'd all have things written a day or two before the deadline, so there is time to revise and proofread and every section gets more than one pair of eyes checking it.
Also need to write the scripts to generate the images.

Yeah, we'll have to deal with Ross's response vs Jarrod's response (I emailed Ross some more questions about it too, so we can talk about it tomorrow)

ALL images need to be cached in the top-level images directory. Please also reference images in the paper using the top directory.
Abstract
Intro
Data
Methods:
Smoothing
Convolution + time correction
Linear regression (includes model selection)
Normality
Hypothesis testing
Clustering (includes BH, Hiro's clustering, t, beta, and parameter smoothing, in that order)
Results:
This is a single section that gives a general overview of the results.
Discussion:
Discussion of results: more broad the the results section, also compares w/original paper
Discussion of future work: what it says on the tin.
Appendices:
Outliers
Smoothing
Convolution
Clustering?
 Please also reference images in the paper using the top directory.
Abstract
Intro
Data
Methods:
Smoothing - RACHEL
Convolution + time correction - BEN
Linear regression (includes model selection) - JANE (model selection - HIROTO+BEN)
Normality - JANE
Hypothesis testing - HIROTO
Clustering (includes BH, Hiro's clustering, t, beta, and parameter smoothing, in that order) - HIROTO, BEN, RACHEL
Results:
This is a single section that gives a general overview of the results. - EVERYONE
Discussion:
Discussion of results: more broad the the results section, also compares w/original paper - EVERYONE
Discussion of future work: what it says on the tin.  - EVERYONE
Appendices:
Outliers - JANE
Smoothing - RACHEL
Convolution - BEN
Clustering? - HIROTO
Time series - JANE

I will update abstract, intro, and data. Will also be fixing the Makefiles and READMEs.

I will do t, beta, parameter smoothing (for methods-clustering)..


Audit Log background not styled properly

Although all other Server Settings pages have darkened/lightened backgrounds matching the rest of the MinimalCord theme, the Audit Log page still has the default Discord background color.

Fixed.


Fix Xbox controllers in Bluetooth mode on macOS

master version of https://github.com/godotengine/godot/pull/51117.
This prevents the D-pad up arrow from being registered as pressed when it isn't, and pressing any direction from activating the next arrow clockwise of it.
Thanks @dsrw for providing this fix :slightly_smiling_face:
This closes https://github.com/godotengine/godot/issues/44721.

Thanks!


nezha: init at 0.20.6

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 352354

x86_64-linux

:white_check_mark: 1 package built:

nezha

aarch64-linux

:white_check_mark: 1 package built:

nezha

x86_64-darwin

:white_check_mark: 1 package built:

nezha

aarch64-darwin

:white_check_mark: 1 package built:

nezha


Little to no parallelisation during goleft depth step

Hi Brad,
I'm running a standard variant pipeline on 48 exomes, using stable v1.0.0 and I'm noticing a huge slowdown during the goleft depth step. The pipeline has been stuck on this step, with no parallelisation whatsoever. It seems bcbio is traversing over each file, one by one, using just one core, instead of the assigned 14.
Any idea what could be causing this? (no idea if there was a fix in latest release, but while the pipeline is running, I can't do an upgrade)
Thanks
M
Update:
The pipeline started coverage analysis on 01/13, still running as we speak.

Matthias;
Sorry about the issue, I'm not sure what is going on here. Are you re-running an analysis in a previous directory so it's not parallelizing? If so, removing checkpoints_parallel/*.done should let bcbio know you want to run in parallel again and avoid only allocating a single core for this step.
If not, we'd need to see some logging output to have a better idea of how bcbio is assigning cores and what might be happening wrong here. It would also be great to update bcbio when you have an opportunity to try and catch any fixes that have been put in place since the 1.0.0 release.
Hope this helps.

Hi Brad,
Thanks, removing the checkpoints fixed the issue for me. Would it be possible to do this automatically when restarting an analysis?
Thanks
M

OK, I've no idea how that old code stuck around there, but I manually removed alignprep.py and replaced it with the one in the repo, and now everything seems to run smoothly. Perhaps there's been some kind of issue with the the installer/egg/conda/whatever.
I'm doing a fresh install locally, and will check if this also contains the old code.
M

Matthias;
I've been thinking about your initial issue here, running multiple cores in a previous work directory, and decided it's sufficiently confusing to change the behavior. Now for local multicore runs it will always use the specified cores regardless of if a job was run before. For IPython runs, it still uses checkpoints as these are helpful in avoiding spinning up an extra cluster just to check that everything finished. However, there is less benefit for local runs and the behavior has confused several people in the past. Hopefully the new settings make more sense for usage going forward.

Hi Brad,
Thanks for the fix, I'm sure this will help a lot of people out (me included)!
M


Only use exact matches in the prompt for now

Fixes #94

The prompt now reads as in the attached file
new-output.txt


C2c source target v1 to v2

Created the api for the C2C source target task for v2
Issue ticket number and link
Closes #xxxx (Replace xxxx with the GitHub issue number)
Checklist before requesting a review

[ Yes ] I have performed a self-review of my code

Check the correct box. Does this PR contain:

[ ] Breaking changes
[ ] New functionality
[ ] Major changes
[ ] Minor changes
[ ] Bug fixes

[ ] Proposed changes are described in the CHANGELOG.md

[ ] CI Tests succeed and look good!

Requirements after merging

[ ] Need to regenerate common/ resources

[ ] Need to regenerate task-specific resources. Specify: <all or ...>

Thanks Kai, i will change them
On Tue, Apr 16, 2024 at 8:45 AM Kai Waldrant @.***>
wrote:

@.**** commented on this pull request.
Make sure you use allen_brain_atlas instead of allen_mouse_brain_atlas or
mouse_brain_atlas
On src/datasets/resource_test_scripts/allen_mouse_brain_atlas.sh
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567380265
:
change fn toallen_brain_atlas.sh
In src/datasets/resource_test_scripts/allen_mouse_brain_atlas.sh
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567381527
:

--seed 123 \

--do_subsample true \
--output_raw  force_null \
--output_normalized force_null \
--output_hvg force_null \
--output_pca force_null \
--output_knn force_null \
--output_dataset '$id/dataset.h5ad' \
--output_meta '$id/dataset_meta.yaml' \
--output_state '$id/state.yaml' \
--publish_dir "$DATASET_DIR"

+# rm -r $DATASET_DIR/temp_*
+
+# run task process dataset components
+src/tasks/cell_cell_communication_source_target/resources_test_scripts/mouse_brain_atlas.sh
⬇ Suggested change
-src/tasks/cell_cell_communication_source_target/resources_test_scripts/mouse_brain_atlas.sh
+src/tasks/cell_cell_communication_source_target/resources_test_scripts/allen_brain_atlas.sh

In
src/tasks/cell_cell_communication_source_target/api/comp_control_method.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567383237
:

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

⬇ Suggested change

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

path: /resources_test/cell_cell_communication_source_target/allen_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/allen_brain_atlas

In src/tasks/cell_cell_communication_source_target/api/comp_method.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567384357
:

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

⬇ Suggested change

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

path: /resources_test/cell_cell_communication_source_target/allen_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/allen_brain_atlas

In src/tasks/cell_cell_communication_source_target/api/comp_metric.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567384568
:

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

⬇ Suggested change

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

path: /resources_test/cell_cell_communication_source_target/allen_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/allen_brain_atlas

In
src/tasks/cell_cell_communication_source_target/api/comp_process_dataset.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567384760
:

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

⬇ Suggested change

path: /resources_test/cell_cell_communication_source_target/mouse_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/mouse_brain_atlas

path: /resources_test/cell_cell_communication_source_target/allen_brain_atlas

 dest: resources_test/cell_cell_communication_source_target/allen_brain_atlas

In
src/tasks/cell_cell_communication_source_target/api/file_common_dataset.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567385652
:

@@ -0,0 +1,49 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/dataset.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/dataset.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In
src/tasks/cell_cell_communication_source_target/api/file_prediction.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567386142
:

@@ -0,0 +1,24 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/prediction.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/prediction.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In src/tasks/cell_cell_communication_source_target/api/file_score.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567386338
:

@@ -0,0 +1,25 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/score.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/score.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In src/tasks/cell_cell_communication_source_target/api/file_solution.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567386542
:

@@ -0,0 +1,61 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/solution.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/solution.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In src/tasks/cell_cell_communication_source_target/api/file_test.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567386749
:

@@ -0,0 +1,37 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/test.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/test.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In src/tasks/cell_cell_communication_source_target/api/file_train.yaml
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567386907
:

@@ -0,0 +1,37 @@
+type: file
+example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/train.h5ad"

⬇ Suggested change
-example: "resources_test/cell_cell_communication_source_target/mouse_brain_atlas/train.h5ad"
+example: "resources_test/cell_cell_communication_source_target/allen_brain_atlas/dataset.h5ad"

In
src/tasks/cell_cell_communication_source_target/process_dataset/script.py
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567387831
:

@@ -0,0 +1,60 @@
+import sys
+import anndata as ad
+# from openproblems.tasks._cell_cell_communication._common.utils import ligand_receptor_resource
+import openproblems as op
+import pandas as pd

+## VIASH START
+par = {

"input": "resources_test/cell_cell_communication_source_target/mouse_brain_atlas",

⬇ Suggested change

"input": "resources_test/cell_cell_communication_source_target/mouse_brain_atlas",

"input": "resources_test/cell_cell_communication_source_target/allen_brain_atlas",

On
src/tasks/cell_cell_communication_source_target/resources_test_scripts/mouse_brain_atlas.sh
https://github.com/openproblems-bio/openproblems-v2/pull/391#discussion_r1567391448
:
Change fn to allen_brain_atlas.sh
—
Reply to this email directly, view it on GitHub
https://github.com/openproblems-bio/openproblems-v2/pull/391#pullrequestreview-2003680899,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN7YPLNBF4OJYY34WYJRS23Y5UTQHAVCNFSM6AAAAABD56BSIOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAMBTGY4DAOBZHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

This work has been moved to https://github.com/openproblems-bio/task_cell_cell_communication! :) Closing this PR.


In-memory display driver?

Is there a DrawTarget implementation (display driver) which supports writing to an in-memory (or memory-mapped) framebuffer (given &[u8], a bounding rectangle, and perhaps a pixel format)? There is MockDisplay, of course, but that's an implementation designed for testing rather than performance. I took a look at the dependent crates for drivers but they all seemed to be hardware-specific.
If not, would such an implementation be a reasonable addition to the embedded-graphics crate?
Besides being reusable code (index computation, bounds checking, and implementations of the optional acceleration methods to avoid redundant index computation) for drawing to displays which want this format (if there are any such), it might be useful for applications which would like to draw into images (and then perhaps draw those images to other DrawTargets).

Hey, thanks for opening the discussion on this. I think embedded-graphics should remain target agnostic and including a framebuffer with e-g itself would go against that. It could certainly be a separate crate to cater for more generic target requirements, however some or all of what you're looking for might already be covered by the embedded-graphics-simulator crate.
The simulator can be used to generate images if that's what you're looking to do, but it would be great to know what concrete requirements you have that e-g isn't currently fulfilling.

I think embedded-graphics should remain target agnostic and including a framebuffer with e-g itself would go against that.

I was imagining an implementation that is both a small amount of code and sufficiently generic that, in addition to being usable for images or buffered drawing, would be useful to multiple concrete targets that use addressable framebuffers, either because the final destination is in-memory or because they use a local buffer and a flush operation. For examples in existing e-g drivers, epd_waveshare, st7920, and ls010b7dh01 all draw pixels to in-memory arrays, which could be supported by a common implementation which knows how to do the range checks and index arithmetic.
(Many of these displays have known sizes and thus may benefit from index arithmetic with constant image width; whether the abstract implementation could be compiled to equally efficient code is a question I don't have an answer for handy, but I hope it can given appropriate inlining hints.)
I was thinking that such code could go into e-g on the same basis that it has not-strictly-necessary draw target adapters such as ColorConverted, and text drawing conveniences like baseline and alignment; the benefit is not in doing something hard, but in saving people from rewriting the same old basic arithmetic code.

some or all of what you're looking for might already be covered by the embedded-graphics-simulator crate.

At a glance, the simulator's DrawTarget implementation does not implement any of the acceleration functions. That could be fixed, but I'm also concerned that it would generally evolve in an unsuitable direction simply because its purpose is different; it already unconditionally depends on the image crate.

it would be great to know what concrete requirements you have that e-g isn't currently fulfilling.

My own actual application is sufficiently weird that you definitely should not use it as a use case to steer e-g development, which is why my previous comment was arguing in the abstract.  I was already using e-g for a complex case where I needed to implement my own DrawTarget; then I encountered a situation where I just wanted to write text into a texture — just a slice of image data — and was hoping to not have to reimplement the very basics of 2D bounds checking and indexing into an array. (I've done that now, without acceleration, since it's not much code; this issue is not at all blocking.)

I had previously also considered to add a generic framebuffer implementation to e-g. I agree with @kpreid that a common framebuffer implementation would be useful. By sharing more code between drivers common bugs, like no or incomplete bounds checking, could be prevented.
IMO this feature would be easier to maintain in the future if we include it directly in e-g and not implement it as a separate crate. But a separate crate would allow us to use a newer MSRV and perhaps benefit from const generics.

@bernii has released a separate crate for framebuffer usage called embedded-graphics-framebuf fwiw.

Am I correct that the SH1106 does map bytes into 8 pixel high and 1 pixel wide columns? This would be more specialized than I intended, but it would certainly also help to have such a generic implementation.
I would like to use the same memory layout for the generic framebuffer as ImageRaw does. This way it would be very easy to use a smaller framebuffer as an Image to use it as a cache for complex drawing operations, to decode compressed images ahead of time, or to apply some image filter.

Am I correct that the SH1106 does map bytes into 8 pixel high and 1 pixel wide columns? This would be more specialized than I intended, but it would certainly also help to have such a generic implementation.

That's correct, yeah. SSD1306 (and other SSD130x) uses this same layout too so while it's certainly specialised it's not too uncommon.

I would like to use the same memory layout for the generic framebuffer as ImageRaw does.

Ooh that's smart, nice idea.

Thinking out loud a little, I'd also like to see an experiment with a "contiguous pixels" iterator, and perhaps a "contiguous pixel _colour_s" iterator to aid with e.g. batching DMA writes when possible. A bit OT, but would it make sense to have a embedded-graphics-extras crate for the various items discussed in this thread? I can't decide if e-g itself is a good place to put them.

That's correct, yeah. SSD1306 (and other SSD130x) uses this same layout too so while it's certainly specialised it's not too uncommon.

Yes, it is common for 1 BPP displays, I've also used LCDs that use the same memory layout. I only meant that the default layout to be compatible with ImageRaw.

Thinking out loud a little, I'd also like to see an experiment with a "contiguous pixels" iterator, and perhaps a "contiguous pixel _colour_s" iterator to aid with e.g. batching DMA writes when possible.

I'm not sure what you mean by "contiguous pixels". But adding support for DMA and also hardware acceleration like DMA2D in STM32s should be considered in the next version of the DrawTarget interface.

A bit OT, but would it make sense to have a embedded-graphics-extras crate for the various items discussed in this thread? I can't decide if e-g itself is a good place to put them.

I would suggest to include the ImageRaw compatible framebuffer in e-g and any different memory layout in a separate crate. Are there any other items that would go into embedded-graphics-extras?

I'm not sure what you mean by "contiguous pixels".

There's a decent explanation of mostly what I mean here. I suppose you could describe it as a kind of "inverse" RLE. Like, if you're using fill_contiguous and the iterator happens to produce 18 pixels of the same colour that are next to each other, this iterator can batch those up into a single fill_solid call. If the display driver has an optimised impl for that, driver performance might improve a bit.

I would suggest to include the ImageRaw compatible framebuffer in e-g and any different memory layout in a separate crate.

Makes sense :)

Are there any other items that would go into embedded-graphics-extras?

Probably not enough at the moment. Perhaps a review of the dependent crates on crates.io might find some things that could be brought into the "official" e-g fold.

Probably not enough at the moment. Perhaps a review of the dependent crates on crates.io might find some things that could be brought into the "official" e-g fold.

IMO display-interface would be a good candidate to integrate into the embedded-graphics organization. It has been adopted by many display drivers and therefore has become an integral part of many e-g based projects. Perhaps it could be merged with some of the ideas in #647 into an eg-display-hal crate. Which could also include the specialized framebuffer for 1 BPP displays like the SSD1306.

embedded-graphics-framebuf seems like a very useful crate.
What I've been looking for is a crate for canvas - you can draw things in it and later on draw it on a target at a specific location.
I have something made based upon the MockDisplay, however, I do face a few issues:

the struct should implement both DrawTarget & Drawable
and also have a way to filter out pixes that haven't been drawn onto - this removes the issue of overriding any previously drawn to the display elements that overlap with the canvas.

I would be more than happy to share the code for this "canvas", as I think it can be quite useful for more complex and overlapping drawing.

I hadn't considered adding transparency support to framebuffer implementation that will be included in e-g, but that is indeed a useful feature. At some point e-g will gain real transparency support and include the appropriate new color types with an alpha channel. But even if we add transparency at some point there are still use cases which would benefit from an implementation with a simple 1 bit alpha channel which could be used with every color type.
Instead of using the MockDisplay approach of using an array of Option<C> to store the pixels it would be more memory efficient to use to separate arrays, one for colors and one for the 1 bit per pixel alpha channel. An array of Option<C> can use twice as much memory as and array of C.
One remaining issue is how the canvas could be cleared. The default DrawTarget implementation would only use C and calling e.g. canvas.clear(Rgb888::BLACK)? would set all pixels to opaque black pixels. I would suggest to add two additional DrawTarget implementations, that could be accessed using alpha() and with_alpha() getters:
let mut canvas = Canvas::<Rgb565, 128, 128>::new();

// Fill the entire canvas with opaque black pixels.
canvas.clear(Rgb565::BLACK)?;

// Makes all pixels transparent by clearing the alpha channel.
canvas.alpha().clear(BinaryColor::Off)?
// or
canvas.with_alpha().clear(None)?

// By making the alpha channel accessible it would also be
// possible to erase parts of the image.
// This draws a red square with a transparent circle in the middle.
canvas.clear(Rgb565::RED)?;
Circle::with_center(canvas.bounding_box().center(), 32)
    .into_styled(PrimitiveStyle::with_fill(BinaryColor::Off)))
    .draw(canvas.alpha())?;

I really like the idea of adding alpha channel support in e-g!
I do indeed use an Option, as for how can this support be added... I think the canvas itself can have a special method e.g. clear_all that can clear all the pixels. In my case set them to None.
Another feature I forgot to mention is adding support for crop(area: Rectangle) the idea being that you can draw stuff on the canvas before drawing it on the actual target (or e.g. another canvas) and crop only the part of the canvas you need.
This feature could be very useful if you only want to show, e.g. a bounding box (with border) with text above in the middle and below and you want to show only part of the text above and below, essentially cropping them.

I do indeed use an Option, as for how can this support be added... I think the canvas itself can have a special method e.g. clear_all that can clear all the pixels. In my case set them to None.

Sure, that would also work. IMO the exact method to clear the canvas including the alpha channel isn't as important as documenting it, because the behavior is different from other DrawTargets.

Another feature I forgot to mention is adding support for crop(area: Rectangle) the idea being that you can draw stuff on the canvas before drawing it on the actual target (or e.g. another canvas) and crop only the part of the canvas you need.
This feature could be very useful if you only want to show, e.g. a bounding box (with border) with text above in the middle and below and you want to show only part of the text above and below, essentially cropping them.

I think this feature already exist. I am planning to implement ImageDrawable and not Drawable for the framebuffer in e-g. This has the advantage that you can use Image to set the position where the framebuffer is drawn to the DrawTarget. And it has the additional benefit that SubImages can be used to draw parts of the framebuffer to a draw target: https://docs.rs/embedded-graphics/latest/embedded_graphics/image/index.html#sub-images.
Using clipped is another way to clip drawing operations: https://docs.rs/embedded-graphics/latest/embedded_graphics/draw_target/trait.DrawTargetExt.html#tymethod.clipped

RE: Crop/Clip - what i meant was that the Canvas can be cropped and potentially clipped, but the result will be another Canvas.
Since the canvas is also Drawable, you can draw it onto the provided DrawTarget.
Cropped and Clipped don't seem to have this ability.
I'm only mentioning it because, again, I think it might be useful to be able to draw them onto the target.

This has the advantage that you can use Image to set the position where the framebuffer is drawn to the DrawTarget.

I haven't thought about that but I'll take a look as it sounds reasonable.
Not sure if something like the Canvas should impl ImageDrawable but I will think about it.

RE: Crop/Clip - what I meant was that the Canvas can be cropped and potentially clipped, but the result will be another Canvas.
Since the canvas is also Drawable, you can draw it onto the provided DrawTarget.
Cropped and Clipped don't seem to have this ability.

OK, I see what you mean. If you want the clipped canvas to remain also be a Drawable the canvas would need to implement another method of clipping. With the existing e-g functions it would only be possible to clip the base canvas for either drawing onto or for drawing it to some other target.
Do you have a use case in mind where it would be necessary to use the clipped canvas both as a DrawTarget and a Drawable? Or do you just prefer the consistency this provides?

I've just opened #673 which contains a first draft of the framebuffer implementation that will be added to e-g.

Do you have a use case in mind where it would be necessary to use the clipped canvas both as a DrawTarget and a Drawable? Or do you just prefer the consistency this provides?

My use case is only for cropped and not clipped.

I want to give a little update:
I've managed to clean up most of the API & code but there is still some work to be done. I'll make the repo public soon and share it here.
I want to make a more complete example, however, drawing on a canvas, cropping and later setting its location on the display is done.
I still can't get rid of alloc, as I use vec![None; pixel_count].into_boxed_slice() with Box<[Option<C>]> for the pixels initially (and for with_default_color method).
I'd love some feedback on how to remove the Box & slice. I tried a few times using const generics but it quickly falls apart on the crop, where I use a Rectangle to crop a specific part of the Canvas.

Great to see progress on this. I'm looking forward to try it when it's released.

I still can't get rid of alloc, as I use vec![None; pixel_count].into_boxed_slice() with Box<[Option<C>]> for the pixels initially (and for with_default_color method).
I'd love some feedback on how to remove the Box & slice. I tried a few times using const generics but it quickly falls apart on the crop, where I use a Rectangle to crop a specific part of the Canvas.

It's hard to give feedback on this without taking a look at the code. What does your crop function do exactly? Does it return a new canvas wich is a copy of a rectangular region or does it return a canvas that uses a reference to the original canvas data? It would help if you could share the crop function code or at least its signature.

@rfuest sure thing, I've already made the repo public. You can find it here:
https://github.com/LechevSpace/embedded-canvas/
Maybe I can make another set of struct using const generics that will remove the need for allocator.
Main drawback is that it might require another Size & Rectangle structs that will use const generics for the cropping.
I'd love some feedback too!

OK, now I get it. You'll need to refactor the code quite a bit to get it working with const generics.
The size of the canvas, that is returned by the crop, will always need to be const and known at compile time. That would be a serious limitation. One solution would be to return a cropped view into the original canvas instead of allocating a new buffer:
struct CroppedCanvas<'a, C> {
    parent_buffer: &'a mut [Option<C>],
    parent_size: Size,
    area: Rectangle,
}

All drawing operations on the CroppedCanvas would draw into the pixel buffer of the parent canvas. If a cropped canvas, that doesn't modify the parent canvas, is required the parent canvas can be cloned before it is cropped. But this has the disadvantage that the cropped canvas would use the same buffer size as the parent canvas, which is larger than necessary.

Framebuffer was added in PR #673.


select video source by camera serial number

Hi, thanks for the great tool!
Is it able to select the camera by its serial number?
something like follows:
cam = EasyPySpin.VideoCapture(serial-number-here)
Thanks

Hi @takmiyamott !
Yes! You can use the serial number to select the camera.
Set serial number as str type, like below.
cam = EasyPySpin.VideoCapture("19412150")

Thank you for the reply!
I got it!


Remove paged response wrappers in LRO

Created from toolkit PR https://github.com/googleapis/toolkit/pull/1833.

Codecov Report

Merging #471 into master will increase coverage by 0.04%.
The diff coverage is 93.75%.

@@             Coverage Diff              @@
##             master     #471      +/-   ##
============================================
+ Coverage     71.01%   71.06%   +0.04%
  Complexity      743      743
============================================
  Files           156      155       -1
  Lines          3340     3338       -2
  Branches        240      240
============================================
  Hits           2372     2372
+ Misses          875      873       -2
  Partials         93       93

Impacted Files
Coverage Δ
Complexity Δ

...om/google/longrunning/stub/GrpcOperationsStub.java
91.46% <ø> (ø)
10 <0> (ø)
:arrow_down:

...ava/com/google/longrunning/OperationsSettings.java
29.03% <ø> (ø)
2 <0> (ø)
:arrow_down:

...oogle/longrunning/stub/OperationsStubSettings.java
73.83% <ø> (ø)
8 <0> (ø)
:arrow_down:

...va/com/google/longrunning/stub/OperationsStub.java
16.66% <ø> (ø)
1 <0> (ø)
:arrow_down:

.../java/com/google/longrunning/OperationsClient.java
72.88% <93.75%> (+7.76%)
16 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

PTAL

(after fixing the headers...)

What's up with the headers?

The headers are taken care of with the merge from master - go ahead and merge.


skywalking webapp 页面不显示

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache SkyWalking Component
UI (apache/skywalking-booster-ui)
What happened
使用阿里云服务器部署Skywlaking 9.5.0，jdk版本17，oapserver和webapp启动看日志正常启动，但是访问页面无法访问，排除防火墙和端口问题。
浏览器consloe显示static/js/monaco-editor-97fd89d3.js net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
What you expected to happen
正常访问页面
How to reproduce
使用Skywalking 9.5.0部署
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

If you are keeping doing this, we have to block you.
Please follow community requirements.
If you need Chinese channel, we have opened slack channel for that.


回调使用本地注册报空指针

原因：
本地调用不会拿注册中心URL，会使用referenceConfig里面生成的URL，这个URL里面没有CallBack参数信息即INV_ATT_CALLBACK_KEY这个参数的信息

@L-Angel I'll appreciate that you could provide a demo : )

@L-Angel I tried to reproduce but failed, would you mind to provide a reproducer in your GitHub repo?

@diecui1202 @beiwei30  i push a demo project  that remove internal information to github on weekends.

sure, waiting for your reproducer. @L-Angel pls. make it as simple as possible.

@beiwei30 https://github.com/L-Angel/dubbodemo
use callback-npe branch

great, I will take a look.

The same issue? https://github.com/apache/incubator-dubbo/issues/2054

@L-Angel Feel free to reopen it if also have problem.


[BUG] IsInAdministratorMode isnot populated for main form until after Form->Load

Create a single form app.
Add a Form->Load event call
Run within VisualStudio in admin mode
Expected:

for the following messageBox not to be visible

Actual:

Form states it is in Administrator mode on the form
AND, the messageBox is shown (With Administrator text)

The code relating to the admin stuff needs to be looked at, as it's causing memory leaks & other issues.

The sample from @Smurf-IV in #17 is about a use case which should not be handled by the toolkit itself.
You don't have to care about requiring elevation or not, it's not your job.
The issue is just that IsInAdministratorMode is always false.

I think I've solved it, but cannot build on my end due to environment issues. I've taken offending code out of the OnLoad & set it in the constructor. But I still think a second pair of eyes looking at it could help eliminate any possible bugs!


Contract verification tool

Description
Create a verification contract tool
compare byte code written on an address with byte code compiled by the tool from source code handed as github link
should work for all solc versions
here's initial draft
https://github.com/harmony-one/harmony-contract-code-verification-tool
Acceptance Criteria
should return true when source code matches the code written on the address
Reward
$2000 equivalent in ONE Tokens

I submitted a bounty it uses a different approach in trimming the deployed bytecode, it also allows to get the metadata information out. I implemented the solution using the documentation provided here https://docs.soliditylang.org/en/latest/metadata.html#encoding-of-the-metadata-hash-in-the-bytecode
this also allows to implement other solutions to get the source code using IPFS or Swarm
also have a branch https://github.com/bmgalego/harmony-contract-code-verification-tool/tree/testing it's what I used to test it's more easy to test just using the contract abis

@hypnagonia what kind of a solution are you looking for?

@hypnagonia