Fast prune: skipping rewrite / sparse files

Hey guys,
first of all, restic is a pretty neat tool for backup - thanks for all the effort you put into it!
I did some testing, and ended up with a lot of excludes and removed some delta backups.
While a backup with restic is extremely fast, the prune operation, on the other hand, is extremely slow, because data which already exist on the server is downloaded and uploaded again to rewrite pack files.
Is there any option to skip the rewrite all together? I'm interested to just clean up and delete old packs that don't hold any valuable data since the complete prune takes way to long.
I understand, that it's impossible to move blocks from one file to a different one, via SFTP, but since restic is only interested in removing stuff from the packs, why not just write zeros in the files?
Either the filesystem can handle sparse files and will punch holes or it might do compression, like btrfs, zfs, etc.
Since ssh can use compression for its connections, the zero write commands can be very bandwidth cheap, since only offsets are transmitted instead of data.
I think there are more backends than just file:// and sftp:// which could be optimized that way, to avoid reading and writing all the data we already stored in packs.
restic 0.9.6 compiled with go1.14 on linux/amd64

Restic is designed to never modify any files stored in the backup repository, except deleting them (I think it's not even possible to modify files on some of the supported backends). Overwriting parts of a pack files with zeros would just cause restic to regard them as damaged. To avoid that, restic would have to modify the pack header, hash the modified pack (which requires downloading it) to update the filename, and then also to rewrite an index file with the new pack filename.
The problem with prune being slow because it rewrites lots of packs is already tracked in #2547 and several other issues. There's also PR #2513 which adds commands that allow you to only rewrite pack files with more than e.g. 20% deleted blobs, just make sure that restic check does not complain about errors before using that PR.
If that solves your request, please close this issue.

Overwriting parts of a pack files with zeros would just cause restic to regard them as damaged. To avoid that, restic would have to modify the pack header, hash the modified pack (which requires downloading it) to update the filename, and then also to rewrite an index file with the new pack filename.

Well, but it would at least save the upload part of the same data again.
Since most people have much more download bandwidth than upload bandwidth this could save a lot of time.
It also avoids that the backend has to store the data a second time, writes on the medium, which might be associated with cost - as well as cut the total bandwidth use in half since there's no need to upload anything again.
In the case of a local filesystem, the speed increase would be massive, since we can punch holes in the files with fallocate instead of actually writing any data.

This cannot work for several backends: S3 does not offer any way to modify files except uploading a new version. B2 allows you to copy parts of an existing file to a new one (but in that case you could just as well assemble a new pack without gaps). The block blobs in Azure also don't seem to allow you to just drop specific byte ranges and so one.
My steps to modify a pack also missed one step that would be required to make this crash-safe: prune always uploads a new pack, then modifies then index and removes the old pack afterwards. And that would require another upload of the pack file. There's no way to avoid that unless you were able to atomically modify the pack header, punch the hole in the file, rename the pack and replace the index file. That would basically support for a filesystem transaction which, as far as I am aware of, not supported by any of the backends.

This cannot work for several backends: S3 does not offer any way to modify files except uploading a new version. B2 allows you to copy parts of an existing file to a new one (but in that case you could just as well assemble a new pack without gaps). The block blobs in Azure also don't seem to allow you to just drop specific byte ranges and so one.

Well, I'm not really interested in cloud services. And just because a specific backend does not support this operation, doesn't really mean it's a blocker for the rest.

My steps to modify a pack also missed one step that would be required to make this crash-safe: prune always uploads a new pack, then modifies the index and removes the old pack afterwards. That is it would always require an upload of the pack file. There's no way to avoid that unless you were able to atomically modify the pack header, punch the hole in the file, rename the pack and replace the index file. That would basically support for a filesystem transaction which, as far as I am aware of, not supported by any of the backends.

Well, move is atomic. You can calculate the byteranges, upload them as a simple list to the server. Then move the file you like to modify and punch the holes. If there's a crash, you can just punch all holes again to complete this operation.
Afterward, you download the file, generate the new checksum and move the file to the new location.

@RubenKelevra I did not fully get which problem you like to solve..
If your problem is "prune is too slow because it downloads a lot of things", the main reason is that prune downloads all pack files to rebuild the index from scratch (twice, I think). And yes, it additionally downloads and re-uploads all packs that need a repack. In my judgement however, the first point is usually the dominating one.
To remedy this, try out #2513. Using the commands of this PR results in

Only using the contents of snapshot and index files and tree pack files for determining what to delete/repack (i.e. use only potential already-cached file contents)
Specify various criteria whether to repack or not a pack file and also allow to not repack any pack file but only delete completely unused files
Altogether this makes the "cleanup" very very fast if you are willing to accept partly used packs and still very fast if you imitate the repacking options of prune

I know that #2513 is still not perfect and more work and tests are needed, but, IMO, this is the way to solve the most severe issues with prune.
About your proposal with writing sparse files:
Thinking about a solution how to minimize traffic when deleting (few) blobs from the repository and generate a new interface between "backup client" and "storage", I would actually prefer a different solution: Make an REST interface that allows to query/store/get/delete blobs just by its blob ID. This is what e.g. borg does and would be IMO a much more natural approach.

Specify various criteria whether to repack or not a pack file and also allow to not repack any pack file but only delete completely unused files

Yeah, that alone would be nice. And maybe repack some of the packs when they got really "empty".

About your proposal with writing sparse files:
Thinking about a solution how to minimize traffic when deleting (few) blobs from the repository and generate a new interface between "backup client" and "storage", I would actually prefer a different solution: Make an REST interface that allows to query/store/get/delete blobs just by its blob ID. This is what e.g. borg does and would be IMO a much more natural approach.

Well, I just see no need to actually download and rewrite complete files, when you just want to remove single blobs from the file. From a filesystem perspective, there's hardly any overhead when punching holes in files. Ext4 and XFS can actually even collapse ranges in files, which is extremely fast compared to a rewrite and would hardly leave any overhead.
On BTRFS, for example, you can write a shadow copy of the file with cp --reflink=always and punch the holes in the copy of the file.

@RubenKelevra I did not fully get which problem you like to solve..

Well, I got two servers and two USB drives where I like to write my backups, while I have a somewhat fast throughput of new files, which disappear again on the filesystem I like to backup.
So I need to clean up the space again periodically, to not run out of storage.
Since I don't want to copy from one server to the other one, avoiding potentially copying an error from one server to another one, I have to download and upload quite a lot of data, just to clean the restic repo up - which is far from ideal :/
Previously I used ZFS snapshots and transferred the deltas to both servers, but I switched to BTRFS on my systems recently, and don't really trust it's snapshot system fully.
So I decided to give restic a go.

Well, I'm not really interested in cloud services. And just because a specific backend does not support this operation, doesn't really mean it's a blocker for the rest.

It looks rather different when you approach that question from a code maintenance perspective: Right now, restic has a uniform interface for its backend implementations which keeps the maintenance overhead for each backend low. Adding special functionality just for e.g. the local and sftp backend together with a widely different prune implementation (which in total might end up with thousands of additional code lines), poses the question whether the costs outweigh the possible benefits.

Well, move is atomic. You can calculate the byteranges, upload them as a simple list to the server. Then move the file you like to modify and punch the holes.

Punching holes is not enough. It is also necessary to modify the pack header to accurately reflect which blobs it still contains. And if that fails halfway during the operation restic would need a way to rollback / redo the modifications which requires a journal file. That just adds a gigantic amount of further complexity along with necessitating a change of the repository format.
In case prune shouldn't violate the strong "recommendation" that every used blob must be contained in an index, it will be necessary to journal the updates of the index files. This just complicates things even further (e.g. restic would need to replay the journal before being able to even read from the repository or replay the modifications in memory 😨 ).
Although punching holes into files is an interesting idea, I don't see how that could be added to restic at an acceptable level of additional complexity. It also conflicts with the philosophy that pack files should never be modified once they were written.

Make an REST interface that allows to query/store/get/delete blobs just by its blob ID. This is what e.g. borg does and would be IMO a much more natural approach.

That would be basically a reimplementation of restic to work in a way similar to borg. At that point it's easier to just use borg. It is a fundamental design decision of restic to not require "smart" data storage.
@RubenKelevra My understanding is that the actual problem you want to solve is to reduce the write amplification of prune. And for that the simplest solution is to either just delete completely unused packs or to just rewrite those with e.g. 50% unused blobs.

I'm closing this for now, as I don't see a way to implement this without changing some of the fundamentals of restic (especially the rule to never modify a file once it's written). A faster prune implementation could rather look like e.g. #2718.


change yaml.load id from b506 to b612

Resolves #306
I found the next unused number in the 6xx series which was 612 and basically did a find/replace of b506 to b612. Made sure to correct the ordering in the readme though.

Thanks @ericwb, makes sense. How do you want to handle people who have blacklisted B506?


deck file openapi2kong broken for swagger 2.0

As of version 1.39.5 deck file openapi2kong fails to process swagger 2.0 specifications. This was working in 1.39.4 and prior. This is still broken in 1.40.3.
The error reported is:
2024/10/09 10:40:16 "msg"="error while building v3 document model \n" "error"="unable to build openapi document, supplied spec is a different version (oas2). Try 'BuildV2Model()'"
Error: failed converting OpenAPI spec 'petstore.yaml'; cannot create v3 model from document: 1 errors reported

(Tested using https://raw.githubusercontent.com/OAI/OpenAPI-Specification/refs/heads/main/examples/v2.0/yaml/petstore-expanded.yaml)

We recently switched OpenAPI processing library to support OpenAPI 3.1. A side effect of this is that v2 no longer works.
Swagger (v2) was not officially supported by the tool, and so is not covered by backwards compatibility guarantees. If you'd like to submit a PR to make v2 work once again we can review, with the caveat that v2 is still not officially supported.

It's probably better to convert to 3.0 with https://github.com/Mermade/oas-kit/tree/main/packages/swagger2openapi and then use deck file openapi2kong.
Closing this issue.


Mixins vs. composition?

I was wondering if there are any plans for making this library work with ES6 classes without requiring the use of mixins? It isn't a huge deal since the React team has been pretty explicit that React.createClass isn't going anywhere, but it would be nice not to have to find a way to use mixins just to use radium.
This thread discusses the possible evolution of React apart from mixins: https://github.com/facebook/react/issues/1380
Here's an example from @sebmarkbage of one way to accomplish a similar effect compositionally: https://gist.github.com/sebmarkbage/fac0830dbb13ccbff596
Seems like maybe something like this could work for radium, or possibly be exposed as an alternative to standard mixins? Anyone have thoughts?

We haven't made any specific plans for this, but it's something we want to do. React is moving away from the current mixin system, and I personally want to start using ES6 classes, so there's plenty of motivation.
I've been following the discussion around mixins + alternatives very loosely, but hadn't seen that gist. Looks like a good direction to explore.
I think I'd prefer to keep mixins around for people who want to keep using createClass, but allowing users to choose which approach they want to take makes perfect sense to me.

Is this something you have made progress on, or are working on?

We've got a new Higher Order Component-- Radium.Enhancer, shipping in Radium 0.12. With that, Radium is fully ES6 class compatible.

woot!


Make users able to download the corresponding files of the layers.

When users browse the layers in netcdf, they may want to download it. Allow them.

Done


Sum of Sub matrix for given Q queries

💥 Proposal
This #264 helps to find the sum of all sub matrices in the given matrix, and this concept is used to find the sum of sub matrix for any given bounds. In this problem, Q queries will be given which gives bounds of the sub matrix. We have to find its sum. Brute force takes O(Q * (N ^ 2)) complexity, but using the method 2 in #264, we can optimise it to a complexity of O(N ^ 2) space and time.
Have you read the Contributing Guidelines on Pull Requests ?
Yes

@ankitapuri I would like to work in C++ under CrossWoC.

Hi @ankitapuri
I would like to solve it in Python. Please assign it to me in Python


Property 'TrimLeft' does not exist on type 'string'.ts(2339)

at snapshot.ts 117line, can not build

Not sure what happens here, could you confirm your typescript version and tsconfig?
The build process works fine in my local dev env and CI.

Please reopen this issue if there is any further information.


Nested pairs not completing

Hi,
I'm probably missing something in the config, but I cannot figure it out.
I want to complete nested pairs inside quotes.
For example in python:
print(f"value = {|")

When I type the { inside the string, the pair is not added.
Can you point me in the right direction to configure this behaviour?

are you using treesitter and  check_ts =true

Yes, that works!
Thanks a lot


Arrow (in polilines) with styles

For example, we draw a line, however we want to put over the line the direction of the line, so will be great if we can set the type of the line, such as line with arrow at the sides .
Thanks.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9269301-arrow-in-polilines-with-styles?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github).

If you create that feature, I'm very appreciated for you :)

Try this one.
http://www.wolfpil.de/v3/arrow-heads.html
The above page draws arrow signs using Google Maps JavaScript API v3 without Symbol.
I don't have enough time to try for this plugin currently, so please try by youeself.


Update composer.json

Compatible with symfony 3.3

This won't work, as shown by the test suite.x

This change was already proposed and rejected so I'm closing. See #2962 for details.


NVOffset

So when multiple tables use one rom, NVOffset is needed in the table script to keep high scores separate. Is vpin studio able to use these NVOffset files to keep high scores for multiple tables with the same rom?
Thanks

The nvoffset is used by VPX when writing the highscore into the nvram file, and it is checked by the VPin Studio to determine the correct nvram for the highscore extraction. So since tables writes their highscores in different nvrams using the same ROM, the scores are separated.
At least that's my understanding (iirc). But I haven't had a look on this for a long time and want to build a better support for it - e.g. a check if there is a matching nvram file available, including the option to support ROM aliases.
The ticket for this is here: https://github.com/syd711/vpin-studio/issues/137
I hope this anwers you question.

I just discovered NVoffset and am learning how it works. I wasnt sure if
your program is compatible with the way it works and if it could find the
high scores for games that share the same rom.
On Thu, Feb 22, 2024, 3:21 AM syd711 @.***> wrote:

The nvoffset is used by VPX when writing the highscore into the nvram
file, and it is checked by the VPin Studio to determine the correct nvram
for the highscore extraction. So since tables writes their highscores in
different nvrams using the same ROM, the scores are separated.
At least that's my understanding (iirc). But I haven't had a look on this
for a long time and want to build a better support for it - e.g. a check if
there is a matching nvram file available, including the option to support
ROM aliases.
The ticket for this is here: #137
https://github.com/syd711/vpin-studio/issues/137
I hope this anwers you question.
—
Reply to this email directly, view it on GitHub
https://github.com/syd711/vpin-studio/issues/161#issuecomment-1958928270,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANIYI6CNZ5PQU3WI3SCY7BLYU35XZAVCNFSM6AAAAABDT4OCGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJYHEZDQMRXGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I hope I answered your question, so I close this ticket for now.
As already mentioned, by fixing the related ticket, I hope to better visualize the support for this too.


bump minimum version requirements in composer.json

Q
A

Bug Fix?
no

New Feature?
no

BC Breaks?
yes

Deprecations?
no

Fixed Tickets

License
MIT

A new inspection was created.

A new inspection was created.

The inspection completed: No new issues

A new inspection was created.

The inspection completed: No new issues

The inspection completed: No new issues


Update for Swift 4.2, remove CountedSet Xcode project as it can be generated

Thank you, this looks very good. Just one question above.


The word, "compromises," is not quite clear in this sentence and should be refined.

The word, "compromises," is not quite clear in this sentence and should be refined.
Originally posted by @sickcodes in https://github.com/github/site-policy/pull/406#discussion_r640036311

Асистемность

``

I was more than harassed and Abuse through these actions who do I reach out too….

Not just me either but i need someone who can share she answers with me honestly

As we looked into this issue, we realized our Acceptable Use Policies account for the prohibited uses of Pages. So we updated the Pages terms' prohibited uses to note that

GitHub Pages may not be used in violation of the Agreement, the GitHub Acceptable Use Policies, or the GitHub Pages service limitations set forth in the Pages documentation.

and also updated the Pages documentation to note some examples.


Fix the mysql replication example

@bparees this just updates the template to adopt recent patterns. I tested this and it is working \o/

@jhadvig PTAAH

@mfojtik looking && testing...

@jhadvig testing successful?

I tested this and presented today :) Everything is working and you can
nicely scale this up or down... One thing that I think I should change is
the service name to be just mysql so you can use this template with our
examples.
On Jun 18, 2015 3:52 PM, "Ben Parees"<EMAIL_ADDRESS>wrote:

@jhadvig https://github.com/jhadvig testing successful?
—
Reply to this email directly or view it on GitHub
https://github.com/openshift/mysql/pull/52#issuecomment-113163298.

you can use the template w/ our examples, our examples let you specify the DB service name now.


Do we need a no-onchange rule?

Hello. ✋
I was recently trying out Svelte tutorial and encountered the following error.

A11y: on:blur must be used instead of on:change, unless absolutely necessary and it causes no negative consequences for keyboard only or screen reader users.

It's one where you have to use on:blur if you are using only on:change.
I just remembered that there is a no-onchange rule in eslint-plugin-vuejs-accessibility.
https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/blob/master/docs/no-onchange.md
By the way, I also looked at the eslint-plugin-jsx-a11y rules, but they are now deprecated.
Please check the details below.
https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/398
As for React.js, it seems that using the onBlur event will cause a warning on the console.

Is it really a problem to just write onChange? I've been looking into it.
In the WebAim discussion, the following is a "mostly" OK response.
https://webaim.org/discussion/mail_thread?thread=8036#post1

In most cases this is actually ok.

I would say, rough estimate, that 80% of onchange events I have seen are ok, 20% are not.

Of the articles referenced in eslint-plugin-vuejs-accessibility, one seems to have an invalid link, and the other link is from around 2004.

It is important to have accessibility measures as a rule, but I think that this rule needs to be updated.
I have two suggestions for the no-onchange rule.

Treat the rule itself as deprecated (as in jsx).
Make this rule a warning only, rather than an error (is this possible?)

Of course, this is just my opinion from what I've seen, and I'd like to hear opinions from various people. :-)

From what I am reading here it is something that is deprecated and meant to target older-browsers.
https://open-wc.org/docs/linting/eslint-plugin-lit-a11y/rules/no-invalid-change-handler/

I would say that if someone get this issue to fix, it would be removing it from the recommended and add a note about it being deprecated on the documentation of the rule? probably best to include some links about the decision about it's deprecation, at least this issues link.

I see that we didn't really have much of a discussion about this, but the points presented are very compelling in my opinion, that's why I'm saying this, but if someone has anything against it, we'd like to hear from you. :smile:


Walkthrough's quick picks close unexpectedly

Type: Bug
Context changes causes images to flicker and, worse, quick picks to close.

Run Developer: Reset Welcome Page Walkthrough Progress
Open Get Started with VS Code walkthrough
Open step One shortcut to access everything or Quickly navigate between your files
Hit the button

🐛 Quick pick closes right after clicking and image flashes.
VS Code version: Code - Insiders 1.77.0-insider (b2ea6aa9fc4c9bebc3d2c2992a891244819dbccd, 2023-03-08T05:22:25.379Z)
OS version: Darwin x64 22.3.0
Modes:
Sandboxed: Yes

Seems as the context changes, which changes focus and closes the quick picks.

Working on a fix for this...

syncStatus fires the context changed event too many times which causes us to reload the media
Ill add a guard to prevent media from being rebuilt if its already open and expanded.
But there is likely a larger issue to be fixed with the syncStatus being fired too many times.
You can turn off settings sync and try the steps described above - no repro.


ValueError: No media data found.

I have several MXF video files that cannot be imported. The error reads
"Could not create the task Error: Could not create the task on the server. ValueError: No media data found."
However, running "mediainfo" on the files gives sensible output. The files are processed fine with other applications.
Can you provide advice on how to determine the root of the problem?
Server version: 1.2
Core version: 3.8.0
Canvas version: 2.1.2
UI version: 1.9.10
Example output of mediainfo:
General
Complete name                            : 0151-008-cl.MXF
Format                                   : MXF
Commercial name                          : DV
Format version                           : 1.3
Format profile                           : OP-1a
Format settings                          : Closed / Complete
File size                                : 69.1 MiB
Duration                                 : 20 s 0 ms
Overall bit rate                         : 29.0 Mb/s
Recorded date                            : 2019-11-25 16:59:20.000
Encoded date                             : 0-00-00 00:00:00.000
Writing application                      : FFmpeg OP1a Muxer <IP_ADDRESS>.0

Video
ID                                       : 2
Format                                   : DV
Format settings, wrapping mode           : Frame
Codec ID                                 : 0D01030102020201-0401020202010200
Duration                                 : 20 s 0 ms
Bit rate mode                            : Constant
Bit rate                                 : 24.4 Mb/s
Encoded bit rate                         : 28.8 Mb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Original display aspect ratio            : 16:9
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan order                               : Bottom Field First
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 2.357
Time code of first frame                 : 16:59:20:20
Time code source                         : Subcode time code
Stream size                              : 58.3 MiB (84%)
Encoded stream size                      : 68.7 MiB (99%)

Other #1
ID                                       : 1-Material
Type                                     : Time code
Format                                   : MXF TC
Time code of first frame                 : 16:56:47:21
Time code settings                       : Material Package
Time code, striped                       : Yes

Other #2
ID                                       : 1-Source
Type                                     : Time code
Format                                   : MXF TC
Time code of first frame                 : 16:56:47:21
Time code settings                       : Source Package
Time code, striped                       : Yes

Other #3
Type                                     : Time code
Format                                   : SMPTE TC
Muxing mode                              : SDTI
Time code of first frame                 : 16:56:47:21

@manybodycpa Hi, try to add the following line video/mxf mxf into https://github.com/openvinotoolkit/cvat/blob/develop/cvat/apps/engine/media.mimetypes.
Could you please submit a PR if it will help?

Thanks. I added the suggested line but without success (I also ran docker-compose build).

Ok, I'll take a look.


[catalog-import] Move github code search to the backend

Hey, I just made a Pull Request!
fixes: https://github.com/backstage/backstage/issues/10603

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

hm the E2E Test Techdocs fails, but I would assume this changeset shouldn't touch that part

hm the E2E Test Techdocs fails, but I would assume this changeset shouldn't touch that part

yeah don't worry about the E2E tests for techDocs, there's an ongoing issue in an upstream dependency :)

