kdlfmt: 0.0.6 -> 0.0.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/hougesen/kdlfmt/releases.
meta.description for kdlfmt is: Formatter for kdl documents
meta.homepage for kdlfmt is: https://github.com/hougesen/kdlfmt.git
meta.changelog for kdlfmt is: https://github.com/hougesen/kdlfmt/blob/v0.0.8/CHANGELOG.md
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.0.8 with grep in /nix/store/i75chyak9fppc3mwdryvm55816yi1j0a-kdlfmt-0.0.8
found 0.0.8 in filename of file in /nix/store/i75chyak9fppc3mwdryvm55816yi1j0a-kdlfmt-0.0.8

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

kdlfmt

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/i75chyak9fppc3mwdryvm55816yi1j0a-kdlfmt-0.0.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The nixpkgs-update cache is only trusted for this store-path realization.)
For the cached download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kdlfmt https://github.com/r-ryantm/nixpkgs/archive/cf23c5666f6cc08a0f949fd65bf117a962710906.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/cf23c5666f6cc08a0f949fd65bf117a962710906#kdlfmt

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/i75chyak9fppc3mwdryvm55816yi1j0a-kdlfmt-0.0.8
ls -la /nix/store/i75chyak9fppc3mwdryvm55816yi1j0a-kdlfmt-0.0.8/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

kdlfmt

Maintainer pings
cc @airRnot1106 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

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

aarch64-darwin

:white_check_mark: 1 package built:

kdlfmt

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

x86_64-darwin

:white_check_mark: 1 package built:

kdlfmt

aarch64-darwin

:white_check_mark: 1 package built:

kdlfmt


Add adimali

Great, Thanks a lot.

Hey @adimali, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?

Hey Roshan, It was great. I'm just starting out in the open source community, so no pain points yet :) . I think going through others code and understanding it is the challenging part for me. I'll keep in touch with you through out the future projects. Thanks a lot for the tutorial, it was great, simple and to the point. Helped a lot.

@adimali, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


reload/unload command always expands to configdir

As mentioned on IRC the plugin window calls these commands and the loaded script could be anywhere.

To me it seems that hexchat is at fault in this case. The plugin tells hexchat the exact filename of the script, and then hexchat asks to unload a script without providing the exact filename. What if there are multiple scripts with that filename in different directories?

I agree, will look into fixing that.


Truncate offset to prevent infinite loop

Hmm for some reason CircleCI still didn't run. I need to look further into its configuration at some point I guess


Add link to W3C editors’ draft

A public copy of the editors’ draft, a living document addressing new features including foreign fetch and header-based installation, etc.

I don't know about this one... I think we should keep the list more lean - curated. Is there a benefit for looking at the working draft for the common developer using service workers?
What do you think?

This draft is the most up-to-date version. There are even changes from a few days ago and some proposed enhancements look interesting. Personally I like to keep track of what is happening and what might come in the future.

It is certainly interesting for the hardcore among us, but I don't see how this is a must read resource for everyone else

I thought we are gathering valuable resources, not 'must read' for general public ;-) But it's your call. I have some more guides to add later today. Maybe those are better.

I think the power of these lists is in being highly curated, not exhaustive. They should contain only the absolute must read resources (for the different levels)... I think if we are in doubt about whether something should be on the list or not, then maybe it shouldn't.


Expired Certificate in Electrs

When I attempt to connect Sparrow Wallet to my raspiblitz, I get the following error:
Could not connect:
Certificate expired at Sun Dec 24 17:00:12 CST 2023
NotAfter: Sun Dec 24 17:00:12 CST 2023
I updated Electrs on my raspiblitz and everything is the latest version as of 2/20/2024 (Raspiblitz 1.10.0, Bitcoin 25.0, CND .16.4-Beta). Why would I have this error?

Thank you for the response.  I am not a developer, just a Bitcoin user trying to connect my Sparrow to my Bitcoin node.  How can I fix the issue now so that I can connect to my Node?  I have been searching around the intrenet and have not found the solution yet.  Thanks again.

Hi everyone, I have the same issue.
How to renew the certificate?

To renew the self signed certificate (in case not using LND), run:
/home/admin/config.scripts/internet.selfsignedcert.sh reset

If the LND certificate is used that should autorenew on restart.

Check if for a future release always a self-signed cert can be used/created with a very far away end date.

These are the certs electrum uses on its SSL port:
https://github.com/raspiblitz/raspiblitz/blob/f11e529ff6ae720cdccf28ddac38a24d853c538b/home.admin/config.scripts/bonus.electrs.sh#L415-L416
Those nginx cert can either be the LND cert or the the one created by internet.selfsignedcert.sh
https://github.com/raspiblitz/raspiblitz/blob/f11e529ff6ae720cdccf28ddac38a24d853c538b/home.admin/config.scripts/blitz.web.sh#L128-L129
Checking internet.selfsignedcert.sh we can see that it creates a self-signed cert that should outdate about 10years after creation:
https://github.com/raspiblitz/raspiblitz/blob/f11e529ff6ae720cdccf28ddac38a24d853c538b/home.admin/config.scripts/internet.selfsignedcert.sh#L58-L59
So the problem seems when the LND cert is used - for TEAMDISCUSS .. should we just always use the internet.selfsignedcert.sh one?
_SIDENOTE:

Self-signed certificates and internal certificate authorities, the restrictions are generally more lenient:

Chrome and Edge do not enforce the 398-day limit for certificates from internal certificate authorities[1].
Safari restricts certificate validity for internal certificate authorities to a maximum of 825 days if issued after July 1, 2019 --> https://www.gradenegger.eu/en/chrome-and-safari-limit-ssl-certificates-to-one-year-2020/

In general we should not make our self-signed cert longer valid than 825days is we want to raise the bar._

get rid if lnd cert for next release and see further feedback

OK this will come with v1.11.3 - closing. Please reopen if still happening after v1.11.3 release.


HDView2 tile support

Hi has anybody managed to use HDView2 tiles with openseadragon, yet? Or can anybody point me in the right direction on how to use it?

What format does HDView2 produce?

Related to #497


Test-Infra dependency upgrade

Proposed Changes

Upgrades the test-infra dependency for the build repo

Release Note

/check-cla

/assign @adrcunha

/lgtm

/lgtm

Can we haz /approval @ImJasonH ?

/approve
Sorry about that!

This breaks the release script. Although I told Nikhil to update the script, I missed that during review. #553 fixes that.


Work around bug in Styled Components v2

See the solution (and issue) here: https://github.com/styled-components/styled-components/issues/987#issuecomment-317839456

Closing this as it incorrectly attempts to inject unescaped html into the head.

@jesstelford How were you able to fix this bug?


I guess I cant have certain Scripts then...

Describe your bug here.
Whenever I have the unique opponent scripts on. no matter what script I use. it always crashes on me!
BONUS ADDED
it shows this message
StrumNote.hx (line 139)
flixel/group/FlxGroup.hx (line 175)
flixel/group/FlxGroup.hx (line 175)
flixel/addons/ui/FlxUIState.hx (line 212)
MusicBeatState.hx (line 66)
PlayState.hx (line 2878)
flixel/FlxState.hx (line 203)
flixel/FlxGame.hx (line 747)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 551)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Nope. No changes. only extra mods but that doesnt mess with the executable

not a bug
note texture has invalid/missing animations

but i never changed anything with the notes and it worked before the script got added? how does that mess with the note texture???

You didn't show any of the files you're using so can't really help

i only used a script

The point of reporting a bug is showing the script


Change old number of lines

Changed the number of lines based on cloc

All PRs must either fix bugs, improve speed (>20%), refactor on a conceptual level (big line reduction), or add tested functionality.


In Search service (V3), make sure to use SimpleFSDirectory instead of RAMDirectory

This is already done in V2.
@johnataylor, @maartenba

Correct. We found that there was no noticeable perf difference. Memory usage on machines dropped significantly though.


SpriteAnimator

Describe the feature you'd like:
I would really really like SpriteAnimator to be brought into this repo 🙏
There are no off-the-shelf solutions for vanilla three to implement 2d spritesheet animation (I found one but it hasn't been touched in 4 years).

Do you know where i can find more sprite + json files to test ?
was planning to make a class but maintenance might become difficult, so resorting to returning an object containing the important functions/assets
so here's the current state of the api + Demo here
 const FlameSpriteAnimator = SpriteAnimator({
    startFrame: 0,
    fps: 40,
    autoPlay: true,
    loop: true,
    textureImageURL: './sprites/flame.png',
    textureDataURL: './sprites/flame.json',
    alphaTest: 0.01,
  })
  await FlameSpriteAnimator.init()
  FlameSpriteAnimator.group.position.set(0, 2, 1.2)
  FlameSpriteAnimator.group.scale.set(4, 4, 4)
  scene.add(FlameSpriteAnimator.group)

// needs to be called in render loop
FlameSpriteAnimator.useFrame()

https://arks.itch.io/dino-characters
https://opengameart.org/content/2d-game-knight-character-sprite
http://www.as3gamegears.com/assets/assets-pack-12-medieval-fantasy-character-sprites/
There are quite a few sources for creative commons sprites online :)
I assume if a sprite needed more than one animation, then the idea would be to create multiple instances and swap them in when needed

