Sticky element is larger than its container, cannot create sticky

Hi!
How to fix this problem!
Sticky element is larger than its container, cannot create sticky
clear: both;
does not help

I am getting the same error, but due to sticky being applied to a previously empty element.
In short, I have a Django app that uses formsets to add a number of elements. I use js to add and remove these elements as needed.
Without any elements, the sticky content is larger than the context is is applied to, but once a formset has been created, the sticky is smaller than the context. Unfortunately, even when I call 'sticky' after creating a single formset element, SemanticUI still claims the sticky is larger.
As mentioned in the documentation, I have tried a sticky refresh (before the call, after the call, within the formset function, etc), but this only causes the error to be thrown twice.
Any suggestions?
http://jsfiddle.net/urh9x2a9/20/

That test case is difficult because you are using JS templating. Keep in mind calling $('.ui.sticky').sticky('refresh'); before initializing, is the equivalent of initializing with no settings (aka no context) and then immediately calling refresh.
Do you have a simpler test case that can produce the issues? Perhaps with static HTML?

Unfortunately, no. I can add extra br to fatten the context, which removes
the error.
I will try to reproduce the error without using the js template, but no
guarantees on when I'll be able to do it. For now, it works without sticky
(but not as cool =).
On Wed, Jan 7, 2015, 10:45 AM Jack Lukic<EMAIL_ADDRESS>wrote:

That test case is difficult because you are using JS templating. Keep in
mind calling $('.ui.sticky').sticky('refresh'); before initializing, is
the equivalent of initializing with no settings (aka no context) and then
immediately calling refresh.
Do you have a simpler test case that can produce the issues? Perhaps with
static HTML?
—
Reply to this email directly or view it on GitHub
https://github.com/Semantic-Org/Semantic-UI/issues/1490#issuecomment-69050424
.

Another thought: refresh does not appear to work after initialization,
presumably because initialization fails.
On Wed Jan 07 2015 at 11:03:47 AM Stephen J. Bush<EMAIL_ADDRESS>wrote:

Unfortunately, no. I can add extra br to fatten the context, which removes
the error.
I will try to reproduce the error without using the js template, but no
guarantees on when I'll be able to do it. For now, it works without sticky
(but not as cool =).
On Wed, Jan 7, 2015, 10:45 AM Jack Lukic<EMAIL_ADDRESS>wrote:

That test case is difficult because you are using JS templating. Keep in
mind calling $('.ui.sticky').sticky('refresh'); before initializing, is
the equivalent of initializing with no settings (aka no context) and then
immediately calling refresh.
Do you have a simpler test case that can produce the issues? Perhaps with
static HTML?
—
Reply to this email directly or view it on GitHub
https://github.com/Semantic-Org/Semantic-UI/issues/1490#issuecomment-69050424
.

If i can get a simple test case I will re-open this issue. For now I'm going to go ahead and close things.

What can happen is you have two columns.
In the left hand column you have an accordion which is collapsed on init.
In the right hand column you have a sticky which get initialised on load.
The accordion collapsed is smaller than the content of sticky. Sticky rage quits.
One of the accordion blocks is then expanded by user. Sticky doesnt work.

An example speaks a thousand words.

Sorry Jack, I will circle back around and provide working examples and better descriptions for all my tickets. We're converting an app from su 1 to 2 at the moment and everything is exploding. I pressed for time at the moment.

Hi guys,
I am currently experiencing the same situation:
My page's main content is appended via AJAX calls, which leads to having Semantic UI initialize sticky early than the rest of my page, leading to the exception described herein.
I tried to wrap my sticky initialization and catch the exception, in order to call a refresh via jQuery.once();
    try {
        $('#pagemenu.sticky')
        .sticky({
            offset: 60,
            context: '#maincontent'
        });
    } catch (e) {
        window.console.log("Error during sticky initialization.");
        // using jQuery.once to re-initialize sticky
    }

But unfortunately the browser doesn't step into the catch section.
Could you please help me to catch this exception?

EDIT: I think I was able to tackle this issue by using option observeChanges: true for the sticky module

I haven't looked at the code for this in a while, but I had a similar
problem. I'm pretty sure the reason your try catch doesn't work is because
the actual sticky initialisation is run with a setTimeout.
I.E If you run the following code you will see it does not catch the error.
try{
(function(){
setTimeout(function(){
throw 'foo'
}, 100);
})()}catch(e){
console.debug(e)}


Cursor property doesn't work in React Native macOS

Environment
react-native -v:
npm ls react-native-macos:
node -v:
npm -v:
yarn --version:
xcodebuild -version:

Steps to reproduce the bug
The cursor property in React Native macOS does not work as expected. When using the cursor property to change the appearance of the cursor on certain UI elements, such as buttons or links, the cursor type remains the default arrow cursor and does not change to the expected cursor type.
This behavior is inconsistent with the way the cursor property works on web platforms, where it changes the cursor type as expected. This inconsistency can cause confusion for users, who may expect the cursor to behave the same way across different platforms.
Steps to Reproduce:

Create a new React Native macOS project
Add a UI element such as a button or link
Set the cursor property to a non-default value, such as "pointer"
Run the project and hover over the UI element

Expected Behavior
The cursor type changes to the specified value when hovering over the UI element.
Actual Behavior
The cursor type remains the default arrow cursor
Reproducible Demo
No response
Additional context
No response

You're setting the cursor property of the style prop to one of these values?
https://github.com/microsoft/react-native-macos/blob/main/React/Views/RCTCursor.m#L15-L34

i used one of the cursor properties, but the issue still remain
https://user-images.githubusercontent.com/85138073/235318213-1210f731-3880-46fb-a6a7-c85b12f2b48c.mov
Here is the component that renders that:
const TestCursorProperty = () => {
    return (
        <View
             style={{
             height: 100,
             width: "100%",
             backgroundColor: "red",
             cursor: "e-resize",
               }}
            >
             <Text>This is for testing</Text>
        </View>
     )};

Are you on 0.71?

Are you on 0.71?

oh i forgot to indicate the react native version.
i'm on 0.64

Are you on 0.71?

oh i forgot to indicate the react native version.
i'm on 0.64

Ah... I'm pretty sure we only have it implemented for 0.71+

Are you on 0.71?

oh i forgot to indicate the react native version.
i'm on 0.64

Ah... I'm pretty sure we only have it implemented for 0.71+

It works for 0.71+

I am still seeing this issue on v0.71.6, but only when the View wrapping the text element perfectly fits the text.
It seems the cursor property cannot be set directly for Text elements. Since children are displayed on top of their parents, this means perfectly wrapped Text can never update the cursor properly.
const TestCursorProperty = () => {
    return (
      <View style={{flexGrow: 0, flexShrink: 1, backgroundColor: 'red'}} cursor='pointer'>
        <Text>
          This is text for testing.
        </Text>
      </View>
     )};


Retrieving the name of a dataset added to python API

This PR will merge a get_name function for the dataset API in python, as well as updated documentation and a test case

