Pagination for the regular fetch() on feeds.

Right now here is the WIP:
https://github.com/stevenlafl/threads-web-client/blob/master/src/pages/api/feed.ts
and associated Feed component: https://github.com/stevenlafl/threads-web-client/blob/master/src/app/Feed.tsx
I need to get it to display more. It looks like I'm limited to 8, and refreshing may or may not get me a similar result set. Is there pagination available?

yeah I saw pagination in there but wanted to get the base stuff in before I worried about that stuff. there should be a token in there that you can use but idk how you use it. like I said, working on getting my setup back up

@stevenlafl the endpoint for the timeline is gzipped for some reason but look at line 7 of this file:
https://github.com/threadsjs/threads.js/blob/main/src/managers/FeedManager.js
you need to pass the max_id you get from the response of this endpoint to the body of the next one.

Like this?
FeedManager.js
const RESTManager = require('./RESTManager');

class FeedManager extends RESTManager {
	async fetch(max_id) {
		return await this.request('/api/v1/feed/text_post_app_timeline/', {
			method: 'POST',
			body: 'pagination_source=text_post_feed_threads' + (max_id ? '&max_id=' + max_id : ''),
		})
	}

	...
}

module.exports = FeedManager;

**index.d.ts**

...
declare module<EMAIL_ADDRESS>{
import RESTManager from<EMAIL_ADDRESS>export default class FeedManager extends RESTManager {
fetch(max_id?: number): Promise;
fetchThreads(user: string): Promise;
fetchReplies(user: string): Promise;
recommended(): Promise;
}
}
...

I went ahead and used the RESTManager in my implementation for now for infinite scroll. I am not sure if it works for certain, but it does get me a new result set without erroring.

