How can we validate input property based on type property's enum value

I want to validate input property based on other property. I am using oneOf in the schema. I have tried to use "dependencies" property but its not working. I am using draft-04 version. Following is my schema.
_TASK_SCHEMA = {
    "type": {
        "enum": [
            "import", "export", "clone"
        ],
        "type": "string"
    },
    "status": {
        "enum": [
            "pending",
            "processing",
            "success",
            "failure"
        ],
        "type": "string"
    },
    "input": {
        "type": "object",
        "oneOf": [
            {"$ref": "#/definitions/import"},
            {"$ref": "#/definitions/export"},
            {"$ref": "#/definitions/clone"},
        ],
    },
}

definitions =  {
                 "import": {
                "additionalProperties": False,
                "properties": {
                    "import_from": {"type": "string"},
                    "import_from_format": {"type": "string"},
                    "image_properties": {"type": "object"}
                }
            },
            "export": {
             "additionalProperties": False,
                "properties": {
                    "export_from": {"type": "string"},
                    "export_from_format": {"type": "string"},
                    "export_properties": {"type": "object"}
                }
            },
            "clone": {
                "additionalProperties": False,
                "properties": {
                    "clone_from": {"type": "string"},
                    "clone_from_format": {"type": "string"},
                    "clone_properties": {"type": "object"}
                }
           }
     }

raw = {
            'name': "testing",
            'properties':_TASK_SCHEMA,
            'definitions': definitions,
            'additionalProperties': False,
        }

This is my input request body.
data = {
    "type": "import",
    "input": {
        "import_from": "import from url",
        "import_from_format": "import from format",
        "image_properties": {}
    }
}

jsonschema.validate(data, raw)
In the above schema, I am trying to validate "input" type parameter value which I defined in oneOf schema definition according to the "type" parameter value. But it’s not working.
For Example:
If type = "import" then, Input must have {"import_from" , "import_from_format"  ,"image_properties"} properties.
If type = "export" then, Input must have {"export_from" , "export_from_format" , "export_properties"} properties.
If type = "clone" then, Input must have {"clone_from" , "clone_from_format" , "clone_properties"} properties.
NOTE:
I don't want to change the schema format (due to some project specific constraints)
Can anyone help me for the same?

Hey --
For non-implementation-specific questions you'll have better luck on the [https://groups.google.com/forum/#!forum/json-schema](JSON Schema mailing list) than on the bug tracker.


Hard to maintain multiple branches

I spent a while trying to track down a bug that was already fixed on focal (https://github.com/gazebo-tooling/action-gz-ci/pull/56) but not the bionic branch. It's not clear to me which changes should be applied to one  or multiple branches.

It would be great to choose a Docker image as a parameter, so we could keep a single branch for all distros. We didn't find a way to do it originally, there's some discussion in https://github.com/gazebo-tooling/action-gz-ci/issues/16.


Added 100% unit test coverage for oauth-m2m

This PR adds coverage of client-secret oauth for databricks on aws

Codecov Report
Attention: 115 lines in your changes are missing coverage. Please review.

Comparison is base (b4fd4b5) 16.34% compared to head (e24df0a) 17.81%.
Report is 18 commits behind head on main.

Files
Patch %
Lines

httpclient/fixtures/fixture.go
54.83%
20 Missing and 8 partials :warning:

config/azure.go
57.14%
16 Missing and 2 partials :warning:

service/iam/api.go
0.00%
18 Missing :warning:

httpclient/fixtures/stub.go
60.00%
10 Missing and 4 partials :warning:

config/environments.go
66.66%
5 Missing and 4 partials :warning:

config/auth_azure_client_secret.go
0.00%
7 Missing :warning:

httpclient/fixtures/map_transport.go
68.42%
3 Missing and 3 partials :warning:

httpclient/fixtures/slice_transport.go
81.81%
2 Missing and 2 partials :warning:

config/auth_azure_cli.go
40.00%
3 Missing :warning:

config/config.go
92.85%
1 Missing and 1 partial :warning:

... and 3 more

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #730      +/-   ##
==========================================
+ Coverage   16.34%   17.81%   +1.47%
==========================================
  Files          98      103       +5
  Lines       13996    14202     +206
==========================================
+ Hits         2287     2530     +243
+ Misses      11518    11465      -53
- Partials      191      207      +16

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


Device Support

Thank you for coming up with this framework and I'm very interested in this framework. Would like to ask whether it supports V100, 3090?

Hi,
no, it only supports A100 40/80GB.

Hi, we officially support A100 40/80GB. But with tweaks, it should also be able to run on V100 machines. The main change is that precision should be 16 or 32 and megatron_amp_O2 should always be False.
3090 should support bf16 as well, but since it has less memory, please tune down MBS and take advantage of activation checkpointing.
If you see issues running, considering turning off the fusion arguments.

Hi, we officially support A100 40/80GB. But with tweaks, it should also be able to run on V100 machines. The main change is that precision should be 16 or 32 and megatron_amp_O2 should always be False. 3090 should support bf16 as well, but since it has less memory, please tune down MBS and take advantage of activation checkpointing. If you see issues running, considering turning off the fusion arguments.

OK. Thank you for your reply.

Hi, no, it only supports A100 40/80GB.

OK. Thank you for your reply.

I will try it later


MM-22752/MM-22686 global timeout and team switch

Summary
This PR adds a global timeout setting of 5s for every request, also included in this PR is a fix to unset the current channel when switching teams as well as handling the case when not online or fetching the channels for the team fail to use the previously loaded channels for the team.
Ticket Link
https://mattermost.atlassian.net/browse/MM-22752
https://mattermost.atlassian.net/browse/MM-22686

Not triggering the mobile app build workflow, because PR checks are failing.

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/3906
https://circleci.com/gh/mattermost/mattermost-mobile/3905

Artifact links:
https://3906-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://3905-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa

LGTM. Team switch transition experience is smoother (without 1 or 2 second lag)
Tested on both iPhone X (iOS 13.3.1) and Pixel 3 XL (Android 10) physical devices
Steps,

Enable wifi throttling on iOS: Settings > Wi-Fi > Info > Low Data Mode (toggle on)
Enable wifi throttling on Android: System > Advanced > Developer Options > Networking > Wi-Fi scan throttling (toggle on)
Load app for the first time
Switch teams

Expected and observed: No lag of 1 or 2 seconds (does not retain team A channel before switch). Instead, loading screen in center pane until team B channel is displayed.


Connecting to instrument

I am new to pymeasure. I am having the following issue when trying to connect/call the instrument.
Any help would be wonderful.
Thanks

This check is pretty fragile (as you found out). Better to use, e.g. pkg_resources.parse_version() (https://setuptools.readthedocs.io/en/latest/pkg_resources.html#parsing-utilities) to compare versions. Depends on setuptools, but pymeasure is using this already, anyway.

@jshoup1, thank you for reporting this. This is the same bug as #130. I will push a fix and release a new version to resolve this issue.

@jshoup1, please update PyMeasure to version 0.5.1 and let me know if you still have this issue.

Thank you for the quick response. I updated and it is not working.

@jshoup1, can you be specific about the error?

Let's close this as a duplicate of #130, and continue the discussion there.


Rename the Rule types "$key" property to "name" to match Error.name

This would naturally suggest the link between the two properties.

It's true. My only concern is keep the $ prefix or not. That thing was mentioned in #2.


Updates to Docker build

Several changes are needed to the docker build now that we are doing in the same repo

Switch to node 10 (not 14 -- which is failing to work properly)
Avoid re-cloning the source and building from scratch, which was previously needed as the dockerfile was in the egeria repo

I have considered the current build process and propose another change
The prior approach was based on a self-building image where, when we built the container, we extracted from git and built locally.
This was because we were running the docker build in a different repo/pipeline to the UI node build.
Now that the docker file and code are co-located, there is no need to build twice.
Instead we can simply copy the output files across into the container.
See

@planetf1  can we close this?

Yes


generic deriving of PlutusType forces importing I(I).

import Generics.SOP (Generic, I(I))

The above is required to fix,
    • Couldn't match representation of type: sop-core-<IP_ADDRESS>:Data.SOP.BasicFunctors.I
                                               (Term s SwapAction)
                               with that of: Term s SwapAction
        arising from the 'deriving' clause of a data type declaration
      The data constructor ‘sop-core-<IP_ADDRESS>:Data.SOP.BasicFunctors.I’
        of newtype ‘sop-core-<IP_ADDRESS>:Data.SOP.BasicFunctors.I’
        is not in scope
    • When deriving the instance for (PlutusType Action)
   |
39 |   deriving anyclass (Generic, PlutusType)

But users shouldn't have to import I(I) when it is not used directly in the module.

I need to put this in the guide.

I don't know if it's totally obvious but I think I found the reason for this:
Say you have a datatype
T with a constructor MkT you can coerce to the representation type by using coerce, however, this is forbidden in GHC if the constructor of T is not in scope for the reason of hiding abstractions.
This is a thing because the current opinion of the GHC-devs is, that developers might not know how to do role annotations (in this case you would want nominal afaik) and hence this adds safety.
I think the best way around this is not to use anything coerce in the default implementation.


Fix #96 - Remove the -q option when building a docker image

This will enable the plugin to detect a successful build with docker-machine 0.6.0.
It does make the output a lot more verbose.  It may be worth tweaking the logging in MiscService.java to stream out to debug rather than System.out.

Moved the pull request onto a branch and am deleting this as a result.  I've raised a new pull request (#99) instead.


Allow manpage to use with sphinx -j auto or such

enable parallel read safe.. unfortunately I could only get this to happen on travis-ci, but not locally, how strange, it precludes me from testing it locally, sorry! I can only suppose this works, feel free to let this languish until someone else can test for us :)
Here is the error from my Travis-CI build that got me down this path, https://travis-ci.org/jquast/blessed/jobs/644876200#L972 where sphinx-build -W -j 4 is used, warning as errors, and parallel build, causing this warning to "fail the build".
Thanks always and again for your extension, I don't know why more folks aren't using this :)