Add name attribute to DataSet class (#383 )
This PR will allow a user to retrieve the name of a DataSet.
[ committed by @amandarichardsonn  ]
[ reviewed by @billschereriii  ]


Revisit security related BBEs with all the supported features

Description:
Need to revisit following security related BBEs with all the supported features and practical usages.
Language concepts -> Security

crypto
jwt-issue-validate
url-encode-decode

Working over the networks -> Access Control

secured-service-with-basic-auth
secured-service-with-jwt-auth
secured-service-with-oauth2
secured-service-with-ldap
secured-client-with-basic-auth
secured-client-with-jwt-auth
secured-client-with-oauth2

This is done with https://github.com/ballerina-platform/ballerina-distribution/pull/1182 and https://github.com/ballerina-platform/ballerina-distribution/pull/1143

This is done with https://github.com/ballerina-platform/ballerina-distribution/pull/1182 and https://github.com/ballerina-platform/ballerina-distribution/pull/1143


Add wait to ensure all entity events are executed

From: https://discord.com/channels/1184987096302239844/1185287949240242258/1202878694201237515
The wait group counter was being incremented and decremented, but the server wasn't waiting for all entity event executions to finish. This change ensures that the server waits for all entity events to be executed before exiting.

cc @JAORMX


Manifest to create dedicated namespace

This adds the manifest to create a new dedicated elasticsearch-metrics-apiserver namespace.
I haven't reconsidered the name used in the Helm chart: elasticsearch-metrics-apiserver vs elasticsearch-k8s-metrics-adapter.
The service will be moved there in a second phase because it expects some secrets created by the es-credentials controller to exist there. If we move the service right away, the secrets may not be created yet.
Relates to https://elasticco.atlassian.net/browse/CP-8087.

I added sync-wave annotations and an external secret.
Tested in dev with https://github.com/elastic/serverless-gitops/pull/3542:
# devenv-overrides.yaml
overrides:
  dev:
    gitops:
      revision: metrics-adapter-dev-ns-isolation
  dev-devenv:
    gitops:
      revision: metrics-adapter-dev-ns-isolation
    services:
      elasticsearch-k8s-metrics-adapter:
        version: b01df2df9a75

The build corresponding to the merge to main failed:
waiting for healthy state of apiregistration.k8s.io/APIService/v1beta1.custom.metrics.k8s.io and 1 more resources


use only suitable options for strategy

but it is dirty hack.

fix for https://github.com/antek-drzewiecki/wine_bouncer/pull/21#commitcomment-10025021


Add Pagination to /github

🙁 Actual behavior
The payload is huge and takes too slow, because it returns all github profiles
🙂 Expected behaviour
We should add pagination here, to reduce the size of the payload
🔢 Steps to Reproduce the Problem
No response

Hey @Cahllagerfeld , I just had an idea on top of the one suggested by you. We can make our pagination dynamic in nature. What i mean by that is, normally people just show 10 records on each (which is the offset basically). We can make this dynamic by taking offset also as query params long with the page number.
This will help the end users in cases where their device size is lower, they might end up scrolling a little more. In this use case, our offset idea, can help the end user to change it according to their need.
Do let me know if i can work on this?? Or may be we can collaborate too..
This would be my first PR , so i am really exited for it...

You can have a look at the /github/events endpoint. We're having pagination there already

Hey @Cahllagerfeld , I tried setup gitpod and open the swagger page. But i am getting no response from the API.
I have 2 doubts, if that helps:-

What's the data source for this server?? Where is it hosted ?? Or we should also setup a localDB for its working??
If its a remote DB, then where can we find the access keys??

Hey @Cahllagerfeld, can I work on this issue and #312 to add pagination?


missing progress.json ?

every time i put cookies and webhook it say missing error progress.json

Make sure to unzip all the files


Enabled PSSA rule violations to fail build - Fixes #44

Pull Request (PR) description
Enable PSSA rule violations to fail build by opting in to new meta settings in DSCResource.Tests.
This Pull Request (PR) fixes the following issues:
#44
Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[ ] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[ ] Examples appropriately updated?
[ ] New/changed code adheres to Style Guidelines?
[ ] Unit and (optional) Integration tests created/updated where possible?

@Johlju - one more for you! Hopefully trivial :grin:

This change is

Reviewed 1 of 1 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Added Support for JSON Report

First of all, sorry for the delay, and thanks for your PR.
Would you mind adding a choices=['text', 'html', 'bin', 'json', 'tsung'] so we match all pgBadger allowed extensions?

Thanks again. I'll take it from here.

Welcome :+1:


Add guard conditions to PCUIC

Joint work with Nicolas.

I'm almost done, but Loader complains that some axioms are not realised. If anyone could help me with that…


Fix indentation

Why:
Fix indentation in a list:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

@rajbos Thanks so much for opening a PR! I'll get this triaged for review :zap:

I completely missed that. Still very subtle. Is it an idea to remove the first bullet on the 5000 minute line, end with a colon and then do a normal bulletted list? I think that would make it a lot more clear.


Pinch to zoom support

Not sure how to best do this with the API is configured - as the zoom level is passed into the React Timelines as a prop…

We could still detect and publish events on pinchIn and pinchOut and then it's up for consumers to translate this to zoomIn / zoomOut.

Going forward it might also be useful to have the component manage its own state (setState) but allow consumers to override. E.g. have default zoom, toggle open handling etc.


Support for opening an existing sqlite file at runtime

I'm developing an app (android first) that needs to fetch a remote database and read data from it. I'm not sure how or if that can be accomplished using this library, but I saw some promising discussions on the cordova-sqlite-storage repo and figured I'd better ask here before writing my own native module.
https://github.com/litehelpers/Cordova-sqlite-storage/issues/426 implies that this workflow is possible, if one knows the directory that the plugin searches for databases.
Is that also true for this library? Ideally I could copy the db to wherever, then open and use it.

Yeah that is a nice feature to have. I looked at Chris Brody's comments on the issue...will think about this one..

I have made some modifications to iOS implementation to support retrieval of the prebuild database from a number of place. There are 4 options:

default, plugin will look in www directory of app bundle for a file with the same name as the database. This is for backward compatibility
path provided starts with ~. This allows you to provide any relative path in app bundle.
path starts with $tmp. This will make the plugin look in the app sandbox temp directory
path starts with $docs. This will make plugin look in the Documents directory of app sandbox.

So this in assence will allow you to download a remote db file , save it in temp or documents and create a application db from it...
This is highly experimental and I have not adopted this for Android yet. I will commit something to this repo probably today.

ios and pure Java Android are updated.You can try with following openDatabase changes - three flavors as I described in my previous post...

({name : "test.db", createFromLocation: "1"})
({name : "test.db", createFromLocation: "~/db/myfile.sqlite"})
({name : "test.db", createFromLocation: "/downloads/myfile.sqlite"})


Inliner: callee can have early return that isn't multi-return

Avoid generating an invalid OpLabel.
Create the continue target for the single-trip loop only if
you actually created the header for the single-trip loop.
Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/755

I'd appreciate a review from @greg-lunarg

All feedback addressed.

Good catch. The fix works and is solid and the name changes are an improvement. Thanks!

Thanks.  I'll take that as formal approval.


[feat] Upgrade qemu to v4.0.0

What does this PR do?
Qemu V4 is out y'all! 🎉 Release notes available here. This PR simply upgrades to the latest build.
How was it tested?
I've verified:

Build passes on Travis: https://travis-ci.org/jessestuart/qemu-user-static/builds/524779982
Release is created on GH w/ updated binaries, see the release on my fork here: https://github.com/jessestuart/qemu-user-static/releases/tag/v4.0.0
Successfully used said release to cross-build an aarch64 docker image, (in this case, my fork of MinIO).
Pushed the resulting image to my self hosted registry @ r.j3s.co/minio:latest-qemu4, and  verified that it runs on one of my arm64 boards:

Q&A
Am I missing any steps in the release / QA process here, or does this look good to go?

Thanks for your contribution.


fix: content broken bullet points

Changes

fix a couple occasions where bullet points were broken, pointed out in this comment https://github.com/Developer-DAO/academy-turbo/pull/107#pullrequestreview-1847789241

(screenshots from prior to font changes)
before:

after:

@wolovim found another one, and looking at the code in the .mdx, I can't figure out what is going on. both look the same to me in the markdown, but not in the rendering:
From Getting Started with smart contract development lesson (in both Fungible token and NFt tracks)

I can't figure out what is going on.

@elPiablo its just the markdown parser expecting a specific format -- in this case, no linebreaks between the bullet points -- and not getting it.


B2ktortechnik docker 1

Why are these changes needed?

Related issue number

Checks

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

Codecov Report

Merging #264 (d217d52) into main (4fb2f1f) will decrease coverage by 2.40%.
Report is 1 commits behind head on main.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #264      +/-   ##
==========================================
- Coverage   43.31%   40.92%   -2.40%
==========================================
  Files          17       17
  Lines        2133     2133
  Branches      481      481
==========================================
- Hits          924      873      -51
- Misses       1126     1173      +47
- Partials       83       87       +4

Flag
Coverage Δ

unittests
40.92% <ø> (-2.30%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

Could you answer "Why are these changes needed?"

Closing due to lack of response.


meaning about the "sides" in the mesh structure

Hi ranahanocka,
Cheers for the creativity.  I am sorry if here is not the right place to ask the questions. I am looking at the code:

in the implementation, inside the build_gemm function, what does the "sides" list here mean? Why do we need this information?
After unpooling of the mesh, are the mesh exactly the same as the original mesh, i mean the vertex position as well as the mesh connectivity? Will they be different? How can i export the reconstructed mesh?

Thanks & Regards,
zg

Hi,
Can you help me clarify the "sides" doubts? It's really not very clear to me. Thanks a lot.

Hi @chengzg ,
Thanks for letting me know it's not clear :). I added some comments within the build_gemm method:
    gemm_edges: array (#E x 4) of the 4 one-ring neighbors for each edge
    sides: array (#E x 4) indices (values of: 0,1,2,3) indicating where an edge is in the gemm_edge entry of the 4 neighboring edges
    for example edge i -> gemm_edges[gemm_edges[i], sides[i]] == [i, i, i, i]

let me know if it's still not clear.
Thanks,
-Rana

2. After unpooling of the mesh, are the mesh exactly the same as the original mesh, i mean the vertex position as well as the mesh connectivity? Will they be different? How can i export the reconstructed mesh?

Yes, the mesh connectivity is exactly the same. The vertex positions are arbitrary, since there is no effect of vertex position in the loss function (they are only used to extract the input features), so they are just for visualization purposes. In the visualizations, we use the same vertex position as the original mesh.
To export the reconstructed mesh, please follow the segmentation examples from this github repo. I also explained that in this issue.

Hi @chengzg ,
Thanks for letting me know it's not clear :). I added some comments within the build_gemm method:
    gemm_edges: array (#E x 4) of the 4 one-ring neighbors for each edge
    sides: array (#E x 4) indices (values of: 0,1,2,3) indicating where an edge is in the gemm_edge entry of the 4 neighboring edges
    for example edge i -> gemm_edges[gemm_edges[i], sides[i]] == [i, i, i, i]

let me know if it's still not clear.
Thanks,
-Rana

@ranahanocka , Thanks so much for your time and answer.
I am sorry but it is still not clear to me. Let's say i have a simple mesh contains 3 faces only as shown below. faces are: F1(0, 2, 1)  F2(0, 3, 1)   F3(0, 4, 3)

                      4
                     /\
                 3  /__ \ 0
                    \   / \
                      \/___\
                     2        1

According to the program, the information will be:
edge list,    |   edge_nb(gemm_edges)   |    sides
(0, 2) --> 0             [1, 2, 3, 4]                 [1, 0, 1, 0]
(1, 2) --> 1             [2, 0, -1, -1]              [1, 0, -1, -1]
(0, 1) --> 2             [0, 1, -1, -1]              [1, 0, -1, -1]
(0, 3) --> 3             [4, 0, 5, 6]                 [1, 2, 1, 0]
(2, 3) --> 4             [0, 3, -1, -1]              [3, 0, -1, -1]
(0, 4) --> 5             [6, 3, -1, -1]              [1, 2, -1, -1]
(3, 4) --> 6             [3, 5, -1, -1]              [3, 0, -1, -1]

So for example, edge index 6 whose vertex index pair is (3, 4):
its 2 neighbours are edge [3, 5], but its first 2 values of sides are [3, 0]
What i do not understand about is the value 3, 0. What are their actual meaning here? Where would there values be used?
Appreciate your time and answer. Thanks.
Thanks & Regards
chengzg

Hi @chengzg ,
so think about everything in terms of edge indices. For edge index 6, which is a boundary edge, it has two neighboring edges 3 , 5:
gemm_edges[6] = [3, 5, -1, -1]
The first edge neighbor is 3. If we look at the neighboring edges of 3 we have:
gemm_edges[3] = [4, 0, 5, 6]
what sides tell us is that edge 6 is the last entry in the edge 3 neighbors ([4, 0, 5, 6]). Since :
sides[6][0] = 3.
In other words sides[E][N] tells us the index of edge E for the the N neighbor.
This data structure is used for the edge collapse in mesh_pool.py. When we delete an edge, each neighboring triangles should merge into a single edge, and so we must update the mesh with the new edges :

this keeps a valid mesh which is dynamically maintained within the network... and that each convolution gets the newly updated 1-ring neighborhood.
You can sort of think of it like a tensor version of the half-edge data structure .

@ranahanocka,
Thanks very much. Now it is very clear to me.


Do not pool connections

Also various corrections on correct engine & connection usage.
Closes #22
@benvanbasten-ns  could you confirm that the bug is gone with this?

I see no performance degradation of the modelchecker.

Also various corrections on correct engine & connection usage.
Closes #22
@benvanbasten-ns could you confirm that the bug is gone with this?

@caspervdw STR of #22 now no longer fail, test file is correctly removed.


DPL-808 Write up stories for 007c Phase 1

Description
Write up stories and outstanding questions for Phase 1 of 007c project, which came out of the meeting on Friday (30/06/2023).
Communicate them to the 007c working group.

Draft stories so far (in pipeline order):

https://github.com/sanger/limber/issues/1310 (small)
https://github.com/sanger/sequencescape/issues/3849 (small)
https://github.com/sanger/limber/issues/1313 (small)
https://github.com/sanger/limber/issues/1314 (large)
https://github.com/sanger/sequencescape/issues/3850 (large)
https://github.com/sanger/sequencescape/issues/3857 (medium) (Think Phase 2)

Update:
Stories in pipeline order:
Phase 1:
Not blocked:

https://github.com/sanger/limber/issues/1310 (small) - MVP
https://github.com/sanger/sequencescape/issues/3849 (small) - MVP
https://github.com/sanger/sequencescape/issues/3876 (small) - MVP
https://github.com/sanger/limber/issues/1360 (medium) - MVP
https://github.com/sanger/limber/issues/1361 (medium) - MVP

Blocked by DPL-807:

https://github.com/sanger/limber/issues/1347 (medium) - MVP
https://github.com/sanger/limber/issues/1334 (small) - MVP
https://github.com/sanger/limber/issues/1313 (small) - MVP
https://github.com/sanger/limber/issues/1335 (medium)
https://github.com/sanger/limber/issues/1314 (large) - MVP

Blocked by DPL-811:

https://github.com/sanger/limber/issues/1332 (medium) - MVP
https://github.com/sanger/limber/issues/1362 (medium) - MVP
https://github.com/sanger/limber/issues/1333 (medium) - MVP
https://github.com/sanger/limber/issues/1331 (medium)
https://github.com/sanger/limber/issues/1330 (large)
https://github.com/sanger/sequencescape/issues/3850 (large) - MVP

Phase 2:

https://github.com/sanger/sequencescape/issues/3857 (medium)


feat(APIChannel): channel banners

Please describe the changes this PR makes and why it should be merged:
Reference Discord API Docs PRs or commits:

https://github.com/discord/discord-api-docs/pull/4068

This needs a rebaseeeee 🎵

Channel banners were removed and guilds no longer have the feature.


Pass-through options to ssh on az ssh vm & friends

If the issue is to do with Azure CLI 2.0 in-particular, create an issue here at Azure/azure-cli

Extension name (the extension in question)
ssh
Description of issue (in as much detail as possible)
az ssh vm (et al.) allows one to SSH; sometimes, we need to set up, e.g., SSH port-forwardings. It would be great if az ssh vm understood -- and passed the remaining options through to SSH, directly. E.g.,
az ssh vm -g my_group -n my_vm -- -o SomeSshOption=3 -L 8080:localhost:8080
          ^^^^^^^^^^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
               az ssh opts                 options forwarded to ssh

-- is a fairly standard pattern for this sort of thing.

route to service team

Sadly -- didn't appear to be easy to support given the existing azure cli arguments parser -- for now I've added an additional args parameter as part of #3698


[SPARK-48447][SS] Check state store provider class before invoking the constructor

What changes were proposed in this pull request?
This PR adds a validity check to the StateStoreProvider class before calling its constructor. A new runtime exception was created to report this issue.
Why are the changes needed?
This is a security improvement to a user-facing API. Users are only allowed to use class that extends org.apache.spark.sql.execution.streaming.state.StateStoreProvider as StateStoreProvider.
Does this PR introduce any user-facing change?
No
How was this patch tested?
This PR comes with a new test to test that invalid class cannot pass the security check. The fact that other tests in StreamingQuerySuite can pass implies that valid class can pass the check.
Was this patch authored or co-authored using generative AI tooling?
No.

@anishshri-db Thank you for the suggestions. I have incorporated the new exception framework.

Thanks! Merging to master.


Add branch alias for master branch

allow usage of ^3.3@dev to install master branch. Alternative default branch to 3.3 or what current version is.

Thanks for suggesting,
I think we had something this , but since we only have the main branch left I wonder if there is still a need to have this? We don't really want to promote installing a non-release version as it might be unstable.

If you want to use master branch, you don't need branch alias, you can go with dev-master#checksum (the checksum would be a good idea even with branch alias).

Maybe we could rename the branch master itself to 3.x?

renaming root branch is always causing some issues
git refs, pr refs, fork refs, urls etc

pr refs and url refs are handled by github today correctly if you rename a branch you will be correctly redirected and pr target changed. They did fix there a lot of problems from the past.


Hello, can you build this to  an standalone .exe file?

You can do it because it is open source. Thank you.


new ffi-based ruby-vips needs testing

There's a branch with a new version of ruby-vips, this time based on ffi rather than gobject-introspection:
https://github.com/jcupitt/ruby-vips/tree/ffi-experiment
Good things:

It passes the same test suite, so hopefully the API is exactly the same.
It should be much more portable: it just uses ffi, so there's no need to get gobject-introspection working. It should work with things like JRuby as well.
It's only 500 lines longer than the old gem.
It runs the test suite about about twice as fast as the old gem.
It should be more stable and more reliable.
Installation should be much simpler. You don't need to set up typelibs or anything like that.

Bad things:

It needs testing!
The docs need some updating still.

@jcupitt will test it on staging env of one of my projects and report back.

OK, I think it's pretty much done. I've leaktested it and updated the docs, it all seems stable, as far as I can see, and all my old code runs OK.
It just needs some testing!

OMG this is incredible! I've just been porting an app from Ruby to Java and was considering re-writing the VIPS pieces as a standalone C++ executable. You may have just saved me weeks of effort.

Oh, you mean with JRuby? It would be great if you could test it --- it should work, according to the ruby-ffi README, but I've not tried it.

It has keyword arg support now, so it's ruby 2.0 and later only, FYI.

I had to remove the optimize_coding option (caused issues when saving JPG), but other than that it seems to work fine! I will keep it running on staging env of one of our websites for a bit to see if we encounter any problems.

That's great!
I think I found the optimize_coding problem, could you try again?

Yes, seems to be resolved now!

On Windows it has some problems loading the gobject library. This was the first error:
 (LoadError)4/lib/ruby/gems/2.4.0/gems/ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:147:in `block in ffi_lib': Could not open library 'gobject-2.0': The specified module could not be found.
.
Could not open library 'gobject-2.0.dll': The specified module could not be found.
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:100:in `map'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:100:in `ffi_lib'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:14:in `<module:GLib>'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:12:in `<top (required)>'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:40:in `require'
        from C:/ruby-vips/example/test.rb:1:in `<main>'

That error is fixable after applying this patch:
--- vips.rb	2017-07-22 12:31:47.502401900 +0200
+++ vips.rb	2017-07-22 12:33:14.694250100 +0200
@@ -11,7 +11,13 @@

 module GLib
     extend FFI::Library
-    ffi_lib 'gobject-2.0'
+    if FFI::Platform.windows?
+      libgobject = 'C:\vips-dev-w64-all-8.5.6\vips-dev-8.5\bin\libgobject-2.0-0.dll'
+    else
+      libgobject = 'gobject-2.0'
+    end
+
+    ffi_lib libgobject

     # nil being the default
     glib_log_domain = nil

(I tried using libgobject = 'libgobject-2.0-0.dll' but that doesn't work, the PATH environment variable is correctly set)
When I applied the above patch, this was the next error:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:275:in `attach_function': Function 'g_malloc' not found in [C:\vips-dev-w64-all-8.5.6\vips-dev-8.5\bin\libgobject-2.0-0.dll] (FFI::NotFoundError)
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:29:in `<module:GLib>'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:12:in `<top (required)>'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:40:in `require'
        from test.rb:1:in `<main>'

I'll try on Linux instead. 😄

Hello Kleis, that's very strange, it should search for DLLs in the current directory, and then along PATH.
What do you have it set to? If you have the directory C:/vips-dev-w64-all-8.5.6/vips-dev-8.5/bin at the front, you should be OK. Could it be a / and \ mixup? Or it interpreting \v as an escape character? And you either must or must not have a trailing / or \, I forget which.
It took a bit of fiddling, but I did get the lua-vips ffi binding working under Wine. The equivalent code is here:
https://github.com/jcupitt/lua-vips/blob/master/src/vips/gvalue.lua#L14

According to https://github.com/oneclick/rubyinstaller2/issues/4 (I'm using RubyInstaller) it searches a relative FFI load in C:\msys64\mingw64\bin (for x86 in C:\msys64\mingw32\bin). So after copying libgobject-2.0-0.dll and libglib-2.0-0.dll to C:\msys64\mingw64\bin and applying this patch:
--- vips.rb	Sat Jul 22 12:31:47 2017
+++ vips.rb	Sat Jul 22 14:47:10 2017
@@ -11,7 +11,12 @@

 module GLib
     extend FFI::Library
-    ffi_lib 'gobject-2.0'
+    if FFI::Platform.windows?
+      ffi_lib 'libgobject-2.0-0.dll'
+      ffi_lib 'libglib-2.0-0.dll'
+    else
+      ffi_lib 'gobject-2.0'
+    end

     # nil being the default
     glib_log_domain = nil

gobject and glib are successfully loaded.
Unfortunately, I now get a new error:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:275:in `attach_function': Function 'g_type_name' not found in [libglib-2.0-0.dll] (FFI::NotFoundError)
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:37:in `<module:GLib>'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ruby-vips-2.0.0/lib/vips.rb:12:in `<top (required)>'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:40:in `require'
        from test.rb:1:in `<main>'

Oh dear, so ruby-ffi does not use any search path for loading DLLs, just absolute and relative filenames. I wonder what their reasoning is for turning off the standard DLL search mechanism? Security I guess.
I suppose this means we must locate the directory containing libvips.dll and libgobject.dll ourselves somehow. How about just getenv("PATH") and looking along that?

Thinking about it some more, I suppose the problem is that PATH is set per user on Windows, but many programs might different settings (if they use different versions of DLLs). On other systems, PATH is generally per installed program (via wrapper scripts), but wrapper scripts don't really exist on Windows, so each program has to locate it's own DLLs.
The solutions seem to be:

A new environment variable, perhaps VIPSHOME, which points to the vips binary directory.

A registry key pointing to the vips binary. This would make installing annoying.

The calling program gives ruby-vips the directory of the vips binary somehow.

When we package for Windows, we include the vips binary in the gem and locate it in there somehow.

Does anyone have any better ideas? This is painful :(

After some searching I found a solution. Setting the RUBY_DLL_PATH environment variable to C:\vips-dev-w64-all-8.5.6\vips-dev-8.5\bin fixes this. See: https://github.com/oneclick/rubyinstaller2/issues/51

I have been using the ffi-experiment branch for several weeks now and am not seeing any issues.

Looks like it's done! Windows support is tested too, and it all seems to work. JRuby might be nice to test too, but that can wait.
I've pushed 2.0 to rubygems.

fabulous, thank you @jcupitt!


Add async cloud tests

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

There is currently an issue with this cloud test that does not show here because cloud tests only run on the master branch.


[Task]: Update all new info texts

Task description
TBD
Requirements
TBD
Acceptance criteria
TBD
Creation checklist

[ ] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

We have clickables to show info modals in the following places:

Indexation Payload
Milestone Payload
Transaction Payload
Identity Resolver: welcome page
Identity Resolver: general
Identity Resolver: content (maybe we should also add the history?)
Address page: main header
Address page: general
Address page: transaction history
Index message: main  header
index message: general
message page: main header
message page: general
message page: metadata
message page: tree

We can add or remove, but we should check where it makes sense to have these info popups and gather the texts that go inside

@lucas-tortora will provide us with the a list for all the topics

We have clickables to show info modals in the following places:

Indexation Payload
Milestone Payload
Transaction Payload
Identity Resolver: welcome page
Identity Resolver: general
Identity Resolver: content (maybe we should also add the history?)
Address page: main header
Address page: general
Address page: transaction history
Index message: main  header
index message: general
message page: main header
message page: general
message page: metadata
message page: tree

We can add or remove, but we should check where it makes sense to have these info popups and gather the texts that go inside

The general info button on the address page shows the Messages in Tangle info text

@laumair ,  here's most of the info.  I've got some doubts on the "general" ones, whenever you have a moment please get in touch with me through slack and we can try and clear them up.

Indexation Payload

link: https://wiki.iota.org/learn/about-iota/messages#indexation-payload
text: "The concept of the payload allows for the addition of an index to the encapsulating message, as well as some arbitrary data. Nodes expose an application programming interface that enables the querying of messages by the index. Index payloads may also be contained within a transaction payload."

Milestone Payload

link: https://wiki.iota.org/learn/about-iota/messages#milestone-payload
text: "A milestone payload contains the Milestone Essence, which consists of the actual milestone information (like its index number or position in the tangle), which is signed using the Ed25519 signature scheme. It uses keys of 32 bytes, while the generated signatures are 64 bytes."

There is more text, but given that it's for an info modal I think 1 paragraph is enough.

Transaction Payload

link: https://wiki.iota.org/learn/about-iota/messages#transaction-payload
text: "A transaction payload is made up of two parts:
1. The Transaction Essence part, which contains the inputs, outputs, and an optional embedded payload.
2. The Unlock Blocks, which unlocks the Transaction Essence's inputs. In case the unlock block contains a signature, it signs the entire Transaction Essence part.
"

Identity Resolver: welcome page

link:https://wiki.iota.org/identity.rs/decentralized_identity
text: Decentralized Identity or Self-Sovereign Identity (SSI) defines a new method for identity management and authentication. It removes the centralized aspects and puts the Identity subject in full control over its own identity. Decentralized identity provides a solution for the increasing amount of database breaches, the lack of trust in any digital setting, and the increasingly difficult to comply to privacy legislation, such as GDPR.

Identity Resolver: general

I'm not sure I get this one. do you mean the word general? What should it describe?

Identity Resolver: content (maybe we should also add the history?)

link: https://wiki.iota.org/identity.rs/glossary#did-document
text: A set of data describing the DID subject, including mechanisms, such as public keys and pseudonymous biometrics, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document may also contain other attributes or claims describing the DID subject. A DID document may have one or more different representations as defined in the W3C DID Specification Registries

Address page: main header

link: https://wiki.iota.org/build/fundamentals/cryptography#addresses or https://wiki.iota.org/chrysalis-docs/guides/developer#seed-and-addresses
text: Addresses are similar to a personal account, something viewable and sendable to people you want to do business with. This personal account belongs to a seed. In the world of cryptography, a seed refers to a “private key”.

Address page: general

I'm not sure I get this one. do you mean the word general? What should it describe?

Address page: transaction history

link : https://wiki.iota.org/iota.rs/libraries/nodejs/examples#messages-payload-and-transactions
text:  The history of all transactions for this address. Transactions are the cornerstone of value-based transfers in the IOTA network.

Index message: main header

index message: general

Shouldn't these be the same as in the message page?

message page: main header

link: https://wiki.iota.org/learn/about-iota/data-transfer#what-is-an-iota-message
text: "A Message consists of basic information that defines the type and structure of the message, and it can also contain different payloads. A payload is an attachment that can include an IOTA transaction and many other kinds of data."

message page: general

I'm not sure I get this one. do you mean the word general? What should it describe?

message page: metadata

links:

https://wiki.iota.org/IOTA-2.0-Research-Specifications/2.2MessageLayout#226-metadata
https://wiki.iota.org/iota.rs/specs#messagemetadata

text: In addition to a message itself, a node may store additional data that describes its local perception of a message which is not part of the Tangle ('Message metadata'). Where such metadata is defined, the metadata element names and types defined in the table in the Metadata section of the Coordicide Specs or IOTA Client Library

message page: tree

link: https://wiki.iota.org/learn/glossary#p
text: A message directly references up to 8 previous messages that we call its parents. As a message has parent meessages, it also has children (the messages it the parent references).


Update Dialog.yaml

Changes

Super minor change, just fixing a typo

Checks
By submitting your pull request for review, you agree to the following:

[X] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[X] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[X] To the best of my knowledge, all proposed changes are accurate.

Catsgfgsgdushbays

I love this

Thanks @RoloTheDevBunny!


Reporter Warnings Regarding the retrofit-2.8.1.jar Lib

When running the Reporter I get those warnings:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by retrofit2.Platform (file:/<path_to_ort>/opt/oss-review-toolkit/cli/build/install/ort/lib/retrofit-2.8.1.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of retrofit2.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Is it something that you are aware of? Will it cause future usage problems because of WARNING: All illegal access operations will be denied in a future release?

Please see e.g. this answer on StackOverflow. You do not need to care about this.


PyAEDT error creating Wave Port

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
the hfss.wave_port function errors out when adding integration lines
Errors provided
pyaedt ERROR: Error in :   File "pyaedt\hfss.py", line 3029, in _get_reference_and_integration_points
pyaedt ERROR: list.remove(x): x not in list - _get_reference_and_integration_points -  VALUE ERROR.
pyaedt ERROR: Arguments with values:
pyaedt ERROR:     sheet = port_1_sheet
pyaedt ERROR:     axisdir = 3
pyaedt ERROR:     obj_name =
pyaedt ERROR: Check Online documentation on: https://aedt.docs.pyansys.com/version/stable/search.html?q=_get_reference_and_integration_points+sheet+axisdir+obj_name
Commenting out the line 3029 in hfss.py resolves this issue.  However unclear from an outsider perspective how important this line is.
"refid.remove(sheet)"
Steps To Reproduce
port_1_sheet = modeler.create_rectangle(pyaedt.constants.AXIS.Z,
["-sept_b0/2", "-sept_a0/2", "0"],
["sept_b0", "sept_a0"],
name="port_1_sheet", matname="vacuum",
is_covered=True)
port1 = hfss.wave_port(port_1_sheet, integration_line=hfss.AxisDir.XPos, name="1", num_modes=1, renormalize=False)
Which Operating System are you using?
 What are the parameter values?

Hi @AndrewKee any update?

Apologies.  Was on vacation the past week.  Will do some further tests shortly.
I'm currently using 2022 R2
The variables are defined as such, where I have a coefficient multiplied by another value.
hfss["sept_a0_coef"] = "0.626"
hfss["sept_a0"]      = "sept_a0_coef*lambda_0"
perhaps an issue with 2022 R2.  I will investigate further.

The issue does not occur with this simple code you wrote in 2022R2 as well.  Digging deeper into my code to see what else could be causing this issue.

The issue occurs when you do not have a variable defined...
in the above comment, lambda_0 was not defined.  Everything was somehow still being produced correctly, yet it was the port creation that errored.


FEAT: Basic game play mode

OnPlay and OnStop states are created in the application.
An own timer is created for the OnPlay state.
Frustum for the camera is changed to a raw pointer because it has no copy constructor.
Copy constructors are created for player and rigid-body components.
To exit the OnPlay state, press ctrl+Q.
The player is copied for the Onplay state. In the stop, the player copied is deleted and the actual player is turned on to enable.

Left a comment regarding Camera::frustum and a minor thing with Timer.
I don't particularly like the idea of having the Application as a whole be aware of whether we are on play mode or not. Wouldn't it make more sense to store that information (boolean and Timer) in ModuleScene? In particular, for Scripting, a script's Init and Start need to be called when entering play mode, and CleanUp when exiting. As it stands, we would need two additional methods in ModuleScene to call them to do that functionality. If we moved OnPlay and OnStopPlay, we could have everything together in that same method body. I'd like to know your thoughts on this, it's possible I'm missing something important.

For Animation I need the OnPlay, OnStop and OnUpdate on Application as it is referenced to be done this way in the ppt. On top of this, if we put the OnPlay, OnStop and OnUpdate on the Application every module and component that needs to access this state simply needs check the application's isOnPlayMode state. I wouldn't change where things need to be implemented, and do it as it is stipulated on the documentation that we are given.


[feature] show a popup when connected to wrong network

What problem does this new feature solve?
You can configure the supported chains as part of your Web3ModalClientOptions.
But there's not feedback whenever I connect or switch to an unsupported network.
Which often breaks or leads to errors when any required data from that chain can't be found.
Describe the solution you'd like
I suggest to automatically show a popup/modal, whenever you connect or switch to an unsupported network.
The modal should provide a warning, but also show a list of supported networks to easily switch.
Example

You can still use wagmi hooks to subscribe to network changes, they also have a boolean for supported networks.
Also imo forcing a popup without direct user action might be a bit abrupt for some

Network switch can only be detected with useNetwork hook, which doesn't support onSuccess and onError (in comparison to useSwitchNetwork)
In the last few days I have experienced some bugs with MetaMask - chain.unsupported returns wrong value (connecting to supported chain and seeing unsupported: true)
So I have to write huge useEffect that detects chain.id and compare it to the array of supported chain...
Also there is a need to build fallback UI when unsupported chain is detected...

Added in v4 👍

@glitch-txs is it possible to make this configurable? There are a lot of use-cases that do not require to automatically pop up and can actually be quite annoying :sweat_smile:


Reactivity(vue): Add failSilently to onScopeDispose

When signaldb is used as part of basic Vue composition api store (declared outside of vue components) we get a warning in browser console:
[Vue warn] onScopeDispose() is called when there is no active effect scope to be associated with.

This warning would also show up anywhere signaldb is used outside of component context (ex: web workers, likely pinia, etc).
This can be resolved by adding failSilently to onScopeDespose:
https://github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd
I can submit a PR for this.
I love this project btw. I've used dexie, electricSQL and tried RxDB. I think you have a very promising solution with same caveats (will submit issues when I get a chance).

Hi @Cmacu! Thanks!
I wasn’t aware of this parameter. Feel free to provide a PR if you want to contribute 🙂
also don’t hesitate to open more issues! 😀

Not I looked a bit more into this. The warning you described is an indication that you haven't disabled reactivity in a case where it should be disabled (otherwise it could lead to memory leaks).
However I just saw that vue provides a getCurrentScope() method, that allows the implementation of automatic scope checking.
With automatic scope checking, there is no need for the failSilently parameter anymore.

@maxnowack I am not sure I understand if that's something I need to fix on my end or something you are planning to implement.
Let me share a bit more context, which hopefully can make this easier. We have the following simplified singleton class:
// user.store.ts
class UserStore {
  private collection

  constructor() {
    this.collection = new ReplicatedCollection({
      pull: pullUsers,
      push: pushUsers,
      registerRemoteChange: socketListener,
      reactivity: vueReactivityAdapter,
      persistence: createLocalStorageAdapter('users'),
    });
  }

  listUsers() {
    return this.collection.find().fetch();
  }

  getUser(id: string) {
    return this.collection.findOne({ id });
  }

  createUser(user: User) {
    return this.collection.insert(user);
  }

  updateUser(id: string, user: User) {
    return this.collection.updateOne({ id }, { $set: user });
  }

  deleteUser(id: string) {
    return this.collection.removeOne({ id });
  }

}

export default new UserStore();

This store is than used in various places in the app:
// UsersPage.vue

<template>

    <a :href="`/user/${user.id}`">{{ user.name }}
    <button @click="deleteUser(user.id)">Delete</button>

</template>

This is a simplified version that would produce this error whenever navigate to another page. It's a solution I've used in the past with various other storage implementations without an issue.

I was thinking about extending the reactivity adapter for vue. Sorry for the confusion 😀
#889 implements the changes I was talking about. Once they have been published, your error should go away 🙂

published in<EMAIL_ADDRESS>🎉

I noticed that getCurrentScope() didn't work as expected. I switched to adding failSilently to onScopeDispose as you suggested.

Yeah, I was going to point this out, but we were still investigating, if the issue was on our end.
Thanks for resolving it!
We are migrating to the Sync manager too! So exciting


Fix typo

varient -> variant
Signed-off-by: 林博仁(Buo-ren, Lin<EMAIL_ADDRESS>

Thanks, it is indeed a typo 😁


MappedCollection is leaking memory

Hello,
Using the MappedCollection, I am trying to load a big h5ad file that can't fit into memory. It works as expected and doesn't initially load the whole file into memory.
However, if I started to read the data row by row, the memory utilization increased to the same file size.
I expect the MappedCollection to read each row and free its associated memory after it is deleted, which is not the case.
How can we solve this issue?
Code:
import lamindb
from tqdm import tqdm

lam_db = lamindb.core.MappedCollection(
    ["file.h5ad"],
    parallel=False
)

for idx in tqdm(range(lam_db.shape[0])):
    row = lam_db[idx]["X"]
    del row

Hi, @agemagician , thanks for reporting this.
I haven't in general observed this behavior, i was able to sample from very big collections of files. But need to investigate.
Is adata.X sparse or dense?
Do you know what are the chunk sizes on .X if it is dense?
import h5py
file = h5py.File("file.h5ad", mode="r")
print(file["X"].chunks)
file.close()

I suspect this might happen if the chunk size is big.
As you are consequently loading all chunks by iterating over indices one by one, maybe garbage collection doesn't happen for these chunks. Does it also happen if you try random access?


An EditorPlugin build callback failed.

Godot version
3.5.1mono
System information
windows10
Issue description
I found another similar issue(https://github.com/godotengine/godot/issues/35897) ,but my situation seems a little different.
Every unsuccessful build is accompanied by this error output
editor/editor_node.cpp:5532 - An EditorPlugin build callback failed.
For example, this output appears when there is a syntax error displayed in MSBuild at build time. I think this is strange,because it looks as if something went wrong with the editor. I think it would be better to make it clearer (e.g. "Error : Project Build Failed"). Please tell me if my idea is wrong.
Steps to reproduce
Create a project
Add a C# script with any syntax error
Run it
See the output and get this:
editor/editor_node.cpp:5532 - An EditorPlugin build callback failed.
Minimal reproduction project
An empty project

hey i have the a same problem .

hey

Godot version
3.5.1mono
System information
windows10
Issue description
I found another similar issue(#35897) ,but my situation seems a little different. Every unsuccessful build is accompanied by this error output editor/editor_node.cpp:5532 - An EditorPlugin build callback failed. For example, this output appears when there is a syntax error displayed in MSBuild at build time. I think this is strange,because it looks as if something went wrong with the editor. I think it would be better to make it clearer (e.g. "Error : Project Build Failed"). Please tell me if my idea is wrong.
Steps to reproduce
Create a project Add a C# script with any syntax error Run it See the output and get this: editor/editor_node.cpp:5532 - An EditorPlugin build callback failed.
Minimal reproduction project
An empty project

hey man , i have the same issue as you . i asked the reddit godot community and they replay a  solution the solution worked for me i will give you a link to the post . but the short answer is ifyou are a windows user "C:\Users\username\AppData\Roaming\Godot\mono" go to this directory and if you do not see the a folder named GodotNuGetFallbackFolder you will have to created .
here is the link https://www.reddit.com/r/godot/comments/10gug1u/godot_351_failed_to_build/
Note : if that solution does not work for you you may want to check the log file in  the directory C:\Users\username\AppData\Roaming\Godot\mono\build_logs for more detail .
and you could post the log file for more info for the community to help you .
hope that was helpfull.

No. I checked and found that this directory exists, but the editor still shows this error. And I think this should be handled automatically by the editor rather than letting the user check the folder.

So if I understand this issue correctly, the problem is the "An EditorPlugin build callback failed" message that is printed when building a C# project fails. So the C# project does contain errors, but your issue is that the message is unintuitive and sounds like an editor error rather than an user one.
If so, I don't think there's much we can do here. As far as I know, EditorPlugin doesn't let you customize the message you get when the overridden _build method returns false.
The EditorPlugin method that fails is the C# plugin and it implements the _build method to return false when building the C# project fails:
https://github.com/godotengine/godot/blob/23318e877890029f35856036b9c4e0bfa09cacc6/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs#L397-L400
Then, the message is printed by Core:
https://github.com/godotengine/godot/blob/23318e877890029f35856036b9c4e0bfa09cacc6/editor/editor_node.cpp#L6467-L6470


Add sergeant role (second LEO supervisor)

Feature

[x] Related issues linked using closes: #number
[x] There is only 1 db migration with no breaking changes.

Translations

[x] .json files are formatted: pnpm format
[x] Translations are correct
[x] New translation? It's been added to i18n.config.mjs

closes #1922

Nice PR, though, what's the point if they can use custom roles instead 👀?

Nice PR, though, what's the point if they can use custom roles instead 👀?

I'm wondering if this is related to permissions.
https://github.com/SnailyCAD/snaily-cadv4/issues/1922
The need for another Supervisor option is important for lower level Supervisor so they don't have as much power. (In case someone gets terminated from a Department and then tries to sabotage officers)

So ultimately another role isn't whats needed (as this can be achieved with custom roles), but additional permission keys so you can split out the "Manage Units" key into less privileged tasks such as the ones you listed?

Manage another Officer's Rank
Manage another Officer's Callsign

Yes exactly
Basically so we can fine tune a few more permissions as needed for security reasons

Does this one just need to be merged with next update then its good to go basically?

I don't think this PR is effective in resolving the issue raised, we need additional permission keys, not more static roles that people can replicate already with custom roles.
Perhaps something Casper can comment on this and potentially look to add more segregation to the manage unit permissions.

I also realized just now that Manage Officer Rank (to change an officer's rank) is not an option under Custom Roles as a Permission to select.

Nice PR, though, what's the point if they can use custom roles instead 👀?

I think we can close this one now because this method is easier now: https://github.com/SnailyCAD/snaily-cadv4/pull/1956

Superseded by #1956


PVA friendly prototype

I'd like to build a prototype where we simplify the LU model down to what PVA supports.  To do this:

We would create a new directory templates/simple with a new root schema simple.schema.
We would copy over and modify the existing templates to generate a simpler LU model without operators and maybe without any labels.

Changes would be:

The only operation would be assign and we would drop all other utterances and the labels for assign.  We would also drop all triggers other than missing property, assign and the form wide ones.
Eventually we would only support the entity types that PVA supports, but for now we can use the LUIS ones to simplify testing.  I believe this includes enum, but we would have to get some details there.
The LU files would only have entity labels for property and value.  Eventually the entity labels would likely be dropped altogether.  (Because all of the entities are prebuilt or list and they correspond 1 to 1 to properties.)
Triggers would only have the value field.  (It might be we are required to have a property field in which case we would have the one property for each entity type.)
Eventually we might be able to test this by using the Orchestrator recognizer as well, but we should hold off on that.

This would result in a bot that supports the event triggered model including richer prompts, but would run on the current PVA runtime.

It means we keep operation assign() and discard operations clear(), remove(), show(), help(), change() and choose() for each property? Do we keep chooseEntity? The form wide ones are helpGlobal(), skip() and cancel() ?

Current, the assign entity is defined as follows:

@ phraselist AssignPhrases(interchangeable) disabledForAllModels =
- add, set, with, is, are, of, assign
@ ml Assign() usesFeature AssignPhrases
-@ ml BreadProperty usesFeature BreadProperty
- @ BreadValue BreadValue
But I think this could not be recognized by PVA LU model. If we want to keep the assign entity, how to define the assign entity in simplified style?

"The LU files would only have entity labels for property and value. Eventually the entity labels would likely be dropped altogether."  The new generated example utterances are as follows:

add {quantity.number=2} sandwiches
add {bread.breadValue=rye}
Should  entity labels  (e.g., quantity.number, bread.breadValue) also be deleted?

"Triggers would only have the value field. "  Currently, the trigger is like:
{
"$kind": "Microsoft.OnAssignEntity",
"operation": "Assign()",
"property": "Quantity",
"value": "number",
"actions": [
{
"$kind": "Microsoft.SetProperty",
"property": "$Quantity",
"value": "=@number"
}
]
}

Should we remove property in the trigger ?


Would like to add Chinese documents！

Proposed changes
https://developers.cloudflare.com/
Subject Matter
The existing documents only have one language, and the results of machine translation cannot express the intended meaning. So I hope to add Chinese language for more people to understand.
Content Location
https://developers.cloudflare.com/
Additional information
No response

Howdy @haoxiaoyueh, unfortunately multi-language support isn't on our immediate roadmap. In the interim, you might try Google Translate or another tool.


Add validation rule metric/relationship check model exist

need a validation rule to check if model used in relationship and metric exists

legacy issue.


Master page URL token fix when provisioning template to a sub-site.

Q
A

Bug fix?
yes

This fixes an issue with replacing the {masterpagecatalog} with the correct master page catalog URL.
At the moment the token gets replaced with the master page catalog URL of the web you are provisioning the template at. If the web is a sub-site. This returns the path to the master page gallery URL of that web and causes a file not found issue (because the reference is set to /site/sub-site/_catalogs/masterpage/custom.master).
With this fix, it will be retrieved from the rootweb if the current web is a sub-site. The returned URL is: _catalogs/masterpage.

Hi @estruyf, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Thx Elio,
We'll look into this PR, but given the holidays it most likely will not be processed before the next master merge.

Hi Elio,
Thanks for your contribution. The change looks good. Unfortunately, because of a conflict, I had to merge it manually and this PR will be closed. Nevertheless, you will be credited in the monthly release. Thank you and see you soon :-) ...


Revert "[10.x] add Storage::json() method to read and decode a json file"

Reverts laravel/framework#46548
This PR changes the sequence of parameters of the json method and thus causing a breaking change for anyone using the lock param.

I see your point, but I would suggest reverting only the addition of the $flags parameter instead of the whole PR.

This hasn't been documented or released yet.


Rscript's err message can't show in proper encoding

firstly, nice code! but I want know the reason why my console give me such a strange string. btw, I running with OS win7 Chinese. Can anybody help!

same code in RGui shows below pic


Pi 4 Model B / Wifi Works, but can't access Server

so I was reading the other post on the Pi4 Model B (4BG model) not working and I have downloaded the: 2023-08-20-picobrew-pico-lite.img that you posted on your Google drive.  It boots and it creates the PICOBREW Wifi and my Z sees it and connects to it.
But I can't seem to connect to the local server to make my edits and upload recipes.
http://<IP_ADDRESS>
when I type: sudo network -I
that is the IP address that I see, any recommendations ?
I feel like I am super close :)
Thanks!

Try either http://raspberrypi OR connect the device to PICOBREW and try http://<IP_ADDRESS>

Also if you can, try to use Ethernet instead of WiFi

it seems to work now / what do you mean Eithernet over Wifi ? /// connect the Z machine using eithernet to my regular router or directly to the Pi4 ?
what format is supported for Recipe Import ? I have one in .xml format, but its is not able to import it..
it seems to work now, thanks!

Importing is a proprietary json format.
You can also sync the beerxml file you have via crafter.pilotbatchbrewing.com
Or just create the machine steps as the Pi solution doesn't care about any of the ingredients and was primarily built to support controlling time at temperature of the Picobrew devices, use whatever crafter you want for nailing your ingredients.

I logged into crafter.pilotbacthbrewing.com // i press sync and nothing happen ? posting screenshots, what am i doing wrong ?

You need to add your RaspberryPi ip address to your brew crafter user
profile as the red error text says.
On Sat, Jun 15, 2024, 10:59 PM Ray Miecznik @.***>
wrote:

I logged into crafter.pilotbacthbrewing.com // i press sync and nothing
happen ? posting screenshots, what am i doing wrong ?
[image: Uploading Screenshot 2024-06-15 at 7.58.08 PM.png…]
—
Reply to this email directly, view it on GitHub
https://github.com/chiefwigms/picobrew_pico/issues/387#issuecomment-2171024425,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQPAI47CMOGDJXY2ZQLJZLZHT5SRAVCNFSM6AAAAABJMERRNCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZRGAZDINBSGU
.
You are receiving this because you commented.Message ID:
@.***>

I tried that, now getting a sync error..

Try this - on the same browser you are accessing BrewCrafter2, navigate to the https://raspberrypi (or https://<IP_ADDRESS>). Your browser may give you a certificate error. You need to accept the certificate (it is unsigned). Then try syncing the recipe again from BrewCrafter2. This has worked for me in the past.

that works, it synced them and I see them in the Library, thanks!
but I don't see it on the Z machine, does it take a while to sync between the Pi server and the machine ?

You may need to toggle the sync setting from within the RaspberryPi hosted website. There is an edge case around syncing from BrewCrafter and having it actively available as "synced" in the cache for the machines to pull down.

cool, i toggled the synced on the Pi off and ON and now it is synced, thanks for all the help!!!!

what plans you guys have for this software ?  do you know the install base for active users given the company is out ?
for my self, I pickup the Zymantic (had a leak, designed a 3d part and gave back to community https://www.thingiverse.com/thing:6661173), and the Z (new) and the PicoStill (new) for $200 / I used to brew big batches, but am actually looking forward to more variety and smaller batches that are more automated, this way I can brew on weekdays too without putting away a full day to brew beer.
Kind of sad they screwed this up!

ok so this morning tried to connect using my Z and i get a no internet error.. nothing changed, connected over ethernet to the Pi, all network works...
https://youtube.com/shorts/Hlu9JMDaFDk?si=i5cFu51_bHt2XgJ4

i disconnected the ethernet between the pi and the Z and connected the Pi to the internet using another ethernet cable, now it connects over Wifi fine, weird behavior ...

What you are seeing is the fact that the RaspberryPi supports both 2.4 and 5.0ghz frequencies. Most consumer grade and commercial grade access points (commonly confused as routers, since they are often both a router and an access point in one device) will push clients over to the higher frequency range for speed and reliability 5.0ghz. when this happens the Pi access point (broadcasted as ssid PICOBREW) will become invisible to the Picobrew hardware and no longer be seen since these machines only support 2.4ghz. In Ubuntu (underlying OS of our solution) there isn't a way to announce that 5.0ghz shouldn't be used though the interface we try to prioritize this network by attaching to the explicit essid vs the ssid only.
Anyways long story to try and say "band steering" which is used to optimize your network for speed/reliability causes issues if the client being steered is yet itself hosting an access point unknowingly supporting other single channel devices.

what plans you guys have for this software ?

I brew exclusively on Picobrew hardware so as long as I do that... This project will be functioning just fine. As far as "new features" there aren't much that are needed TBH with what has been done already. There is a want I have to opt-in connecting to live data streaming to BrewCrafter which is an always on online product I host again for the community.

do you know the install base for active users given the company is out ?

100-1000s of people are still active using Picobrew devices around the world even in markets Picobrew wasn't operating in.

cool, so when is the next Beta coming out ? ;)

also, the image that i got was from your Google drive, so unless someone reads the prior forums, they won't find it on the .git official links - you planning to make it available for other people so it works on the Pi 5 ?
thanks!!

Plans to? Yes.
Have I tested things on a more recent Pi myself? No.
Do I get paid to do this? No.
Thanks for testing and confirming things work.

well maybe you should get paid ;) thanks for all your help!

Now I get a COLD Sensor error,

This is known to happen when your Picobrew had a power disruption for some reason. Long story short is that there are 2 boilers: BIG and SMALL and when this binary configuration is lost in the firmware it asks the cloud for what it is - the Pi solution doesn't always know, but there is a user accessible "check boiler type" utility buried in the Service Mode (hold down the click wheel when restarting your Z to access this).

yep, thanks / I joined the FB Group and everyone said the same thing, after that I had a Hot Error 8 followed by 6, I solved that fairly easily and brewed a test batch just using water, all went great!


unexpected “data”: that keyword isn't allowed

Running:
echo '{"data": 1}' | jl '_.data'
results in:
jl: TokenizerError (line 1, column 7):
unexpected “data”: that keyword isn't allowed, but you could use this instead: data_

while it would be good to have an ability to use "data" as JSON field name.

Right, I'll remove those keyword checks as they're only relevant for Haskell, not this smaller language.

I've bumped this as version 0.0.3. There'll be a binary release uploaded automatically when the CI finishes: https://travis-ci.org/chrisdone/jl/builds/265119872


Security/Vulnerability is raised in Google Play

Copy/Paste from the console:
Sending Advertising ID
Your app is sending Advertising ID over an unencrypted connection.
This isn't recommended because network intermediaries might be able to intercept it. You should use an encrypted connection when sending Advertising ID.
I can see that the advertisement id in logcat, in the request params: {"s":...}.

Hi,
Thanks, we'll try to do this in our next sprint. I can't do it with a simple change in the SDK as I also need server side cooperation.

side note: I also have this error in Play Console but I'm only using AdMob and Amazon Mobile Ads....
It started to show after I added Amazon Mobile Ads but I think that it's not related to that...

I thnik that it's related to the ad that is currently showing...
In other words, AdMob is probably allowing HTTP and HTTPS and when some random ad uses HTTP the Play Console shows that error/warning...

Hi,
Thanks for the info, I'll try to see if we can move our call to HTTPS by default.

As for the ads themselves, this is not as simple as only working with secure ads will have an impact on the fill rate.

ok, our testing tools are finally upgraded to test SSL connections, this was holding back the change. I'll add it on our next release.


usm: ssl: Ignore containerd tempmounts

What does this PR do?
USM should not hook paths in containerd tmpmounts

Motivation
Containerd uses the tmpmounts for copying files. Containerd unmounts the device when it finishes the setup, but the process still lives, which means we didn't unhook openssl.so file, which can result in error in containerd.
While we're trying to have a more robust solution, we keep a quick workaround

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Switch our python package management solution to poetry.

Mainly because it has better support for installing the packages from
different python versions.
It also has better dependency resolver than Pipenv. And supports modern
standard for python dependency management. This includes usage of
pyproject.toml for project specific configuration instead of per
tool conf files. See following links for details:
https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/
https://www.python.org/dev/peps/pep-0518/

e2e seems to fail because of some recent compute tools changes, so shouldn't be related to this PR
@hlinnaka Please take a look how it works for your setup. I saw you tried poetry in console e2e tests, this should work similarly.
I've added ./scripts/pysync to update packages so it is simpler to always run this script without diving into python dependency management too much. There is also a complementary wrapper around pytest: ./scripts/pytest

@LizardWizzard yes, and if you rebase it on top of the fresh main, everything should pass

@SomeoneToIgnore by default poetry tries to install current package too (which fails because zenith's root dir doesnt look like a python package), so with pysync (which contains --no-root option to avoid this) I wanted to eliminate this confusion but it seems I've failed :)
@funbringer Probably we won't change this too frequently but I think it is good to have simple wrappers that do not change at all. I wanted to avoid broadcasting to people updates like "now to run tests you have to use --foo=bar". I don't insist on that though. It is ok either way


Silence detection should create media duration properties

Silence detection should optionally create workflow properties with the sum of non-silent media segment duration and relation to the whole track length.
Example:
Your sample media package contains presenter/source and presentation/source tracks. Each track is 120 minutes long but the non-silent part in the video is 90 minutes (75%) long. Setting export-segments-duration configuration of silence operation to true will create these workflow properties for you:
presentation_source_duration = 5400
presentation_source_duration_percent = 75
presenter_source_duration = 5400
presenter_source_duration_percent = 75

You can use this properties to decide the next processing steps in the workflow. You maybe want to skip distribution on well defined threshold or do other stuff.
Your pull request should…

[ ] have a concise title
[ ] close an accompanying issue if one exists
[ ] be against the correct branch (features can only go into develop)
[ ] include migration scripts and documentation, if appropriate
[x] pass automated tests
[ ] have a clean commit history
[ ] have proper commit messages (title and body) for all commits

Might be good to note that the properties won't be created if the operation is skipped beforehand. For example, if you upload videos with no audio, you don't get a presentation_source_duration of 0, since the operation will be skipped.
Otherwise this PR looks fine and works.

We should change the name of the workflow variables because reading something like presentation_source_duration, you have absolutely no idea that it's about silence. Instead, I would expect this to represent the media stream duration. What about something like presentation_source_noise_duration?

Why not presentation_source_silence_duration? Not always noise.

Why not presentation_source_silence_duration? Not always noise.

Fine with me, but that would also mean to change the code since that is not only a new name but also a new meaning for this variable.

@wsmirnow ping, this looks and functions well, just a minor complaint about variable names :D

Why not presentation_source_silence_duration? Not always noise.

Fine with me, but that would also mean to change the code since that is not only a new name but also a new meaning for this variable.

Really? Thought we detected silence and not noise. Anyway, I don't really care too much about the variable name.

I wouldn't name it *_silence_duration and noise is also weird. What is about *_audio_active_duration?

The property names are renamed and commits are squashed. Please go ahead with the review.


2.15.0 release date

Hello everyone;
We are interested in using this library with the Jakarta integration, so we were wondering if there was any tentative date for the release v2.15.0.
Thank you!
(Sorry if creating an Issue was not the right place to ask this)

issues are for bugs - see https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.15


fix(protocol-designer): do not duplicate into adjacent h-s slot for o…

…t-2 tall labware
closes RQA-2716
Overview
This bug has certainly existed in production since PD 6.0.0 i think. Shout out to Derek for finding it. Basically, the heater-shaker on the ot-2 has many collision warnings and any tall labware greater than 53mm can hit the heater-shaker when it is in motion. So this PR filters out the adjacent slots of the heater-shaker when duplicating the labware on the deck and the initial set up when the tipracks are auto generated.
Test Plan
Follow the steps outlined in the ticket. Basically, you don't want the tiprack auto generating or duplicating into slot 2.
Changelog

add logic to special case the heater-shaker tall labware on ot-2 for create file wizard and get next available slot util

Review requests
see test plan
Risk assessment
low

This PR can handle the case of RQA-2716, but seems that this PR still cannot handle the following case.
https://github.com/Opentrons/opentrons/assets/474225/6a98b3da-9b39-4c03-81ce-655897bf04bd

I guess this would be a kind of an edge case so I'm not sure that we would need to handle that case. (But probably showing warning would be useful for users.)

@koji thank you for catching this! I am going to make a new ticket and put it in the backlog. In PD 8.2, i think we won't run into that issue since we are redesigning everything but i still want to document it at least.


CLU 1.0 GA SDK

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-language-conversations

@kristapratico - i think PR is ready
But i'm still getting an error in CI analyze for updating azure-core library

i updated the share_requirements.txt but still getting this error, any thoughts?


Changelog for RJP +/- and test infra changes

The mention of Python 3.11.2 in the log entry for the hypothesis version pin is in hopes of adding 3.11 support (#46), but I'm happy to take it out if you prefer.

Codecov Report
Base: 90.82% // Head: 90.67% // Decreases project coverage by -0.15% :warning:

Coverage data is based on head (943b142) compared to base (806a090).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #56      +/-   ##
==========================================
- Coverage   90.82%   90.67%   -0.15%
==========================================
  Files          21       21
  Lines        1973     1942      -31
  Branches      377      366      -11
==========================================
- Hits         1792     1761      -31
  Misses        119      119
  Partials       62       62

Impacted Files
Coverage Δ

jschon/jsonschema.py
88.25% <0.00%> (-0.72%)
:arrow_down:

jschon/vocabulary/__init__.py
83.58% <0.00%> (-0.48%)
:arrow_down:

jschon/json.py
92.50% <0.00%> (-0.36%)
:arrow_down:

jschon/catalog/__init__.py
89.62% <0.00%> (-0.08%)
:arrow_down:

jschon/output.py
96.20% <0.00%> (-0.05%)
:arrow_down:

jschon/vocabulary/format.py
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Thanks for this. The mention of 3.11 support is fine - I'll follow up on that shortly. Fascinating how the hanging test revealed a Python interpreter issue.


(Pythonista 2.0) requests SSL failing

>>> import requests as r; o=open('ptinstaller.py','w'); o.write(r.get('http://j.mp/pt-i').text); o.close()
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/api.py", line 65, in get
    return request('get', url, **kwargs)
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/api.py", line 49, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/sessions.py", line 461, in request
    resp = self.send(prep, **send_kwargs)
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/sessions.py", line 599, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/sessions.py", line 192, in resolve_redirects
    allow_redirects=False,
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/var/mobile/Containers/Bundle/Application/BEB7C0AA-4CC7-464D-9A76-DBEC758FECB7/Pythonista.app/Frameworks/PythonistaKit.framework/pylib/site-packages/requests/adapters.py", line 431, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)

It works for me. Maybe check whether you have internet access? Also try restart Pythonista completely (i.e. double click home and swipe up to remove Pythonista from task list).

I've tried both of those suggestions.
The only thing that worked was a reinstall, but then restoring my old files raised the same bug

That's weird. Maybe use urllib instead of requests? Try following one line
import urllib2; o=open('ptinstaller.py','w'); o.write(urllib2.urlopen('http://j.mp/pt-i').read()); o.close()

Works consistently okay in my experience. This issue is also super old. Can be closed.


How can I trigger this function

https://github.com/open-power/hostboot/blob/7d5ac4bb7b94bdfaed85d71395f266a23a304339/src/usr/diag/prdf/common/plat/mem/prdfMemCeTable.C#L48C1-L48C1
Hello, I am currently researching the error handle function of memory and have some basic questions that I would like to ask. I understand that this function adds a CE data to MemCeTable, and when Ce Errors accumulate to a certain extent, it will trigger a UE error? May I ask:

CE error reaching the critical value will trigger UE error, right?
How can I trigger this function under runtime conditions
Under runtime conditions, where will statements similar to "TRACFCOMP" in prdf be printed?

@zane131 @cnpalmer - Please help with the details.

It depends on what you need by "critical value".  If the hardware cannot correct the error, then it will escalate to a UE.  For example, if there are multiple bit failures at the same time that ECC can't correct.  From a software standpoint, PRD will also keep a count of CEs.  If that counts passes a threshold (e.g. X CEs in 24 hours) then PRD will create a visible log and predictively guard the dimm and ask the hypervisor to vacate the failing memory.

At a high level, you need to cause CEs in the memory.  There are FIR injection registers to use for that, as well as potentially ways to physical bug the hardware.

At runtime PRD runs inside of HBRT.  If you are using OPAL (as I suspect) then this happens inside the opal-prd application.  The traces are then saved into the linux logs ('/var/log/opal-prd.log' or 'journalctl -u opal-prd' depending on which distro is being used).

I think the key here is that hardware, not firmware, detects and reports the CE and UE conditions based on the ECC algorithm. This firmware (PRD) simply responds to reported hardware events and requests service as needed.

Hi dcrowell77
"From a software standpoint, PRD will also keep a count of CEs. If that counts passes a threshold (e.g. X CEs in 24 hours) then PRD will create a visible log and predictively guard the dimm"
This is exactly the function I am concerned about, and I want to trigger this function by writing FIR injection registers:

I added some logs in MemCeTable:: addEntry through "PRDF-ERR"
When I submit to EXPLR_ RDF_ When writing NCE error in EICR (0x08011C0D) (I saw through getscom that the bit bit corresponding to EXPLR_RDF-FIR (0x08011C00) stood up)
However, the log I added was not found in/var/log/opal prd. log. I speculate that addEntry did not enter at all, so there is no possibility of triggering UE when the threshold is reached?
Could you please check if there is a problem with my understanding.
If it is true that "MemCeTable:: addEntry" did not trigger, I will debug why opal prd did not call this function in the future.
Thank!

Hi zane131
" detects and reports the CE and UE conditions based on the ECC algorithm."
I want to test this feature by injecting an error register. In this case, if a CE error is recorded in the FIR register, how does it trigger PRD to record a CE error?

so there is no possibility of triggering UE when the threshold is reached?

A memory UE happens with the hardware ECC algorithm is unable to correct the error. Depending on the hardware this would require 2 or 3 CEs on the same cache line originating from different DRAMs on that cache line. There is nothing in firmware that would initiate a UE on threshold.

I want to test this feature by injecting an error register.

This should be discussed through your IPS contacts.

how does it trigger PRD to record a CE error?

The hardware sets a FIR bit.  That then flows up the various layers of the FIR tree until it reaches the top (global) level.  At that point the chip will assert some kind of interrupt.  For Explorer, that signal goes across the OMI bus into the processor's memory controller logic.  From that point it will flow up the FIR tree again.  When it reaches the top of the P10 tree it will cause a host interrupt to fire.  That interrupt is seen by Linux, passed to the Opal driver, then HBRT is called to analyze the attention.

"HBRT is called to analyze the attention."
I think I can now proceed to this location, but I still have a question. I hope you can help me explain:
When ceTableRc is not 0, SetCallOut will only be executed when areDramRepairsDisabled () returns true. Does this mean that even when Ce reaches the threshold, Predictive Callout will not be triggered when reDramRepairsDisabled () returns false?

This is the location of the relevant code:
https://github.com/open-power/hostboot/blob/98f0a2536841224994ff1c1595ae72ccba4d839c/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C#L540C26-L540C26

You're digging into some pretty complicated design. "DRAM Repairs" encompasses a set of procedures to  test memory for errors in a target scope (usually on a single rank basis) and possibly apply repairs with redundant hardware. One of these procedures is called TPS, which is called in the else statement. So the check is "are DRAM Repairs disabled?" If so, make an immediate callout. If not, start the TPS procedure.

I think I can successfully trigger this function, thank you very much.