I tried plugging the png's directly , but it was not playing correctly , tried texturePacker free version that also did not work correctly
but from the original example
there was this boy_has sprite with two animations
https://vis-prime.github.io/explore-vanilla-drei/?scene=SpriteAnimatorDemo
Uploading 2023-06-05 22-21-12.mp4…
if the animations are in different sprite images then yeah , you'd need to manually swap the THREE.Group

there were some updates recently , will look at those too

Hello! I'm the author of that component, let me know if you need any help. There is an update on the latest release that also handles JSONHash exports (previous versions handled standalone spritesheets (no json), and JSON Array ones). Most of these are exported via https://www.codeandweb.com/texturepacker (excellent tool) but other tools can export them as well.
You can find some samples here:
--- JSON Array
https://gwcjylrsyylsuacdrnov.supabase.co/storage/v1/object/public/models/flame.png
https://gwcjylrsyylsuacdrnov.supabase.co/storage/v1/object/public/models/flame.json
--- JSON Hash
https://gwcjylrsyylsuacdrnov.supabase.co/storage/v1/object/public/models/flameup.png
https://gwcjylrsyylsuacdrnov.supabase.co/storage/v1/object/public/models/flameup.json
--- Standalone PNG
https://gwcjylrsyylsuacdrnov.supabase.co/storage/v1/object/public/models/alien.png


Bumped React to 16.6

Updating React version. Everything looked like it worked locally, but I'm looking to our unit/integration tests to fully verify. Note that I'm also trying to update the React version in pinboard at the same time.

[ ] Documentation
[ ] Tests
[ ] Experimental evidence (required for Masonry changes)
[ ] Accessibility checkup

Deploy preview for gestalt ready!
Built with commit 510b9a94fbd5a90e8da39cd282599d095cf8f58f
https://deploy-preview-406--gestalt.netlify.com

Codecov Report

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

@@            Coverage Diff             @@
##           master     #406      +/-   ##
==========================================
+ Coverage   72.58%   72.67%   +0.09%
==========================================
  Files          57       57
  Lines        1109     1109
  Branches      265      265
==========================================
+ Hits          805      806       +1
+ Misses        221      220       -1
  Partials       83       83

Impacted Files
Coverage Δ

packages/gestalt/src/MasonryBeta.js
75.91% <0%> (+0.72%)
:arrow_up:

Continue to review full report at Codecov.

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


python3Packages.google-auth-oauthlib: fix build on darwin

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Why not enable local networking instead?

Why not enable local networking instead?

That'd be a fine option, however, there are no network namespaces on darwin, so the test would not be isolated.

@GrahamcOfBorg build python3Packages.google-auth-oauthlib

Result of nixpkgs-review pr 204589 run on x86_64-darwin 1

1 package built:

python3Packages.google-auth-oauthlib

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/787


Crate versions are lexicographically sorted in completion

Current behavior

The crates versions supplied to the completion are sorted lexicographically, which causes 0.1.9 to be given higher priority over 0.1.11 which is buries underneath the 0.1.1 version.
Expected behavior
The crates versions are returned in semantic version order, as the user most likely want't the most recent version when adding a crate.
E.g; 0.1.11, 0.1.10, 0.1.9 etc
Additional context/Screenshots

Neovim version

nvim --version
NVIM v0.10.0-dev-1769+g9dd48f783-Homebrew
Build type: Release
LuaJIT 2.1.0-beta3

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/HEAD-9dd48f7/share/nvim"

Run :checkhealth for more info

I've also noticed that, but I'm not exactly sure what's the cause. We set sortText on versions and the client/completion provider is supposed to respect them. That used to work when I implemented it, but some time ago something broke.
Here is the line we set sortText:
https://github.com/Saecki/crates.nvim/blob/3648f8787656d7572740560331553abdaa8cb982/teal/crates/src/common.tl#L39
Here is the line nvim-cmp uses it to sort CompletionItems:
https://github.com/hrsh7th/nvim-cmp/blob/fc0f694af1a742ada77e5b1c91ff405c746f4a26/lua/cmp/config/compare.lua#L74
This needs some more investigation, I'll look into it sometime.

Found the issue, seems like the default config excludes scoring/sorting by sort_text:
https://github.com/hrsh7th/nvim-cmp/blob/fc0f694af1a742ada77e5b1c91ff405c746f4a26/lua/cmp/config/default.lua#L71

So whats the conclusion of this? Would it possible to patch cmp to enable sort_text or is there an other way?

I don't know, There is no answer to the issue I opened on the nvim-cmp repository. For now it seems like users will have to manually enable the sort_text comparator, if desired.

It's actually already linked above


suggest conda for windows installation

ciao
I have had difficulties installing pyam via pip (matplotlib and gnuwin packages).
Daniel suggested to do it via conda and it worked smoothly. Probably worth recommending it for new users.

Thanks @maxtav for persevering with the installation in spite of troubles!
I'll close this issues (because there is nothing for us to really do) but your comment will still be available to any user searching our issues for keywords like "Windows install" - and so they can follow your recommendation!


[question] (IDFGH-3912)

@Campou is there a way to stop, deinit, pause bluedroid ble mesh somehow? It would be useful in case of OTA update, which now takes about 10 minutes, which normally would be less than 1 minute.
Thanks

Hi @chegewara
Currently BLE Mesh provides a function esp_ble_mesh_deinit for de-initializing the whole mesh stack, and the parameter of this function can be used to decide whether erasing the mesh information from flash.
Thanks.

Yes, i know @Campou thanks, but this does not solved problem with stopping transfer every few seconds. It is better, but OTA still takes 5+ minutes, which usually takes about 1 minute.

Is it possible to improve the title?

Hi @chegewara
So even if the mesh stack is de-initialized, there is still no big improvement for the OTA speed.
Just one more question here, I didn't understand stopping transfer every few seconds very clearly, did you mean the BLE transfer is just stopped every few seconds?
Thanks.

Ok, seems it is some other problem with transfer being paused every few seconds. Its strange, because i didnt have it with the same code in other apps using the same or similar ionic app.
I did some test and i disabled ble mesh completely and still OTA update is stopping every few seconds.
I think i can close issue for now, since i dont know where is the real problem, esp32 or android ionic app.
Thanks


Fixupstream

Remove python byte code from repository and fix a likely typo in the namespace parser arg

Thans @zamiam69  the help. The pyc file will remove. --namespace already fixed.


[Flow] Pass to convert NCHW convolutions to NHWC

The conversion pass is enabled with --iree-flow-enable-conv-nchw-to-nhwc-transform
Includes partial support for propagating and cancelling transposes generated when converting from nchw to nhwc. The high level strategy for this pass is as follows:
1. Do the conversions for all conv_nchw_fchw ops (and pooling ops) and wrap the converted convolutions in transposes. Each transpose is tagged to indicate which direction the transpose should propagate through the graph.
2. Traverse the ops in the function in reverse to propagate transposes marked for upwards propagation to their parents. Ideally just before ops such as arith.constant or function arguments.
3. Propagate the transposes marked for downward propagation to its users, ideally to just before return.
4. Canonicalize out all adjacent cancelling transposes and generalize the remaining transposes to allow for fusing them with nearby ops.

The intent of this approach is fine, but the approach might need to be re-evaluated. Specifically annotating ops with the transpose and then propagating is a very targeted approach. We want something more general that can handle a general class of such computations. Happy to iterate on that.
FYI @hanhanW

The intent of this approach is fine, but the approach might need to be re-evaluated. Specifically annotating ops with the transpose and then propagating is a very targeted approach. We want something more general that can handle a general class of such computations. Happy to iterate on that.

Thanks for the comments! Agreed that there is room for more generality here but I struggled to come up with a solution that avoided some degree of tagging. The problems I saw were

We don't want to touch transposes already in the model with this pass
After propagating transposes to an op, I want to know which direction the newly created transposes should propagate.

My initial approach was to annotate the ops themselves but after a refactor I made it annotate the transposes and then added patterns for a few ops to look at the users and propagate a transpose to that op if its users are annotated appropriately. Extending this pass would then be a matter of adding more propagation patterns. Although I don't see an obvious way to avoid writing a pattern for each op type regardless of whether something is annotated.

The intent of this approach is fine, but the approach might need to be re-evaluated. Specifically annotating ops with the transpose and then propagating is a very targeted approach. We want something more general that can handle a general class of such computations. Happy to iterate on that.

Thanks for the comments! Agreed that there is room for more generality here but I struggled to come up with a solution that avoided some degree of tagging. The problems I saw were

We don't want to touch transposes already in the model with this pass
After propagating transposes to an op, I want to know which direction the newly created transposes should propagate.