Thanks for the contribution :)


Fix all device routes by allowing them all to go to inventory api

Description
Fix all device routes by allowing them all to go to inventory api
Fixes # (issue)
Type of change
What is it?

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I run go fmt ./... to check that my code is properly formatted
[ ] I run go vet ./... to check that my code is free of common Go style mistakes

Codecov Report

Merging #528 (6e59357) into main (1b3643f) will decrease coverage by 0.07%.
The diff coverage is 30.00%.

@@            Coverage Diff             @@
##             main     #528      +/-   ##
==========================================
- Coverage   31.19%   31.12%   -0.08%
==========================================
  Files          33       33
  Lines        3295     3280      -15
==========================================
- Hits         1028     1021       -7
+ Misses       2159     2153       -6
+ Partials      108      106       -2

Impacted Files
Coverage Δ

pkg/routes/devices.go
27.17% <30.00%> (-2.74%)
:arrow_down:

Continue to review full report at Codecov.

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


filter by event meta data

I did not find a way to filter by event meta data as mentioned here:
https://github.com/pretix/pretix/discussions/3580
Is this not yet possible in the wordpress plugin?
Or did I just not manage to find it?
could you please add this filter or make it more obvious to find it?
as a workaround I was able to use the filter by adding the widget-code in a custom HTML field.
Thanks for the great work...

I think it's not implemented right now, we'll keep it in mind when we release a new version


Feature/pool summaries

Motivation

As the product grows, demand also grows. Ethseer shows the consensus performance from an entity perspective and, thus, we want to support from GotEth. This already works but really slow when there is a big number of validators. So we aim to deploy summaries at every epoch of every single entity we register in the database.
Related links:
Description

To do this, we are deploying a trigger that will be launched with every new epoch inserted in the epochs table.
This trigger will calculate the summary of entities (in the t_eth2_pubkeys table) and insert it in the t_pool_summary table.
Tasks

[x] Create t_pool_summary table
[x] Create t_eth2_pubkeys table (so we have permissions)
[x] Deploy trigger

Proof of Success

Also @tdahar , have tested the behavior of this modification with an empty eth2_pub_keys table?
BTW, that name is horrendous :rofl:

Basically we create an empty table if it not exists so we have permissions over it
The table initially is empty, but if one introduces entities there, then the trigger automatically inserts data into the pool_summary.
Yeah, hahah, we should change the name definitely, but the Ethseer tool uses it so when we change it we will need to coordinate with them

Correct, if no rows in this table, then no summaries are inserted into the summary table


We are in need of guidance

We are at a very close state to having the front end done. We've been working on a new branch called WeekendPUSH. We fixed all of the issues Ivan pointed out and it appears to be in a working state.
We have been reviewing
let game = new Game();
game.init();
There is a lot going on. It appears Ivan did most of the back end, and just wanted us to finish the back-end and connect it to the front end, in the reducer.
We have reviewed this for the last few hours. and come up to the conclusion that we are unable to understand it well enough, to use it in the project with out further guidance.
If we are unable to figure his code out, we may come up with an alternative back-end, for the project. More or less doing it from scratch.and it would meet all the primary objectives of this project. A much more simple back-end.
However, it seems to be much faster if we get some help or guidance on this in the next day or 2 to get us going in the right direction and get as much done before we meet this Thursday.

+1

+1

+1

Sorry I didn't reply sooner. The game model currently doesn't have everything, Ivan just setup some of the state to get things going. I would imagine that the simplest approach for adding in the programs would be to just create a new class attribute for the Game model with the programs. Which can be loaded directly from the program data or filtered through a new program builder (that hasn't been written yet) that could randomly pick or alter the program data to add some other attributes (like is_purchased) to keep track of the game state.
You will also need to add a function to purchase a program, that can most likely go in the game model to enforce the prerequisite requirements.  That function would get called from the reducer when the purchase program action is dispatched.
Do you have any other specific questions? Its hard to answer the broad "I don't understand" without specifics.

Can we pick and choose what parts of the back end to use? or do we have to use all of it and try to integrate  the programs in with it. I have reviewed the files many times, and dont truly grasp how to make that work.
On the other hand, If we use what makes sense to us and drop the parts that dont, and hit all requirements using addtional code we fully understand. Is that ok?

" I would imagine that the simplest approach for adding in the programs would be to just create a new class attribute for the Game model with the programs. "
This much we understood. We did not understand how our new class would intergrate wiht the existing system.
Take for example company.js
" addFactory() {
// Special case of a program purchase
// TODO descrease cash
// TODO add a factory
}
removeFactory() {
// TODO remove a factory
}"
Whats a factory? we dont have factorys.
"    // TODO calculate waste" Waste? there seems to be alot more involed in ivens back end. then.
add a factory, then, somthing that makes a simple effect on the user
" let productionCap = this.productionCapRule.calculate(
this.industry.potentialSalesPerQuarter,
this.marketPenetration,
this.averageFactoryEfficiency,
this.numberOfFactories,
this.industry.maximumOutputPerFactory
);
let sales = this.salesRule.calculate(
this.marketPenetration,
this.industry.getCalculatedMetrics().marketSizeInDollars,
this.industry.maximumOutputPerFactory,
this.averageFactoryEfficiency,
this.numberOfFactories
);
let costs = this.costsRule.calculate(
this.industry.quarterCostPerFactory,
this.numberOfFactories,
this.averageFactoryEfficiency,
this.materialCostsRule.calculate(
this.industry.materialCostsPerSale,
productionCap
),
this.programCosts
);"
This again, does this involve the programs?
I will post what I had in mind, to see what you think.
"can be loaded directly from the program data or filtered through a new program builder (that hasn't been written yet) that could randomly pick or alter the program data to add some other attributes (like is_purchased) to keep track of the game state."
This we under stood.
"You will also need to add a function to purchase a program, that can most likely go in the game model to enforce the prerequisite requirements. That function would get called from the reducer when the purchase program action is dispatched."
We also under stood this.

I think if you pick and choose parts of the backend to use, you will end up with something thats much harder to get working. That being said a working prototype is the desired deliverable so cutting some corners is reasonable.
There is a fair amount of legacy code still in the repo from the first iteration of the game, so that might be adding to your confusion. Waste and Factories have been removed from this revision of the game in favor of the programs.
I would suggest for you to add one feature at a time, get it working and in the game then add to it. So just focus on getting programs into the game state, then display them, then make them purchasable, then make them actually effect the other aspects of the game state. Trying to do everything all at once is allot to keep track of.

Sounds good.


ng-template doesn't work by passing a function to dataProvider

The function returns a normal array of string, but the property attrs.data.name is empty

It worked perfectly to me:
My template:
  <ng-template #temp let-attrs="attrs">
    <span>{{attrs.data.name}}</span>
  </ng-template>
  <ion-auto-complete
                     [template]="temp"
                     [dataProvider]="auto" #searchbar></ion-auto-complete>

My provider:
  auto(keyword) {
    return [{name: 'a'}, {name: 'b'}];
  }

@bogomips I can guess that your provider function doesn't return the data in this form, am I right?
The value of attrs.data is the actual item value that is returned from the provider. If your items don't have a name proeperty, attrs.data.name will be empty.
Please update me

I am closing this for now.
The example Iv'e provided worked perfectly to me, if for any reason it still does not work for you, just let me know.


Make remaining charge time a datetime?

Would it make sense to make the remaining charge time an estimated datetime set for the latest predicted charge completion time as opposed to the raw number of minutes of charging remaining being reported by the API?
In this way, in the dashboard one could use it as a countdown as opposed to just updating every 10-15 minutes as the charging takes place and HA polls the integration.

This is a good idea. I'll look into it.

I've completed this and tested on my end and its working as expected. Would like input on functionality though.
Currently I'm using the last_update datetime as the anchor to calculate the estimated completion datetime, but this means once the charge_time_remaining hits 0, the new sensor would always display the time of the last update. Since the vehicle may update frequently or infrequently, once it is at 0 the displayed time wouldn't be very helpful. So i've also added that the sensor will return None or unknown if the remaining time is 0.
Let me know if you have a better idea.