Thanks for taking a look, I agree with everything that you wrote!

Ideally the different analyzers should be external modules, perhaps the catalogBuilder could allow for adding/replacing new ones for different backends? This would allow us to evolve the individual analyzers in isolation as long as they conform with the base interface.

I like this approach and makes sense. Let me rework this PR a bit to move out the GitHub dependency!

Thanks for taking a look, I agree with everything that you wrote!

Ideally the different analyzers should be external modules, perhaps the catalogBuilder could allow for adding/replacing new ones for different backends? This would allow us to evolve the individual analyzers in isolation as long as they conform with the base interface.

I like this approach and makes sense. Let me rework this PR a bit to move out the GitHub dependency!

Awesome! Glad to hear that you

Added the suggestions and made the changesets a bit more detailed.

Moved the types to @backstage/plugin-catalog-common. Actually the package existed already but without much thing in it.
I duplicated the RecursivePartial type because I saw in a changelog that it got explicitly removed from the public interface of the catalog-backend. Don't really like it though. Do you have a better approach for this ?

and catalog-node also need a changeset. So many package updates! 💪

ah, yea 🤦🏿  It became quiet big, haha :D Thanks forhelping me with this one! :)

Thank you for contributing during Hacktoberfest 🍂! You can claim the Backstage Hacktoberfest Holopin at https://bck.st/hacktoberfest-holopin 🙌🏻