My initial approach was to annotate the ops themselves but after a refactor I made it annotate the transposes and then added patterns for a few ops to look at the users and propagate a transpose to that op if its users are annotated appropriately. Extending this pass would then be a matter of adding more propagation patterns. Although I don't see an obvious way to avoid writing a pattern for each op type regardless of whether something is annotated. e.g. for something like pad, the padding arrays need to be reordered as well and thus it needs a pattern for that. Similarly for reductions we might not want to transpose the last dimension if it is a reduction dimension and thus we would stop propagation there.

Broadly

The intent of this approach is fine, but the approach might need to be re-evaluated. Specifically annotating ops with the transpose and then propagating is a very targeted approach. We want something more general that can handle a general class of such computations. Happy to iterate on that.

Thanks for the comments! Agreed that there is room for more generality here but I struggled to come up with a solution that avoided some degree of tagging. The problems I saw were

We don't want to touch transposes already in the model with this pass
After propagating transposes to an op, I want to know which direction the newly created transposes should propagate.

My initial approach was to annotate the ops themselves but after a refactor I made it annotate the transposes and then added patterns for a few ops to look at the users and propagate a transpose to that op if its users are annotated appropriately. Extending this pass would then be a matter of adding more propagation patterns. Although I don't see an obvious way to avoid writing a pattern for each op type regardless of whether something is annotated. e.g. for something like pad, the padding arrays need to be reordered as well and thus it needs a pattern for that. Similarly for reductions we might not want to transpose the last dimension if it is a reduction dimension and thus we would stop propagation there.

Broadly what we want to do is to have two family of patterns

op -> data_layout_change_op to data_layout_change_op -> op
data_layout_change_op -> op to op -> data_layout_change_op

Typically you apply patterns of (1) in fixed point followed by patterns of (2). Then you just do that repeatedly until convergence.
The data_layout_change_op could be either linalg.transpose, tensor.pad or the new tensor.pack/tensor.unpack operations. op could be any operation, but typically linalg/linalg_ext ops. Each of these patterns can have a control function that specifies when to apply the pattern and when no to. All of these patterns and control functions can just be added upstream, and just used in IREE. We have a prior for such patterns where the data_layout_change_op is tensor.expand_shape/tensor.collapse_shape and op is linalg.generic.
Once built upstream, we can just use those patterns and control when it applies from IREE. There are broadly two types of constraints,
(a) constraints that are structural, i.e. these need to be met for the rewrite to even work. These are part of the pattern implementation.
(b) constraints that are heuristics., i.e. these are opinions that are based on some profitability analysis.
I think largely the latter should be as simple as possible. I would even think it should just be as simple as return true.

Big +1 if we can build these things upstream, and use the patterns in IREE.

I think largely the latter should be as simple as possible. I would even think it should just be as simple as return true.

After thinking a bit, I think we could flip linalg.transpose op and the consumer op again and again if we always return true. If we can use tensor.pack/unpack op to represent the linalg.transpose op, it'd work perfectly with my recent propagation design (will send it out soon). Or we can just bubble up the transpose.linalg and element-wisely fuse the output linalg.transpose with its consumers.

Broadly what we want to do is to have two family of patterns

     op -> data_layout_change_op to data_layout_change_op -> op
     data_layout_change_op -> op to op -> data_layout_change_op

Typically you apply patterns of (1) in fixed point followed by patterns of (2). Then you just do that repeatedly until convergence.

If I'm understanding this correctly, this is essentially what I've done thus far, but really we want these patterns upstream with finer controls for when to apply them. Then all of the annotating weirdness that I want to do is isolated to the control functions which are written in IREE and used when applying the patterns. Also with regards to this pass in particular, the data layout propagation only comes after applying the transposes to each nchw convolution, which would remain in IREE then?
I can start with your suggestion to build the propagation patterns upstream though.

If we can use tensor.pack/unpack op to represent the linalg.transpose op, it'd work natively with my recent propagation design (will send it out soon).

If that's the case then that would be very helpful!

If I'm understanding this correctly, this is essentially what I've done thus far, but really we want these patterns upstream with finer controls for when to apply them. Then all of the annotating weirdness that I want to do is isolated to the control functions which are written in IREE and used when applying the patterns

We probably want to avoid the annotations altogether. Instead of annotating and then propagating, we just do the propagation. Unless you have a heuristic that requires a full global context (in any case, I am skeptical of such global heuristics), just making local decisions and applying fixed point, usually works well.

If I'm understanding this correctly, this is essentially what I've done thus far, but really we want these patterns upstream with finer controls for when to apply them. Then all of the annotating weirdness that I want to do is isolated to the control functions which are written in IREE and used when applying the patterns

Its a simple named-op-to-named-op conversion. We could just add it upstream, in the same place we add all the propagation patterns. Call these patterns first in the pass and then the propagation patterns.

If we can use tensor.pack/unpack op to represent the linalg.transpose op, it'd work natively with my recent propagation design (will send it out soon). Or we can just bubble up the transpose.linalg and element-wisely fuse the output linalg.transpose with its consumers. Either way works.

It is probably better to separate linalg.transpose propagation with the pack/unpack propagation. Its true the latter can represent the former, but thats not the expected usage...
Also we want to only do propagation in one direction first (propagate to the inputs). Any transpose that is not "transpose of inputs" is what you should propagate towards the results.

We probably want to avoid the annotations altogether. Instead of annotating and then propagating, we just do the propagation. Unless you have a heuristic that requires a full global context (in any case, I am skeptical of such global heuristics), just making local decisions and applying fixed point, usually works well.

My current approach is to annotate the transposes surrounding the convolutions, then each new transpose created as I'm propagating gets an annotation as well. This is in part to avoid interfering with any linalg.transpose ops that might already be present within the model, so I don't see how to avoid at least generating annotations while propagating. I may have slightly misunderstood your point here, but agreed that global heuristics like I had in my first attempt at this are a bit dubious.

Its a simple named-op-to-named-op conversion. We could just add it upstream, in the same place we add all the propagation patterns. Call these patterns first in the pass and then the propagation patterns.

Nice, that works too.

We probably want to avoid the annotations altogether. Instead of annotating and then propagating, we just do the propagation. Unless you have a heuristic that requires a full global context (in any case, I am skeptical of such global heuristics), just making local decisions and applying fixed point, usually works well.

My current approach is to annotate the transposes surrounding the convolutions, then each new transpose created as I'm propagating gets an annotation as well. This is in part to avoid interfering with any linalg.transpose ops that might already be present within the model, so I don't see how to avoid at least generating annotations while propagating

Is there a reason to not also propagate transposes that are part of the model? Whether transpose is inserted due to a conv op or if the model has it to start with, there should be no difference in how transposes are propagated. Of course, examples would help.

Agreed with not having a new class of special annotated transposes and special logic for them - we definitely want to propagate transposes from any origin as part of whole-program optimization.

Is there a reason to not also propagate transposes that are part of the model? Whether transpose is inserted due to a conv op or if the model has it to start with, there should be no difference in how transposes are propagated. Of course, examples would help.

Ah I suppose not? I don't think Torch-MLIR produces linalg.transpose yet and MHLO won't have nchw convolutions so I was just inferring that I wouldn't want to. Then in that case we can operate as though we don't care whether existing transposes are propagated.
Actually I do see one possible issue where we propagate the transpose up through an op and then immediately undo that propagation when going the other direction. Then we would need to know whether a transpose already propagated through a particular op? I'm just surmising because I haven't written the code yet though...

Is there a reason to not also propagate transposes that are part of the model? Whether transpose is inserted due to a conv op or if the model has it to start with, there should be no difference in how transposes are propagated. Of course, examples would help.

Ah I suppose not? I don't think Torch-MLIR produces linalg.transpose yet and MHLO won't have nchw convolutions so I was just inferring that I wouldn't want to. Then in that case we can operate as though we don't care whether existing transposes are propagated.
Actually I do see one possible issue where we propagate the transpose up through an op and then immediately undo that propagation when going the other direction. Then we would need to know whether a transpose already propagated through a particular op? I'm just surmising because I haven't written the code yet though...

The goal is to propagate all transposes to the input. So those that dont get propagated to the input, you try to propagate to the output... so you just ignore the transpose of inputs in the propagation to the results. But that is over simplifying.... ideally we should not need to propagate to results... Once the propagation to inputs works, we need to be very careful in chosing what transposes need to propagate to results

Is there a reason to not also propagate transposes that are part of the model? Whether transpose is inserted due to a conv op or if the model has it to start with, there should be no difference in how transposes are propagated. Of course, examples would help.

Ah I suppose not? I don't think Torch-MLIR produces linalg.transpose yet and MHLO won't have nchw convolutions so I was just inferring that I wouldn't want to. Then in that case we can operate as though we don't care whether existing transposes are propagated.
Actually I do see one possible issue where we propagate the transpose up through an op and then immediately undo that propagation when going the other direction. Then we would need to know whether a transpose already propagated through a particular op? I'm just surmising because I haven't written the code yet though...