I guess it would be useful to be able to differentiate between having run to 0 remaining time and expecting to have finished, and not charging at all/not being known. The idea being that, with zero remaining, you can put “was supposed to have finished” as a message on the dashboard.
So maybe a date time in the past seems ok to me. The sensor could be called something like “expected charge completion time” and if it’s in the past it is not unreasonable.
For what it’s worth, My hybrid seems to update very often while it’s being charged, and very rarely when just parked.

Name: Charging Complete Time

I removed 'expected' from your suggested name as this wouldn't make sense if its in the past.
Using "Charging" to align with the other sensors.
I've updated the sensor to display the datetime regardless of in the past or not.
Thanks for the idea and input! I'll get a PR put together. There is one dependency PR ahead of this.


maxima: 5.46.0 -> 5.47.0, add patch for CVE-2024-34490

Description of changes
https://nvd.nist.gov/vuln/detail/CVE-2024-34490
When tests are enabled, receive the same 7/18244 test failures as without the patch.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

I can't get the sage tests to pass on my machine (timeout?)

Result of nixpkgs-review pr 329007 run on x86_64-linux 1

7 packages built:

cantor (libsForQt5.cantor ,plasma5Packages.cantor)
labplot
maxima
maxima-ecl
sage
sageWithDoc
wxmaxima

Result of nixpkgs-review pr 329007 run on x86_64-linux 1

7 packages built:

cantor (libsForQt5.cantor ,plasma5Packages.cantor)
labplot
maxima
maxima-ecl
sage
sageWithDoc
wxmaxima


[QUESTION] How to stream to kvs with both video and audio from an RTSP source.  Only getting video right now.

We have a stream coming from an RTSP source. The stream has both audio and video. Confirmed by streaming to VLC which presents both.
But when streaming through a raspberry pi - we are only getting video. How do we include audio?
This is the command we are using.
gst-launch-1.0 rtspsrc location="rtsp://ipaddress/stream" ! rtph264depay ! h264parse ! kvssink stream-name="stream name"

I'm not sure I understand so you have a RTSP stream which plays audio/video in VLC, but when streaming through a Raspberry Pi you only get video.   The one that worked was that coming from a different camera?  Are you running the gst-launch-1.0 command ON the Raspberry Pi and the IP address is for a different camera so the Raspberry Pi is the thing pulling the RTSP stream and trying to send to kvssink?  If that's the case have you tried sending it to filesink and playback the file to make sure audio is being produced?
If audio works fine for filesink then can you set TRACE level logging in the log4cplus config that you set in the kvssink plugin and share that information?

Yeah the setup with VLC is as follows: [IP camera ->PC on same network] .  Audio works.
The Pi config is as follows: [IP camera->raspberry pi->internet cloud front end]. Audio doesn't work.
Will try your suggestions. Thanks.
So you don't see anything obviously wrong with the gstreamer command line?

@pineapplejoe Are you able to feed live stream video from rtsp url to kinesis video stream? I could stream the video from my mac to KVS.Now, I am trying to get the video stream from ip camera source to kvs and have no luck so far.
If you dont mind, could you share how you accomplish it and what hardware/system you used?

I used a raspberry pi (which is basically your mac in this case).  There are a variety of ways to do it though. If you don't want to have the IP camera connected locally - you can connect to the camera from the cloud (like EC2) first then connect to kvs from there.

@pineapplejoe Thank you for your response. I have a GStreamer plugin installed on my mac and yes, I am trying to access the public ip camera in a different location. Well, I could try the way you suggested.
I made some progress after my last comment here and I am able to run the below command using the test bigbunny rtsp url:
gst-launch-1.0 rtspsrc location="rtsp://<IP_ADDRESS>/vod/mp4:BigBuckBunny_115k.mov" ! rtph264depay ! h264parse ! kvssink stream-name="xxx" storage-size=512 access-key="xxx" secret-key="xxx" aws-region="us-west-2"
Is there a way to get an rtsp url for public ip camera live streaming traffic, for example I am using this link now http://nyctmc.org/google_popup.php?cid=166

Thats not an rtsp source. that's just an updating image.

@hassanctech I tried to use filesink. I had to modify the command line as shown below. There was no audio in the mp4 file. But I tried to connect to the camera directly with VLC and audio worked as expected.
gst-launch-1.0  -e rtspsrc<EMAIL_ADDRESS>! rtph264depay ! h264parse ! mp4mux ! filesink location=./file.mp4
I set the the following env var to get trace logging -  GST_DEBUG="*:7". Attached is the log zip file.
log.txt.zip

Ah oh I see the problem sorry I didn't notice earlier, so the rtspsrc element will output a pad for audio and a pad for video, you have to link to both of them.  The rtph264depay will extract h264 video, but you need something in parallel that will extract the audio.  See here:  https://gstreamer.freedesktop.org/documentation/rtp/index.html?gi-language=c
Determine which audio you have and find the correct rtp*depay to use, for example if you have PCMA audio you can use rtppcmadepay or if you have PCMU audio you can use rtppcmudepay, etc.
Let me see if I can find some examples...

Assuming question is answered, closing the issue.

Can someone post an example for getting the audio without writing it to file with gst command?


Fix/858 pipeline server down

Problem
referenced issue(s):
Solution
Testing
closes #858

Closing do to nonsensical diff, will recreate


Fix NativeMenuBar exception.

What does the pull request do?
The recent move to compiled bindings in the fluent theme caused #7780.
The x:DataType="NativeMenuItem" directive is incorrect as the items can also be NativeMenuItemSeparators which don't have the bound properties.
Turn off compiled bindings here for now.
Fixed issues
Fixes #7780

You can test this PR using the following package version. 0.10.999-cibuild0019771-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


News App

Create a News app
use any Js framework or library
Best of Luck and Happy Coding.
Your Name.

Pls assign me for this

Please assign me this issue. I want to work on it

do it....... @Soumojitshome2023


fix: prevent looking up workspace task if name is not in there

Description
Closes #5355
Testing Instructions
Look at this repo for a demonstration of the issue. https://github.com/benmarch/eslint-plugin-turbo-error-example

Force merging, failure is due to spaces timeout


Card Game In Python

Script Description - Card Game In Python
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions

Please add/delete options that are not relevant.

[x] Adding New Code
[x] Improving Documentation

Programming Language

[x] Python

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server  - https://discord.gg/FXyh2S3
Happy Coding,

Please assign this issue to me.

Please review this PR #598


binary protocol,DB_OPEN should return custom database properties

It would be good to get  custom database properties in DB_OPEN command.
Potential binary protocol clients/drivers may change their behaviour based on these information.
DB_RELOAD also should be considered to change as it provides a similar information like DB_OPEN.

Not relevant anymore, closing it.


Add source_info query param to predict

Description
Adds source_info, so hosted inference knows where the request is coming from.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

How has this change been tested, please provide a testcase or example of how you tested the change?
Tested locally with pip package.
Any specific deployment considerations
None.
Docs

[ ] Docs updated? What were the changes:

Closing for now, as not high priority and need some dedicated attention.


Env issue

Hello Can anyone explain how to resolve this below issue on react-native app
Scanning folders for symlinks in C:\Users\src\mobile-app\node_modules (48ms)
Starting JS server...
Building and installing the app on the device (cd android && gradlew.bat installDebug)...
Reading env from: env.prod

*** Missing .env file ****

Duplicate of https://github.com/oblador/react-native-vector-icons/issues/850


Fix pandas FutureWarning: "Passing literal html to 'read_html' is deprecated"

This addresses #1685 (institutional_holders) and also get_earnings_dates().
Pandas issue is found here:
https://github.com/pandas-dev/pandas/issues/53767
and the change in code here:
https://github.com/pandas-dev/pandas/blob/5cedf87cccd77c7b4b6aaa64bfec98b32b512f68/pandas/io/html.py#L1238
As for legacy Python 2.7 support: io.StringIO seems to be supported in the versions I tested. See https://docs.python.org/2/library/io.html

Looks fine. I've restored earnings_dates unit tests. If no complaint then I'll merge.

👍 Sounds good to me.
Do you want to remove or change the comment "Below will fail because not ported to Yahoo API"?

Good spot. I've moved comment, and git-squashed so remember to pull/reclone.


Feature/issues/2334/create elastic spring app

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes (Create a Springboot-Elastic sample app)

Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Create book: POST /book/create
Search books by name: GET /book/find_by_name

Additional Context (Please include any Screenshots/gifs if relevant)
...
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings
[X] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[X] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

@Yordaniss, Hey seems there is no mocks in this PR can you check if they were recorded or not locally ? Since ElasticSearch internally use HTTP, there should be outgoing http mocks.

You mein this mocks.yaml with thousands lines?

Hey  @Sarthak160 Thanks for advice. I also added mocks.yaml and have run all test cases. Everything looks fine now