Fixed crash when making subresource unique in inspector dock

The problem was that when a Node is deleted, the InspectorDock was left out from the update.
A possible improvement would be to refactor this into its own function as this action is performed several time.
Fixes #30160
Edit : Don't think its possible to refactor them into a function as many of the updates differently depending on the type of Node being selected etc etc.
Edit: I would like to point out several other places where such update are performed. I am not entirely familiar with the editor and as such cannot make a judgement on whether or not they all do the same thing.

https://github.com/godotengine/godot/blob/ad0d87b4dddfe6b9e88510dd526bcd4028ba3030/editor/editor_node.cpp#L1573-L1578
https://github.com/godotengine/godot/blob/ad0d87b4dddfe6b9e88510dd526bcd4028ba3030/editor/editor_node.cpp#L1664-L1667
https://github.com/godotengine/godot/blob/ad0d87b4dddfe6b9e88510dd526bcd4028ba3030/editor/editor_node.cpp#L1690-L1697
https://github.com/godotengine/godot/blob/ad0d87b4dddfe6b9e88510dd526bcd4028ba3030/editor/editor_node.cpp#L1714-L1715

Notice that all of them (except for one in my commit) are not updating inspector_dock.
Edit: I forgot to mention that this commit will cause the screwdriver-icon-thing thing to be disabled. I don't even know what it used to do given that "nothing" is selected, but is definitely a UI change.

Notice that all of them (except for one in my commit) are not updating inspector_dock.

As far as I know that's the purpose of get_inspector()->edit(NULL) calls that are in the snippets you linked.

Unfortunately I don't think this is the case, InspectorDock have its own member variable called current that is supposedly the pointer to the current item selected. I think this current variable is not exposed to anyone outside i.e. used exclusively within InspectorDock.

I have made the changes that you recommended @groud

Thanks!


Not able to complete a deployment - failed during the sampleapp validation

Describe the bug
After running a deployment by using the container image, it fails during the sampleapp validation
To Reproduce
Steps to reproduce the behavior:

Clone kubeinit
Run from the container with:

podman run --rm -it -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:z -v ~/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:z -v ~/.ssh/config:/root/.ssh/cong:z -v ./kubeinit/inventory:/kubeinit/kubeinit/inventory quay.io/kubeinit/kubeinit:2.0.1 -vvv --user root -e kubeinit_spec=okd-libvirt-1-3-1 -i ./kubeinit/inventory ./kubeinit/playbook.ym

Error:

TASK [kubeinit.kubeinit.kubeinit_apps : Wait until pods are created] ******************************************************************************
task path: /root/.ansible/collections/ansible_collections/kubeinit/kubeinit/roles/kubeinit_apps/tasks/sampleapp.yml:35
Using module file /usr/lib/python3.9/site-packages/ansible/modules/command.py
Pipelining is enabled.
<<IP_ADDRESS>> ESTABLISH SSH CONNECTION FOR USER: root
<<IP_ADDRESS>> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=accept-new -i '~/.ssh/okdcluster_id_rsa' -o 'ProxyCommand=ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=accept-new -i ~/.ssh/okdcluster_id_rsa -W %h:%p -q root@nyctea' -o ControlPath=/root/.ansible/cp/2a631e4199 <IP_ADDRESS> '/bin/sh -c '"'"'/usr/bin/python3 && sleep 0'"'"''
<<IP_ADDRESS>> (0, b'\n{"changed": true, "stdout": "sampleapp-6684887657-dspc5   0/1     Pending   0          0s\\nsampleapp-6684887657-fr8r5   0/1     Pending   0          0s\\nsampleapp-6684887657-t69wp   0/1     Pending   0          0s\\nsampleapp-6684887657-zl59s   0/1     Pending   0          0s", "stderr": "", "rc": 0, "cmd": "set -o pipefail\\nkubectl get pods --namespace=sampleapp | grep sampleapp\\n", "start": "2022-04-01 14:55:34.298003", "end": "2022-04-01 14:55:34.371286", "delta": "0:00:00.073283", "msg": "", "invocation": {"module_args": {"executable": "/bin/bash", "_raw_params": "set -o pipefail\\nkubectl get pods --namespace=sampleapp | grep sampleapp\\n", "_uses_shell": true, "warn": false, "stdin_add_newline": true, "strip_empty_ends": true, "argv": null, "chdir": null, "creates": null, "removes": null, "stdin": null}}}\n', b'')
changed: [localhost -> service(<IP_ADDRESS>)] => {
    "attempts": 1,
    "changed": true,
    "cmd": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep sampleapp\n",
    "delta": "0:00:00.073283",
    "end": "2022-04-01 14:55:34.371286",
    "invocation": {
        "module_args": {
            "_raw_params": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep sampleapp\n",
            "_uses_shell": true,
            "argv": null,
            "chdir": null,
            "creates": null,
            "executable": "/bin/bash",
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": false
        }
    },
    "msg": "",
    "rc": 0,
    "start": "2022-04-01 14:55:34.298003",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "sampleapp-6684887657-dspc5   0/1     Pending   0          0s\nsampleapp-6684887657-fr8r5   0/1     Pending   0          0s\nsampleapp-6684887657-t69wp   0/1     Pending   0          0s\nsampleapp-6684887657-zl59s   0/1     Pending   0          0s",
    "stdout_lines": [
        "sampleapp-6684887657-dspc5   0/1     Pending   0          0s",
        "sampleapp-6684887657-fr8r5   0/1     Pending   0          0s",
        "sampleapp-6684887657-t69wp   0/1     Pending   0          0s",
        "sampleapp-6684887657-zl59s   0/1     Pending   0          0s"
    ]
}