The goal is to propagate all transposes to the input. So those that dont get propagated to the input, you try to propagate to the output... so you just ignore the transpose of inputs in the propagation to the results. But that is over simplifying.... ideally we should not need to propagate to results... Once the propagation to inputs works, we need to be very careful in chosing what transposes need to propagate to results

If it helps, this is similar to how reshapes are handled today. https://discourse.llvm.org/t/rfc-next-iteration-of-fusion-of-elementwise-operations/59955 might help.

Agreed with not having a new class of special annotated transposes and special logic for them - we definitely want to propagate transposes from any origin as part of whole-program optimization.

Yeah special annotated transposes aren't good, although good to know that we might as well let it be a whole-program optimization rather than focusing on the convolutions. I'm still kind of figuring out how to mechanically write the pass, I suppose ideally without having to temporarily annotate things.

If it helps, this is similar to how reshapes are handled today. https://discourse.llvm.org/t/rfc-next-iteration-of-fusion-of-elementwise-operations/59955 might help.

This looks helpful, thanks.


use new make file

Some tidying up.

Modified MakeFile
Removed Dockerfile
Updated Matrix
Updated travis.yml
Added shared standards library

@wpillar Pinging you on this, as it might be useful for the php5.5 stuff.

@h-bragg I'll pick my PR up again once this is in master.


⚠ Bofrost.at has degraded performance

In 31704bc, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1979 ms

Resolved: Bofrost.at performance has improved in 3b530e3.


dependencies

I notice that the README indicates that py2max is a library without dependencies.
I did encounter dependencies when running the tests via pytest. These packages are needed:
networkx
matplotlib
pygraphviz
pygraphviz further requires install of Graphviz (manual or via brew) which itself has extensive package dependencies.
I don't mind installing pip packages, but my suggestion is to clarify the dependency statement. I realize these installs were only required to run the test capability.
Perhaps something like: py2max is a library that doesn't require additional packages for basic use. Some additional packages are required for running the tests.
Also, an install guide section in the README would be helpful:

install the repo via git or download
for running tests, the following additional python packages are required:
networkx
matplotlib
pygraphviz
Pygraphviz requires install of the program GraphViz: https://www.graphviz.org/
(On macos this can be done via brew install graphviz.) This install is fairly involved and will take some time. Once complete, you can use pip install for  pygraphviz

@HighHarmonics2
Thanks for your feedback and good suggestions.
Incidentally, the intention was to skip a test if an import was not found via the pytest.mark.skipif mechanism, but you found some old cases which were not converted. That has been done now in the latest commit.

@HighHarmonics2 Are you still having problems with running tests?

I can now run tests successfully, thanks.
As per the README:
pytest -v outputs the tests PASSED and tests SKIPPED. This is helpful and with your updated Installation notes, I can understand which packages I don't have installed - it looks like mostly on the layout tests.
This issue can be closed.


[7 Days to Die] Function Error.

When attempting to restart server getting below error.
Stopping sdtd-server: Attempting graceful shutdown via telnet/home/7dtd/functions/command_stop.sh: line 29: expect: command not found
[ FAIL ] Stopping sdtd-server: Attempting graceful shutdown via telnet: Unknown error

You are missing a dependency
apt-get install expect

Is there a full list of required dependencies for each Game Server type available?

yes on the website http://gameservermanagers.com

Thanks for the help. Appears to be functioning properly again.


Fix default Flagsmith export in generated types

Description
I found an issue with the library generated .d.ts types when importing the flagsmith-nodejs package. When trying to do import Flagsmith from 'flagsmith-nodejs', it does work but the type check fails as TypeScript doesn't play well with the current module.exports = Flagsmith line here.
The current generated types look like this:
export { AnalyticsProcessor, FlagsmithAPIError, FlagsmithClientError, EnvironmentDataPollingManager, FlagsmithCache, DefaultFlag, Flags } from './sdk';
export { EnvironmentModel, IntegrationModel, FeatureStateModel, IdentityModel, TraitModel, SegmentModel, OrganisationModel } from './flagsmith-engine';

After the changes in this PR, they look like this:
export { AnalyticsProcessor, FlagsmithAPIError, FlagsmithClientError, EnvironmentDataPollingManager, FlagsmithCache, DefaultFlag, Flags, default } from './sdk';
export { EnvironmentModel, IntegrationModel, FeatureStateModel, IdentityModel, TraitModel, SegmentModel, OrganisationModel } from './flagsmith-engine';

The main difference is the default export in the line exporting from the './sdk' file.
The current workaround is to import from 'sdk' like:
import Flagsmith from 'flagsmith-nodejs/sdk'

Thanks for the PR @TheMightyPenguin ! Will get @kyle-ssg to take a look soon.


Not working at all

This is a great idea because this type of plugin doesn't exist. However, its broken down to the core. Will try and contribute but one thing one needs to clarify is permissions in IOS and perhaps its a deal breaker for plugin

iOS does not support navigate to specific setting page for the latest os version.
For more detail pls refer to: https://github.com/FifiTheBulldog/ios-settings-urls/issues/9


Changed import data format

Changed the following format to the following:
Timestamp was changed from ns to s
The ns precision wasn't needed
Voltage changed from integer to float
Current changed from integer to float
Makes the voltage and current standard units. Before they were in integers to avoid floating point errors due to the precision of the RocketLogger

I believed this was fixed in data-collection branch and has been merged into main


visualization images not that good as that in paper

Congratulations!!Thanks for the wonderful work and open source.
I ran the code following your guides but got the predictions like this

Then, I make every pixel which number is not 0 equals 255 and it became like this one

What's more, I also use the pred_b3.png, and the max and min value in array is both 0. So I am wondering is there  something wrong with my pipeline? or other things?  Looking forward to your advice!

I met the same problem,have you solve it?

Is there an issue with the pretrained weights provided by him? I just want to run a few images on the pretrained weights he provided. If possible, could you share yours? Thank you very much!

Sorry, I made a correction later on which caused an issue with the pre-training results. Now, I have reverted to the initial version.

I'v retained the model,problem solved,thank you so much!🤞

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I have tested the weight file I uploaded and it yields the results mentioned above. There might be slight differences in different environments, but the gap should be minimal. What results do you get when you reproduce using the weight file provided?

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I have tested the weight file I uploaded and it yields the results mentioned above. There might be slight differences in different environments, but the gap should be minimal. What results do you get when you reproduce using the weight file provided?

hi bro, thanks for your reply! Firstly, I cannot see your imgs attached in your reply, could you upload again? Secondly, in my env, your DRIVE weight may not make sense.  so I retrained the model and get test results in DRIVE like this

.   Looking forward to your early reply!!

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I have tested the weight file I uploaded and it yields the results mentioned above. There might be slight differences in different environments, but the gap should be minimal. What results do you get when you reproduce using the weight file provided?

sorry bro. I encountered some difficulties, could you give some suggests? Firstly, I run your guides in your github, it does show your wonderful results in your paper like this,

however when I trained your model and test, it is like

This result is already very close, and even the Acc and Spe are a bit higher. However, Sen is relatively low. I have also found in my experiments that Sen is a very sensitive metric with relatively large fluctuations. I think this might be due to inconsistencies in the environment version, or perhaps trying with a different random seed might help.

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I have tested the weight file I uploaded and it yields the results mentioned above. There might be slight differences in different environments, but the gap should be minimal. What results do you get when you reproduce using the weight file provided?

sorry bro. I encountered some difficulties, could you give some suggests? Firstly, I run your guides in your github, it does show your wonderful results in your paper like this,  however when I trained your model and test, it is like

This result is already very close, and even the Acc and Spe are a bit higher. However, Sen is relatively low. I have also found in my experiments that Sen is a very sensitive metric with relatively large fluctuations. I think this might be due to inconsistencies in the environment version, or perhaps trying with a different random seed might help.

I'v retained the model,problem solved,thank you so much!🤞

hi bro， I am wondering could you get as wonderful as the result in paper after you retrained model or use the author's checkpoint in github? I mean this good metrics

I have tested the weight file I uploaded and it yields the results mentioned above. There might be slight differences in different environments, but the gap should be minimal. What results do you get when you reproduce using the weight file provided?

sorry bro. I encountered some difficulties, could you give some suggests? Firstly, I run your guides in your github, it does show your wonderful results in your paper like this,  however when I trained your model and test, it is like

This result is already very close, and even the Acc and Spe are a bit higher. However, Sen is relatively low. I have also found in my experiments that Sen is a very sensitive metric with relatively large fluctuations. I think this might be due to inconsistencies in the environment version, or perhaps trying with a different random seed might help.

hi bro， I forgot to ask the second question: your model has been changed after your update.

I am confused that  this model is different with paper's, the new model missed residual part.