Hey @Yordaniss Seems your application is making some external calls to fetch some spring assets -
version: api.keploy.io/v1beta1
kind: Http
name: mock-0
spec:
    metadata:
        name: Http
        operation: GET
        type: HTTP_CLIENT
    req:
        method: GET
        proto_major: 1
        proto_minor: 1
        url: /maven2/org/springframework/boot/spring-boot-buildpack-platform/3.3.4/spring-boot-buildpack-platform-3.3.4.pom
        header:
            Accept-Encoding: gzip,deflate
            Cache-Control: no-cache
            Connection: Keep-Alive
            Pragma: no-cache
            User-Agent: Apache-Maven/3.8.7 (Java 21.0.4; Linux <IP_ADDRESS>-microsoft-standard-WSL2)
        body: ""
        timestamp: 0001-01-01T00:00:00Z
    resp:
        status_code: 200
        header:
            Accept-Ranges: bytes
            Age: "1775105"
            Connection: keep-alive
            Content-Length: "3213"
            Content-Type: text/xml
            Date: Mon, 14 Oct 2024 19:36:45 GMT
            Etag: '"e5e655cd1dacac6c926a9d18d7307644"'
            Last-Modified: Thu, 19 Sep 2024 10:52:18 GMT
            Via: 1.1 varnish, 1.1 varnish
            X-Cache: HIT, HIT
            X-Cache-Hits: 8, 3
            X-Checksum-Md5: e5e655cd1dacac6c926a9d18d7307644
            X-Checksum-Sha1: 7d8300f8d20ee7a43339a92224a502f36d715e8a
            X-Served-By: cache-iad-kcgs7200125-IAD, cache-fra-eddf8230029-FRA
            X-Timer: S1728934605.320665,VS0,VE0

You can use passthrough via keploy config and add these particular enpoints to avoid getting recorded as mocks.
Please refer this for more details - https://keploy.io/docs/running-keploy/keploy-passthrough/#heading

Hey @Yordaniss Seems your application is making some external calls to fetch some spring assets -
version: api.keploy.io/v1beta1
kind: Http
name: mock-0
spec:
    metadata:
        name: Http
        operation: GET
        type: HTTP_CLIENT
    req:
        method: GET
        proto_major: 1
        proto_minor: 1
        url: /maven2/org/springframework/boot/spring-boot-buildpack-platform/3.3.4/spring-boot-buildpack-platform-3.3.4.pom
        header:
            Accept-Encoding: gzip,deflate
            Cache-Control: no-cache
            Connection: Keep-Alive
            Pragma: no-cache
            User-Agent: Apache-Maven/3.8.7 (Java 21.0.4; Linux <IP_ADDRESS>-microsoft-standard-WSL2)
        body: ""
        timestamp: 0001-01-01T00:00:00Z
    resp:
        status_code: 200
        header:
            Accept-Ranges: bytes
            Age: "1775105"
            Connection: keep-alive
            Content-Length: "3213"
            Content-Type: text/xml
            Date: Mon, 14 Oct 2024 19:36:45 GMT
            Etag: '"e5e655cd1dacac6c926a9d18d7307644"'
            Last-Modified: Thu, 19 Sep 2024 10:52:18 GMT
            Via: 1.1 varnish, 1.1 varnish
            X-Cache: HIT, HIT
            X-Cache-Hits: 8, 3
            X-Checksum-Md5: e5e655cd1dacac6c926a9d18d7307644
            X-Checksum-Sha1: 7d8300f8d20ee7a43339a92224a502f36d715e8a
            X-Served-By: cache-iad-kcgs7200125-IAD, cache-fra-eddf8230029-FRA
            X-Timer: S1728934605.320665,VS0,VE0

You can use passthrough via keploy config and add these particular enpoints to avoid getting recorded as mocks. Please refer this for more details - https://keploy.io/docs/running-keploy/keploy-passthrough/#heading

@Sarthak160  Thanks for advice. I recorded test with keploy passthrough and run test cases. Everything looks fine now. I hope ^^
version: api.keploy.io/v1beta1
name: test-set-1-report
status: PASSED
success: 2
failure: 0
ignored: 0
total: 2


noto-fonts-emoji: 2.028 -> 2.034

Unicode 14.0

Motivation for this change
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Tested on darwin locally, seems to work. Gonna merge, so we can have Unicode 14 emojis as soon as possible :)

@sternenseemann The sha256 didn't get updated but the version changed

lol oops.

#144617


SDPA kernel

For Llama2 prefill of prompt length 2k, SPDA is currently implemented with 8 passes of partial interleaving, matmul -> softmax -> matmul. This module takes 2.5ms, and constitutes 12% of prefill runtime. We think that by implementing a FlashAttention-style SDPA kernel, we can remove the overhead of partial sharding and reduce the execution time of SDPA.

[x] Python implementation of FlashAttention2
[x] single-core kernel skeleton and host skeleton
[x] single-core kernel correctness
[x] multi-core kernel correctness
[ ] optimized causal attention (don't compute scores for cols > rows, don't read full mask, only apply to block where cols == rows)
[ ] optimized K, V reading/sharing (multi-cast?)

Currently, a version of the kernel where it only does blockwise Q @ K and SCORES @ V is functionally correct when compared to pytorch reference.
Perf measurements show that on single core, this runs in 63 ms. When removing the matmul calls, this runs in 4 ms.
Reem recommends the following pattern to optimize matmuls:
tile_regs_acquire();
math call
tile_regs_commit();

tile_regs_wait();
pack call
tile_regs_release();

With SDPA functional on a single core, this is what we're seeing in terms of perf.

After implementing naive parallelization over q_heads=8 and q_chunks=8 on 64 cores, I get 49x speedup over single core implementation.
    b = 1
    nh = 8
    nkv = 1
    s = 2048
    d = 128

FW duration = 1.77 ms, faster than unfused 2.5 ms.

Let's assert that batch * q_heads divides grid_size. That way we know that each core is never responsible for more than one batch or one q_head.
For core i of num_cores, with batch, q_heads, q_parallel_factor, a core will do the following.
num_local_q_chunks = num_q_chunks // q_parallel_factor
my_batch = i // (q_heads * q_parallel_factor)
my_q_head = (i // q_parallel_factor) % q_heads
my_q_chunk_start = i % q_heads

From this, a core can loop from my_q_chunk_start to my_q_chunk_start + num_local_q_chunks and calculate all necessary indices.

Reading attn_mask accounts for 13.56% of the runtime. To solve:

Don't compute Q * K when k_chunk_idx > q_chunk_idx
Assume causal attention, so only read attn_mask if k_chunk_idx == q_chunk_idx

That helped by 1.2x

Update:
I added support such that each core is capable of computing more than one q_chunk. For now, if I have 8 q_chunks and I make the q_parallel_factor=4, then each core computes the result for 2 contiguous q_chunks.
In other news, @rtawfik01 found non-determinism to be caused by the following methodology:
for i in range(num_tiles):
  cb_wait_front(in0, 1);
  do_math(in0, in1);
  cb_pop_front(in0, 1);
  cb_reserve_back(in0, 1);
  pack_tile(0, in0);
  cb_push_back(in0, 1);

This pattern is a problem since it compute an in-place operation on in0 which should have num_tiles produced at the beginning. The first cb_wait_front(in0, 1); always passes since there is always num_tiles - 1 produced in the CB. The fix that she found is to cb_wait_front(in0, num_tiles); in the inner loop to ensure that the cb_push_back has completed before progressing.

This is the tracy for the longest core

This core loops over more k_chunks than any other core, so it takes 1.46 ms. To compare, the core which does the least work is done in .2 ms. This happens because in causal attention, q_chunk 0 only attends to k_chunk 0. q_chunk 7 attends to k_chunk 0 through 7.
Current parallelization looks like this

If I can split the Q chunks further such that each core is responsible for 2 Q chunks, then I can make each core work on a short one and a long one like this.

there are 8 cores which each only use 1 K chunk. These cores range from 199 us to 312 us. Looks like the delay is for data incoming.
There are 8 cores which use all 8 K chunks. These cores range from 1.4 ms to 1.46 ms.
Right now, each inner-loop is 166 us. If I split q chunks by 2, each inner loop should be about 83 us (this is very hopeful, since we will now be reading K and V twice as often).
This parallelization scheme should make each core run in about 0.73 ms in the worst case. Note that it is only valid for causal attention, but that is the main use case for this SDPA kernel.

I added a feature that allows q_chunk and k_chunk to be different. This slightly complicated the loop bounds since if q_chunk = 4 tiles and k_chunk = 8 tiles, then q_chunk 0 and q_chunk 1 both use up to k_chunk 0. and both q_chunk 0 and q_chunk 1 need to read the attn_mask when operating on k_chunk 0

I found that when we fixed the cb_wait_front to wait for full input, we hurt our perf. Went from 1.4ms to 1.65ms.
I also checked out the fast exp commit 74b5bc7bd47a770cdde4cc1547eebff8c20c5745 and got poor PCC, Reem is looking into it.
I tried out the better parallelization scheme and got time down from 1.65 ms to 1 ms. The implementation was very hacky so I put it in different files.

Latest update: SDPA can choose parallelization factors over batch, heads, and q sequence.
We still get ND PCC when we try a variety of optimizations:

granularity 8 in mul_block_bcast_scalar_inplace
unfuse sub_exp_block
remove unnecessary cb_wait_front in mul_block_bcast_cols_inplace

Llama prefill 2k now runs in 0.414828 ms. Removing reader/writer leads to .35 ms. Appears that there is still a compute-bound portion of the kernel. Optimizing out a few eltwise adds by accumulating in dest might be the best way to squeeze out the last bit of perf.
For batch 1, SDPA attains 41.4 TFLOPs/s calculated as 2 * seq**2 * n_heads * head_dim * batch * 2 (HiFi2).
At batch 8, SDPA attains 51.0 TFLOPs/s. Compare to FlashAttention-2/s 187 TFLOPs/s on A100.

Merged in #7886


Spawn a new tab in same directory as previous directory.

Description of the new feature/enhancement

Proposed technical implementation details (optional)

Please search before filing new issues
Please don't file blank issues
This is already possible today, here are the docs: Tutorial: Opening a tab or pane in the same directory in Windows Terminal


Updated Ember-CLI to 1.13.12 and ran ember init

[x] Needs some linter fixings.

Looks like most of the failures are for unused: true in tests/.jshintrc.  You could remove that change from here, and fix that separately (definitely should be a separate commit if you decide to fix in this PR).

Needs #54 to be merged in first.

#54 is in, can you rebase?

Rebased

Thank you!


prep for move to esri org

resolves #43

Looks great @jgravois , thanks for making these changes :+1:


Make a code block with custom language

Add settings to change language for code blocks. Something like:
settings.json:
// Set default languages for code blocks
  "markdownShortcuts.codeBlockDefaultLang": csharp,

for:
  ``` csharp

  ```

I believe it is not the responsibility of the plugin.
Since it is not a general use for markdown.


Clone not working on Windows environment

Cloning in a windows environment is not working because of use of special character '?' in folder name ..
Please consider changing the folder name ....
Reference to folder -
nlp/datasets/cnn_dailymail/dummy/3.0.0/3.0.0/dummy_data-zip-extracted/dummy_data/uc?export=download&id=0BwmD_VLjROrfM1BxdkxVaTY2bWs/dailymail/stories/
error log:
fatal: cannot create directory at 'datasets/cnn_dailymail/dummy/3.0.0/3.0.0/dummy_data-zip-extracted/dummy_data/uc?export=download&id=0BwmD_VLjROrfM1BxdkxVaTY2bWs': Invalid argument

Should be fixed on master now :)