TASK [kubeinit.kubeinit.kubeinit_apps : Wait until pods are running] ******************************************************************************
task path: /root/.ansible/collections/ansible_collections/kubeinit/kubeinit/roles/kubeinit_apps/tasks/sampleapp.yml:48
Using module file /usr/lib/python3.9/site-packages/ansible/modules/command.py
Pipelining is enabled.
<<IP_ADDRESS>> ESTABLISH SSH CONNECTION FOR USER: root
<<IP_ADDRESS>> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=accept-new -i '~/.ssh/okdcluster_id_rsa' -o 'ProxyCommand=ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=accept-new -i ~/.ssh/okdcluster_id_rsa -W %h:%p -q root@nyctea' -o ControlPath=/root/.ansible/cp/2a631e4199 <IP_ADDRESS> '/bin/sh -c '"'"'/usr/bin/python3 && sleep 0'"'"''
<<IP_ADDRESS>> (1, b'\n{"changed": true, "stdout": "", "stderr": "", "rc": 1, "cmd": "set -o pipefail\\nkubectl get pods --namespace=sampleapp | grep Running\\n", "start": "2022-04-01 14:55:34.527107", "end": "2022-04-01 14:55:34.597990", "delta": "0:00:00.070883", "failed": true, "msg": "non-zero return code", "invocation": {"module_args": {"executable": "/bin/bash", "_raw_params": "set -o pipefail\\nkubectl get pods --namespace=sampleapp | grep Running\\n", "_uses_shell": true, "warn": false, "stdin_add_newline": true, "strip_empty_ends": true, "argv": null, "chdir": null, "creates": null, "removes": null, "stdin": null}}}\n', b'')
<<IP_ADDRESS>> Failed to connect to the host via ssh:
FAILED - RETRYING: [localhost -> service]: Wait until pods are running (60 retries left).Result was: {
    "attempts": 1,
    "changed": false,
    "cmd": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep Running\n",
    "delta": "0:00:00.070883",
    "end": "2022-04-01 14:55:34.597990",
    "invocation": {
        "module_args": {
            "_raw_params": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep Running\n",
            "_uses_shell": true,
            "argv": null,
            "chdir": null,
            "creates": null,
            "executable": "/bin/bash",
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": false
        }
    },
    "msg": "non-zero return code",
    "rc": 1,
    "retries": 61,
    "start": "2022-04-01 14:55:34.527107",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []

< 59 attempts later>
fatal: [localhost -> service(<IP_ADDRESS>)]: FAILED! => {
    "attempts": 60,
    "changed": false,
    "cmd": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep Running\n",
    "delta": "0:00:00.071734",
    "end": "2022-04-01 15:00:52.670565",
    "invocation": {
        "module_args": {
            "_raw_params": "set -o pipefail\nkubectl get pods --namespace=sampleapp | grep Running\n",
            "_uses_shell": true,
            "argv": null,
            "chdir": null,
            "creates": null,
            "executable": "/bin/bash",
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": false
        }
    },
    "msg": "non-zero return code",
    "rc": 1,
    "start": "2022-04-01 15:00:52.598831",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []
}

TroubleShooting

oc get deployments -n sampleapp
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
sampleapp   0/4     4            0           3h32m

sh-4.4# oc describe pod sampleapp-6684887657-vqnfw -n sampleapp
Name:         sampleapp-6684887657-vqnfw
Namespace:    sampleapp
Priority:     0
Node:         worker1/<IP_ADDRESS>
Start Time:   Fri, 01 Apr 2022 18:30:23 +0000
Labels:       app=sampleapp
              pod-template-hash=6684887657
Annotations:  k8s.v1.cni.cncf.io/network-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              k8s.v1.cni.cncf.io/networks-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              openshift.io/scc: restricted
Status:       Pending
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/sampleapp-6684887657
Containers:
  nginx:
    Container ID:
    Image:          quay.io/bitnami/nginx:latest
    Image ID:
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nll5f (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-api-access-nll5f:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
    ConfigMapName:           openshift-service-ca.crt
    ConfigMapOptional:       <nil>
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason          Age                     From               Message
  ----     ------          ----                    ----               -------
  Normal   Scheduled       8m27s                   default-scheduler  Successfully assigned sampleapp/sampleapp-6684887657-vqnfw to worker1
  Normal   AddedInterface  8m25s                   multus             Add eth0 [<IP_ADDRESS>/23] from openshift-sdn
  Warning  Failed          7m24s                   kubelet            Failed to pull image "quay.io/bitnami/nginx:latest": rpc error: code = Unknown desc = pinging container registry quay.io: Get "https://quay.io/v2/": dial tcp <IP_ADDRESS>:443: connect: no route to host
  Normal   Pulling         6m34s (x4 over 8m25s)   kubelet            Pulling image "quay.io/bitnami/nginx:latest"
  Warning  Failed          6m28s (x3 over 8m19s)   kubelet            Failed to pull image "quay.io/bitnami/nginx:latest": rpc error: code = Unknown desc = pinging container registry quay.io: Get "https://quay.io/v2/": dial tcp <IP_ADDRESS>:443: connect: no route to host
  Warning  Failed          6m28s (x4 over 8m19s)   kubelet            Error: ErrImagePull
  Warning  Failed          6m15s (x6 over 8m18s)   kubelet            Error: ImagePullBackOff
  Normal   BackOff         3m20s (x18 over 8m18s)  kubelet            Back-off pulling image "quay.io/bitnami/nginx:latest"

Expected behavior
A running OKD cluster with 1 Master and 3 Workers
Infrastructure

Hypervisors OS: CentOS-Stream 8
CPUs : 32 Cores
Memory: 128 GB
HDD: 1TB

Deployment command
odman run --rm -it -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:z -v ~/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:z -v ~/.ssh/config:/root/.ssh/cong:z -v ./kubeinit/inventory:/kubeinit/kubeinit/inventory quay.io/kubeinit/kubeinit:2.0.1 -vvv --user root -e kubeinit_spec=okd-libvirt-1-3-1 -i ./kubeinit/inventory ./kubeinit/playbook.yml

Inventory file
# Common variables for the inventory
#

[all:vars]

#
# Internal variables
#

ansible_python_interpreter=/usr/bin/python3
ansible_ssh_pipelining=True
ansible_ssh_common_args='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=accept-new'

#
# Inventory variables
#

#
# The default for the cluster name is {{ kubeinit_cluster_distro + 'cluster' }}
# You can override this by setting a specific value in kubeinit_inventory_cluster_name

# kubeinit_inventory_cluster_name=mycluster
kubeinit_inventory_cluster_domain=kubeinit.local

kubeinit_inventory_network_name=kimgtnet0

kubeinit_inventory_network=<IP_ADDRESS>/24
kubeinit_inventory_gateway_offset=-2
kubeinit_inventory_nameserver_offset=-3
kubeinit_inventory_dhcp_start_offset=1
kubeinit_inventory_dhcp_end_offset=-4

kubeinit_inventory_controller_name_pattern=controller-%02d
kubeinit_inventory_compute_name_pattern=compute-%02d

kubeinit_inventory_post_deployment_services="none"

#
# Cluster definitions
#

# The networks you will use for your kubeinit clusters.  The network name will be used
# to create a libvirt network for the cluster guest vms.  The network cidr will set
# the range of addresses reserved for the cluster nodes.  The gateway offset will be
# used to select the gateway address within the range, a negative offset starts at the
# end of the range, so for network=<IP_ADDRESS>/24, gateway_offset=-2 will select <IP_ADDRESS>
# and gateway_offset=1 will select <IP_ADDRESS> as the address.  Other offset attributes
# follow the same convention.

[kubeinit_networks]
# kimgtnet0 network=<IP_ADDRESS>/24 gateway_offset=-2 nameserver_offset=-3 dhcp_start_offset=1 dhcp_end_offset=-4
# kimgtnet1 network=<IP_ADDRESS>/24 gateway_offset=-2 nameserver_offset=-3 dhcp_start_offset=1 dhcp_end_offset=-4

# The clusters you are deploying using kubeinit.  If there are no clusters defined here
# then kubeinit will assume you are only using one cluster at a time and will use the
# network defined by kubeinit_inventory_network.

[kubeinit_clusters]
# cluster0 network_name=kimgtnet0
# cluster1 network_name=kimgtnet1
#
# If variables  are defined in this section, they will have precedence when setting
# kubeinit_inventory_post_deployment_services and kubeinit_inventory_network_name
#
# clusterXXX network_name=kimgtnetXXX post_deployment_services="none"
# clusterYYY network_name=kimgtnetYYY post_deployment_services="none"

#
# Hosts definitions
#

# The cluster's guest machines can be distributed across mutiple hosts. By default they
# will be deployed in the first Hypervisor. These hypervisors are activated and used
# depending on how they are referenced in the kubeinit spec string.

[hypervisor_hosts]
hypervisor-01 ansible_host=nyctea
hypervisor-02 ansible_host=tyto

# The inventory will have one host identified as the bastion host. By default, this role will
# be assumed by the first hypervisor, which is the same behavior as the first commented out
# line. The second commented out line would set the second hypervisor to be the bastion host.
# The final commented out line would set the bastion host to be a different host that is not
# being used as a hypervisor for the guests VMs for the clusters using this inventory.

[bastion_host]
# bastion target=hypervisor-01
# bastion target=hypervisor-02
# bastion ansible_host=bastion

# The inventory will have one host identified as the ovn-central host.  By default, this role
# will be assumed by the first hypervisor, which is the same behavior as the first commented
# out line.  The second commented out line would set the second hypervisor to be the ovn-central
# host.

[ovn_central_host]
# ovn-central target=hypervisor-01
# ovn-central target=hypervisor-02

#
# Cluster node definitions
#

# Controller, compute, and extra nodes can be configured as virtual machines or using the
# manually provisioned baremetal machines for the deployment.

# Only use an odd number configuration, this means enabling only 1, 3, or 5 controller nodes
# at a time.

[controller_nodes:vars]
os={'cdk': 'ubuntu', 'eks': 'centos', 'k8s': 'centos', 'kid': 'debian', 'okd': 'coreos', 'rke': 'ubuntu'}
disk=120G
ram=25165824
vcpus=8
maxvcpus=16
type=virtual
target_order=hypervisor-01

[controller_nodes]

[compute_nodes:vars]
os={'cdk': 'ubuntu', 'eks': 'centos', 'k8s': 'centos', 'kid': 'debian', 'okd': 'coreos', 'rke': 'ubuntu'}
disk=120G
ram=25165824
vcpus=8
maxvcpus=16
type=virtual
target_order="hypervisor-02,hypervisor-01"

[compute_nodes]

[extra_nodes:vars]
os={'cdk': 'ubuntu', 'okd': 'coreos'}
disk=20G
ram={'cdk': '8388608', 'okd': '16777216'}
vcpus=8
maxvcpus=16
type=virtual
target_order="hypervisor-02,hypervisor-01"

[extra_nodes]
juju-controller distro=cdk
bootstrap distro=okd

# Service nodes are a set of service containers sharing the same pod network.
# There is an implicit 'provision' service container which will use a base os
# container image based upon the service_nodes:vars os attribute.

[service_nodes:vars]
os={'cdk': 'ubuntu', 'eks': 'centos', 'k8s': 'centos', 'kid': 'debian', 'okd': 'centos', 'rke': 'ubuntu'}
target_order=hypervisor-01

[service_nodes]
service services="bind,dnsmasq,haproxy,apache,registry"

Additional context
Add any other context about the problem here.

Looks like a quay issue??
kubelet            Failed to pull image "[quay.io/bitnami/nginx:latest](http://quay.io/bitnami/nginx:latest)": rpc error: code = Unknown desc = pinging container registry [quay.io](http://quay.io/): Get "https://quay.io/v2/": dial tcp [<IP_ADDRESS>:443](http://<IP_ADDRESS>:443/): connect: no route to host

Yeah, it looks like the sampleapp Pod can't reach Quay .... but strange enough okd-cluster-provision can... any tips for troubleshooting this scenario?

Yeah, it looks like the sampleapp Pod can't reach Quay .... but strange enough okd-cluster-provision can... any tips for troubleshooting this scenario?

yeah, that is mostly because for some things we pull from docker (provisioning) and for the infra steps we pull from quay (and the sample app), maybe we could converge to pull everything from the same source.

hummm, it looks more like a routing issue, the worker can't reach quay to pull the image from.
kubelet            Failed to pull image "quay.io/bitnami/nginx:latest": rpc error: code = Unknown desc = pinging container registry quay.io: Get "https://quay.io/v2/": dial tcp <IP_ADDRESS>:443: connect: no route to host

After login into worker1:
[core@worker1 ~]$ ssh<EMAIL_ADDRESS>ssh: connect to host <IP_ADDRESS> port 22: No route to host
[core@worker1 ~]$ ssh -p 443 quay.io
ssh: connect to host quay.io port 443: No route to host

@Gl1TcH-1n-Th3-M4tR1x I have been experiencing similar issues across all the distros... This PR fixed the things for the CI https://github.com/Kubeinit/kubeinit/pull/655 Did you manage to pass that problem?

@Gl1TcH-1n-Th3-M4tR1x there was a major breakage because of podman versions not consistent across the different components that are deployed, after #666 I didn't reproduce this anymore.

I can successfully deploy the cluster now.


nodeunit: Deprecation warnings from source-map-support

(node:3882) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:160:11)
    at new Buffer (buffer.js:175:3)
    at Array.<anonymous> (/usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:149:21)
    at /usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:53:24
    at mapSourcePosition (/usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:171:21)
    at wrapCallSite (/usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:343:20)
    at /usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:378:26
    at Array.map (<anonymous>)
    at Function.prepareStackTrace (/usr/local/lib/node_modules/nodeunit/node_modules/source-map-support/source-map-support.js:377:24)
    at createStackTrace (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/cdk/lib/core/construct.ts:439:15)
    at RepositoryResource.addMetadata (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/cdk/lib/core/construct.ts:215:19)
    at new StackElement (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/cdk/lib/cloudformation/stack.ts:335:10)
    at new Referenceable (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/cdk/lib/cloudformation/stack.ts:427:1)
    at new Resource (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/cdk/lib/cloudformation/resource.ts:82:5)
    at new RepositoryResource (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/aws-ecr/lib/ecr.generated.ts:88:13)
    at new Repository (/Users/benisrae/code/cdk-latest2/aws-cdk/packages/@aws-cdk/aws-ecr/lib/repository.ts:54:22)

@eladb – do you have a recommendation on this one?  Is there a new version of nodeunit that addresses this, or any other dependency options?

Yes. We want to move to jest across the board

Nothing actionable here other than moving to jest across the board. Closing this issue. Feel free to reopen.


exploit iceberg row-count metadata

Examine the row-counts in the manifest and count how many rows are in the (existing or added) data an deletion files.
Use these two counts to pass the new named_parameter "explicit_cardinality" into the generated parquet_scans.
Note that because iceberg is passing in an explicit schema into the parquet_scan, it does not open any file during bind. That means the parquet_scans it generates did not have any cardinality information during query optimization.
That can cause rather bad query plans. This PR (pb/explicit-iceberg-cardinality) fixes that. Note that this PR needs the DuckDB PR pb/exicit-parquet-cardinality that adds the "explicit_cardinality" named_parameter to parquet_scan.

This CI is expected to fail (unknown named_parameter 'explicit_cardinality') until https://github.com/duckdb/duckdb/pull/14292 would have been merged


Switch out all Write-Hosts to Write-AllPlaces

So it would both write to debug terminal, write to log(?) and write visibly to transcript, which Write-Host does not.

Done


Can no longer re-enable SIP and get full Yabai experience?

The Disabling SIP document says:

If you are running yabai on macOS 10.13.6 (High Sierra) you can and should re–enable System Integrity Protection after the installation has completed. Repeat the steps above, but run csrutil enable instead at step 4. The same instructions apply if you ever want to re–enable System Integrity Protection after uninstalling yabai.

However, I just tried this for the first time and now the scripting additions won't load.  Is that information no longer correct?

That only works on macOS High Sierra, which I assume you are not running. The way it used to work back then was that the scripting-addition could be placed in /System/Library/ScriptingAdditions which would prevent it from being blocked by SIP afterwards.

Okay, that makes sense.  I wrongfully assumed that meant 10.13.6 and above.  Bummer, my new work computer gets flagged when SIP is disabled, and I had to re-enable it for compliance.


"[...] better as a desktop app!" modal is annoying

Every time when I see these two modals I find myself clicking "dismiss" first, followed by confusion, because it doesn't close.
The issue with this is the orange modal is overlaid on top of that one, so it needs to be dismissed first.

Yeah this has annoyed me too, thanks for logging it'll be very easy to make either be dismissible first


Address Gem::InvalidSpecificationException problem

Tweaks example gemspec to avoid exception.

I just ran in to this issue as well. It would be nice if it "just worked".

I think homepage has to change, too. But I'd like this merged! :-)

Sorry about that! It should be fixed now!


Datepicker stays display: none

The datepicker stays display: none when focusing on the input. I can manipulate to display:block in the dev console and then it works until page refresh.
Using 0.15.1 with react 0.14.0

Closing this, this is a bug in my CSS.


Cannot test an app which imports useDrag

Describe the bug
The app which imports useDrag can't be tested.
Reproduction
https://github.com/threeaster/react-dnd-test
Steps to reproduce the behavior:

vagrant init centos/7 and 'vagrant up'
vagrant ssh and install npm, yarn, and create-react-app

curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install -y nodejs gcc-c++ make yarn
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
add "export PATH=~/.npm-global/bin:$PATH" before "export PATH" to ~/.bash_profile
. .bash_profile
npm install -g create-react-app

create-react-app test_app
cd test_app and yarn add react-dnd react-dnd-html5-backend
create ~/test_app/src/test/test.test.js whose content is below:

import { useDrop } from 'react-dnd'

it('test', () => {})

cd ~/test_app and yarn test
See error

Expected behavior
Tests succeed.
Screenshots
Tests fail as below:
``
PASS  src/App.test.js
FAIL  src/test/test.test.js
● Test suite failed to run
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
Here's what you can do:
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html
Details:
/home/vagrant/test_app/node_modules/react-dnd/lib/index.js:1
({"Object.":function(module,exports,require,__dirname,__filename,global,jest){export * from './common';
^^^^^^
SyntaxError: Unexpected token export

1 | import { useDrop } from 'react-dnd'
| ^
2 |
3 | it('test', () => {})
4 |

 at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:471:17)
 at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:513:25)
 at Object.<anonymous> (src/test/test.test.js:1:1)

Test Suites: 1 failed, 1 passed, 2 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.235s
Ran all test suites.
Watch Usage
› Press f to run only failed tests.
› Press o to only run tests related to changed files.
› Press q to quit watch mode.
› Press p to filter by a filename regex pattern.
› Press t to filter by a test name regex pattern.
› Press Enter to trigger a test run.
``
Desktop (please complete the following information):

OS: CentOS Linux release 7.6.1810 (Core)
Version
vagrant 2.1.2
npm 6.9.0
yarn 1.16.0
create-react-app 3.0.1

At first, I tried it in my mac. In its environment, same issue happened.

OS: macOS Mojave 10.14.5
Version
npm 6.9.0
yarn 1.9.2
create-react-app 1.5.2

Additional context
https://github.com/threeaster/react-dnd-test
is made in my mac.
At first, I tried chess tutorial
http://react-dnd.github.io/react-dnd/docs/tutorial
and I cannot test this.

We should probably add a page on Jest testing, but one approach would be to use the moduleNameMapper and map out the dnd-libs to their cjs variants for jest

@darthtrevino I don't think you can set moduleNameMapper with a create-react-app, without ejecting. Does that mean a component with react-dnd can't be tested in that case?

Since jest is not working with esmodules well, you need to add these configurations in jest.config.js
moduleNameMapper : {
        '^react-dnd$': 'react-dnd/dist/cjs',
        '^react-dnd-html5-backend$': 'react-dnd-html5-backend/dist/cjs',
        '^dnd-core$': 'dnd-core/dist/cjs',
}

Since jest is not working with esmodules well, you need to add these configurations in jest.config.js
moduleNameMapper : {
        '^react-dnd$': 'react-dnd/dist/cjs',
        '^react-dnd-html5-backend$': 'react-dnd-html5-backend/dist/cjs',
        '^dnd-core$': 'dnd-core/dist/cjs',
}


[Bug]: Standalone validation page fails on a single file

Describe the issue
Traceback (most recent call last):
  File "flask\app.py", line 1484, in full_dispatch_request
  File "flask\app.py", line 1469, in dispatch_request
  File "flask_restx\api.py", line 404, in wrapper
  File "flask\views.py", line 109, in view
  File "flask_restx\resource.py", line 46, in dispatch_request
  File "namespaces\neuroconv.py", line 206, in post
  File "manageNeuroconv\manage_neuroconv.py", line 1400, in inspect_nwb_file
TypeError: inspect_nwbfile() got an unexpected keyword argument 'request_id'

Steps to Reproduce
Standalone inspection page, select a single file
Operating System
All
GUIDE Version
v1.0.0
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes

Perhaps an issue with the payload in the file vs. directory case?


UX Improvement: make external pages open in a new tab

All external links should be opened in a new tab to prevent leaving the current website.

@ladyleet Should i take up this?


[Excel] (ExcelApi 1.15) Release ExcelApi 1.15 to GA

This PR adds an article section describing the getDependents method and updates an article section to include a description of the alwaysInsert parameter.
This PR also removes a number of antiquated ExcelApi 1.2 if statements from the Table article.

Docs Build status updates of commit e0ad506:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-ranges-precedents-dependents.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-tables.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 41d0457:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-ranges-precedents-dependents.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-tables.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 61b7477:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-ranges-precedents-dependents.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-tables.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8e4e11c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs/excel/excel-add-ins-ranges-precedents-dependents.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-tables.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Issue#58

This implementation adds multiple git repositories support to Spring Cloud Config Server.  By given the following properties file:

info:
  component: Config Server
spring:
  application:
    name: configserver
  jmx:
    default_domain: cloud.config.server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo
          repos:
            - name: iceycake-*
              uri: https://github.com/iceycake/config-repo
            - name: project1-*
              uri: https://github.com/spring-cloud-samples/config-repo-1

with uri:

  /{application}/{profile}/{label}

where

spring.cloud.config.server.git.uri is the default git repository
spring.cloud.config.server.repos is a mapping between a git repository and a string pattern that matches the {application} string in the endpoint.

For details, please refer to https://github.com/spring-cloud/spring-cloud-config/issues/58

Nice, thanks. Could you add some tests, maybe? And documentation source code is here https://github.com/spring-cloud/spring-cloud-config/tree/master/docs/src/main/asciidoc if you want to add your example from above.
Also, one small suggestion for an improvement: you can use PatternMatchUtils to match one from an array of patterns, so it would be useful to make the name multi-valued. Maybe we could call it "pattern" as well to make it more obvious?

I have added unit testing for the implementation.  However, I have ran into issue when I try to implement the integration test.  This may not be the right forum to ask and I should open an issue in the Spring Boot project:

		context = new SpringApplicationBuilder(TestConfiguration.class).web(false)
				.properties("spring.cloud.config.server.git.uri:" + defaultRepoUri)
				.properties("spring.cloud.config.server.git.repos[0].patterns:" + "*test1*")
				.properties("spring.cloud.config.server.git.repos[0].uri:" + test1RepoUri).run();
		EnvironmentRepository repository = context.getBean(EnvironmentRepository.class);

I'm unable to inject the 2 new properties "patterns" and "uri" into MultipleJGitEnvironmentRepository, which is

List<Map<String, Object>> repos

Nevermind.  I found workaround by using
properties(Map)


Python examples

todo:

[x] interactive var sel on the other 2-D case sets
[x] refactor in some places a bit to reduce code duplication

made fn for interactive var sel

[x] Binder config
[x] run notebook(s) in CI
[ ] fix output var name/units consistency between text and nc outputs?

@zmoon Thank you so much for doing all of this!  Understood that you should very soon turn your attention to UFS/NEXUS, but if we wrap this up it would be helpful!  Thanks again.

Looks like running the example nb currently takes ~ 50 s in CI. Not bad, but will later (probably not in this PR) add parallel sensitivity run option which will help with this.

Binder test link:
https://mybinder.org/v2/gh/noaa-oar-arl/canopy-app/py-examples?labpath=python%2Fexamples.ipynb

@zmoon Thank you for continuing to work and wrap up these great Python examples and binder for the tests...I think it will be a great way for us to test canopy-app more effectively!

@zmoon This is a great point on the inconsistent variables.  I will add "canheight" to the NC output and change the txt output variable names to be consistent.

I will add "canheight" to the NC output and change the txt output variable names to be consistent.

Ok, do you want to do it in this PR?

@zmoon great to do it on this PR, and would appreciate if you could attempt then...

@drnimbusrain I'll remove your notes from the nb after you review, want to leave them for now so you have them.

@zmoon I think this looks great!  You can remove my notes and merge.


If more than one value is outlined, it means their intervals overlap

Dear author,“I meant they overlap when considering the ranges of performance between mean-confidence to mean+confidence.“According to your opinion，so what do you make of these sets of data？

Uh - that's a typo, I didn't notice. Possibly the \textbf{} haven't't been updated from a previous version.
From the 3rd and 4th column, only the 65.4, 65.3 and 79.4 should be in bold.
Thanks for pointing it out.


Flutter Web: PlatformException on get_distinct_id

As per the title. I'm facing a PlatformException when using getDistinctId():
Uncaught PlatformException(error, NoSuchMethodError: method not found: 'get_distinct_id' (mixpanel.get_distinct_id is not a function), null, null)

This specifically happens when I build in release mode & deploy to hosting. While debugging it works.
Using mixpanel_flutter version 2.0.0.

After some debugging, I found that this is caused by Brave Shield blocking mixpanel-min from being loaded.
Catching PlatformException is a way to detect this kind of situation.
Closing.


Asura bug that's specific to j2k and yokai

Steps to reproduce

Open Asura
Add something to your library
After a while the title added to your library doesn't show it's in your library when you are browsing

Expected behavior
Titles addes to your library should be marked as so when browsing.
Actual behavior
Titles in your library aren't marked that they are in their library when browsing and migrating doesn't fix it.
Crash logs
No response
Yōkai version
1.7.14
Android version
Android 14
Device
Redmi note 12
Other details
It's not an extension issue since mihon and tachiyomi SY don't have this problem
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, or a request for an extension, I should be contacting the extensions repository's maintainer/support for help.
[X] I am reporting an issue exclusive to this fork. I have also checked that is not an issue on the main version of Mihon
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version 1.7.14.
[X] I have updated all installed extensions.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I have filled out all of the requested information in this form.

Is permanent url disabled? The only way for it to do that is if perma url is disabled...

Permanent url is enabled
On Mon, Feb 19, 2024, 10:41 AM Ahmad Ansori Palembani <
@.***> wrote:

Is permanent url disabled? The only way for it to do that is if perma url
is disabled...
—
Reply to this email directly, view it on GitHub
https://github.com/null2264/yokai/issues/40#issuecomment-1951867111, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEN3WZ7TZBE7VURIPFBUGZLYUL6Z7AVCNFSM6AAAAABDOJWPGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJRHA3DOMJRGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I can't replicate it unfortunately...

It's alright i understand
On Mon, Feb 19, 2024, 2:22 PM Ahmad Ansori Palembani <
@.***> wrote:

I can't replicate it unfortunately...
—
Reply to this email directly, view it on GitHub
https://github.com/null2264/yokai/issues/40#issuecomment-1952240939, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEN3WZY4DGLCESMIBZGYECDYUMYWBAVCNFSM6AAAAABDOJWPGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJSGI2DAOJTHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

For some reason j2k doesn't want to fix it and since yokai is forked from j2k, it will never be fixed

@sofari23 Well I plan on ordering a laptop soon for college purposes since I have to attend to class actively but when I graduate in 2025 then I'll start fork j2k's Tachiyomi version and make it, I thought about other projects in mind as well but it's mostly for business purposes on GitHub. For now being patient is what matters to me for the future.

For some reason j2k doesn't want to fix it and since yokai is forked from j2k, it will never be fixed

Not really it's already (partially) fixed (GH-2) in Yokai. I just couldn't figure out how to replicate this issue.

I pushed some potential fixes, you can test it on Nightly version.

I pushed some potential fixes, you can test it on Nightly version.

Alright let me test it.
I will get back to you

I pushed some potential fixes, you can test it on Nightly version.

I tried it and i think it's fixed.
Thank you

Thank you, it seems to be working for me too

Okay, thanks for testing... I'll mark this as complete, you can reopen it if the issue comes back.


Not working at for Cx file explorer

Not working at for Cx file explorer
IIIFF u can do smth pls try fixing it. U may like that file manager too.

Not a DarQ issue


remove matplotlib figure captions

Fixes https://github.com/Qiskit/documentation/issues/732

@Eric-Arellano I've run npm run regen-apis

Apparently that introduced some broken links. Do you know how to fix it?

Oops, I introduced them in https://github.com/Qiskit/documentation/pull/850. Our link checker didn't run like it should have. I'll fix.


cannot even start a next.js project - user/amplify-dev is not authorized to perform: iot:DescribeEndpoint

First experience running SST for the first time.

sst bind next dev

Please enter a name you’d like to use for your personal stage. Or hit enter to use fabia:
Attention: SST now collects completely anonymous telemetry regarding usage. This is used to guide SST's roadmap.
You can learn more, including how to opt-out of this anonymous program, by heading over to:
https://docs.sst.dev/anonymous-telemetry
(node:22496) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use node --trace-warnings ... to show where the warning was created)
Error: User: arn:aws:iam::137541761544:user/amplify-dev is not authorized to perform: iot:DescribeEndpoint because no identity-based policy allows the iot:DescribeEndpoint action
Trace: AccessDeniedException: User: arn:aws:iam::137541761544:user/amplify-dev is not authorized to perform: iot:DescribeEndpoint because no identity-based policy allows the iot:DescribeEndpoint action
at throwDefaultError (C:\git\next\pime\node_modules@smithy\smithy-client\dist-cjs\default-error-handler.js:8:22)
at C:\git\next\pime\node_modules@smithy\smithy-client\dist-cjs\default-error-handler.js:18:39
at de_DescribeEndpointCommandError (C:\git\next\pime\node_modules@aws-sdk\client-iot\dist-cjs\protocols\Aws_restJson1.js:9968:20)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\git\next\pime\node_modules@smithy\middleware-serde\dist-cjs\deserializerMiddleware.js:7:24
at async C:\git\next\pime\node_modules@aws-sdk\middleware-signing\dist-cjs\awsAuthMiddleware.js:14:20
at async StandardRetryStrategy.retry (C:\git\next\pime\node_modules@aws-sdk\middleware-retry\node_modules@smithy\middleware-retry\dist-cjs\StandardRetryStrategy.js:51:46)
at async C:\git\next\pime\node_modules@aws-sdk\middleware-logger\dist-cjs\loggerMiddleware.js:7:26
at async file:///C:/git/next/pime/node_modules/sst/iot.js:8:22
at async file:///C:/git/next/pime/node_modules/sst/iot.js:24:22
at async Object.handler (file:///C:/git/next/pime/node_modules/sst/cli/commands/bind.js:45:9)
at process. (file:///C:/git/next/pime/node_modules/sst/cli/sst.js:62:21)
at process.emit (node:events:525:35)
at process.emit (node:domain:489:12)
at process._fatalException (node:internal/process/execution:149:25)
at processPromiseRejections (node:internal/process/promises:288:13)
at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
Need help with this error? Post it in #help on the SST Discord https://sst.dev/discord
Process finished with exit code 1

Can you post this on #help in Discord? It looks like your credentials aren't configured correctly?

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


Pandas still seems required with version 1.0.0

Hi. After having updated to fhir-kindling 1.0.0, on new environments my unit tests fail with an ImportError about pandas. Manually installing pandas solves the issue:
E           _pytest.nodes.Collector.CollectError: ImportError while importing test module '/woodpecker/src/forge.yaal.coop/lum1/lum1/tasks/tests/test_update_finess.py'.
E           Hint: make sure your test modules/packages have valid Python names.
E           Traceback:
E           /usr/local/lib/python3.11/importlib/__init__.py:126: in import_module
E               return _bootstrap._gcd_import(name[level:], package, level)
E           tasks/tests/test_update_finess.py:8: in <module>
E               from tasks.finess import filter_entities
E           tasks/finess.py:8: in <module>
E               from fhir_kindling import FhirServer
E           /root/.cache/pypoetry/virtualenvs/lum1-SNzkjssz-py3.11/lib/python3.11/site-packages/fhir_kindling/__init__.py:3: in <module>
E               from .fhir_server import FhirServer
E           /root/.cache/pypoetry/virtualenvs/lum1-SNzkjssz-py3.11/lib/python3.11/site-packages/fhir_kindling/fhir_server/__init__.py:1: in <module>
E               from .fhir_server import FhirServer
E           /root/.cache/pypoetry/virtualenvs/lum1-SNzkjssz-py3.11/lib/python3.11/site-packages/fhir_kindling/fhir_server/fhir_server.py:37: in <module>
E               from fhir_kindling.serde.json import json_dict
E           /root/.cache/pypoetry/virtualenvs/lum1-SNzkjssz-py3.11/lib/python3.11/site-packages/fhir_kindling/serde/__init__.py:1: in <module>
E               from .flatten import flatten_resource, flatten_resources, flatten_response
E           /root/.cache/pypoetry/virtualenvs/lum1-SNzkjssz-py3.11/lib/python3.11/site-packages/fhir_kindling/serde/flatten.py:4: in <module>
E               import pandas as pd
E           E   ModuleNotFoundError: No module named 'pandas'

The faulty line seems to be:
https://github.com/migraf/fhir-kindling/blob/373413cb36ff1b9ca40fe657a563de893d5b9846/fhir_kindling/serde/flatten.py#L4

just published v1.0.1 which should fix this issue

It works. Thank you!


MacOs support

Hello, is it possible to use this package on macos platform?

Hello thank your for using cxx-image-io package, yes, theoretically it can support macos, that is also my idea too initially , the only reason it didn't start this track is I didn't have a mac laptop, it was difficult to test compiling because it is a C++ binding project.
I recently borrowed an old mac air book, I will try to prepare a package a macos, let me get back to you sooner for the result.

Hello, I tried with mac book, we can support the macos x86_64 and arm64, I am finishing the CI to build the python packages automatically, it will be ready in short time.
Thanks for you suggestion.

v0.1.0 is released on PYPI,  https://pypi.org/project/cxx-image-io/0.1.0/ which supports macOS now.


A problem occurred configuring project ':hmscore_react-native-hms-analytics'.

Good day sometimes I facing with problem:
A problem occurred configuring project ':hmscore_react-native-hms-analytics'.

Could not resolve all files for configuration ':hmscore_react-native-hms-analytics:classpath'.
Could not download asm-commons-7.0.jar (org.ow2.asm:asm-commons:7.0)
Could not get resource 'https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar'.
Could not GET 'https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar'.
jcenter.bintray.com
Could not download txw2-2.3.1.jar (org.glassfish.jaxb:txw2:2.3.1)
Could not get resource 'https://jcenter.bintray.com/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar'.
Could not GET 'https://jcenter.bintray.com/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar'.
jcenter.bintray.com

Not only with analytics package, also can fall with any
Environment:
"@hmscore/react-native-hms-analytics": "6.3.2-302",
"@hmscore/react-native-hms-push": "6.5.0-300",
"@react-native-agconnect/crash": "1.2.0",
"react-native": "0.70.5",
Any ideas?

Dear developer,
We suspect that this may be due to the configuration failure caused by your network problem. You can check whether there is a problem with the network you are using, or the proxy you are using. This is why the two links cannot be downloaded.

Thank you!
Ah, thats happened because of jcenter got 403 error, moved to mavenCentral

oh, it was because of jcenter, thank you!


clean up/add andrew poelsta/jeremy rubin covenants panel

https://gist.github.com/JeremyRubin/2d69841755cf048f0c45bef8edf63b4c
see notes here, audio recording available but not publicly.

Happy to clean this one up and add to the repo @JeremyRubin. Can you share the audio recording privately? That would help with the clean up.


[TEST] proper startup and shutdown

cherry picked from https://github.com/lnbits/lnbits/pull/1793

Codecov Report

Merging #1860 (68c578a) into main (03acf5e) will decrease coverage by 5.16%.
The diff coverage is 0.00%.

:exclamation: Current head 68c578a differs from pull request most recent head bfc0d8b. Consider uploading reports for the commit bfc0d8b to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #1860      +/-   ##
==========================================
- Coverage   56.09%   50.94%   -5.16%
==========================================
  Files          48       48
  Lines        7328     7325       -3
==========================================
- Hits         4111     3732     -379
- Misses       3217     3593     +376

Files Changed
Coverage Δ

lnbits/app.py
65.57% <0.00%> (+21.73%)
:arrow_up:

lnbits/server.py
37.20% <ø> (-4.10%)
:arrow_down:

... and 22 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

the currently occuring exceptions in the tests should go away when https://github.com/lnbits/lnbits/pull/1858 and https://github.com/lnbits/lnbits/pull/1793 are merged


Fix test-pipelines.yml and add host memory profiling to RUN_SLOW=true workflows

What does this PR do?
Since the tests are parallelised, you can have n models compiling at the same time. It's possible that this can cause the CI runner to use all available memory and start using swap, which slows the runner down dramatically.
This PR should prevent that from happening in test-pipeliens.yml and add some host memory monitoring so we can identify if it happens again in the future.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

See https://github.com/huggingface/optimum-graphcore/actions/runs/4786164311 for an example memory profile artefact


Why are the entities renamed in version 1.02?

Describe the bug
I updated to 1.02 and my entities were no longer there, only two new ones "dev_heizkreis_Zuhause" and "dev_warmwasser_Zuhause". All other entities were no longer present, only the groups such as "Eingänge/Ausgänge_Zuhause" but no entities. After deleting and reconfiguring, only new entity groups with dev_.... remained. Unfortunately, the entities were also renamed. Now there is no more automation and no dashboard working.
I'm now back to version 1.01 with a backup.
Screenshots

After initialisation the entitys need some time. Did you refresh (F5)?

No, I didn't change anything, I just did an update and after the entities in the previous overview disappeared, I reconfigured them and did the same as before. With devicepostfix “Zuhause" and the json map that is right for me. (WSB8)

Ok, I'll try again... I have a backup.

When you edit the postfix you get new devices and entitys. You should remove it. There was a problem with the translation feature whitch might affect you. Please remove the integration through hacs and install it freshly. (Without postfix)

I'm currently reinstalling... and will upload a few pictures soon.

Backup should also work. But dont use a device postfix if you previously did not

I did use it before....: "Zuhause".
I only did an update and didn't change any configuration and unfortunately there are new groups - 14 instead of 7 - and there are no longer any entities in my "old" groups.

Please try the pre release: 1.0.3_pre.
You will get no update alert. You have to select it manually.

ok I try it.... thank you

It worked. Thank you for the quick response. You are really great.

You are welcome. I will push this pre as full release. Sorry for breaking things.


Is Psych Engine a virus?

What is your question?
I found something called "Logger" in the files? I saw a twitter post about it too saying it was walware. I'm kinda worried coz I just reset my PC a few months ago coz of smthin like this.

NVM YOU CAN CLOSE THIS! I SEE THE SAME FILE IN THE NORMAL FNF AND IK THATS SAFE

That's probably some debugging tool or smth ngl

NVM YOU CAN CLOSE THIS! I SEE THE SAME FILE IN THE NORMAL FNF AND IK THATS SAFE

If u made the issue, you can also close it at any time.

those posts are bait btw

those posts are bait btw

Wdym

It's simply fear-mongering to scare people away from psych engine


need help with server A health bot

We need a good context file for Server A to do health stuff.  We need stuff like weight, height, health goals, etc, etc.

{
"version": "1.0",
"lastUpdated": "2024-12-10T00:00:00Z",
"personalInfo": {
"userId": "string",
"dateOfBirth": "YYYY-MM-DD",
"gender": "string"
},
"physicalMetrics": {
"height": {
"value": 0,
"unit": "cm",
"lastMeasured": "YYYY-MM-DD"
},
"weight": {
"value": 0,
"unit": "kg",
"lastMeasured": "YYYY-MM-DD"
},
"bodyMassIndex": {
"value": 0,
"calculatedAt": "YYYY-MM-DD"
},
"bodyComposition": {
"bodyFatPercentage": 0,
"muscleMass": {
"value": 0,
"unit": "kg"
},
"boneMass": {
"value": 0,
"unit": "kg"
},
"lastMeasured": "YYYY-MM-DD"
}
},
"vitalSigns": {
"bloodPressure": {
"systolic": 0,
"diastolic": 0,
"unit": "mmHg",
"lastMeasured": "YYYY-MM-DD"
},
"heartRate": {
"value": 0,
"unit": "bpm",
"lastMeasured": "YYYY-MM-DD"
},
"respiratoryRate": {
"value": 0,
"unit": "breaths/minute",
"lastMeasured": "YYYY-MM-DD"
}
},
"healthGoals": {
"weightGoal": {
"target": 0,
"unit": "kg",
"deadline": "YYYY-MM-DD",
"type": "loss|gain|maintain"
},
"activityGoals": {
"dailySteps": 0,
"weeklyExerciseMinutes": 0,
"weeklyWorkouts": 0
},
"nutritionGoals": {
"dailyCalories": 0,
"macronutrients": {
"protein": {
"value": 0,
"unit": "g"
},
"carbohydrates": {
"value": 0,
"unit": "g"
},
"fats": {
"value": 0,
"unit": "g"
}
}
}
},
"medicalHistory": {
"conditions": [{
"name": "string",
"diagnosedDate": "YYYY-MM-DD",
"status": "active|resolved",
"medications": [{
"name": "string",
"dosage": "string",
"frequency": "string",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD"
}]
}],
"allergies": [{
"allergen": "string",
"severity": "mild|moderate|severe",
"reactions": ["string"]
}],
"familyHistory": [{
"condition": "string",
"relation": "string"
}]
},
"preferences": {
"measurementSystem": "metric|imperial",
"dietaryRestrictions": ["string"],
"exercisePreferences": ["string"],
"notificationSettings": {
"reminders": true,
"progressUpdates": true,
"healthTips": true
}
}
}

Good start!  Can you make this into a markdown file instead and fill it out with a personal for like John Doe or Jane Doe or the like?  We need a fake but realistic synthetic data example to work with.

Health Context Profile
Personal Information

User ID: JP_AI_2024
Date of Birth: August 15, 1997
Gender: Male

Physical Metrics
Base Measurements

Height: 5'8" (last measured: Nov 30, 2024)
Weight: 150 lbs (last measured: Dec 9, 2024)
BMI: 22.7 (calculated: Dec 9, 2024)

Body Composition

Body Fat Percentage: 23.5%
Muscle Mass: 64.6 lbs
Bone Mass: 7.1 lbs
Last Measured: December 1, 2024

Vital Signs
Current Readings

Blood Pressure: 118/75 mmHg
Heart Rate: 68 bpm
Respiratory Rate: 14 breaths/minute
Last Measured: December 9, 2024

Health Goals
Weight Management

Target: 150 lbs (maintenance)
Deadline: June 30, 2025
Type: Maintenance

Activity Targets

Daily Steps: 8,000
Weekly Exercise: 150 minutes
Weekly Workouts: 3 sessions

Nutrition Plans

Daily Caloric Target: 2,200 calories
Macronutrient Breakdown:

Protein: 2.8 oz (80g)
Carbohydrates: 8.8 oz (250g)
Fats: 2.6 oz (73g)

Medical History
Current Conditions

Computer Vision Syndrome

Diagnosed: September 15, 2023
Status: Active
Medications: None

Mild Anxiety

Diagnosed: March 20, 2023
Status: Active
Treatment:

Type: Meditation App Subscription
Duration: 15 minutes
Frequency: Daily
Started: March 25, 2023
Ongoing

Allergies

Tree Pollen

Severity: Mild
Symptoms:

Sneezing
Itchy eyes

Family History

Type 2 Diabetes: Paternal grandfather
Hypertension: Maternal grandmother

Preferences
Measurement System

Imperial

Dietary Restrictions

Vegetarian
Low-caffeine

Exercise Preferences

Yoga
Running
Home workouts

Notification Settings

Reminders: Enabled
Progress Updates: Enabled
Health Tips: Enabled

Last Updated: December 10, 2024
Note: Some medical measurements (blood pressure, etc.) are kept in their standard units as they are universally reported this way regardless of measurement system preference.


Make sure to write out JSON file in order

When cleaning up the reference image & JSON file, and then regenerating reference files, it can happen that the JSON file comes out ordered differently.
That is not a huge concern but can be annoying when using a VCS because it creates needless changes.
Ideally, the JSON file could be sorted by hash value.

Ok, not quite sure if this change is in fact a consequence of an actual change to the code that generates the file, thus might be entirely harmless. Using the old file for a comparison did not work anymore -- thus this might not in fact be such a big issue.


⚠  WIP: ClusterWorkspace => ThisWorkspace refactor

High-level overview: https://hackmd.io/Qb3HX2XGRV63Rt-83dZXNg
TODOs:

[ ] Rename ThisWorkspace to LogicalCluster, group core.kcp.dev.
[ ] Rename ClusterWorkspaceShard to Shard, group core.kcp.dev.
[ ] Rename ClusterWorkspaceType to WorkspaceType.
[ ] Remove ClusterWorkspace and the projection.
[ ] Rename tenancy.kcp.dev/path to kcp.dev/paths, and move into core package.
[ ] Rename kcp.dev everywhere (including groups) to *.kcp.io
[ ] create ThisWorkspace in some logical cluster that is NOT the workspace path: base36(sha224(random)) and name with cluster name.

/milestone v0.11

@ncdc addressed all your comments.


ASAN build fails spuriously

On my machine the asan tooled test suite sometimes fails, on the test at tests/SynthT.cpp:13. This is not always, and it does not trigger any asan errors; the test just fails. Can't reproduce on release or debug builds.
Edit: happens on 501dd60d at least.

I did make it fail on master at 8861e0e8 too.

I'll try to setup some stress testing for the next minor update.

Ok on my new install it's not spurious at all, it just fails.

Ok it happens on no other archs, no other builds, and for the life of me I cannot see the problem so I'll just let it down for now and check it after the next release.

It seems to work OK with my new toolchain. I propose that we add asan/tsan CI in e.g. gitlab to offload some testing over there!


Port code to set interrupt level from test_os_w002.c

Test 501 : Wake from Watchdog WS0 Int fails dues to interrupt type (edge vs level) not being set as specified in the GTDT table.  The code is present in test 701  : Non Secure Watchdog Access, which passes.
This patch ports the code to set the interrupt type from 701 to 501.  Test 501 passes with the fix.

Hi, @robbiek-xsl,
Can you please share the details on the behavior of 501 failure?
Test is using a failsafe interrupt in case WD interrupt is not received and PE waking up with failsafe interrupt is also valid.
Was a hang observed in the failure scenario?
Also, can you share is the WD edge or level triggered?
Thanks,
ACS Team

Hi, thanks for your help!
No hang was observed, the failsafe triggered instead.
Our interrupt is edge triggered, so it makes sense that this particular test would fail
without the code in place to specifically configure the interrupt mode (edge vs level).
Here's the failing trace with debugging:
Operating System View:
501 : Wake from Watchdog WS0 Int                     START
pal_mmio_read Address = 40000004  Data = 17B041C
pal_mmio_write Address = 40000108  Data = 1000
pal_mmio_read Address = 40000004  Data = 17B041C
pal_mmio_read Address = 8050FCC  Data = 10C7B
pal_mmio_write Address = 8050008  Data = 3B9ACA0
pal_mmio_write Address = 805000C  Data = 0
pal_mmio_write Address = 8050000  Data = 1
Received Failsafe interrupt
   Failed on PE -    0
   B_WAK_01, B_WAK_02, B_WAK_03, B_WAK_04, B_WAK_05
   B_WAK_06, B_WAK_07, B_WAK_10, B_WAK_11
   Checkpoint --  1                           : Result:  FAIL
     END

From: chetan singh rathore @.>
Sent: Sunday, August 28, 2022 2:51 PM
To: ARM-software/bsa-acs @.>
Cc: Robbie King @.>; Mention @.>
Subject: Re: [ARM-software/bsa-acs] Port code to set interrupt level from test_os_w002.c (PR #46)
Hi, @robbiek-xslhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobbiek-xsl&data=05|01|robbiek%40xsightlabs.com|01aca1f3a5024df5a29a08da89264556|646a3e3483ea42739177ab01923abaa9|0|0|637973094720858984|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=E8lmB0ZqmF29xqYocR2%2B8TY%2BjjcFVfu6nNFcGg1RjMk%3D&reserved=0,
Can you please share the details on the behavior of 501 failure?
Test is using a failsafe interrupt in case WD interrupt is not received and PE waking up with failsafe interrupt is also valid.
Was a hang observed in the failure scenario?
Also, can you share is the WD edge or level triggered?
Thanks,
ACS Team

Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FARM-software%2Fbsa-acs%2Fpull%2F46%23issuecomment-1229529959&data=05|01|robbiek%40xsightlabs.com|01aca1f3a5024df5a29a08da89264556|646a3e3483ea42739177ab01923abaa9|0|0|637973094720858984|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XQRmOm1EMyfw14ynbUXMnT%2B%2BDqc6jH5kdmgPWqUUdmk%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA2UUKHWSTKACWHFIZVWRE2TV3OYJXANCNFSM57JEHT3Q&data=05|01|robbiek%40xsightlabs.com|01aca1f3a5024df5a29a08da89264556|646a3e3483ea42739177ab01923abaa9|0|0|637973094720858984|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=TitqtKXMuZQZXI2lP5uld1XntT0pOwJjlpohEAK5wRI%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks @robbiek-xsl
The changes are merged.


Optimisation: reuse query root if mapped through inverse property within JOIN FETCH

While debugging issue #547, I found that, given entities:
@Entity public class A {
     @Id String id;
     String someProp;
     @OneToMany(mappedBy = "children") Collection<B> children;
}

@Entity public class B {
    @Id String id;
    @ManyToOne parent;
}

And Entityviews:
@EntityView(A.class) interface AView {
     @IdMapping String getId();
     @Mapping Collection<BView> getChildren();
}

@EntityView(B.class) interface BView {
    @Mapping("parent.someProp") String getSomeProp();
}

when querying for A as AView with the BView children eagerly joined, then table A is joined twice in the underlying query. This is because the resulting expression for getSomeProp() is (root)children.parent.someProp rather than (root).someProp. Perhaps it would be nice if we could eliminate the unnecessary join for the inverse property here. Its unfortunately probably not so easy to do so, as I already found out in #526 that finding inverse properties within the metamodel is not very straightforward.

Description

Expected behavior

Actual behavior

Steps to reproduce

Environment

Version:
JPA-Provider:
DBMS:
Application Server:

Seems to be a duplicate of #481

Indeed a duplicate, sorry, I should have looked beter 😄 I'll close this one.


Request: Compound identification database import/export in mzTab

Right now mzMine2 can import custom metabolite ID databases in CSV format.  This is flexible, but why not use mzTab format explicitly (which I believe has a field for identifications) as the format for importing/exporting compound identifications?  Ideally the mzTab / compound identification file could also have parseable InChI for the feature in question, which would allow computation of parameters.

InChI and InChIKeys is something that we have also discussed to support for CSV files: #52.

Thinking about this more, I agree that mzTab is not the best choice for the main format for the identification database, as it makes the the difference between peaklists (quantification) and identification, less clear.  That being said, it would be a useful feature to modify the CSV import such that it could handle the mzTab files without modification (ignore multiple header lines, ignore COM lines etc.).  Will attempt implementing in MZmine2

I agree. Please also look at how we have made the implementation for the local database search in MZmine 3. You could update the parameter dialog so that it can get the annotations from the mzTab files and then write them to the text field.