I might be wrong but I don’t think that’s paginating. I think your fetching a new feed on each call which might eventually flag as it doesn’t follow normal usage. The app paginates as you scroll taking a gzipbody with values such as the below.
{"media id*: "3143463776240999995 180569377", "version": 24 , "media pet": 1.0, "time info: {"10': 8920, "25*: 8920, "50": 8920, "75": 8716}, 'was_share tapped": false), {"media_id": "3143527582710965035_403375573"
"version": 24, "media pct": 0.9230769, "time info': {10: 865, "25*: 865, "50: 865, "75": 254}, "was_share tapped" :false},
{"media_id": "3143533596829412672 40730850"
*version": 24, "media pct":0.9594017, "time info": (*10": 347, "25":347, "50": 347, "75" :3473, "was_share_tapped" false),
{"media id': "3143519892437762445 403375573"
"version"
24, "media pet" :1.0, "time info" (*10" 1689, "25 1689, "50' 1079, "75":6197, "was_share_tapped" false),
{"media_id": "3143528201681201769 403375573"
"'version":24, "media_pct":1.0, "time_ info" ('10" :8920, 25":8514, "50": 8514, "75": 8514}, "was_share_tapped": false),
('media id":"3143523828357551367 180569377"
"*version": 24, "media_pct' :1.0, "time info": (™10": 1476, "25":1476, "50" :1476, "75" :1476), "was_share_tapped" false),
{"media id': "3143528196759601588 27288745"
"version": 24, "media pct": 1.0, "time info': (™10": 1274, "25":1274, "50": 1274, "75" :1274}, "was_share_tapped": false),
"media id": "3143503512472939477 4053226" , "version": 24, "media pct: 1.0,
"time info": (*10" 206, "25": 206, "50" 206, *75":2067, "was_share_tapped": false),
{"media id': "3143486442730059357 51091500"
"version": 24, "media pct: 1.0, "time_info': {10":205, "25" :205, "50': 205, "75": 205}, "was_share_tapped": false}.
{"media id": "3143468471916764278 395761959"
"media pet":1.0, "time_ info": ("10":205, "25":205, "50": 205, "75": 205}, "was_share_tapped": false).
'media id" "3143530367872313738 4094723", "Version'" 24, 'media pet" 0.93615873, 'time info" ("10" 205, "25 - 205, 50": 205, "75" 143),
"was_share_tapped" :false),
("media id': "3143459173832072096_3225079059
"version" :24, "media pet': 1.0, "time_ info': (*10": 8716, "25" :8716, "50":8716, "75" :8716), "was share_tapped":false)
]

I'll take a look at this in the morning

One more thing to be aware of is that in implementing viewing replies with posts.fetch() we also need pagination. I see:

@elijah-wright @sooluh @stevenlafl  I’m able to pull endpoints, requests and responses but I’m not the best at deciphering them into reusable components. Any suggestions for a collaborative effort to get as many of them in welcome! Should I start dumping them here for others to have a go?

@stevenlafl did you figure out how to get the proper feed? I am not even sure the meta engineers know. Every time I open the app I see something new 🤣

@thisisdice sure

@stevenlafl did you figure out how to get the proper feed? I am not even sure the meta engineers know. Every time I open the app I see something new 🤣

Hah, I don't see duplicates as I scroll down. But I have it to where I can refresh and see new stuff if I want. Otherwise just keep scrolling. Even if there are duplicates, I've got it to where it removes them before trying to display.
I managed to get it to display things like this (quote posts only showing links with no text in body of post), or even quotes of replies.

When I reply to a post, I get back the full renderable post, so that feeds right back into my component structure. A few quirks but it works well. @elijah-wright is a wizard for making any of this even possible.
@birobirobiro has been assisting me with some of the styling too.

thank you lol!

https://i.instagram.com/api/v1/feed/text_post_app_timeline/

[decoded gzip] URLEncoded form
has_camera_permission: 0
feed_view_info:        [{"media_id":"3143468282492089976_702310471","version":24,"media_pct":1.0,"time_info":{"10":37820642,"25":37820642,"50":37820440,"75":37820239},"was_share_tapped":false},{"media_id":"3143480192010578160_1626596167","version":24,"media_pct":0.37179488,"time_info":{"10":2481,"25":2073,"50":0,"75":0},"was_share_tapped":false}]
phone_id:              d9f9f6a3-0c45-4ac3-b4b1-0e6004702f82
reason:                cold_start_fetch **<---- this changes to pagination for subsequent** requests
battery_level:         75
timezone_offset:       3600
pagination_source:     text_post_feed_threads
device_id:            ****4c42-6663-****-884b-66418b4bb843
request_id:            ****8f5e-dea0-****-a3d6-68484e6faed1
is_pull_to_refresh:    0  **<---- this changes 1 for homepage refresh**
_uuid:                 ****4c42-6663-****-884b-66418b4bb843
is_charging:           0
is_dark_mode:          0
will_sound_on:         0
session_id:            ****8bd-4699-****-a42d-cf267108094b
bloks_versioning_id:   5f56efad68e1edec7801f630b5c122704ec5378adbee6609a448f105f34a9c73

https://i.instagram.com/api/v1/notifications/badge/

content-type: application/x-www-form-urlencoded; charset=UTF-8
phone_id:  d9f9f6a3-0c45-4ac3-b4b1-0e6004702f82
user_ids:<PHONE_NUMBER>
device_id: d2054c42-6663-4fcf-884b-66418b4bb843
_uuid:     d2054c42-6663-4fcf-884b-66418b4bb843

returns
json
{
    "badge_payload": {
        "3504806044": {
            "badge_count_map": {
                "ac": 1
            },
            "total_count": 1
        }
    },
    "status": "ok"
}

Confirmed that this is right, however the next_max_id ends with an equal sign which needs to be urlencoded (%3D)
So it becomes:
const RESTManager = require('./RESTManager');

class FeedManager extends RESTManager {
	async fetch(max_id) {
		return await this.request('/api/v1/feed/text_post_app_timeline/', {
			method: 'POST',
			body: 'pagination_source=text_post_feed_threads' + (max_id ? '&max_id=' + encodeURIComponent(max_id) : ''),
		})
	}

	...
}

module.exports = FeedManager;

should be fixed


ocicl tries to install top-level system?

I'm developing the system below, call it foo, but it looks like ocicl tries to install the system using oras?
Is this because there is a foo/test system too? Haven't digged into the code in case you know what's happening off the bat.

The troubleshooting section of the doc says:

You may find it convenient to tell ASDF to load from the current directory.
Do this by placing the following in your .sbclrc file:

(pushnew (uiop:getcwd) asdf:*central-registry*)

Perhaps that's the problem.  You haven't set this.

(pushnew (uiop:getcwd) asdf:*central-registry*)

that is part of ocicl setup's script. (I depend on it). Perhaps not running that init script either globally is .scblrc or using --userinit

I'm forming an alternative common-lisp-projects directory as an alternative to quicklisp/local-projects. I ran into a similar problem wherein even though my projects were inside common-lisp-projects, ocicl kept downloading it from oras.
It turns out that atleast for (asdf:asdf-version) ;=> "3.3.1", asdf only looks at the toplevel files in the directories given by asdf:*central-registry*, so even though I had the following in my .sbclrc, ocicl kept downloading the system from oras.
(pushnew #P"/home/user/common-lisp-projects/" asdf:*central-registry*)

If I understand correctly, ocicl itself does not use asdf:*central-registry*, but it expects that asdf will try to use the other means, and if those fail, it will call the search (and download) function provided by ocicl. So, you can check if your system can be found by asdf in the absence of ocicl. If it can be found, you should be good to go. If not, you will need to configure asdf to find it.
In my case, I created a ~/.config/common-lisp/source-registry.conf.d/common-lisp-projects.conf with the following single line:
(:tree #P"/home/user/common-lisp-projects/")

More configuration options can be found in the asdf manual.


Release a new pypi build with looser dependency locking

Hi,
1.1 version of this package in pypi locks torch and torchvision dependencies: https://pypi.org/project/clip-by-openai/1.1/
e.g. torchvision==0.8.2
Newer commits to the repo remove this strict locking: https://github.com/openai/CLIP/commit/db20393f4affd4158528bd868478e516ebed0944
Is it possible to release a new version from main branch here to pypi/pip?

Related: https://github.com/openai/CLIP/issues/141
This can be closed.

pypi not maintained by OpenAI


Starcraft 2 has low performance with DXVK on Intel graphics

I have a Dell XPS 13 7390 with the integrated Intel graphics. Starcraft 2 should be playable (even if not perfectly) on medium settings on this machine. However, DXVK has a huge performance discrepancy on this hardware.
The game is free to play, so the easiest way to reproduce this issue is to launch the first mission of the first campaign.

Technology
Frame rate

wined3d
30-35 fps

nine
50-55 fps

DXVK
25-30 fps

As you can see, in this game DXVK performs slightly worse than even wined3d, and nine straight out blows DXVK out of the water.
Software information

Name of the game: Starcraft 2
Graphics settings: all medium

System information

GPU: Intel UHD Graphics (Gen9, integrated into the i5-10210U, Comet Lake CPU)
Driver: mesa 20.1.4
Wine version: wine-5.14-1.fc32.x86_64 (this is Wine Staging)
DXVK version: wine-dxvk-1.7-1.fc32.x86_64
Distro: Fedora 32
Session: Gnome Wayland

Apitrace file(s)
There is no graphical glitch, so I don't believe an apitrace is necessary.
Log files
SC2_x64_d3d9.log
(There are no other log files present in the game directory.)

We kind of do need an apitrace to get an idea of what the game might be doing.
Is this common on other hardware as well? I don't think we test ANV at all.

The game is free to play, but if you don't want to bother with installing it, I can make an apitrace sometime next week.
As far as I remember, the situation is not so bad on AMD (especially with ACO), there DXVK performs only slightly worse than Nine, but at least they are in the same ballpark. Has been a while since I last tested, so take that with a grain of salt.

I have a laptop with a Vega 10 (3700U), can help with some perf testing.

Can you compile and test the performance with this forked branch? https://github.com/K0bin/dxvk/tree/d3d9-constant-compacting

fwiw, the constant compacting branch has a perf decrease across the board on discrete gpus.

@Venemo Is this still a issue with latest dxvk and drivers?
I don't have a intel gpu but i did some quick tests with a R9 380 & mesa-git on dxvk 1.7.1, 1.10.1 and WINED3D. The performance seems to have improved a bit since 1.7.1 and is now seems faster than WINED3D. At least on my setup.

@Blisto91 I haven't played anything on the Intel GPU for a very long time. If there is a reason to assume that the situation improved recently, I can re-test.

Rgr. I can't say that it has for you specifically, but there have been some improvements since 1.7.1 so was just interested if you still found the performance unsatisfying compared to the other two.
I'm mostly just checking out old issues 😁

Looks like it doesn't seem to be an issue anymore, at least on my Intel Arc A380 system. I did some quick benchmarks between DXVK 2.3, Master, 1.7.1 and WineD3D.
System:

CPU: Intel Xeon E3-1270v5
GPU: Intel Arc A380
OS/Software: Arch, Mesa git, Sway, wine-ge-25

I used the following settings, which basically set everything the game claims it uses the GPU for to max and everything it claims it uses the CPU for to min, due to my rather weak CPU:

I simply loaded a replay, didn't move the camera at all and wrote down the FPS using the ingame-counter (CTRL+ALT+F) at 1:00, 5:00 and 10:00 minutes in. The replay I used can be found here: https://lotv.spawningtool.com/82416/
I first compared DXVK 2.3 and WineD3D, 2 runs each:

Time (Run #)
FPS (DXVK 2.3)
FPS (WineD3D)

1:00 (Run 1)
~115
~93

1:00 (Run 2)
~116
~90

5:00 (Run 1)
~107
~82

5:00 (Run 2)
~108
~80

10:00 (Run 1)
~106
~78

10:00 (Run 2)
~106
~76

Next, I tested DXVK Master (specifically this artifact: https://github.com/doitsujin/dxvk/actions/runs/7921308612) and 1.7.1, but only 1 run each:

Time
FPS (DXVK Master)
FPS (DXVK 1.7.1)

1:00
~115
~74

5:00
~108
~70

10:00
~106
~67

Seems like the performance issue was fixed at some point over the years.

I'm gonna close this then. If this turns out to still be a problem after all, please open a new issue.


[Python] Add del to DBAPI objects

Just for convenience/ease of use. Optionally we can have this emit a warning to aid debuggability?

Yup, but it seems people hate it when warnings get sprinkled around too much (I have a task to go revert a warning I added last release). That said there's probably a stronger case here

Ah, for Python, it's all handled by the driver manager so it's all/nothing. I think I'll put the warning behind an environment variable to start with and see. And I might have it trip by default under pytest (though maybe it'll be annoying unless it's clear how to reproduce that outside of pytest)


Default presence of odata.type property in generated OpenAPI

Currently, all models are generated by with a default value for the @odata.type property which is further propagated into generated models in Kiota. This shouldn't be an issue per se but various workloads seem to not support the existence of this property as seen in the numerous linked issues to https://github.com/microsoftgraph/MSGraph-SDK-Code-Generator/pull/534#issue-899279074.
The proposal therefore is to have the @odata.type not set by default in the result openApi generation and have it set in the following conditions where type disambiguation is necessary as the API will need to know the type to infer and take advantage of the properties.

The type derives from an abstract type
One of its base/parent types is referenced as the type for a property in another type (except if the base is entity).
One of its base types is referenced as the type in an odata action in another type (except if the base is entity).

Possibly, the default behaviour could have the @odata.type property set/unset and then we would add a setting to enable this behaiour as this may not really be a valid ask for another odata API needing the conversion to be performed.
Related issues

https://github.com/microsoftgraph/msgraph-sdk-php/issues/1006
https://github.com/microsoftgraph/msgraph-beta-sdk-dotnet/issues/495

@peombwa / @timayabi2020 is this a behaviour that we need enabled/disabled for PowerShell as well?

@irvinesunday, it looks like we don't expose @odata.type property on models though DevX API - https://graphexplorerapi.azurewebsites.net/openapi?operationIds=drives.drive.root.createUploadSession&title=Files&openapiversion=3&style=Powershell&graphVersion=v1.0,


fix(cli): change to collect environmentName

Issue #, if available:
#3079
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #3080 into master will increase coverage by 2.99%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3080      +/-   ##
==========================================
+ Coverage    59.7%   62.69%   +2.99%
==========================================
  Files         232      220      -12
  Lines       11818    11254     -564
  Branches     2419     2340      -79
==========================================
  Hits         7056     7056
+ Misses       4449     3886     -563
+ Partials      313      312       -1

Impacted Files
Coverage Δ

...ges/amplify-graphql-types-generator/src/loading.ts
74.5% <0%> (ø)
:arrow_up:

...sync-simulator/src/schema/appsync-scalars/index.ts

...y-appsync-simulator/src/schema/directives/index.ts

...mplify-appsync-simulator/src/mqtt-server/server.ts

...y-appsync-simulator/src/velocity/util/map-utils.ts

...amplify-appsync-simulator/src/data-loader/index.ts

...mplify-appsync-simulator/src/mqtt-server/client.ts

...ync-simulator/src/velocity/util/transform/index.ts

...ages/amplify-appsync-simulator/src/schema/index.ts

...-appsync-simulator/src/data-loader/lambda/index.ts

... and 5 more

Continue to review full report at Codecov.

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

@fossamagna This issue has been fixed. Thanks for sending out the PR nevertheless.


[BUG]

Describe the bug
Having a brackets in the jump's name causes it to become a new list
To Reproduce
Steps to reproduce the behavior:

Go to Jump Randomizer Settings
Make New Entry
Put "[DC] Batman Jump" in jump name
Close Jump Randomizer list (save)
Reopen Jump Randomizer list
look at the list of jump lists

Expected behavior
For Jump Entry to be "[DC] Batman Jump" and not make a new list
Screenshots

Good catch there. This bug is happening because the saved list uses those brackets to separate lists. I will correct this unintended behavior for the next update.
Thank you very much for this helpful bug report!

Validation has been added to prevent this issue from occurring.


ERROR Error: java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling

here is playground demo
https://play.nativescript.org/?template=play-ng&id=Am3Ebf&v=2
if we use only [items]="images" with RadListView instead of [items]="images.slice(0,10) then error goes away and everything works as expected.
but we have a use case where we want only portion of array as RadListView items that is why i'm using Array.slice() method.

@bhavincb instead of slicing the array in the binding, you could do that operation with the source and then pass the resulted array as a binding source. The RadListView also comes with a number of functionalities that can handle different source handling. Data operations like filtering, ordering are covered here). There is also load-on-demand and pull-to-refresh if you want to add more items manually.
If you still need to slice the source you could do it in your component by reassigning the sliced array.
For example, something like this:
ngOnInit(): void {
    this.images = this.images.slice(0, 10);
    console.log(this.images.length); // 10
}

hii @NickIliev ,
thankx for quick response, but i'm using nested RadListView. parent and child RadListView both have very large dataset. and i'm need of displaying only half data of child RadListView. so if i go with your approach and initialize different variable for every parent RadListView which contains half of child RadListView then i will be run out of memory soon.
that is the reason why i had raised issue.
because *ngFor works completely fine with runtime slicing.

@bhavincb *ngFor  is a structural directive with no optimizations whatsoever while the RadListView is using techniques like virtualization and recycling of cells to provide better performance when working with large sets of data. I can't fully understand your structure - perhaps you could provide a sample project to demonstrate why you can't slice the source object before it is passed to the boun items property

hii @NickIliev ,
here is playground
https://play.nativescript.org/?template=play-ng&id=8l3mBp&v=3
in above playground i only want to show half of group.images not all. keep in mind that this just a demo dataset object. actual data i'm working with is more complex and has more properties.

@bhavincb the nested listview scenario is not supported (neitherListView nor RadListView). The reason is that as mentioned before both components are using recycling to reuse already used cells (while the user scroll up/down the hidden cells are used to  create the new ones and this way the performance is greatly
improved as we only have to create cells for the visible elements and not for all items in the list). This said when you have a nested listview it cannot be reused as the info inside the cell is ..another list of items with reused cells.
Apart from that, I noticed that you are using structural directives (*ngIf) inside the listview cell. This again will break the performance or even the whole listview as cells are now different in structure and cannot be reused. Instead of using Angular directives to change the visual tree, use item templates to create different cells depending on the item data and logic. This way you will not break the list nor you will lose the performance. More details about this can be found in this blog post. More details about using item templates in RadListView (to use instead of *ngIf) can be found here.

@NickIliev , i had already reviewed those posts. but i have use case where i have to show list inside the another list. and for that use case i din't find any post or related data.
if one have UI requirement of nesting dataset then what will be the best approach performance wise for implementing that View?

hii @NickIliev , any update on what to do if UI requirement is Nested data?

@bhavincb consider using several different list-view based on the fetched data (or use item template). Or flatten/normalize the data once it is fetched The limitation of using ListView and having a performance-optimized application is that you can not nest list views inside other list views.


How to handle chromosome names?

Currently, we get chromosome numbers from the config file - and then we define a loop over range(1:nChromosomes+1). But what if we have non-numeric chromosomes in there, like other contigs or mitochondrial genome?

Maybe follow what stdpopsim does?

I think it would be useful to have a text file with chromosome names and lengths. See the genome file format used by bedtools. This has one chromosome per line, a tab, and the chromosome's length:
$ cat my.genome
chr1  1000
chr2  500

Should a genome file be generated as part of this pipeline?
This would be easy if the entry point was one multi-chromosome VCF file. The file could be parsed and each chromosome's highest variant position could be used as the chromosome length. It would also be easy if a genome FASTA file was available.
But it could be tricky if the entry point is multiple VCF files.
Alternatively, we might require the genome file as an additional input, and we could supply a script to generate such a file from VCF/genome FASTA.
Opinions? @gregorgorjanc @gmafrafortuna @janaobsteter
Generally, Stdpopsim sounds good, but we may want to run this pipeline also on small test datasets and organisms that are not on stdpopsim ATM?


Luarocks version needs to be fixed?

/kong-oidc-1.2.1-1.rockspec: Mandatory field source is missing. (using rockspec format 1.0)

Can you give me more details about this? Why did you close the issue?

The error was actually caused by a file download failure.


manager container uses latest tag resulting in possible CRD mismatch

I am running v0.8.0 of csi-addons and began getting crash loops with error messages referencing a missing VolumeGroupReplication CRD (and other related ones).  Looking at the source these CRDs are present in the development branch but not the v0.8 tag.
Looking at setup-controller.yaml there is a :latest tag on the manager container.  Changing this to v0.8.0 appears to resolve this issue, and if the manager is going to use the bundled CRDs it should probably be version tagged to ensure the two are consistent.

Are these the errors you saw? Using v0.8.0 and getting:
2024-06-22T15:43:56.272Z ERROR controller-runtime.source.EventHandler if kind is a CRD, it should be installed before calling Start {"kind": "VolumeGroupReplicationContent.replication.storage.openshift.io", "error": "no matches for kind \"VolumeGroupReplicationContent\" in version \"replication.storage.openshift.io/v1alpha1\""}

2024-06-22T15:46:10.422Z ERROR controller-runtime.source.EventHandler if kind is a CRD, it should be installed before calling Start {"kind": "VolumeGroupReplication.replication.storage.openshift.io", "error": "no matches for kind \"VolumeGroupReplication\" in version \"replication.storage.openshift.io/v1alpha1\""}

Deployed using:
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - https://raw.githubusercontent.com/csi-addons/kubernetes-csi-addons/v0.8.0/deploy/controller/crds.yaml
  - https://raw.githubusercontent.com/csi-addons/kubernetes-csi-addons/v0.8.0/deploy/controller/rbac.yaml
  - https://raw.githubusercontent.com/csi-addons/kubernetes-csi-addons/v0.8.0/deploy/controller/csi-addons-config.yaml
  - https://raw.githubusercontent.com/csi-addons/kubernetes-csi-addons/v0.8.0/deploy/controller/setup-controller.yaml

@rich0 - as you suggest doing an override of :latest with correct version to my Kustomization solves the crash looping.
images:
  - name:  quay.io/csiaddons/k8s-controller
    newTag: v0.8.0

@rich0 if we are using the latest image in the yamls in the released version (this is wrong) we will take care of this in the next release to ensure that we will have only released tags for the images. @Rakshith-R can you please check this one?

How soon can we get a new release to fix this? Seems like all users of v0.8.0 are currently broken unless a manual workaround is applied.

@travisn this looks like a doc problem on how to pull the yamls, I will update the doc in sometime

@travisn this looks like a doc problem on how to pull the yamls, I will update the doc in sometime

Thanks, I see now it was a doc problem and is fixed in the Rook repo with https://github.com/rook/rook/pull/14408, but it still seems a bug that the download link has different content than the tagged yaml.

@travisn this looks like a doc problem on how to pull the yamls, I will update the doc in sometime

Thanks, I see now it was a doc problem and is fixed in the Rook repo with rook/rook#14408, but it still seems a bug that the download link has different content than the tagged yaml.

Yes this need some extra steps to commit changes after tagging,  will revisit this later to fix it.

we can use something like https://github.com/stefanzweifel/git-auto-commit-action to push changes to the tag during the release phase from CI. @nixpanic @Rakshith-R any thoughts?

we can use something like https://github.com/stefanzweifel/git-auto-commit-action to push changes to the tag during the release phase from CI. @nixpanic @Rakshith-R any thoughts?

Or should we just add install instructions in release notes(which have release download urls) and point to that from all other places to install released manifests ?
(We can edit release notes and I think this is the simplest approach)
kubectl create -f https://github.com/csi-addons/kubernetes-csi-addons/releases/download/v0.8.0/crds.yaml
kubectl create -f https://github.com/csi-addons/kubernetes-csi-addons/releases/download/v0.8.0/rbac.yaml
kubectl create -f https://github.com/csi-addons/kubernetes-csi-addons/releases/download/v0.8.0/setup-controller.yaml

we can use something like https://github.com/stefanzweifel/git-auto-commit-action to push changes to the tag during the release phase from CI. @nixpanic @Rakshith-R any thoughts?

I do not think that is needed. The tagged v0.8.0 release uses :v0.8.0 in the setup-controller.yaml file.
Users that want to install from the main branch, should get the :latest version.
Am I missing something?

https://github.com/csi-addons/kubernetes-csi-addons/blob/3ae667240c74e57dc476424cf50e3bf18328e05c/deploy/controller/setup-controller.yaml#L71 is pointing to the latest tag instead of 0.8.0 as most of the users use tagged branch to pull the yamls not from the download artifacts.

Users should be encouraged to download/fetch a tag. This repository does not even have branches for releases?

Ah, maybe I understand now.

the artifacts from the release page have the right :v0.8.0 version
when fetching the v0.8.0 tag from git, the version is set to :latest

In order to fix that, the release job should indeed push the generated artifacts into git. Overwriting (force re-push) the initially created v0.8.0 tag is maybe not nice, but it would result in the expected contents.

For the v0.9.0 release I created a commit with the (hopefully) right version in the files, and built the release artifacts after that. When someone checks out the v0.9.0 tag, they should have the :v0.9.0  container-image, and not :latest. This was a manual step, hopefully we can find a clean way to do this in the future.

Git tag v0.9.0 is using the correct image tag but v0.9.1 is not (yet)

Git tag v0.9.0 is using the correct image tag but v0.9.1 is not (yet)

Please refer to the latest installation steps.
https://github.com/csi-addons/kubernetes-csi-addons/blob/v0.9.1/docs/deploy-controller.md#installation-for-versioned-deployments
Users should refer to the documented installation steps.


catboost==0.12.2 version - no longer found in regular pypi repos?

https://github.com/zzzace2000/nodegam/blob/79c8675e65d75237f2e853ae55bbc40ae7124ee9/requirements.txt#L5
I see as the error message:
ERROR: Could not find a version that satisfies the requirement catboost==0.12.2 (from versions: <IP_ADDRESS>, 0.20, 0.20.1, 0.20.2, 0.21, 0.22, 0.23, 0.23.1, 0.23.2, 0.24, 0.24.1, 0.24.2, 0.24.3, 0.24.4, 0.25, 0.25.1, 0.26, 0.26.1, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6)
ERROR: No matching distribution found for catboost==0.12.2

Am I missing something obvious or could you update this requirement?

Sure let me test it on colab quickly.

Just fixed it. Please download the latest code. I made the fp16 optional and fix the requirements.
You can test the colab here:
https://colab.research.google.com/drive/1C_gBoSc1AlQ7VvCXVWiU-7X3YjQZTiZI?usp=sharing


Rewrite the Polars datasets to not rely on fsspec unnecessarily

Description
Rewrite the polars datasets: https://github.com/kedro-org/kedro-plugins/tree/main/kedro-datasets/kedro_datasets/polars
to not rely on fsspec, because they don't need it.
Context
Polars can read remote systems just fine thanks to https://docs.rs/object_store/latest/object_store/, but the kedro-datasets version asks me for fsspec dependencies anyway:
In [13]: ds = EagerPolarsDataset(filepath="s3://reddit-submissions/submissions-raw", file_format="delta")
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
File ~/Projects/QuantumBlackLabs/workshop-kedro-huggingface/.venv/lib/python3.11/site-packages/fsspec/registry.py:238, in get_filesystem_class(protocol)
    237 try:
--> 238     register_implementation(protocol, _import_class(bit["class"]))
    239 except ImportError as e:

File ~/Projects/QuantumBlackLabs/workshop-kedro-huggingface/.venv/lib/python3.11/site-packages/fsspec/registry.py:273, in _import_class(cls, minv)
    272 s3 = mod == "s3fs"
--> 273 mod = importlib.import_module(mod)
    274 if s3 and mod.__version__.split(".") < ["0", "5"]:

File /opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126, in import_module(name, package)
    125         level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)

File <frozen importlib._bootstrap>:1204, in _gcd_import(name, package, level)

File <frozen importlib._bootstrap>:1176, in _find_and_load(name, import_)

File <frozen importlib._bootstrap>:1140, in _find_and_load_unlocked(name, import_)

ModuleNotFoundError: No module named 's3fs'

Related: #590
Your Environment
Include as many relevant details about the environment in which you experienced the bug:

Kedro version used (pip show kedro or kedro -V):
Kedro plugin and kedro plugin version used (pip show kedro-airflow):
Python version used (python -V):
Operating system and version:

Interesting to learn about why Rust choose object store instead of a general filesystem interface. One things that come into mind is how to make the Kedro Versioning works for this as we almost use fs.glob everywhere. We may need something new for handling object store.
To be fair local + object store is the majority case. We do handle some niche fs like hdfs (was common 10 years ago, almost non-exist now), sftp etc.

The good thing is that, if you drop fsspec by leveraging the underlying mechanism of the target library, writing a new custom dataset is trivial
https://github.com/astrojuanlu/workshop-kedro-huggingface/blob/7666a33/delta_polars_dataset.py

Today I showed this fsspec-free dataset to a user and they were happy to see how easy it is to write:
import typing as t

import polars as pl
from kedro.io import AbstractDataset

class DeltaPolarsDataset(AbstractDataset[pl.DataFrame, pl.DataFrame]):
    """``DeltaDataset`` loads/saves data from/to a Delta Table using an underlying
    filesystem (e.g.: local, S3, GCS). It returns a Polars dataframe.
    """

    DEFAULT_LOAD_ARGS: dict[str, t.Any] = {}
    DEFAULT_SAVE_ARGS: dict[str, t.Any] = {}

    def __init__(
        self,
        filepath: str,
        load_args: dict[str, t.Any] | None = None,
        save_args: dict[str, t.Any] | None = None,
        credentials: dict[str, t.Any] | None = None,
        storage_options: dict[str, t.Any] | None = None,
        metadata: dict[str, t.Any] | None = None,
    ):
        self._filepath = filepath
        self._load_args = {**self.DEFAULT_LOAD_ARGS, **(load_args or {})}
        self._save_args = {**self.DEFAULT_SAVE_ARGS, **(save_args or {})}
        self._credentials = credentials or {}
        self._storage_options = storage_options or {}

        self._storage_options.update(self._credentials)
        self._metadata = metadata or {}

    def _load(self) -> pl.DataFrame:
        return pl.read_delta(
            self._filepath, storage_options=self._storage_options, **self._load_args
        )

    def _save(self, data: pl.DataFrame) -> None:
        data.write_delta(
            self._filepath, storage_options=self._storage_options, **self._save_args
        )

    def _describe(self) -> dict[str, t.Any]:
        return dict(
            filepath=self._filepath,
            load_args=self._load_args,
            save_args=self._save_args,
            storage_options=self._storage_options,
            metadata=self._metadata,
        )

It was noted today in backlog grooming by @noklam that fsspec is linked to our versioning, therefore ditching it might be more complicated than expected and not worth the effort.
For the particular case of Delta format, let's

Look at https://github.com/kedro-org/kedro-plugins/issues/444, and
If the above cannot be easily fixed, we can contribute a custom DeltaPolarsDataset as I wrote in https://github.com/kedro-org/kedro-plugins/issues/625#issuecomment-2042634179

From backlog grooming:

If we consider versioning, switching to object_storage is a bigger change because we need new mechanism to figure out what is the latest version
For delta dataset itself, it doesn't support Versioning yet so maybe we can add a new dataset instead of re-writing all Polars dataset for now.

Interesting to learn about why Rust choose object store instead of a general filesystem interface.

@noklam: It is explained in the docs.

I did some experiments to see where we are in using plain vanilla read_*, scan_* and write_* operations on object stores (for a local filesystem, they work as expected).

read_parquet, scan_parquet work as expected. It is even possible to read parquet file generated by spark (e.g. a directory containing parquet files) using a glob pattern. If however, your dataset has Hive partitioning, e.g. .../year=2024/month=6/day=26/*, you still have to use pyarrow...
write_parquet doesn't work directly unless you set use_pyarrow=True. Otherwise, you have to use e.g. s3fs to write to s3 (basically how we currently have it implemented).
read_csv is the only method that currently supports reading from S3. Both scan_csv and write_csv fail. So to write csv's, you'll have to fall back to our current implementation using s3fs.

So if we make any change, we could split up the logic based on the file_format; if parquet, use native methods (unless you want to read data with Hive Partitioning) and use the current implementation otherwise.
Any thoughts?

So if we make any change, we could split up the logic based on the file_format; if parquet, use native methods (unless you want to read data with Hive Partitioning) and use the current implementation otherwise.
Any thoughts?

At this point we should start by documenting what the "social contract" of Kedro datasets is. In other words, how war we go in filling gaps like the ones you describe.
Somewhat related: https://github.com/kedro-org/kedro/issues/1936

But then you would still need to be able to specify credential providers in some way…

I believe they're taken from the environment if a credentials provider is not given? https://github.com/pola-rs/polars/pull/19589/files (haven't tried)


Type inconsistency between Tensor.batchNormalized and BatchNorm

epsilon of Tensor.batchNormalized is Float.
https://github.com/tensorflow/swift-apis/blob/b7f2a06a4c0225884a3ce2e7010d558d7038e7c5/Sources/TensorFlow/Operators/NN.swift#L36
But epsilon of BatchNorm is Tensor<Float>.
https://github.com/tensorflow/swift-apis/blob/b7f2a06a4c0225884a3ce2e7010d558d7038e7c5/Sources/TensorFlow/Layers/Normalization.swift#L34
epsilon is a scalar (even BatchNorm's comment says so).
Changing BatchNorm.epsilon to Float improve API consistency.
My concern is that BatchNorm is aleready marked as @frozen. Is it OK to change this?
Also LayerNorm has epsilon: Tensor<Float> which is scalar indeed.

This has been solved by #525 , so closing this issue.


Updated to LangChain4j 0.29.0

Hi @marcushellberg!
Do you mind if I update the code to use the latest (0.29.0) LangChain4j version and its latest features?
Changes in this PR:

Using langchain4j-open-ai-spring-boot-starter auto-configuration instead of manually creating OpenAiStreamingChatModel
Using declarative AI Service instead of manually creating LangChain4jAssistant
Removed manual creation of OpenAiTokenizer as it is now automatically provided by langchain4j-open-ai-spring-boot-starter
Changed the tokenizer configuration to split into segments of 50 tokens, because the current setting (200) does not split, as the terms-of-service.txt is only 162 tokens long
Removed unnecessary ollama and mapdb dependencies

Please let me know if you want me to do any other adjustments.
Thank you!

Looks good. Thanks a lot for contributing!

Great, thank you!


add nodejs support to dynamic config tests

Description

Add NodeJS support to dynamic config tests.
Motivation

Support for HTTPClientRequest was added, and some of the tests are not currently supported by Node and had to be skipped. Also, there was a bug with the Content-Length header that is now fixed in this PR.
Workflow

⚠⚠ Create your PR as draft
Follow the style guidelines of this project (See how to easily lint the code)
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Once your PR is reviewed, you can merge it! :heart:
Reviewer checklist

[ ] If this PR modifies anything else than strictly the default scenario, then add the run-all-scenarios label (more info).
[ ] CI is green

[ ] If not, failing jobs are not related to this change (and you are 100% sure about this statement)

if any of build-some-image label is present

is the image labl have been updated ?
just before merging, locally build and push the image to hub.docker.com

Approving for the Nodejs part since we're codeowners (I know jobs are failing)

Added @Kyle-Verhoog as reviewer, as the target branch is kylev/dc


[tizenwatch, androidwear] logs can't be visible

Describe the bug
Logs can't be visible in round watch
To Reproduce
Steps to reproduce the behavior:

Go to app-harness packages
Do npx rnv run -p tizenwatch -> observe

Expected behavior
All logs are clearly readable
Screenshots or copy&paste

Desktop (please complete the following information):

OS: Ubuntu 20.04.5
Node Version 18.20.2
RNV Version 1.0.0-rc.19

can't reproduce it on 1.0.0-rc.21


Unable to cache routes

There are two routes with the same name "nova-stripe.customers" which causes error when trying to cache routes via artisan command route:cache:

Unable to prepare route [nova/nova-stripe/customers/{customerId}] for serialization. Another route has already been assigned name [nova-stripe.customers]

Thanks for opening this issue, @tominon! Fixed in v2.0.3 🙌


add Sophia to jenkins admin

Fixed PR - @sophia-guo needs access as she's constantly working on the test pipeline scripts and jobs.  I'm happy to sponsor.

thanks @karianna @gdams !

Thanks @karianna @gdams @smlambert !


fix(scanner): Fix missing camera

fixed camera not getting assigned by using current activity as a fallback.
Closes #7

@osnipezzini, I am not a git expert so I can't tell if this fix is in the version I got a few days ago.  How can I tell if the version of the nuget package I am using (0.3.0-preview.1) has this fix?


Some question on Pix2Pix

Hey, You mentioned you make some modifications to the Pix2pix model in this repo.
Roughly checking your repo and original Pix2Pix model, I got these modifications below:

Added  --add_contrast in base_options.py
Commented the Visualizer part
Changed a function into lambda function in 'get_norm_layer' from networks.py

I wonder is there more modification on the Pix2Pix part of your repo?  You also claimed you make data augmentation and could you please add more detail of that?

hi,  you have mentioned most of the modifications. The other modifications are some default parameters mainly, for example, the size of input/output images and the epoch counts setting.
the --add_contrast option is about the data augmentation,which aims to change the contrast and brightness randomly. details see pytorch-CycleGAN-and-pix2pix/data/aligned_dataset.py in 48 row.

Thanks, buddy


CustomizedRulePath should be CustomRulePath

It might be late for this, but the name is unnecessarily long, means the same as 'custom,' and might be misspelled in non-U.S. English locales where 'customized' is spelled 'customised.'

Thanks for the feedback. "CustomRulePath" sounds much better. Will add an alias for the existing parameter

Fixed in #365


image capture drops first frame when animating from command line

Matt Rehme reports:
I still got the error of the first timestep not saving an image when running from a command line. Here's an example of what would happen:
this command would run the 24 timesteps for 03/19
vglrun /glade/u/home/clyne/apps/VAPOR3-3.2.0-Linux/bin/vapor ~/3.Project/Rosimar/vapor/0.1.LoadingTest.vs3 history.2000-03-19_* x5.tropical_3km_10N.init.nc
timestep:                                             image:
history.2000-03-19_00.00.00.nc             no image saved
history.2000-03-19_01.00.00.nc             a0000.png
history.2000-03-19_02.00.00.nc             a0001.png
...                                                       ...
history.2000-03-19_22.00.00.nc             a0021.png
history.2000-03-19_23.00.00.nc             a0022.png
x5.tropical_3km_10N.init.nc                   a0023.png  # saves only a black square because this data set only had the MPAS coordinates
So I get a total of 24 images, as expected, but I should get 25 (and I would throw out the last image from the coordinate file). This happens when running 200+ files as well; the first frame will be missing. It's not a huge issue. I ended up re-running the first file of each group by itself.

@stasj reports:
I have already been looking into this, I just didnt have time to write up everything yet. I was unable to access your session file, Matt, since your home directory is not readable by my login but here is what I have so far:
I have tested the -render feature with multiple other datasets, including ones with separate grid files, and everything works correctly. I am, however, running into issues with this dataset. When using vapor normally (I.e. without the -render parameters), trying to load specific time steps with a session file does not work correctly.
I created standalone grid files which can be used to replace the original 300GB grid file. They can be found here. I reduced the size from 300GB to 2GB for the 2D grid and 4GB for the 2D+3D grid files. Their names should describe their purpose. There are separate ones for 2D and 2D+3D grids since it is much faster to load a 2D only grid when you are not using 3D.
In my testing I found that some of the issues are caused by the grid file having its own timestep so there are grids with -notime- in their name which solve those issues but even using those, it does not work correctly. I think John you may want to look into this as I believe this is an issue in the data loader.
The grid files can be found at /glade/scratch/stasj/init*
Also there is one more thing I have run into that you may want to look into, John, and it is that loading these 2GB 2D grid files takes up 16GB of RAM constantly without any renderers. The files’ variables are compressed, but decompressed they are still only 4GB for 2D.

@stasj please try the grid file in /glade/p/cisl/vast/vapor/data/Source/MPAS/RosimarRiosBerrios/x5.tropical_3km_10N.init.nc to see if you're still having trouble. Using this file I'm not seeing the problems that you're running into with the current master branch.

@clyne
Run:
export DIR=/glade/p/cisl/vast/vapor/data/Source/MPAS/RosimarRiosBerrios/
vapor $DIR/history.2000-05-31_00.00.00.nc $DIR/x5.tropical_3km_10N.init.nc

Notice there are two timesteps while there should only be one.
Create and enable an image renderer for rainc.
Notice that you can switch between the two time steps but it is the same image.
Save session file session.vs3.
Run:
vapor session.vs3 $DIR/history.2000-05-31_00.00.00.nc $DIR/history.2000-05-31_06.00.00.nc $DIR/x5.tropical_3km_10N.init.nc

Now there are still two time steps which is correct but inconsistent with before.
Notice if you try advancing to the second of the two time steps, you get an error message.
Tested on casper.

Here's the session file:
0.1.LoadingTest.vs3.zip

@clyne
Run:
export DIR=/glade/p/cisl/vast/vapor/data/Source/MPAS/RosimarRiosBerrios/
vapor $DIR/history.2000-05-31_00.00.00.nc $DIR/x5.tropical_3km_10N.init.nc

Notice there are two timesteps while there should only be one.
Create and enable a 2D renderer for rainc.
Notice that you can switch between the two time steps but it is the same image.
Save session file session.vs3.
Run:
vapor session.vs3 $DIR/history.2000-05-31_00.00.00.nc $DIR/history.2000-05-31_06.00.00.nc $DIR/x5.tropical_3km_10N.init.nc

Now there are still two time steps which is correct but inconsistent with before.
Notice if you try advancing to the second of the two time steps, you get an error message.
Tested on casper.

Two things are going on here:

The grid file has a time coordinate variable, 'xtime', which is not present in the data files. Removing 'xtime' from x5.tropical_3km_10N.init.nc results in the correct number of time step being displayed, and allows your second step to run correctly.

The 'rainc' variable appears to be constant over time (at least it is constant in the two history files you are loading). If you use the 'olrtoa' variable you'll get the expected results.

I don't think that there is anything that we need to fix in VAPOR. The confusion with the lack of a time coordinate in the data files, exacerbated by having a time coordinate in the grid file, is probably not something we can realistically address. I think we should close this ticket.
cc @MattRehme


CNV-38571: Monitor user interaction in InstanceTypes and Templates flow

📝 Description
This PR adds monitoring for events in the InstanceType and Template VM creation flows.
Jira: https://issues.redhat.com/browse/CNV-38571

/lgtm

/lgtm
/retest

/retest

/retest


🔧 Update template

This pull request merges the current state of the template used here into this project so that it is up to date.

:tada: This PR is included in version 1.1.1-develop.1 :tada:
The release is available on:

v1.1.1-develop.1
GitHub release
Docker container (sebbo2002/fhem-log2db:1.1.1-develop.1)
v1.1.1-develop.1

Your semantic-release bot :package::rocket:

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

v1.1.1
GitHub release
Docker container (sebbo2002/fhem-log2db:1.1.1)
v1.1.1

Your semantic-release bot :package::rocket:


FAT-3206: Upgrade vulnerable dependencies

Upgrade cucumber-reporting from 5.7.1 to 5.7.3, this indirectly upgrades jsoup from 1.15.1 to 1.15.3 fixing cross-site scripting (XSS) https://nvd.nist.gov/vuln/detail/CVE-2022-36033
Upgrade graal-sdk from 21.2.0 to <IP_ADDRESS> fixing 18 vulnerabilities https://security.snyk.io/package/maven/org.graalvm.sdk:graal-sdk/21.2.0
Upgrade commons-codec from 1.11 to 1.15 fixing Information Exposure https://app.snyk.io/vuln/SNYK-JAVA-COMMONSCODEC-561518
Upgrade snakeyaml from 1.29 to 1.33 fixing Denial of Service (DoS) https://nvd.nist.gov/vuln/detail/CVE-2022-25857
https://nvd.nist.gov/vuln/detail/CVE-2022-38749
Upgrade jackson-databind from 2.13.0 to <IP_ADDRESS> fixing Denial of Service (DoS) https://nvd.nist.gov/vuln/detail/CVE-2022-42003
Upgrade Vert.x from unsupported version 4.2.7 to supported version 4.3.4.

Hi @julianladisch. After this commit, karate tests don't run even locally.


Provide a way to customize time unit for Logging{Service,Client}

A nanosecond and microsecondare used a default time unit for LoggingService and LoggingClient.
INFO c.l.a.s.l.LoggingService - [sreqId=...][h1c://foo.com/foo#GET] Request: ... duration=45446µs(45446187ns), scheme=none+h1c, user-agent=Mozilla/5.0...]}
INFO c.l.a.s.l.LoggingService - [sreqId=...][h1c://foo.com/foo#GET] Response: ... duration=16875µs(16875233ns), totalDuration=54124µs(54124177ns), headers=[...]}

Some users may want to use a millisecond or second unit for readabiliy. For example:
LoggingService.builder()
              .timeUnit(TimeUnit.MILLISECONDS)
              // or
              .timeUnit(TimeUnit.SECODNS, /* precision */ 6)
              ...
              .build()

INFO c.l.a.s.l.LoggingService - [sreqId=...][h1c://foo.com/foo#GET] Request: ... duration=45.446ms(45446187ns), scheme=none+h1c, user-agent=Mozilla/5.0...]}
INFO c.l.a.s.l.LoggingService - [sreqId=...][h1c://foo.com/foo#GET] Response: ... duration=16.875ms(16875233ns), totalDuration=54124µs(54124177ns), headers=[...]}

We may want to introduce a generic text formatter interface that replaces the static TextFormatter.

We may want to introduce a generic text formatter interface that replaces the static TextFormatter.

Hi @ikhoon, if this issue is still ongoing, may I handle it?

#4267 adds a new interface to customize the log format. I'm happy with your interest. However, I recommend you start this issue after #4267 is merged to minimize conflicts.

Thanks for checking 👍 That might resolve this issue as well. I will try it after #4267 is merged, if the issue is still present. Thanks again!


Wayland backend

What does the pull request do?
Add a Wayland backend for Linux.
There hasn't been any activity on the previous PR, which is why I'm opening one on my own.
At the moment, you have to manually generate the Wayland bindings because I haven't figured out how to do so on build:
cd ./src/Linux/NWayland/src/NWayland.Scanner && dotnet run
This PR is still WIP, help is greatly appreciated.
What currently works:

[x] Windowing:

[x] Window creation
[x] Window modes: Normal, Maximized, Fullscreen
[x] Resizing
[x] Popups
[x] File Dialogs (native + managed fallback)
[x] Tray icons
[x] Client Side Decorations

[ ] Keyboard:

[x] Basic input
[x] Key repetition
[ ] ITextInputMethodImpl with zwp_text_input_v3

[x] Mouse:

[x] Basic handling
[x] Scrolling
[x] Theme cursors
[x] Custom cursors
[x] Animated cursors

[x] Touch:

[x] Basic handling

[x] Data sharing:

[x] Clipboard:

[x] Reading
[x] Writing

[x] DND

[x] Rendering:

[x] Backends:

[x] EGL
[x] FrameBuffer

[x] Modes:

[x] Deferred
[x] Immediate
[x] Composition

What is the current behavior?
Currently, XWayland is used in order to run Avalonia apps on Wayland systems.
What is the updated/expected behavior with this PR?
Use Wayland instead of X11 on compatible systems.
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes
Some projects where moved to the Linux solution.
Obsoletions / Deprecations
None
Fixed issues
Fixes #1243
Fixes #2338 (?)

If Wayland bindings are stable, I'll publish a packaged version on nuget

@affederaffe I believe we already have rudimentary CSD that are used for Win32 backend. Resize-grips are missing but other than that they are more or less usable even with X11.

Ah, you were already trying to enable them, nvm

Neither resize nor move seem to be currently implemented and the X11 backend doesn't support CSD either, so I thought I'd disable them for now.

@kekekeks Any plans on releasing NWayland on NuGet?

@jmacato you need to use a desktop environment that supports server decorations. Basically not GNOME.

@affederaffe im still getting the same error in gnome on the latest commit:

Yes, your desktop environment needs to support Server Side Decorations. Please, check with desktop environment that supports zxdg_decoration_manager_v1

Decorations seem to work on Gnome now, though I noticed that popups and drag&drop are completely broken on it, even though they work perfectly fine on KDE.

This is wild :D but it seems like that we need a way to add CSD on windows that didnt specify it. I know GNOME is a bit thickheaded but it's a major DE that we cannot ignore.

@affederaffe this is so amazing :D i can do DnD on linux now :D thanks so much for this effort!
btw, some more bug reports if you dont mind:

Some windows still doesnt have CSD for some reason, like the DevTools window for example

@affederaffe @kekekeks im curious, is it possible to make a RenderTimer that is synchronized to the Compositor's refresh rate?

You can ask the compositor to send you a callback when it thinks that's a good idea to start rendering a new frame. However for that to work each window would have its own render timer. While being possible to refactor our rendering to use multiple render timers, I'm afraid the UI thread animations like their global variables a bit too much, so we can't do that.

@kekekeks by global variables you mean the inherited Clocks?

Yes, UI thread animations expect to have some global clock to function.

each window/surface can have one timer each and it should work fine

Animations can tick on brushes in resource dictionaries that are shared by multiple windows.

You might want to look into libdecor for handling SSD-less compositors (basically just Mutter from GNOME).

Last time I've checked libdecoration required glib and wasn't really thread safe, which is important because Avalonia does event handling/layout and rendering on different threads.

@kekekeks i like having our own CSD implementation better tbh. That way users can modify it so without much fuss.

@jmacato You need to add
<ItemGroup Label="InternalsVisibleTo">         <InternalsVisibleTo Include="NWayland.Protocols.Plasma, PublicKey=$(AvaloniaPublicKey)" />         <InternalsVisibleTo Include="NWayland.Protocols.Wlr, PublicKey=$(AvaloniaPublicKey)" />     </ItemGroup>
for the time being, that'll be fixed once the bindings are published on NuGet.

@affederaffe im getting this error now as well, fixed the public sigs though with your comment

@jmacato Update the NWayland submodule and regenerate the bindings

I opened a PR with my fixes for NWayland here.

Should Copy/Paste decode entered unicode codes? As far as I know hard-coded charachters are decoded correctly and only those entered by the user are escaped, just like with X11.
The framerate can easily be unlocked once there's a solution for brushes ticking in ResourceDictionaries as discussed above.
This seems to be an issue with shared contexts with the EGL backend and doesn't work on X11 either. I can try to fix this, though I have no knowledge on this so I'd appreciate a little help.

@affederaffe im waiting for @kekekeks to review your PR on NWayland's repo. After he publishes the nuget we can get this PR merged :)

@affederaffe Seems like the FPS overlay is not displaying correctly on Gnome?

I just tried this on Arch Linux KDE, and found issues related to maximising. The window would only maximise to a small portion of the actual screen size, and would become even smaller when any other window was focused

I also needed to remove the InternalsVisibleTo lines in the NWayland project file or no apps would build.
Very nice work though, other than that everything was working well as far as I saw!

Hope there is discussion with the core team on this and a plan for merging. Really should have been merged in before the RC in my opinion (so by preview 5). It needs a chance for good testing before release.

Hey @affederaffe ,
I want to reach out for you as 11.0 is going to be closer and this PR is a really huge PR. We really appreciate your efforts and it is on our todo-list to get it merged. But most likely it will not be included in 11.0, as 11.0 has already a lot of new stuff inside. We plan to add this feature in a 11.x release after the major 11.0 bugs are ironed out.
I hope for your understanding 💐
Happy coding
Tim

I completely understand, also there are still some bugs left I haven't had the time to fix yet and probably won't in the near future, so it's definitely for the better. Still, I plan to work on this PR eventually, it is not abandoned.

Okay, so we are on the same route. That's great. I think it is a good idea to merge master as you already do it in order to not get too much out of sync. Anything else can be done later 👍
Have a nice day.

To be clear: we are planning to extract any changes to Avalonia core libs from this PR and merge them before 11.0. That way the rest of Wayland support could be merged later in 11.x.

If it's helpful, here's an alternative Wayland scanner: https://github.com/X9VoiD/WaylandSharp

@affederaffe is there some way the community can help with this PR? What is still missing/not working at the moment?

Note that the way CSD are implemented kinda interferes with Window's Width/Height controlling the client area size. So it probably can't be merged as is and would require some major changes in either TopLevel or composition code.

Note that the way CSD are implemented kinda interferes with Window's Width/Height controlling the client area size. So it probably can't be merged as is, proper CSD would require some major changes in either TopLevel or composition code.

Proper CSD might be worth splitting into a separate PR, since there are already a lot of changes here. All that matters for a Wayland backend is that it runs on GNOME (which has no current or planned xdg-decoration support).

Gnome is pretty much the only "very special child" that needs us to implement CSD. Without CSD it won't show any window frame.
We could merge Wayland without CSD and ignore gnome for now since it would enable some embedded device scenarios that are running fullscreen anyways.

Note that the way CSD are implemented kinda interferes with Window's Width/Height controlling the client area size. So it probably can't be merged as is, proper CSD would require some major changes in either TopLevel or composition code.

Proper CSD might be worth splitting into a separate PR, since there are already a lot of changes here. All that matters for a Wayland backend is that it runs on GNOME (which has no current or planned xdg-decoration support).

I think that supporting GNOME and KDE Plasma (best looking) and XFCE (most lightweight) is quite important as they are "the top dogs" of desktop environments on Linux.
Perhaps improving Client Side Decorations is an issue that can be moved to the 11.x milestone?

Closed??

Wow...

Hopefully this is just closed because the strategy was changed a bit for 11.0

Pull out the core changes it needs and get those in for 11.0
Finish and merge this in the 11.x series in a separate PR

If this was closed because it is no longer developed that is most unfortunate. It should have been merged as-is and provided a good base for everyone to test and patch from. 95% was more than OK in my opinion for a previously unsupported backend.

I'm just starting to rebase my patches onto master and I decided it's easier to do so on a new branch. That comes with the advantage of a clean master branch and a feature branch, like it should've been from the start. The wayland backend still needs some work and I don't have that much time in the coming weeks, after that I do though.


Question regarding the test set

Hi!
I was trying to run experiments using the data you have uploaded.
However, it seems like there's only one test_coo_record.npz. It is the non IID testset?
Also, for the train set I would like to clarify if train_blend_coo_adj_graph.npz represents the one used for dice.
Thanks for your help!

Yes, we only evaluate for the non-IID scenario (test_coo_record.npz), and you are right that train_blend_coo_adj_graph.npz represents the one used for dice.

Thanks! Also, if I want to run the experiment on custom data which is only consisted of train and test set, do I need to create a skewed train set? I'm asking this because it seems like the dice dataloader uses both the train and skewed train set. or is it just okay to comment all lines that includes skewed part.

I think it is okay to only use the normal train set without a skewed train set.


GUI: when failing to load DI data the program freezes

I'm already unable to open the sheet (I didn't yet come as far as entering the data).
This is the error being thrown.
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/magpy/gui/magpy_gui.py", line 3474, in onInputSheet
    self.dilayout['scalevalue'] = self.options['scalevalue']
KeyError: 'scalevalue'

According to the code elsewhere in that file, something like the following seemed to help:
-        self.dilayout['scalevalue'] = self.options['scalevalue']
-        self.dilayout['double'] = self.options['double']
-        self.dilayout['order'] = self.options['order'].split(',')
+        self.dilayout['scalevalue'] = self.options.get('scalevalue', True)
+        self.dilayout['double'] = self.options.get('scalevalue', True)
+        self.dilayout['order'] = self.options.get('order', "MU,MD,EU,WU,ED,WD,NU,SD,ND,SU").split(',')

but that is pure guesswork. The input datasheet at least opens though.

Then again ... I experienced the following error:
Traceback (most recent call last):
  File "/Users/Data/Mojca/LGA/software/geomagpy/magpy-git/magpy/gui/magpy_gui.py", line 1934, in OnOptionsDI
    dlg = OptionsDIDialog(None, title='Options: DI Analysis parameters', options=self.options)
  File "/Users/Data/Mojca/LGA/software/geomagpy/magpy-git/magpy/gui/dialogclasses.py", line 699, in __init__
    self.createControls()
  File "/Users/Data/Mojca/LGA/software/geomagpy/magpy-git/magpy/gui/dialogclasses.py", line 724, in createControls
    self.diexpDTextCtrl = wx.TextCtrl(self, value=self.options.get('diexpD',''),size=(160,30))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa/wx/_controls.py", line 2019, in __init__
    _controls_.TextCtrl_swiginit(self,_controls_.new_TextCtrl(*args, **kwargs))
TypeError: String or Unicode type required

so I'm not quite sure if the above fix is ok or not.

The basic problem is that magpyini has changed and the new parameters are either not accessible or not in the appropriate format. This might happen always if new options are added in any future version. Solution: add a version info to magpyini and replace magpyini with a new default one in case that the magpy version has changed.

Finished with 6a3d4ab11080af05f7b77b923108c07d41945300.
Closing #32


MGDOBR-360 Disable Quarkus Dev services for Manager

Signed-off-by: Karel Suta<EMAIL_ADDRESS>Disable all Dev services for Manager.
MGDOBR-360
Please make sure that your PR meets the following requirements:

[x] Your code is properly formatted according to this configuration
[x] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[x] All new functionality is tested
[x] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

Test failure seems caused by ConcurrentModificationException on mock server for Shard test, rerunning.

Test failure seems caused by ConcurrentModificationException on mock server for Shard test, rerunning.

Do we have a ticket to stabilise this flaky test?

@danielezonca unfortunately no and the logs are gone. Will try to check the action history if I see such error in another log.


Even if I set CONFIG_SPIRAM_IGNORE_NOTFOUND=y in Config, if I try to get the SPIRAM size on a model that does not have SPIRAM, it aborts. (IDFGH-6326)

Environment

Development Kit:      [M5Stick-C]
Module or chip used:  [ESP32-PICO-D4]
IDF version (v4.2 release ~ master):

Problem Description
I am trying to create a program that will use SPIRAM if it is available and work without SPIRAM.
When I tried this two years ago, I was able to create it without any problems.
Probably after the following update, it will now "abort" if SPIRAM is not installed.
https://github.com/espressif/esp-idf/commit/bff6b5b70e042dbf5014a7463036fa8e9fc44490
Here abort() is written, which used to be return ESP_SPIRAM_SIZE_INVALID;.
https://github.com/espressif/esp-idf/blob/fdfa260b9197a0ef57e5d1d741cbd2e767d86128/components/esp_hw_support/port/esp32/spiram.c#L141-L146
Expected Behavior
Perhaps we can call "esp_spiram_is_initialized" in the user program and then branch,
but If SPIRAM is not installed, it is desirable to be able to get the size 0.
Actual Behavior
https://github.com/espressif/esp-idf/blob/fdfa260b9197a0ef57e5d1d741cbd2e767d86128/components/esp_hw_support/port/esp32/spiram.c#L160-L171
with SPIRAM : No problem.
esp_spiram_init() … psram_enable() is ESP_OK, set "spiram_inited=true".
esp_spiram_get_chip_size() … if (!spiram_inited) ==false, return spiram size.
without SPIRAM : abort.
esp_spiram_init() … psram_enable() is error, NOT set "spiram_inited=true".
esp_spiram_get_chip_size() … if (!spiram_inited) ==true, ESP_LOG "SPI RAM not initialized" and abort.

Same issue for me


CFE does not report a compile time error for "this" in field initializer

class C {
  final b = this;
}

/cc @askeksa-google


SQL script management

Management of SQL scripts has to be significantly redesigned.
Easy access to all datasource scripts.
Tags.
Search by content.
Content preview in script list.

It is an umbrella issue for #56

One question: Can I somewhere set the Scripts folder name and location by projects and in system?

Currently - no. Scripts folder located in the root of project ($home/.dbeaver//Scripts).
But you can attach (link) any number of external folders from you file system. Available thru context menu.
But I'm going to significantly change scripts management - so you can suggest any features.

Then my suggestions and notices:

configurable default scripts folder per project and global
if the script has in first line view or procedure DDL then the script name should only the VIEW_ and PROCEDURE_ by default (in fact you can look for keywords)
connect the saved scripts to a live source: if it see the saved proc and view source character length is not exact than the live one from the server, make notice in the script first line about that if somebody open the script (i dont know it is possible, but it will be very nice if somebody using the program with team)
if the script execute has error and the error message has row and col number than make it clickable and move the cursor to he given point
somehow the run script is running the script by each line or something like that, its weird, but with ALT+X is working
Foldable BEGIN END, also hovering on END show the BEGIN row
Show column type, length, description on hover
Special: PHPDOC style comments, syntax checker

I would like dbeaver to notice file changes in the file system.

3.5.7 includes many fixes + new way to work recent scripts + script contents preview.


More protocol friendly request pattern.

Add functionality to mirror the go-nats feature, https://github.com/nats-io/go-nats/pull/295.

If I'm reading this correctly, does the following describe that behavior?

Each client, when initiating a request, would create a connection local inbox
The client (read: per connection) would subscribe to that inbox as a wildcard
Each request from the client would have a reply to referencing that inbox plus a unique ID
The reply would be dispatched locally based on that unique ID

@sixlettervariables , were you thinking of contributing here?

As I understand it we, basically, do exactly this in our usage of the client (but for a different purpose than performance). Trying to understand the feature and how it may/may not affect us.

It really shouldn't affect you (beyond better performance), unless you have some subject based authorization enabled that would interfere with the internal subscription.

Resolved by #167.


parse const comment and draw note

type Kind string

// enum of kind
const (
    KindFoo Kind = "foo"
    KindBar Kind = "bar"
)

class "Kind" as k <<V>>

note as nk
    <b>enum of kind</b>
    KindFoo
    KindBar
end note

nk --> k

The top comment enum of kind can get from genDecl.Doc.Text().
evaluations can get from each gelDecl.[]valueSpec


sonobus: init at 1.6.0

Co-authored-by: @tobiasBora<EMAIL_ADDRESS>Please note that this is my first contribution here, so I might have done something wrong. If there's something I need to do differently, please don't hesitate to let me know!
Description of changes

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)
[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@nixos/darwin this app is cross-platform, and should build on macos. It'd be great to get it working on macos if some people want to try it.

Sounds good to me. That said, I'd be curious to see if it works on Darwin…  @NixOS/darwin-maintainers could someone check that? (PS: is it ok to ping you this way?)

Sounds good to me. That said, I'd be curious to see if it works on Darwin… @NixOS/darwin-maintainers could someone check that? (PS: is it ok to ping you this way?)

error: Package ‘alsa-lib-<IP_ADDRESS>’ in /nix/store/cad8sc7a3kiaq96mz5v35rmj5a405wqr-source/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix:36 is not supported on ‘x86_64-darwin’, refusing to evaluate.

@sikmir thanks! Btw any idea why ofborg-eval-darwin still passes? Is there anything we can do to ask ofborg to build on darwin? Or is it the test sonobus, sonobus.passthru.tests on aarch64-darwin that just appeared and is still running?

Since I wrote this, sonobus has made a new release, v1.6.2. @lilyinstarlight would it be okay for me to update the PR to 1.6.2?
(not sure if I'm allowed to do that)

Since I wrote this, sonobus has made a new release, v1.6.2. @lilyinstarlight would it be okay for me to update the PR to 1.6.2? (not sure if I'm allowed to do that)

Yes, please go ahead and update this PR! No reason to merge an already-outdated package :)

Alright, I think this is ready to be merged.


Update italian localization for the new 0.951

Update italian localization for the new 0.951

Me and my clan many times the enemy attacks our MOB (if positioned near the sector) obviously if we leave it to 300-400 meters, as we usually do ,they don't attack it

Many thanks again for the Update of the localization.
Before the end of the week, the tutorial will be expanded a little bit. I'll give you a hint per mail then :)

ok thank you so much


View ALL Rules

An important feature is to see ALL the rules in PF.
Maybe the auto generated stuff could have a special flag.

We are changing the way automatic rules are created (the old code was quite unstructured), but this is a long term operation to keep things operational in the meantime, first parts will be in 17.1.
Although there probably will always be some rules in the firewall, which are either hard-coded or coming from other services using anchors.
If you want to see the internals, you will have to use pfctl on the command line, its not very likely that we're going to parse those back to the UI in a structured way (maybe as a diagnostics page like pfinfo, although people who understand this content usually don't mind running pfctl from the command line).

Your work on auto-generated rules is very cool, but as you know automation should not always required. Sure pfctl can show all the rules and I was expecting this answer :)
But: an advanced mode will be very useful to view AND manage these automated rules and give to the user the full control on his firewall.

Thanks, it's a long way still, but when all rules are "plugged-in" we probably can disable parts in an advanced mode....
The original idea was to always sync all rules back to the config, but given the legacy already in there this turned out to be nearly impossible to keep in sync.
I don't mind having some automatic rules, as long as it's very obvious where they came from... it's a journey to a proper implementation, including api access eventually.
There probably will be some advanced mode at some point in time, we just have to be very careful in the steps we take ;)
Let's keep this issue open for reference.

FWIW, the new rules format makes it possible to render the previously "hidden" rules in the GUI, so that's a big plus on our way to 17.7 to increase visibility for a kind of "show all rules" diagnostics page. But as long as we have hardcoded rules, that effort shouldn't be started.

done as part of https://github.com/opnsense/core/issues/3312


Matrix binary data or not?

Currently matrices are represented as float arrays of size 4, 9 or 16.
Example:
rotation = [
    cos(a), -sin(a),
    sin(a), cos(a),
]

It looks great but third party libraries should convert the matrices to list of floats.
There should be at least an alternative way to set the matrices as binary data (just like the buffers).
Additionally:
If the transpose parameter is removed, the SetUniform and SetUniformMatrix will be merged.

SetUniform works with matrices