Thanks @lhoestq 👍  Now I can uninstall WSL and get back to work with windows.🙂


Scaffolding an empty mvc controller returns an undefined view

Scaffolding an empty MVC controller adds:
    public class MusicController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }

This returns a View, but there is no view defined so it fails with:
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
 /Views/Music/Index.cshtml
 /Views/Shared/Index.cshtml

What's the point of scaffolding an incomplete set? It should either include a view or not try to return one by default.

Adding "MVC Controller with read/write actions" has the same problem.

These are by design.
The Empty and Read Write Actions scaffolders are not meant to provide "fully working" controllers.
They are just to provide a starting point for further development.
cc @sayedihashimi

TFS Bug#233434

By design.


buildSrc cleanup and use assertj

Summary of the changes / Why this improves CrateDB

Use assertj for assertions in buildSrc
Code cleanups in buildSrc

Remove unused methods
Replace deprecated attributes
Use constant for buffer size
Suppress warnings

Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

retest this please


Improve upload button prominence

As a user, I want the upload button to be easy to hit, because I use it all the time.
Acceptance Criteria:

Upload button is more prominent
Upload button is better separated from logout button

The upload button is more prominent now, but unfortunately still next to Logout.

That seems super minor to me honestly. Suggest still closing ticket.
On Wed, Jun 15, 2022, 3:31 PM Mark E. Haase @.***>
wrote:

The upload button is more prominent now, but unfortunately still next to
Logout.
[image: Screen Shot 2022-06-15 at 3 30 56 PM]
https://user-images.githubusercontent.com/320904/173909092-0e6f3868-7ca9-4b49-9e96-82b027709790.png
—
Reply to this email directly, view it on GitHub
https://github.com/center-for-threat-informed-defense/tram/issues/84#issuecomment-1156846576,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWFNJFST7SKRSGQF3W43NH3VPIVSLANCNFSM5DEDBNEA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>


Illuminate\Database\Query\Builder: Call to an undefined method

Larastan Version: 0.7.12
--level used: 2

Description
  33     Call to an undefined method Illuminate\Database\Query\Builder::whereEmail().

I get this error when I try to call
$user = \App\Models\UserUser::query()->whereEmail('test@test.test')->first()

This is the docblock I have within my User model:
/**
 * App\Models\User
 *
 * @property int $id
 * @property string $name
 * @property string $email
 * @property \Illuminate\Support\Carbon|null $email_verified_at
 * @property string|null $password
 * @property string|null $remember_token
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @method static \Database\Factories\UserFactory factory(...$parameters)
 * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|User newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|User query()
 * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
 * @mixin \Eloquent
 */

But it seems like this docblock doesn't have any influence on the error. I deleted it and it still had the same result.

@helloiamlukas !
Thank you for your report.
We have a passing test: https://github.com/nunomaduro/larastan/blob/884b7014141ab7c4552aa8d73823c7db4882742f/tests/Features/Methods/Builder.php#L32

That's strange indeed 🤔
Any idea why it doesn't work for me?

Any idea why it doesn't work for me?

Your model must cause it.

Sorry, I found the reason for the error now.
It was not \App\Models\User::query()->whereEmail('test@test.test')->first()
The actual problem was some lines after that:
DB::table('users')->whereEmail('test@test.test')->first()

I changed it to
DB::table('users')->where('email', 'test@test.test')->first()

Now it works 🎉
Thank you for the fast reply though :)

You're welcome.


Add RPCConsole to SilkGUI::closeEvent

What is the purpose of this pull request (PR)?
Fix for Issue https://github.com/SilkNetwork/Silk-Core/issues/39
Any background context to help the reviewer?
https://github.com/SilkNetwork/Silk-Core/issues/39
Was this PR tested and how?
Tested on OS X. Built, ran wallet, opened RPC Console, shutdown wallet and observed RPC Console close before final shutdown completed.
Does this PR resolve an open issue (reference issue #)?
Fixes issue or JIRA tasks:
#39
More Questions:

Does the knowledge base need an update?
No
Does this PR add or change dependencies?
No
Does this PR change or fork the blockchain
No

utACK.


add additional targets to Compose

Do I need to pass a list of dictionaries to apply the augmentation to an entire folder of images? Or is there some generator-like way to do it?
Thanks in advance,
Felix

Hi, no, basically you need to apply transform to images one by one.
If you use pytorch - you can just use custom Dataset and pass albumentations as transforms. DataLoader will do job generating batches for you.
This PR is mainly for tasks like image-to-image or other multi-image or multi-mask tasks, where you have to apply the same transform for bunch of images.

Can someone provide an example of how to use this with multi-image single mask task?  If I have a dictionary sample = {'image1': _img1, 'image2': _img2, 'label': _target} can I pass this to Compose directly?

right now there is a limitation that at least one image should be named image.
you can pass {'image': _img1, 'image2': _img2, 'mask': _target} and you also have to pass {'image2': 'image'} to additional_targets


Parse Server Crashes when Push Notification is Sent from Parse Dashboard

Environment Setup

Server: parse-server 2.2.7, running remote on Heroku
Database: mongoDB using mLab

Steps to reproduce

Each time I try to send a push notification from my parse server (on heroku) by using the parse dashboard (hosted locally) the parse server crashes.
I only have one installation, configured exactly according to the parse server push notification setup docs.

Here I set up my api (the all caps keys are replaced with my own)

Any reason why this would be failing?

To help us debug this, can you include the exact request and response in Parse Server? (you can see this in the logs using VERBOSE=1 environment variable)

I set the verbose variable in Heroku's config vars and the error log claimed first that my certificate's file could not be found. To fix this, I moved the certificate to the my parse server's files to be uploaded to Heroku, and used __dirname + 'NAMEOFCERTIFICATE.p12 to make sure the path was correct. I ran again, and this time the logs seemed to claim my certificate was not vaild. I followed this solution (https://github.com/ParsePlatform/parse-server/issues/1282) and created a new development certificate, and, finally, I was able to send push notifications.


Deprecate KServe Integration

Describe changes
Add a deprecation warning to KServe since it is no longer being maintained.
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[x] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table and the corresponding website section.
[ ] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Other (add details above)

Also these pages will need updating:

https://zenml.io/integrations/kserve
https://blog.zenml.io/deploy-with-kserve/

To reflect the deprecation.

I'm wondering if we should even get rid of the example/docs page entirely as to not bring more visibility to the integration if it will be removed in the future? Or is the plan to keep the integration but not maintain it anymore?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: fa9r:x: github-actions[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


DatePickerInput internal hook & component aren't exported

Description
I would like to change stuff inside the DatePickerInput but can't do that because the useDatePickerInput hook and DateField component aren't exported is it possible (or will it be possible in future) to export them?
Link to Reproduction
No response
Steps to reproduce
No response
Saas UI Version
0.12.39 (@saas-ui/date-picker)
Chakra UI Version
2.8.2
Browser
No response
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

Maybe you can help out and create a PR that exposes the hooks? Thanks!

I'll have a look


patches for batch scripts

The most significant change here is that I borrowed my own technique from the merge function in the updater v4 and adapted it to give the prefsCleaner a speed bump. The rest is mostly semantics.
To be honest, I considered rewriting the prefsCleaner in VBScript instead, since it's more straightforward than the updater, but the lack of console output by default still kinda puts me off. So, I just went with this.
It is worth noting that, while it wasn't my goal, with these changes the prefsCleaner should also have better tolerance for special characters within preference names (which counters the one downside that v1.2 brought along).

It is worth noting that, while it wasn't my goal, with these changes the prefsCleaner should also have better tolerance for special characters within preference names (which is the one downside that v1.2 brought along).

Holy shit! 3 Pull Requests?!? that's a first :)

I'll have to wrap my head around the weird and hard to understand MSDOS logic again which might take a while

Holy shit! 3 Pull Requests?!? that's a first :)

That's what happens when you go MIA the few days that I have nothing better to do. I have to admit I was wondering what would be your reaction when you saw all this lol The thought of submiting even more pull requests just to see what would happen was tempting.
Just kidding, of course.

Haha, yeah I was slightly shocked.
A breakdown would certainly help, thanks :+1:
I haven't looked at the new function code yet but I tested both v1.2 and v2 against the same file and the output was (nearly) identical (ie. empty lines were preserved in v1.2 but that's not an issue).
And DAMN is it fast now! awesome mate!
a couple things I noticed so far:

It's great that we don't need Delayed Expansion as much anymore! But is that an "AND" (&) in the 1st line? Could @ECHO OFF theoretically fail? If so, wouldn't it be maybe better to do it in 2 lines?
the new time thing: I ran v2.0 at minute 3 and the minute part in the backup filename was 03, as expected. Then I ran v1.2 at minute 6 and it also had the zero already in there. (?) Is that maybe because I use Win7, and Win10 or so somehow has empty spaces in the time? Or where would the spaces come from? Either way, I don't mind if we add that line, I'm just curious why you changed that.

prove that I don't really enjoy annoying

just FYI, I do statement analysis as a hobby and the word "really" in there says a lot, mate ;)