[Bug]: I try the offical ragtest demo in version 0.4.0, 0.5.0, use the GPT-4o-mini, but it appear this issue. I don't know how to resolve this.

Do you need to file an issue?

[ ] I have searched the existing issues and this bug is not already filed.
[ ] My model is hosted on OpenAI or Azure. If not, please look at the "model providers" issue and don't file a new one here.
[ ] I believe this is a legitimate bug, not just a question. If this is a question, please use the Discussions area.

Describe the bug
Traceback (most recent call last):
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_transports\default.py", line 72, in map_httpcore_exceptions
yield
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_transports\default.py", line 377, in handle_async_request
resp = await self._pool.handle_async_request(req)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_async\connection_pool.py", line 256, in handle_async_request
raise exc from None
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_async\connection_pool.py", line 236, in handle_async_request
response = await connection.handle_async_request(
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_async\connection.py", line 101, in handle_async_request
raise exc
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_async\connection.py", line 78, in handle_async_request
stream = await self._connect(request)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_async\connection.py", line 124, in _connect
stream = await self._network_backend.connect_tcp(**kwargs)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_backends\auto.py", line 31, in connect_tcp
return await self._backend.connect_tcp(
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_backends\anyio.py", line 113, in connect_tcp
with map_exceptions(exc_map):
File "E:\anaconda3\envs\graphrag\lib\contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: All connection attempts failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "E:\anaconda3\envs\graphrag\lib\site-packages\openai_base_client.py", line 1572, in _request
response = await self._client.send(
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_client.py", line 1674, in send
response = await self._send_handling_auth(
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_client.py", line 1702, in _send_handling_auth
response = await self._send_handling_redirects(
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_client.py", line 1739, in _send_handling_redirects
response = await self._send_single_request(request)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_client.py", line 1776, in _send_single_request
response = await transport.handle_async_request(request)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_transports\default.py", line 376, in handle_async_request
with map_httpcore_exceptions():
File "E:\anaconda3\envs\graphrag\lib\contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "E:\anaconda3\envs\graphrag\lib\site-packages\httpx_transports\default.py", line 89, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: All connection attempts failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\graph\extractors\graph\graph_extractor.py", line 125, in call
result = await self._process_document(text, prompt_variables)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\graph\extractors\graph\graph_extractor.py", line 153, in _process_document
response = await self._llm(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\openai\json_parsing_llm.py", line 34, in call
result = await self._delegate(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\openai\openai_token_replacing_llm.py", line 37, in call
return await self.delegate(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\openai\openai_history_tracking_llm.py", line 33, in call
output = await self.delegate(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\caching_llm.py", line 96, in call
result = await self.delegate(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\rate_limiting_llm.py", line 177, in call
result, start = await execute_with_retry()
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\rate_limiting_llm.py", line 159, in execute_with_retry
async for attempt in retryer:
File "E:\anaconda3\envs\graphrag\lib\site-packages\tenacity\asyncio_init.py", line 166, in anext
do = await self.iter(retry_state=self.retry_state)
File "E:\anaconda3\envs\graphrag\lib\site-packages\tenacity\asyncio_init.py", line 153, in iter
result = await action(retry_state)
File "E:\anaconda3\envs\graphrag\lib\site-packages\tenacity_utils.py", line 99, in inner
return call(*args, **kwargs)
File "E:\anaconda3\envs\graphrag\lib\site-packages\tenacity_init.py", line 418, in exc_check
raise retry_exc.reraise()
File "E:\anaconda3\envs\graphrag\lib\site-packages\tenacity_init.py", line 185, in reraise
raise self.last_attempt.result()
File "E:\anaconda3\envs\graphrag\lib\concurrent\futures_base.py", line 438, in result
return self.__get_result()
File "E:\anaconda3\envs\graphrag\lib\concurrent\futures_base.py", line 390, in __get_result
raise self._exception
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\rate_limiting_llm.py", line 165, in execute_with_retry
return await do_attempt(), start
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\rate_limiting_llm.py", line 147, in do_attempt
return await self._delegate(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\base_llm.py", line 50, in call
return await self._invoke(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\base\base_llm.py", line 54, in _invoke
output = await self._execute_llm(input, **kwargs)
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\llm\openai\openai_chat_llm.py", line 53, in _execute_llm
completion = await self.client.chat.completions.create(
File "E:\anaconda3\envs\graphrag\lib\site-packages\openai\resources\chat\completions.py", line 1661, in create
return await self._post(
File "E:\anaconda3\envs\graphrag\lib\site-packages\openai_base_client.py", line 1839, in post
return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
File "E:\anaconda3\envs\graphrag\lib\site-packages\openai_base_client.py", line 1533, in request
return await self._request(
File "E:\anaconda3\envs\graphrag\lib\site-packages\openai_base_client.py", line 1606, in _request
raise APIConnectionError(request=request) from err
openai.APIConnectionError: Connection error.
22:24:40,295 graphrag.callbacks.file_workflow_callbacks INFO Entity Extraction Error details={'doc_index': 0, 'text': "his knees.\n\nThe finger pointed from the grave to him, and back again.\n\n'No, Spirit! Oh no, no!'\n\nThe finger still was there.\n\n'Spirit!' he cried, tight clutching at its robe, 'hear me! I am not the\nman I was. I will not be the man I must have been but for this\nintercourse. Why show me this, if I am past all hope?'\n\nFor the first time the hand appeared to shake.\n\n'Good Spirit,' he pursued, as down upon the ground he fell before it,\n'your nature intercedes for me, and pities me. Assure me that I yet may\nchange these shadows you have shown me by an altered life?'\n\nThe kind hand trembled.\n\n'I will honour Christmas in my heart, and try to keep it all the year. I\nwill live in the Past, the Present, and the Future. The Spirits of all\nThree shall strive within me.  Oh, tell me I may sponge away the writing on this stone!'\n\nIn his agony he caught the spectral hand. It sought to free itself, but\nhe was strong in his entreaty, and detained it. The Spirit stronger yet,\nrepulsed him.\n\nHolding up his hands in a last prayer to have his fate reversed, he saw\nan alteration in the Phantom's hood and dress. It shrunk, collapsed, and\ndwindled down into a bedpost.\n\n\nSTAVE FIVE\n\n\n[Illustration]\n\n\n\n\nTHE END OF IT\n\n\nYes! and the bedpost was his own. The bed was his own, the room was his\nown. Best and happiest of all, the Time before him was his own, to make\namends in!\n\n'I will live in the Past, the Present, and the Future!' Scrooge repeated\nas he scrambled out of bed. 'The Spirits of all Three shall strive\nwithin me. O Jacob Marley! Heaven and the Christmas Time be praised for\nthis! I say it on my knees, old Jacob; on my knees!'\n\nHe was so fluttered and so glowing with his good intentions, that his\nbroken voice would scarcely answer to his call. He had been sobbing\nviolently in his conflict with the Spirit, and his face was wet with\ntears.\n\n'They are not torn down,' cried Scrooge, folding one of his bed-curtains\nin his arms, 'They are not torn down, rings and all. They are here--I am\nhere--the shadows of the things that would have been may be dispelled.\nThey will be. I know they will!'\n\nHis hands were busy with his garments all this time: turning them inside\nout, putting them on upside down, tearing them, mislaying them, making\nthem parties to every kind of extravagance.\n\n'I don't know what to do!' cried Scrooge, laughing and crying in the\nsame breath, and making a perfect Laocoon of himself with his stockings.\n'I am as light as a feather, I am as happy as an angel, I am as merry as\na schoolboy, I am as giddy as a drunken man. A merry Christmas to\neverybody! A happy New Year to all the world! Hallo here! Whoop! Hallo!'\n\nHe had frisked into the sitting-room, and was now standing there,\nperfectly winded.\n\n'There's the saucepan that the gruel was in!' cried Scrooge, starting\noff again, and going round the fireplace. 'There's the door by which the\nGhost of Jacob Marley entered! There's the corner where the Ghost of\nChristmas Present sat! There's the window where I saw the wandering\nSpirits! It's all right, it's all true, it all happened. Ha, ha, ha!'\n\nReally, for a man who had been out of practice for so many years, it was\na splendid laugh, a most illustrious laugh. The father of a long, long\nline of brilliant laughs!\n\n'I don't know what day of the month it is,' said Scrooge. 'I don't know\nhow long I have been among the Spirits. I don't know anything. I'm quite\na baby. Never mind. I don't care. I'd rather be a baby. Hallo! Whoop!\nHallo here!'\n\nHe was checked in his transports by the churches ringing out the\nlustiest peals he had ever heard. Clash, clash, hammer; ding, dong,\nbell! Bell, dong, ding; hammer, clash, clash! Oh, glorious, glorious!\n\nRunning to the window, he opened it, and put out his head. No fog, no\nmist; clear, bright, jovial, stirring, cold; cold, piping for the blood\nto dance to; golden sunlight; heavenly sky; sweet fresh air; merry\nbells. Oh, glorious! Glorious!\n\n'What's to-day?' cried Scrooge, calling downward to a boy in Sunday\nclothes, who perhaps had loitered in to look about him.\n\n'EH?' returned the boy with all his might of wonder.\n\n'What's to-day, my fine fellow?' said Scrooge.\n\n'To-day!' replied the boy. 'Why, CHRISTMAS DAY.'\n\n'It's Christmas Day!' said Scrooge to himself. 'I haven't missed it. The\nSpirits have done it all in one night. They can do anything they like.\nOf course they can. Of course they can. Hallo, my fine fellow!'\n\n'Hallo!' returned the boy.\n\n'Do you know the poulterer's in the next street but one"}
22:24:40,445 graphrag.index.operations.cluster_graph WARNING Graph has no nodes
22:24:40,454 datashaper.workflow.workflow ERROR Error executing verb "create_base_entity_graph" in create_base_entity_graph: Columns must be same length as key
Traceback (most recent call last):
File "E:\anaconda3\envs\graphrag\lib\site-packages\datashaper\workflow\workflow.py", line 415, in _execute_verb
result = await result
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\workflows\v1\subflows\create_base_entity_graph.py", line 51, in create_base_entity_graph
output = await create_base_entity_graph_flow(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\flows\create_base_entity_graph.py", line 77, in create_base_entity_graph
clustered = cluster_graph(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\operations\cluster_graph.py", line 89, in cluster_graph
output[[level_to, to]] = pd.DataFrame(output[to].tolist(), index=output.index)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\frame.py", line 4299, in setitem
self._setitem_array(key, value)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\frame.py", line 4341, in _setitem_array
check_key_length(self.columns, key, value)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length
raise ValueError("Columns must be same length as key")
ValueError: Columns must be same length as key
22:24:40,548 graphrag.callbacks.file_workflow_callbacks INFO Error executing verb "create_base_entity_graph" in create_base_entity_graph: Columns must be same length as key details=None
22:24:40,548 graphrag.index.run.run ERROR error running workflow create_base_entity_graph
Traceback (most recent call last):
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\run\run.py", line 273, in run_pipeline
result = await _process_workflow(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\run\workflow.py", line 105, in _process_workflow
result = await workflow.run(context, callbacks)
File "E:\anaconda3\envs\graphrag\lib\site-packages\datashaper\workflow\workflow.py", line 369, in run
timing = await self._execute_verb(node, context, callbacks)
File "E:\anaconda3\envs\graphrag\lib\site-packages\datashaper\workflow\workflow.py", line 415, in _execute_verb
result = await result
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\workflows\v1\subflows\create_base_entity_graph.py", line 51, in create_base_entity_graph
output = await create_base_entity_graph_flow(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\flows\create_base_entity_graph.py", line 77, in create_base_entity_graph
clustered = cluster_graph(
File "F:\Python_Project\AI\LLM\RAG\graphrag\graphrag\index\operations\cluster_graph.py", line 89, in cluster_graph
output[[level_to, to]] = pd.DataFrame(output[to].tolist(), index=output.index)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\frame.py", line 4299, in setitem
self._setitem_array(key, value)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\frame.py", line 4341, in _setitem_array
check_key_length(self.columns, key, value)
File "E:\anaconda3\envs\graphrag\lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length
raise ValueError("Columns must be same length as key")
ValueError: Columns must be same length as key
22:24:40,550 graphrag.callbacks.file_workflow_callbacks INFO Error running pipeline! details=None
22:24:40,575 graphrag.cli.index ERROR Errors occurred during the pipeline run, see logs for more details.
Steps to reproduce
No response
Expected Behavior
No response
GraphRAG Config Used
# Paste your config here

Logs and screenshots
No response
Additional Information

GraphRAG Version:
Operating System:
Python Version:
Related Issues:

Can you paste the config you are using (make sure to delete any API keys)? It appears that GraphRAG cannot connect to your configured LLM

Can you paste the config you are using (make sure to delete any API keys)? It appears that GraphRAG cannot connect to your configured LLM

Sure. My config is as follows:
This config file contains required core defaults that must be set, along with a handful of common optional settings.
For a full list of available settings, see https://microsoft.github.io/graphrag/config/yaml/
LLM settings
There are a number of settings to tune the threading and token limits for LLM calls - check the docs.
encoding_model: cl100k_base # this needs to be matched to your model!
llm:
api_key: ${GRAPHRAG_API_KEY} # set this in the generated .env file
type: openai_chat # or azure_openai_chat
model: gpt-4o-mini
model_supports_json: true # recommended if this is available for your model.
audience: "https://cognitiveservices.azure.com/.default"
api_base: https://.openai.azure.com
api_version: 2024-02-15-preview
organization: <organization_id>
deployment_name: <azure_model_deployment_name>
parallelization:
stagger: 0.3
num_threads: 50
async_mode: threaded # or asyncio
embeddings:
async_mode: threaded # or asyncio
vector_store:
type: lancedb
db_uri: 'output\lancedb'
container_name: default
overwrite: true
llm:
api_key: ${GRAPHRAG_API_KEY}
type: openai_embedding # or azure_openai_embedding
model: text-embedding-3-small
# api_base: https://.openai.azure.com
# api_version: 2024-02-15-preview
# audience: "https://cognitiveservices.azure.com/.default"
# organization: <organization_id>
# deployment_name: <azure_model_deployment_name>
Input settings
input:
type: file # or blob
file_type: text # or csv
base_dir: "input"
file_encoding: utf-8
file_pattern: ".*\.txt$"
chunks:
size: 1200
overlap: 100
group_by_columns: [id]
Storage settings
If blob storage is specified in the following four sections,
connection_string and container_name must be provided
cache:
type: file # or blob
base_dir: "cache"
reporting:
type: file # or console, blob
base_dir: "logs"
storage:
type: file # or blob
base_dir: "output"
only turn this on if running graphrag index with custom settings
we normally use graphrag update with the defaults
update_index_storage:
type: file # or blob
base_dir: "update_output"
Workflow settings
skip_workflows: []
entity_extraction:
prompt: "prompts/entity_extraction.txt"
entity_types: [organization,person,geo,event]
max_gleanings: 1
summarize_descriptions:
prompt: "prompts/summarize_descriptions.txt"
max_length: 500
claim_extraction:
enabled: false
prompt: "prompts/claim_extraction.txt"
description: "Any claims or facts that could be relevant to information discovery."
max_gleanings: 1
community_reports:
prompt: "prompts/community_report.txt"
max_length: 2000
max_input_length: 8000
cluster_graph:
max_cluster_size: 10
embed_graph:
enabled: false # if true, will generate node2vec embeddings for nodes
umap:
enabled: false # if true, will generate UMAP embeddings for nodes
snapshots:
graphml: false
raw_entities: false
top_level_nodes: false
embeddings: false
transient: false
Query settings
The prompt locations are required here, but each search method has a number of optional knobs that can be tuned.
See the config docs: https://microsoft.github.io/graphrag/config/yaml/#query
local_search:
prompt: "prompts/local_search_system_prompt.txt"
global_search:
map_prompt: "prompts/global_search_map_system_prompt.txt"
reduce_prompt: "prompts/global_search_reduce_system_prompt.txt"
knowledge_prompt: "prompts/global_search_knowledge_system_prompt.txt"
drift_search:
prompt: "prompts/drift_search_system_prompt.txt"

I also meet the same question, and sometimes I meet "ImportError: dlopen: cannot load any more object with static TLS" without any change, i have try to solve this question for almost a week, any solutions?😭😭😭😭😭

Delete all the parquet inside the artifacts folder and try again


Use OA models

Avoid duplicate of entity fields in controllers

Done in https://github.com/getaux/api/commit/34b74b0996192f472f34b7a3225d92986ea04f0b


Use conventional commits & update to create initial CHANGELOG

Use Conventional Commits
https://www.conventionalcommits.org/en/v1.0.0/
Change Log
https://github.com/goreleaser/chglog
Potential Tools
https://github.com/idc101/git-mkver

The issue was dealt with in a push directly to the main branch!


Swift 4.2

Hi, any ideas on converting EasyPeasy to Swift 4.2?

Hi @daurenm. Change incorporated here.


Crankier server

Alternate solution for #9264, Crankier now includes the server itself, call it using the server command, and then point another instance of Crankier at it with the usual local command;
$ dotnet run -- server

Process ID: 4837
Hosting environment: Production
Content root path: /Users/staffordwilliams/git/aspnetcore/artifacts/bin/Crankier/Debug/netcoreapp3.0/
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
[00:00:00] Current: 412, peak: 412, connected: 236, disconnected: 0, rate: 236/s
[00:00:01] Current: 632, peak: 632, connected: 220, disconnected: 0, rate: 220/s
[00:00:02] Current: 851, peak: 851, connected: 219, disconnected: 0, rate: 219/s
[00:00:03] Current: 1087, peak: 1087, connected: 236, disconnected: 0, rate: 236/s
[00:00:04] Current: 1329, peak: 1329, connected: 242, disconnected: 0, rate: 242/s
[00:00:05] Current: 1568, peak: 1568, connected: 239, disconnected: 0, rate: 239/s
[00:00:06] Current: 1772, peak: 1772, connected: 204, disconnected: 0, rate: 204/s

Also, rather than spamming based on connection count, a hosted service now periodically echoes the output.

done

/azp run AspNetCore-ci

@halter73 i'll fix the threading stuff this evening.  Regarding whitespace & brackets, why not lint for this in CI?

requested changes are done

updates made

Thanks @staff0rd!


zsh: command not found: jupyter - Workarounds

If you are using macOS Catalina, you might be using zsh as your default shell, and you might have hit this issue zsh: command not found: jupyter  when typed the jupyter in your terminal.

Here are couple of workarounds I have tested.
If you have found additional workarounds please share in the comments below :smiley:
Prerequisites:

.NET Core SDK

Anaconda - Required for workaround 1.

Homebrew - Required for workaround 2

Install dotnet interactive global tool
dotnet tool install -g dotnet-interactive

Install .NET kernel
dotnet interactive jupyter install

Workaround 1 : Switch to bash shell
If you use bash instead of zsh you can switch back to bash.

switch from zsh to bash using the following command chsh -s $(which bash)
Now, type jupyter lab in the terminal window

Workaround 2 Install the Jupyter using Homebrew in zsh shell

If you don't Python install 3.3or higher.

Open terminal

Using Homewbrew install jupyter
brew install jupyter

Now, you start a notebook
jupyter notebook

Note: By default the homebrew install of Jupyter only comes with jupyter notebook support.

An easy fix I found was to run source ~/.bash_profile. I hope it helps.

Reinstalling jupyter based on the steps in the following link solved my problem: https://jupyter.readthedocs.io/en/latest/install.html#id9

There should also be this message in the logs
zsh: /Users/parthlathiya/Downloads/Face_Detection/FaceEnv/bin/pip3: bad interpreter: /Users/parthlathiya/Downloads/Wider: no such file or directory
If so, uninstalling and reinstalling python to replace the bad interpreter worked for me.


gemma accuracy down from 0.128 to 0.129

What is the issue?
Prompts that were producing the correct results are now producing different (false) outputs
What did you expect to see?
Corretly formatted yaml with correct inputs based on custgom promt
-> Got a yaml with indentation issues and missing fields with wrong structure even though there are json schemas provided
Note that this has also happened on my collegue's pc as well as on a Remote Machine
Steps to reproduce
Upgrade ollama using linux download command provided in website
ollama run gemma
After I rm the model then pull it becomes better for a bit then it get's worse after a while
Are there any recent changes that introduced the issue?
Version Upgrade to 0.129
OS
Linux
Architecture
No response
Platform
WSL2
Ollama version
0.1.29
GPU
Nvidia
GPU info
Quadro P1000
CPU
Intel
Other software
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz   2.59 GHz

Hi @RamiKassouf, sorry you're seeing this. I've heard in the past about Gemma getting focused on initial prompts and I'm wondering if that could be the case here. Removing the model and pulling it again shouldn't change the behavior, are you able to get better responses after stopping the model and re-running it too?

Yess I do for a little while then it becomes worse
It feels like there's a memory leak or something like that?


[Git Bash] Arkade get OSM path errors

Expected Behaviour

On Windows Git Bash, when running ark get osm, the last two commands should be able to run on Git Bash with errors.
The commands should be adapted as follow:
chmod +x C:/Users/corsair/AppData/Local/Temp/osm.exe
install -m 755 C:/Users/corsair/AppData/Local/Temp/osm.exe /usr/bin/osm.exe

OR
chmod +x C:\\Users\\corsair\\AppData\\Local\\Temp\\osm.exe
sudo install -m 755 C:\\Users\\corsair\\AppData\\Local\\Temp\\osm.exe /usr/bin/osm.exe

Current Behaviour

The current commands displayed at the end of ark get osm will generate the follow errors:
chmod +x C:\Users\corsair\AppData\Local\Temp/osm.exe

sudo install -m 755 C:\Users\corsair\AppData\Local\Temp/osm.exe /usr/local/bin/osm.exe  (and without sudo)

Possible Solution

As stated in the "Expected behaviour", the output commands should be updated for Git Bash
Steps to Reproduce (for bugs)

Install Git Bash for Windows: https://gitforwindows.org/
Install Arkade for Git Bash: https://github.com/alexellis/arkade#get-arkade
Run ark get osm
Run chmod +x C:\Users\corsair\AppData\Local\Temp/osm.exe
Run sudo install -m 755 C:\Users\corsair\AppData\Local\Temp/osm.exe /usr/local/bin/osm.exe

Context

Testing Arkade on Git Bash as discussed with @alexellis
Your Environment

What Kubernetes distribution are you using?
Docker Desktop for Windows Kubernetes

kubectl version

v1.18.6

Operating System and version (e.g. Linux, Windows, MacOS):
Windows 10

uname -a

cat /etc/os-release

N/A

What arkade version is this?

arkade version

0.6.0

Thank you for the issue. arkade install Pam/linkerd works as expected though?

no problem, and I will test the other 2 you're mentioning.
But before that, I do confirm that ark install osm works fine:

ark install linkerd ends in error indeed:

Thank you for the detailed report Nuno.
So for Git Bash we primarily need to work on arkade get
For Git Bash users only:

Suggest copying to /usr/bin/ instead of /usr/local/bin/
Remove suggestion of sudo

@alexellis I'm trying to figure out if the user is running Git Bash. So far I can think of:

Checking if the OS is Windows

There's code already that detects the client OS and architecture - you should see it in the codebase, search for "mingw", we can use that. (And yes this applies only to Git Bash on Windows)

for Windows, you might want to check the kernel as it's different for Git Bash and WSL2:

Git bash

WSL2

For WSL1, I'm not currently running any distro but the kernel would be 4.x with a Microsoft reference
Hope this helps to provide an hint at least.

Thanks for the additional input. We already have code to determine Git Bash (please see my previous comment)
https://github.com/alexellis/arkade/issues/169#issuecomment-671240988

haha, sorry for redundency 😅
then I'll wait for testing it once a first pre-release it out 👍

@nunix please could you confirm if this is still an issue?

@nunix please could you confirm if this is still an issue?

Double that, this issue still stands @nunix?

Hi all,
really sorry for missing this issue (long time didn't use Git Bash).
So the good news is that the osm binary is correctly copied to $HOME/.arkade/bin, however the listing of commands from the Arkade install are still not OK (read: we cannot copy/paste them and it works).
Here's the installation output

The output, as mentioned above, should replace the single \ by / or \\ or, you could leverage the Git Bash $HOME variable as it shows a *nix path:

Finally, as said above, there's no sudo in Git Bash, so the last command (adding to /usr/local/bin will not work). Instead Git Bash should run in "Administrator" mode and the end path should be /usr/bin as /usr/local doesn't exist:

Hope this helps, and I'll monitor this issue if any feedback is needed.


Render.toFile(file) throws FileNotFoundException if parent folders of file don't exists

If Render.toFile(file) gets a file object whose has parent folders that don't exist, then a FileNotFoundException is thrown.
Following TestCase reproduces the problem (testFolder doesn't exist in the filesystem):
        Graph graph = graph("example1").directed().with(node("a").link(node("b")));

        File expectedFile = new File("target/testFolder/ex1.png");
        Graphviz.fromGraph(graph).width(200).render(Format.PNG).toFile(expectedFile);

        assertTrue(expectedFile.exists());

        expectedFile.delete();
        expectedFile.getParentFile().delete();

fixed by #9


Implement Secondary GIEs

done with this now... will open a new issue for supporting multiple levels of secondary inference


.NET: Service Bus extension 5.0.0-beta.2: host.json settings as instructed per the documentation has no effect

I am experimenting with .NET Azure Functions Service Bus Extension: 5.0.0-beta.2. I am consuming messages from Session enabled queue and in the Function ServiceBusTrigger, IsSessionsEnabled is set to true.
.csproj,
Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="5.0.0-beta.2" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.11" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

According to the documentation (https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus#hostjson-settings),

When I have the settings defined insider serviceBusOptions property, it doesn't seem to have an affect. For an example,
following host.json,
{
    "version": "2.0",
    "logging": {
        ...
    },
    "extensions": {
        "serviceBus": {
            "serviceBusOptions": {
                "retryOptions": {
                    "mode": "exponential",
                    "tryTimeout": "00:00:10",
                    "delay": "00:00:00.80",
                    "maxDelay": "00:01:00",
                    "maxRetries": 4
                },

                // These DOES NOT affect
                "autoCompleteMessages": false,
                "maxConcurrentSessions": 1
            }
        }
    }
}

Gives me something like this.

So as you can see, even though I have specified "maxConcurrentSessions": 1, it's processing multipe sessions at a time.
But if I do something like this,
{
    "version": "2.0",
    "logging": {
        ...
    },
    "extensions": {
        "serviceBus": {
            "autoCompleteMessages": false,
            "maxConcurrentSessions": 1
        }
    }
}

It gives the expected output.

So I am thinking, either the documentation is incorrect or there is a bug.
Any help is appreciated!

The referenced documentation appears to have been updated at some point and is now correct.   Closing this out.


add OpenGraph image

Working on this in https://github.com/replicate/scribble-diffusion/pull/13, but got a little stuck.


Merged reading of history

Based on https://github.com/open-homeautomation/miflora/pull/27 I merged the parts of the code related to reading the history from the sensor.
I did not take over other changes, e.g. the decorators, bluepy usage and others.

abandoning the change as it's not mergable


message.Info.SenderJid is nil when message.Info.Source.Participant is not

message.Info.Source.GetKey().Participant is nil, so message.Info.SenderJid is too.
message.Info.RemoteJid is the group JID, not the sender's.

Hi @Rhymen , I have the same case, message is sent in a group, senderJid is empty. It can be retrieved from deeper structure as you suggested.
Why not fill it out? I see others are doing similar workarounds: https://github.com/tulir/mautrix-whatsapp/blob/513eb18e2d59bada0dd515ee1abaaf38a3bfe3d5/portal.go#L529-L533

Maybe an || would suffice here: https://github.com/Rhymen/go-whatsapp/blob/0704a4ae717bf66e724682f32053ac7b6e4fcca0/message.go#L129

Hello @coolnickname ,
I just tried and I think message.Info.Source.GetParticipant() should work.

Can confirm this solved it, sorry for the long wait.
I'm leaving this issue open for now as a reminder to do some fix for message.Info.SenderJid like the one @KrzysztofMadejski suggested.

Hello @coolnickname ,
I just tried and I think message.Info.Source.GetParticipant() should work.

Can confirm this solved it, sorry for the long wait.
I'm leaving this issue open for now as a reminder to do some fix for message.Info.SenderJid like the one @KrzysztofMadejski suggested.

Can not get SenderJid when use HandleTextMessage handler
message.Info.Source.GetKey().Participant is nil,  so message.Info.SenderJid is too.
message.Info.Source.GetParticipant()  not work too.

@Lucipher how does your message looks like on WhatsApp? Send a screenshot. Please check also message.Info.Source.Participant

@KrzysztofMadejski

Are you sure the message is sent from a group? If it's from a private chat it's always nil.

@coolnickname
Thanks, IC

[ ] It would be good if it was set also in private chats.

@KrzysztofMadejski @SchulteMK
Is there any way to get sender phone in private chats?

hmm anyone have fix this on private chat ?

Hi what is the current status on this issue?


Adjust version number so we build a 0.2.0 tarball

Being bold and merging now. Thanks for the review (and I'm assuming the towncrier file is OK).


More state styles

_states.scss defines a bunch of styles, but they are not suitable for all uses. For example, for overdue calendar events we may want some very light shade of red, similar to what current PHP app does. Existing styles in _states.scss look either too intense or just neutral - for example I would not use them for overdue calendar events or alerts

Please check states in the 1CRM 8.x and port them to the oceanfront


jiter does not compile with the python feature

My Cargo.toml:
[package]
name = "scratch"
version = "0.1.0"
edition = "2021"

[dependencies]
jiter = { version = "0.5.0", features = ["python"] }

I get an error after running cargo build:
error[E0599]: the method `to_object` exists for reference `&BigInt`, but its trait bounds were not satisfied
   --> /home/df/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jiter-0.5.0/src/number_decoder.rs:121:62
    |
121 |             Self::Int(NumberInt::BigInt(big_int)) => big_int.to_object(py),
    |                                                              ^^^^^^^^^ method cannot be called on `&BigInt` due to unsatisfied trait bounds
    |
   ::: /home/df/.cargo/registry/src/index.crates.io-6f17d22bba15001f/num-bigint-0.4.6/src/bigint.rs:57:1
    |
57  | pub struct BigInt {
    | ----------------- doesn't satisfy `BigInt: pyo3::ToPyObject`
    |
    = note: the following trait bounds were not satisfied:
            `BigInt: pyo3::ToPyObject`
            which is required by `&BigInt: pyo3::ToPyObject`

error[E0599]: the method `to_object` exists for reference `&BigInt`, but its trait bounds were not satisfied
  --> /home/df/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jiter-0.5.0/src/value.rs:37:34
   |
37 |             Self::BigInt(b) => b.to_object(py),
   |                                  ^^^^^^^^^ method cannot be called on `&BigInt` due to unsatisfied trait bounds
   |
  ::: /home/df/.cargo/registry/src/index.crates.io-6f17d22bba15001f/num-bigint-0.4.6/src/bigint.rs:57:1
   |
57 | pub struct BigInt {
   | ----------------- doesn't satisfy `BigInt: pyo3::ToPyObject`
   |
   = note: the following trait bounds were not satisfied:
           `BigInt: pyo3::ToPyObject`
           which is required by `&BigInt: pyo3::ToPyObject`

What am I doing wrong?
System information:

rustc 1.80.0
Ubuntu 22.04

It definitely does in tests.
Cc @davidhewitt, any pointers?

I think #126 should fix this.

Thanks for looking into this :+1:
this seems to work for me as a workaround
[dependencies]
jiter = { version = "0.5.0", features = ["python"]}
pyo3 = { version = "0.22.2", features = ["num-bigint"]}


🚀 Feature: Prepend a gitmoji commit on merged PR commits

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
I appreciate how some repos use tools such as gitmoji-commit-workflow to enforce that commits are prepended with the appropriate emoji. 😄
But, I don't want to force PR authors to manually include an emoji in their PR titles. That's a pain. I'd tried it on https://github.com/LearningTypeScript/projects/pull/23 & reverted it in https://github.com/LearningTypeScript/projects/pull/36 for it being too irksome for developers.
Instead, it'd be nice if some kind of tool/integration could be added to this repo so that whenever a PR is merged, the Git commit on the main branch is rewritten to have an emoji prefix. I don't know if this is easily doable 😕 but it would be great if someone could figure it out.
Additional Info
cc @fuadop if you're interested 😉

Yeah I don't think this is reasonably doable. Ah well.


reloadable SVG images

Description
I would like to have a weather icon on my lock screen, so continuously be able to call the path of an svg or png. Something like:
image {
path = cmd[update: X] path/to/my/icon/program/that/updates/path/to/image
....
}
it currently doesn't resolve when trying that and complains its not a valid path to an image:
"[ERR] filesystem error: cannot get file time: No such file or directory [cmd[update: 100] ~/.config/hypr/hyprlock/weather]
}

the option reload_cmd and reload_time do this already.
just have a script which will echo the correct file path


RabbitListenerErrorHandler Async Context

Resolves issue with RabbitListenerErrorHandler not being called when errors inside async methods.
Addresses #606

You checked that the result is unwrapped from Task higher up in the call graph? If so, LGTM.

Yes, everything checks out. All paths lead back to AbstractMessageListenerAdapter.cs - HandleResult method where the return type of Task is evaluated. There was also an existing test that verified intended use of returning a Task - InvocableHandlerMethodTest.cs - Line 250 (HandleAsyncStringMethod)


Add --module node20 with require(esm) support

Fixes #60534
require(esm) is currently unflagged in Node.js v22, but may be in v20 by the time this PR lands for 5.8. We’ll have a discussion about the flag name if it doesn’t happen by 5.8-beta.
This PR does not currently attempt to error on require calls of async modules (those with top-level await). We do not emit any special marker in declaration files indicating the presence of TLA, which is a prerequisite. My suspicion is that the sentiment will be that a static check for async modules in the require graph is not worth the pain of making a backward-incompatible declaration file change.
The other change in this PR is that import assertions are now prohibited in --module nodenext, since Node.js v22+ does not parse them. Since there have been a lot of module target changes in fast succession, here’s the summary:
5.6

target
moduleResolution
import assertions
import attributes
JSON imports
require(esm)

node16
es2022
node16
❌
❌
no restrictions
❌

nodenext
esnext
nodenext
✅
✅
no restrictions
❌

5.7.3

target
moduleResolution
import assertions
import attributes
JSON imports
require(esm)

node16
es2022
node16
❌
❌
no restrictions
❌

nodenext
esnext
nodenext
✅
✅
needs type "json"
❌

5.8

target
moduleResolution
import assertions
import attributes
JSON imports
require(esm)

node16
es2022
node16
❌
❌
no restrictions
❌

node18
es2022
node16
✅
✅
needs type "json"
❌

node20
es2023
node16
✅
✅
needs type "json"
✅

nodenext
esnext
nodenext
❌
✅
needs type "json"
✅

I will probably release Node v20 with the backport for require(esm) around half of January 🙂