:cleanup
(
	FOR /F tokens^=2^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^[^\"']*user_pref[ 	]*\([ 	]*[\"'][^\"']*[\"'][ 	]*," user.js') DO (
		IF NOT ""=="%%G" (SET "[%%G]=1")
	)
	FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
		FOR /F tokens^=1^,2^ delims^=^" %%I IN ("%%H") DO (
			IF NOT DEFINED [%%J] (
				ECHO:%%H
			)
		)
	)
)>tempcleanedprefs

FOR /F tokens^=2^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^[^\"']*user_pref[ 	]*\([ 	]*[\"'][^\"']*[\"'][ 	]*," user.js') DO (
The FINDSTR returns lines with instances of user_pref. The only caveat to this weird-looking regex pattern is that it skips instaces of user_pref that have any quote or double-quote before user_pref (like // "this" user_pref). I had to do it like that to make sure the FOR only extracts prefnames (because of the tokenization thing). This simply means that lines skipped this way are not cleaned up (unless the same prefname turns up again in a valid way in the user.js).
IF NOT ""=="%%G" (SET "[%%G]=1")
Set var [prefname] to 1, so it is defined.
FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
Parse prefs.js. This one's the same as before.
FOR /F tokens^=1^,2^ delims^=^" %%I IN ("%%H") DO (
Extract the prefname in that prefs.js line. I removed all the checks for syntax from it because prefs.js is not meant to be edited by hand anyway, and this algorithm will only cleanup preferences that were defined as variables above anyway.
IF NOT DEFINED [%%J] (
		ECHO:%%H

If [prefname] is not defined, echo line. The [ ] are there so it will print the line even if it happens to be empty, otherwise the IF DEFINED syntax would go bananas in that scenario.

But is that an "AND" (&) in the 1st line? Could @ECHO OFF theoretically fail? If so, wouldn't it be maybe better to do it in 2 lines?

I'm not aware of any way it could fail. I just got into the habit of declaring the first (global) SETLOCAL like that so as to save one line. If you look at the code it could even do without the SETLOCAL - ENDLOCAL clause, but I'd rather leave it there to respect the environment in which the script is run (when execution ends the ENDLOCAL will return any variables to their previous value if they had one before the script started running).
As for the new time thing, I'm also on Win 7, but somehow it seems the formatting can include spaces sometimes. It may have to do with language packs (I have one here, even though I don't need it).

just FYI, I do statement analysis as a hobby and the word "really" in there says a lot, mate ;)

I guess I should've said "prove that I don't actually enjoy annoying you". Does your statement-analysis hobby have a special clause for foreign english speakers somewhere, by any chance? :)

empty lines were preserved in v1.2

That was not meant to change. I'll have a second look.

Lol, you little perfectionist :)
I want to mention the new version in the next changelog and wondered what the timing improvement is so that we can mention that too.
On my fairly old machine and in a idle state, with a prefs.js with 769 prefs and a user.js with 630 prefs (including section 9999) the cleanup function in v1.2 takes 3 minutes 37 seconds. In v2.0 it takes less than a second!!* HOLY COW man, great job!

I know lol I even had to remove the last CLS (https://github.com/ghacksuserjs/ghacks-user.js/pull/402/commits/b0fb59f735b23466824d66878a50fcc76d5a72ca) so I could get to read the console output.
This started out as an experiment but it turned out well, and I thought it was enough of an improvement to be worth the little downside about the lines containing quotes before user_pref (that I mentioned previously).
I'm likely gonna push more changes soon (the stuff we discussed with @overdodactyl). If you want to merge this in the meantime or not is up to you.
BTW, when did :jeans: give you a promotion? LOL congrats...I guess! :laughing:

:jeans: discovered that an org can have multiple owners, and after the :hankey: 's attempt to get me banned (and also cuz I'm like 94 and could drop dead any day), this is a prudent move
Obligatory :hankey: link: #323

BTW, when did :jeans: give you a promotion?

 Promoted from 1 unpaid position to another. Feels bad man :)

If you want to merge this in the meantime or not is up to you.

If I get to it, I will. It's mostly the cleanup function that takes a while to properly review. Feel free to add more commits if you're ready before I am. And thanks for the breakdown, I'll get back to you about that asap

I am rather young for a dwarf

re: 1st line - MSDOS is weird. According to this guy you can do something like exit & start notepad.exe ... exit and then do something else?!? weird but whatever

The only caveat to this weird-looking regex pattern is that it skips instaces of user_pref that have any quote or double-quote before user_pref (like // "this" user_pref).

that's fine

Set var [prefname] to 1, so it is defined.

nice! I was wondering if we may need to worry about prefs like user_pref("ComSpec", until I saw that you already wrap the prefname in [ ].

I removed all the checks for syntax from it because prefs.js is not meant to be edited by hand

this limits its usefulness to strip all user.js prefs from another user.js to see what the 1st user.js is missing (fe. if the 2nd user.js uses single quotes). But it's good enough for our purposes and I can see why you removed it.

it could even do without the SETLOCAL - ENDLOCAL clause, but I'd rather leave it there to respect the environment in which the script is run

I agree. It's also nice that it clears the environment from all the vars set for the prefs

Also, this ensures Delayed Expansion is off while running this script, regardless of how it was before.

perfect :+1:

As for the new time thing ... It may have to do with language packs

Ok, whatever it was - if you saw spaces this is a good fix

Does your statement-analysis hobby have a special clause for foreign english speakers somewhere, by any chance?

Yes that could be 1 reason. Or ... the speaker could use it as an excuse after being confronted :)

When this first loop is over, the script defined a variable for each prefname ...

can we move this loop outside of the (...)>tempcleanedprefs for the unlikely event that it spills some output that would end up in prefs.js?

FOR /F tokens^=1^,2^ delims^=^" %%I IN ("%%H") DO ( - we don't use/need token 1

IF NOT DEFINED [%%J] ( - ECHO on the same line? If you agree with (2) also change to [%%I]

Good timing, I came back a little while ago.

re: 1st line - MSDOS is weird. According to this guy you can do something like exit & start notepad.exe ... exit and then do something else?!? weird but whatever

Oh I just remembered that I read sometime that, because of that weird behaviour, & is also useful to get data past ENDLOCAL like this:
ENDLOCAL & SET "_var=%_othervar%"

this limits its usefulness to strip all user.js prefs from another user.js to see what the 1st user.js is missing (fe. if the 2nd user.js uses single quotes). But it's good enough for our purposes and I can see why you removed it.

I was mostly talking about the checks to see if the lines in the target file (prefs.js) begin with user_pref and such. I took those away because they were no longer necessary. Making it good for doing what you describe is actually pretty simple, just need to change this line:

OR /F tokens^=1^,2^ delims^=^" %%I IN ("%%H") DO (

...to this:

OR /F tokens^=1^,2^ delims^=^"^' %%I IN ("%%H") DO (

...and then it will catch those too.

Yes that could be 1 reason. Or ... the speaker could use it as an excuse after being confronted :)

Aw man.. that hurts!

Sure thing.
2 & 3. We totally need token 1. If it's not there and token 2 happens to be empty, the FOR loop decides nothing needs to happen and just skips the body of the loop for that iteration (the same reason the script was swallowing empty lines before the latest commit).

...and then it will catch those too.

ah nice, I didn't realize it was that easy. IDK if we want to support that though. Up to you. God, I love delegating decision-making :)

We totally need token 1

collaboration is a beautiful thing

God, I love delegating decision-making :)

Not trying to spoil the moment but I wouldn't do that often if I were you.  Thanks for the making the last few changes as discussed - this is ready to go then. I'll commit it right away. Great stuff. Thanks mate! :kissing_heart:

@claustromaniac great work man!! The speed improvement reminds me of some of the early days in SQL (i.e early days of SQL, not early days of me). Data was not denormalized, and we're talking at the time some tens of millions of transactional records - and the one of the analytical data reports required things like averages (items/value/etc) - one value required to do this was days in the month. The inbuilt MS function was slow. A query would take 10 minutes. I eventually wrote and tested about 6 or 7 other ways of doing it, and got down to approx 10 secs. In reality, the thing needed to be data warehoused and denormalized, which is different story.
What you just did here with the speed reminds me of that. You're like a young ME!! :laughing:


Feature Request: Open article as default

Would you consider an option to have links open as default rather than comments?

The app does offer other quick ways to open the link by either tapping the favicon on the right, or by swiping left on the tile (assuming a left-to-right script). I also like the fact that opening comments by default makes the behavior of link posts and text posts more consistent.
In general I would not be a fan of adding such a setting, but then again, I think you'll find in this repo's issues that I've been persuaded in the past. :) Would you say the mentioned ways of opening a link are not sufficient?

Thanks! Glad to hear the mentioned features fit your workflow. I'll close the issue for now.
Tips on how to highlight features like these are welcome. Actions being hidden behind horizontal swipes is mentioned in the walkthrough on the first app launch, but indeed, this specific interaction may not be clear. I've also seen tappable thumbnails in Reddit apps before, but I can imagine that is not an obvious interaction if you're not familiar with it.


Escape JobObject API backslashes

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

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


change reusable wf branch

Changes introduced with this PR
debug ci

By contributing to this repository, I agree to the contribution guidelines.

This PR was key to diagnosing the issue addressed in https://github.com/arcalot/arcaflow-reusable-workflows/pull/25, and now that that is done, we don't need this PR anymore.


why you remove the “Dependency Map” in Endpoint with version 8.0.1 and simplify the ui so much

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

Because we will bring a much more powerful on in the 8.1, read this. https://twitter.com/ASFSkyWalking/status/1280479748427329544
We don't simply anything, I think you missed the point of 8.0. All metrics are there, we just organized them in a better way.


feat(component): new sub navigation

Description
sub navigation which shows links and button in an overlay
Why
new  change request
Issue
NA
Checklist
Please delete options that are not relevant.

[ ] I have followed the contributing guidelines
[ ] I have performed IP checks for added or updated 3rd party libraries
[ ] I have created and linked IP issues or requested their creation by a committer
[ ] I have performed a self-review of my own code
[ ] I have successfully tested my changes locally
[ ] I have added tests that prove my changes work
[ ] I have checked that new and existing tests pass locally with my changes
[ ] I have commented my code, particularly in hard-to-understand areas

FYI - zero linter issue in new file


Refactor try/catch to be better

Refactored most cases where only try: catch: exists.
There were some pre the last PR that I couldn't quite figure out, such as failing to render page.page. For that, might want to mimic how the function itself raises errors I imagine? (Source here)

Good to go @jph00!


Added self-service css support

Looks like this works okay but I'm going to hold off on review/merge until API issues are sorted.

API seems to be working fine in staging now so this can be reviewed/merged.


Allow for one sided relations (the reverse field on related model is not created), allow to create relation from both sides for ForeignKey field.

Describe the bug
When I return a list of objects, from a FastAPI endpoint, unless I have all the fields loaded I get a ReferenceError: weakly-referenced object no longer exists - even if I've excluded those fields from the result.  (It's possible this is more of a bug on FastAPI's side.)
To Reproduce
In an endpoint, load an object with a virtual list of foreign objects.  Return the list from the endpoint.  A ReferenceError occurs.  However, if you have called .load() on each element of the list, the error does not occur.  That would be fine, but lacking a .load_all() method, it's annoying (and inefficient) to do all those .load()s - especially when you don't actually want that field, anyway.  See following code:
class OtherThing(ormar.Model):
    class Meta(BaseMeta):
        tablename = "other_things"
    id: UUID = ormar.UUID(primary_key=True, default=uuid4)
    name: str = ormar.Text(default="")
    ot_contents: str = ormar.Text(default="")

class Thing(ormar.Model):
    class Meta(BaseMeta):
        tablename = "things"
    id: UUID = ormar.UUID(primary_key=True, default=uuid4)
    name: str = ormar.Text(default="")
    js: pydantic.Json = ormar.JSON(nullable=True)
    other_thing: Optional[OtherThing] = ormar.ForeignKey(OtherThing, nullable=True)

@app.post("/test/1")
async def post_test_1():
    ot = OtherThing()
    ot.ot_contents = "otc"
    t1 = Thing(other_thing=ot)
    t1.name = "t1"
    t2 = Thing(other_thing=ot)
    t2.name = "t2"
    t3 = Thing(other_thing=ot)
    t3.name = "t3"
    await ot.save()
    await t1.save()
    await t2.save()
    await t3.save()

@app.get("/test/2", response_model=List[Thing], response_model_exclude={"other_thing"})
async def get_test_2():
    ots = await OtherThing.objects.all()
    ot = ots[0]
    ts = await ot.things.all()
    #for t in ts:
    #    await t.load()
    return ts

(Note that uncommenting the load lines makes the error not occur.)
And here's a log:
[32mINFO[0m:     <IP_ADDRESS>:62163 - "[1mPOST /test/1 HTTP/1.1[0m" [32m200 OK[0m
[32mINFO[0m:     <IP_ADDRESS>:62168 - "[1mGET /test/2 HTTP/1.1[0m" [91m500 Internal Server Error[0m
[31mERROR[0m:    Exception in ASGI application
Traceback (most recent call last):
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 394, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\applications.py", line 199, in __call__
    await super().__call__(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\applications.py", line 111, in __call__
    await self.middleware_stack(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__
    raise exc from None
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\exceptions.py", line 82, in __call__
    raise exc from None
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 566, in __call__
    await route.handle(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 227, in handle
    await self.app(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 41, in app
    response = await func(request)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\routing.py", line 209, in app
    response_data = await serialize_response(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\routing.py", line 137, in serialize_response
    return jsonable_encoder(response_content)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\encoders.py", line 104, in jsonable_encoder
    jsonable_encoder(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\encoders.py", line 47, in jsonable_encoder
    obj_dict = obj.dict(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\ormar\models\newbasemodel.py", line 633, in dict
    dict_instance = self._extract_nested_models(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\ormar\models\newbasemodel.py", line 569, in _extract_nested_models
    dict_instance[field] = nested_model.dict(
ReferenceError: weakly-referenced object no longer exists
ERROR:uvicorn.error:Exception in ASGI application
Traceback (most recent call last):
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 394, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\applications.py", line 199, in __call__
    await super().__call__(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\applications.py", line 111, in __call__
    await self.middleware_stack(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__
    raise exc from None
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\exceptions.py", line 82, in __call__
    raise exc from None
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 566, in __call__
    await route.handle(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 227, in handle
    await self.app(scope, receive, send)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\starlette\routing.py", line 41, in app
    response = await func(request)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\routing.py", line 209, in app
    response_data = await serialize_response(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\routing.py", line 137, in serialize_response
    return jsonable_encoder(response_content)
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\encoders.py", line 104, in jsonable_encoder
    jsonable_encoder(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\fastapi\encoders.py", line 47, in jsonable_encoder
    obj_dict = obj.dict(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\ormar\models\newbasemodel.py", line 633, in dict
    dict_instance = self._extract_nested_models(
  File "c:\users\USER\appdata\local\programs\python\python38\lib\site-packages\ormar\models\newbasemodel.py", line 569, in _extract_nested_models
    dict_instance[field] = nested_model.dict(
ReferenceError: weakly-referenced object no longer exists

Expected behavior
No error when the field in question has been excluded.  (Possibly no error in general, but I'm waffly on that.)
Screenshots
If applicable, add screenshots to help explain your problem.
Versions (please complete the following information):

Database backend used: sqlite
Python version: 3.8.0
ormar version: 0.9.4
pydantic version: 1.7.3
fastapi version: 0.63.0

Additional context
Add any other context about the problem here.

That's not really a bug it's a feature (yeah I know how that sounds :D)
But because right now all relations are bidirectional.
So when you have relation A <=> B:

A has relation to B
B has relation to A

So in order to avoid circular references, only the active side of the query is keeping the concrete model reference, the other side is keeping a week reference so it's easier to garbage collect the whole thing.
The active relation is the one that you come from -> so if you query from A to B , A keeps a reference to B, and B has a week reference to A, when you query from B to A it's the opposite.
Since you query from OtherThing to Things, Things have week reference to OtherThing (ot in your sample code), and since you discard this value (return only ts) the ot is garbage collected by the time fastapi is handling it and the weakref is broken.
Now I am willing to change both sides to concrete models instead of weakrefs, cause I know that python can handle circular references and will garbage collect them, but it's using a different algorithm to determine if the loop A <=> B has no external references and it comes with a performance hit. When you think about A <=> B loop it might look simple and not costly,
but when you look at a complicated ormar query like this:
        C - D - E ... - Z
      /
    B - Q -T
  /
A        O - P
    \   /
      X
        \
          Y  - Z.... - F

It would create a huge loop of references from A - Z and back. That's why I would have to properly check performance and memory leaks in that scenario, which is not trivial (would have to run with thousands of models for quite some time and not with toy examples like in current tests), and since I didn't have the time to do so for now it stays as it is.
Now that does not mean you cannot do anything about this.
BTW. I know that it's your simple tests etc. but you are using the db operations very inefficiently -> you should avoid issuing the additional queries if you can avoid them as those are most costly operations in general while using ormar (and any orm). You might already know that, but I want to point this out for other people that might read this.
As for your options I embedded the tips/answers in the code. I included also some remarks/comments.
from typing import List, Optional
from uuid import UUID, uuid4

import databases
import pydantic
import pytest
import sqlalchemy
from fastapi import FastAPI
from starlette.testclient import TestClient

import ormar
from tests.settings import DATABASE_URL

app = FastAPI()

database = databases.Database(DATABASE_URL, force_rollback=True)
metadata = sqlalchemy.MetaData()

app.state.database = database

@app.on_event("startup")
async def startup() -> None:
    database_ = app.state.database
    if not database_.is_connected:
        await database_.connect()

@app.on_event("shutdown")
async def shutdown() -> None:
    database_ = app.state.database
    if database_.is_connected:
        await database_.disconnect()

@pytest.fixture(autouse=True, scope="module")
def create_test_database():
    engine = sqlalchemy.create_engine(DATABASE_URL)
    metadata.create_all(engine)
    yield
    metadata.drop_all(engine)

class BaseMeta(ormar.ModelMeta):
    database = database
    metadata = metadata

class OtherThing(ormar.Model):
    class Meta(BaseMeta):
        tablename = "other_things"

    id: UUID = ormar.UUID(primary_key=True, default=uuid4)
    name: str = ormar.Text(default="")
    ot_contents: str = ormar.Text(default="")

class Thing(ormar.Model):
    class Meta(BaseMeta):
        tablename = "things"

    id: UUID = ormar.UUID(primary_key=True, default=uuid4)
    name: str = ormar.Text(default="")
    js: pydantic.Json = ormar.JSON(nullable=True)
    other_thing: Optional[OtherThing] = ormar.ForeignKey(OtherThing, nullable=True)

@app.post("/test/1")
async def post_test_1():
    # don't split initialization and attribute assignment
    ot = await OtherThing(ot_contents="otc").save()
    await Thing(other_thing=ot, name='t1').save()
    await Thing(other_thing=ot, name="t2").save()
    await Thing(other_thing=ot, name="t3").save()

    # if you do not care about returned object you can even go with bulk_create
    # all of them are created in one transaction
    # things = [Thing(other_thing=ot, name='t1'),
    #           Thing(other_thing=ot, name="t2"),
    #           Thing(other_thing=ot, name="t3")]
    # await Thing.objects.bulk_create(things)

# OPTION 1
@app.get("/test/2", response_model=List[Thing])
async def get_test_2():
    # if you only query for one use get or first
    ot = await OtherThing.objects.get()
    ts = await ot.things.all()
    # specifically null out the relation on things before return
    for t in ts:
        t.remove(ot, name='other_thing')
    return ts

# OPTION 2
@app.get("/test/3", response_model=List[Thing])
async def get_test_3():
    ot = await OtherThing.objects.select_related('things').get()
    # exclude unwanted field while ot is still in scope
    # in order not to pass it to fastapi
    return [t.dict(exclude={'other_thing'}) for t in ot.things]

# OPTION 3
@app.get("/test/4", response_model=List[Thing], response_model_exclude={"other_thing"})
async def get_test_4():
    ot = await OtherThing.objects.get()
    # query from the active side
    return await Thing.objects.all(other_thing=ot)

@app.get("/get_ot/", response_model=OtherThing)
async def get_ot():
    return await OtherThing.objects.get()

# OPTION 4
# more real life (usually) is not getting some random OT and get it's Things
# but query for a specific one by some kind of id
@app.get("/test/5/{thing_id}", response_model=List[Thing],
         response_model_exclude={"other_thing"})
async def get_test_5(thing_id: UUID):
    return await Thing.objects.all(other_thing__id=thing_id)

def test_endpoints():
    client = TestClient(app)
    with client:
        resp = client.post('/test/1')
        assert resp.status_code == 200

        resp2 = client.get('/test/2')
        assert resp2.status_code == 200
        assert len(resp2.json()) == 3

        resp3 = client.get('/test/3')
        assert resp3.status_code == 200
        assert len(resp3.json()) == 3

        resp4 = client.get('/test/4')
        assert resp4.status_code == 200
        assert len(resp4.json()) == 3

        ot = OtherThing(**client.get('/get_ot/').json())
        resp5 = client.get(f"/test/5/{ot.id}")
        assert resp5.status_code == 200
        assert len(resp5.json()) == 3

Note that this will no longer apply if the one sided relation will be allowed (skip_reverse param on relation fields), as there would be no back reference from child models back to main models.
That's why instead of closing this I will change this into enhancement.

Oh; yeah, I expected the weak references were there to avoid reference cycles.  That's fine, if not perfect from a user's viewpoint.  My objection was that it causes an error, even though I've excluded that field.  It feels like a peculiarity of Ormar that triggers an arguable bug in FastAPI.  Perhaps this would be something to file with FastAPI?
Options 2 and 4 are useful, though; I'll probably go with option 4, since that IS my use case, it's just as simple as the other ways, and is (presumably) more efficient.  (Though, often, "fast enough" is sufficient; I'll often opt for "simple" over "fast".)

Hmm when i think about it again, maybe it is a bug in ormar. I should discard the expired refs when extracting nested models. Cause fastapi expects BaseModel from pydantic and i think in those there are no weakrefs. The problem is that fastapi instantiate models in order to validate them, dump to json etc., and only at the end the field is excluded. Will look into this regardless of the enhancement.

Fixed (bug) and added (skip_reverse) in 0.10.3


alternate approach to issue 2968 - ReadOnlyRepo NPE issue

Issue https://github.com/apache/accumulo/issues/2968 identified an issue with handling FATEs when there are transactions without a top and when using ReadOnlyRepo.
This is an experiment to see if ReadOnlyRepo can be used instead of reverting code to use ZooStore.
Metrics and status commands only need to read FATE status and it would be a coding error if they attempted to update a FATE.  It was assumed (I guess incorrectly) that ZooStore when wrapped by a ReadOnlyRepo was functional equivalent for read operations.
This replace the requireNonNull check with a DummyRepo when a null Repo is used to create a ReadOnlyRepo.
All sunny tests pass, and using and uno instance and a slow iterator - I created and then failed a compaction, killed theAccumulo processes and then restarted.  The manager came up without the reported error and the admin fate --summary command works.  I think this replicates the failing conditions, but not sure.
Report Time: 2022-09-27T23:14:06Z
Status counts:
  FAILED: 1
Command counts:
  TABLE_COMPACT: 1
Step counts:
  : 1

Fate transactions (oldest first):
Status Filters: [NONE]
Running	txn_id				Status		Command		Step (top)		locks held:(table id, name)	locks waiting:(table id, name)
0:12:04	6859ad991d4ebd0a	FAILED	TABLE_COMPACT		held:[]	waiting:[]

This submitted as a draft for review.  I am not sure that I replicated the necessary failure cases to trigger the issue or if this approach is desired, but it does seem to point to alternative approaches may be possible.

Metrics and status commands only need to read FATE status and it would be a coding error if they attempted to update a FATE.

This is accomplished by simply using Java polymorphism. If we revert back to the original code, I don't think there is anything else to do. The original code creates a ZooStore object but it declares the type as ReadOnlyTStore. For example:

private final ReadOnlyTStore zooStore;
...
this.zooStore = new ZooStore<>(fateRootPath, context.getZooReaderWriter());
this.zooStore.getStatus(1234L);
this.zooStore.delete(1234L); // compile error

It may be less confusing to rename the variable but otherwise we are fine. Use of the ReadOnlyTStore type prevents any updates to a FATE TX. If anything, we may want to drop the class ReadOnlyStore altogether.


Request to update twitter icon

i need a new twitter icon (X icon) with the animation

Added 2 versions:

Perfect!
Sorry, the icon is not yet available on Iconify. Maybe the icon set repo (this) hasn't been updated yet.
And btw thank you, I'll close this issues.

Iconify sets are updated several times a week, but it is not instant. Next update is scheduled for tomorrow morning, so icon will be there tomorrow.

Slightly changed timing in twitter-x-alt icon. First part of animation is a bit slower and there is a small delay between animations.