Cargo lib bin split

Hi! I wrote this exact module a few years ago in python for a Christmas present but I'm now rewriting that present (in rust because python makes me sad) to integrate more features for another Christmas present and I came across this repo. Thanks so much for publishing it! You're saving me hours of time re-implementing.
Anyway, I would really like to have the executable and the library separate so I've split them. It builds now and the tests pass and clippy is silent.
I'm happy to collaborate to get this merged. Thanks!

Hi @dsheets!
Making both a lib crate and a bin crate is something I had in mind since I started this project. So your MR is more than welcome! Thank you for taking the time to do it.
I'll have a look to your code this week and let you know if I can merge it as is or if some modifications are needed.

Great, thanks! I fixed a bug I found when trying to connect to librespot-java and I started extracting more functionality from the binary into the library.

Merged :tada:
Once again, thank you for this major contribution. Good luck with your Christmas presents!


Ensure length of the text will not cause a context window error

Can we add a couple lines here that ensures that the len() of the combined text will not cause a context window error?
https://github.com/hwchase17/langchain/blob/9d08384d5ff3de40dac72d99efb99288e6ad4ee1/langchain/chains/combine_documents/map_reduce.py#L60
Otherwise, one sees this:
InvalidRequestError: This model's maximum context length is 4097 tokens, however you requested 6213 tokens (5957 in your prompt; 256 for the completion). Please reduce your prompt; or completion length.

With the map-reduce approach to document analysis, if the original document is long and there are many sub-documents analyzed, it can often run into context-length errors because it combines all the results into one final call to the LLM. I above is the place where we could chop off the lengths before combining to the final call, but I was wondering how we would want to do this and if there was a way to do it more elegantly where we could first check for the length and if its too long use another LLM call to summarize it?

discord discussion on this here: https://discord.com/channels/1038097195422978059/1038097349660135474/1051305496826613790

This PR https://github.com/hwchase17/langchain/pull/297/files from @thepok shortens the generation text, but I think for the issue I raised we need a method to shorten the input texts from the various docs, since the combined final LLM input text can go many thousands of tokens over the context window we cant address that by shortening the generation even if we shortened it to nothing

We could put the summarizing each component doc method in a while loop and have it keep doing that until the overall combined docs are within context length for the final call

I am working on this now. Please ping me if anyone needs/wants to speak about the implementation.


Add ERC: Permissionless Script Registry

This ERC proposes a permissionless registry to allow fetching of executable scripts for contracts.

I don't know how to include assets: doesn't matter if they are linked to /assets/eip-7738/ or /assets/erc-7738 they both fail. Seems that other ERCs link to "assets/eip-xxxx/" so this PR follows them.

Hi

@JamesSmartCell could you also include an interface id?

The contract may not need this as it wouldn't be a discoverable token, more like a singleton similar to the ENS registry. However if required one can be added.


perlPackages.Po4a affects g++

Issue description
Adding perlPackages.Po4a changes which g++ is used.
I encountered it when trying to write a derivation which requires the po4a-translate command. But when I add perlPackages.Po4a to the nativeBuildInputs the C++ compiler is different and the project won't build anymore.
Can be reproduced in the nix-shell as well.
Steps to reproduce
$ readlink -f $(which g++)
/nix/store/w2px3blinprrzx6wva8x7m0l9l27jzj9-gcc-wrapper-7.4.0/bin/g++
$ nix-shell -p perlPackages.Po4a
$ readlink -f $(which g++)
/nix/store/y60j0zq2j50iaaqjn39i18hkhp277zfy-gcc-wrapper-7.4.0/bin/g++

Technical details

system: "x86_64-linux"
host os: Linux 5.0.7, NixOS, 19.09pre177249.dfd8f84aef1 (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
nixpkgs: /nix/store/vw34y7p1zml11w2cdsj4a6afgkj2w4pw-source

My version of NixOS is equivalent to this tree of nixpkgs-unstable.

I don't think that's the problem, user-env-packages only affects nix-env/systemPackages. Without that nix-shell and builds are still affected by the propagated compiler (or other build tools).

How could I work around this? (In the context of using it as nativeBuildInputs)

The closure is (notice how there's no gcc):
$ nix-closure $(nix-build '<nixpkgs>' -A perlPackages.Po4a)
/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27
/nix/store/7yjxqw8187sj0py0vixnnfwjprgq9m32-attr-2.4.48
/nix/store/dlqjzmrdlp3vipfwyfz2n39cpf1ad2j6-acl-2.2.53
/nix/store/baylddnb83lh45v3fz15ddhbpxbdb7m7-coreutils-8.31
/nix/store/7750im9ysip9hmc1j8xkcaqy6j14bhsr-perl-5.28.1
/nix/store/44marm0sy7lfisarzgfnxsjzvd12q1j2-perl5.28.1-SGMLSpm-1.1
/nix/store/5lyvydxv0w4f2s1ba84pjlbpvqkgn1ni-linux-headers-4.19.16
/nix/store/s3f5sqsm4mfigpkz6cmi99i24yng5msr-perl5.28.1-MIME-Charset-1.012.2
/nix/store/7g3li1crggcg36rn684zbxiva1i184sm-perl5.28.1-Unicode-LineBreak-2019.001
/nix/store/886w5d5zwg0p6ggbz5vwyk4aiqgsdzgw-perl5.28.1-TermReadKey-2.38
/nix/store/j4fz5m9si39qvns44zcwdya5zpdlhz58-perl5.28.1-Module-Build-0.4224
/nix/store/f5wl80zkrd3fc1jxsljmnpn7y02lz6v1-glibc-2.27-bin
/nix/store/qaybsxbkg4n19lfh2p59a3q6sgzi7ndn-perl5.28.1-Text-CharWidth-0.04
/nix/store/sr4253np2gz2bpha4gn8gqlmiw604155-glibc-2.27-dev
/nix/store/kpzpklf8d4dl16r2n5xzl6qapdf9636q-perl5.28.1-Text-WrapI18N-0.06
/nix/store/pjg2pmk1zh5l1cc3kb67xc68s4n9b0w4-perl5.28.1-gettext-1.07
/nix/store/yjkch3aia9ny4dq42dbcjrdwqb1y8c33-bash-4.4-p23
/nix/store/9pihd9jvw7xnvq3vsdz0h48f34q60vzi-perl5.28.1-po4a-0.47

When I force configure to ignore the wrong gcc it fails during the compilation with  the same error as in #28748 (missing <stdlib.h>). I can't remove glibc in the inputs of my project since it's not there. But that must mean the glibc in the closure of perlPackages.Po4a is the problem.


[Enhancenment] Some QoL Ideas

CLI help
In terminal is expected this information

Show some stuff when doing: lazyorg -h or lazyorg --help, something like this:

 -h, --help            display this help (or launch showing keybidings)
 -V, --version         display version

For more details see: man lazyorg
Project page: https://github.com/HubertBel/lazyorg

Manual page, something to show when doing: man lazyorg, you can show something similar information to README.md, but in man page format, there are some tools that can help like:

go-md2man
ruby-md2man
pandoc
ronn
marked
markdown2man (Github Action)
lowdown -tman in.md

In Arch, all packages are in the repos, most in Extra and the rest in AUR.
Edit event
Sometimes an event needs some changes, like moving to another date, this helps to not delete and create another one.
Tab key
Tab is working when editing an event, moving to next field, but I was expecting Shift+Tab to move to a previous field (same as Up cursor key), but shows Z. Now it is not in ? (keybindings) page.
Alternative cursor keys
All current physical keyboards have cursor keys, and many people expects cursor keys work as an alternative to hjkl anywhere, right now work when adding an event, but not in main view.
Alternative Cancel key
When editing and event is a lot faster just do Escape to Cancel than move to [Cancel] button.
Optimize GIF animation (is too big)

Resolution (3432x1518): I can't distinguish anything when looking you github page in my 1920x1080p monitor, worst in Github for Android. In my monitor, I did test something like 640x480 in looks a lot friendlier to real use case and smaller displays, usually my terminal is always half/third/fourth of the whole resolution, with tmux showing 1-2 terminals open at the same time (not full screen).

Size (8MB): same gif, when optimized, is 21x smaller file, look:

$ gifsicle Lazyorg_demo.gif --optimize=3 -o opti.gif ; du -h *.gif
gifsicle: warning: huge GIF, conserving memory (processing may take a while)
8.0M    Lazyorg_demo.gif
384K    opti.gif

With both should be a lot smaller in size and better to look at.
Config/db

Mention config/db in README.md, is important when doing a backup, to know where they are, I found it here:

$ realpath data.db
/home/user/.local/share/lazyorg/data.db

Use XDG Base Directory, it's a lot easier to backup ~/.config because is the most used place for config files, at least as an alternative to search for db or else.

Extra
In the Roadmap, there is a typo error in "buisness" >> "business".

System
distro: Arch Linux x86_64
kernel: 6.6.52-1-lts
shell: bash 5.2.37
term: tmux

Thank you for the ideas! Many of these were already part of what I had planned to do, so I’ll start working on them right away. If you have any additional suggestions or notice any issues, please don’t hesitate to let me know!


[PushNotificationIOS] Adds category and alertAction properties to local notification details object

In order to use iOS notification actions with local notifications, we need to be able to specify a category string. This PR adds a category property to the details object used to create a local notification.
I also added support for the alertAction property, which is used to control the "slide to {alertAction}" text beneath the notification.
Finally, I added the doc for userInfo to presentLocalNotification (previously was only documented for scheduleLocalNotification.
Test plan (required)
I implemented the example from the react-native-ios-notification-actions README, and created a couple of actions and grouped them under a category with identifier something_happened.
Prior to the changes in this PR, the shown local notification would not contain any actions.
With the changes in this PR, the shown local notification contains the specified actions.
Like so:

@facebook-github-bot shipit

:clap:


Update bcp-utility.md

Fixed typo. Changed "QUOTED_IDENTIFIERS" to "QUOTED_IDENTIFIER". As per https://learn.microsoft.com/en-us/sql/t-sql/statements/set-quoted-identifier-transact-sql?view=sql-server-ver16 the correct name of the setting is "QUOTED_IDENTIFIER" (there is no 's').

@markingmyname
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@sidesw1pe Per our regular check of finding similar typos elsewhere, we'll incorporate this change into an internal PR and this one will automatically close when that merges. You'll still get credit for this PR. Thank you!


DBZ-2870 Enforce Java 11

https://issues.redhat.com/browse/DBZ-2870

@jpechane will Cassandra work with Java 11? Then maybe you just have to add
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11

to the Cassandra build workflow to make the tests pass?

@rk3rn3r, nope, unfortunately, Cassandra 3.x (which is what we're still relying on), doesn't work with JDK 11, AFAIK. Hence we decided to not go all in with Java 11 just yet. It's required for the build and will be the officially recommended runtime version, but things essentially still will work with 1.8 for the time being.

That being said, yes, the enforcer rule needs overriding, which is done in https://github.com/debezium/debezium-connector-cassandra/pull/27.

Sure, I assumed we generally switch to Java 11 now and also upgrade Cassandra accordingly.

@rk3rn3r, we'd love to, but this turned out to be a bit more work, so it's not done within a minute.


Androidx

Merge branch androidx

@r00t3d0 Why close?

Actually I accidentally created a pull request here. This pull request was meant to be in my fork.

Anyways ... I'm reopening it @TPS

@klausw Can we restart the project?

If there's enough support, I want to work for this keyboard :)

@r00t3d0 This keyboard is the best match for termux. How can I support you? :)

Termux already have button customization :)) but yeah, for regular terminal app, this keyboard is really needed.

this is was great for my android platform

@r00t3d0 Any news on this?

Need to be redone does not type well anymore


Could not find auto-linked framework 'FileBrowser'

Hello. The error is shown when I try to build the project in xCode. What can be the issue?
ld: warning: Could not find auto-linked framework 'FileBrowser'
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$__TtC11FileBrowser11FileBrowser", referenced from:
  objc-class-ref in libRNFileSelector.a(RNFileSelector.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Hi,I am new to IOS.I was working on android using this.Everything was working well there.Now when I am trying to take IOS build,I am getting this same error.How to solve this?Please help.


'wrong number of arguments (2 for 0)' on provisioning RHEV instance

STR:

Add rhevm 3.4 instance
Infrastructure - Virtual Machines - Lifecycle - Provision a VM
Select any template, click Continue

Spinner is displayed, however after several minutes its gone and still the list of templates is displayed.
Appliance version: 2a9277f
Log: https://gist.github.com/vrutkovs/a4a400e8ae8e31b4ead2

@bdunne Please take a look.

@vrutkovs I was able to reproduce the error you reported on the reported commit.  However that appears to be working on 1ecd7a3.  I don't know which PR fixed it and would have to spend a lot of time digging through the UI code to find out.  Please retest and let me know if I need to do anything more, or if we can close this.

Doesn't crash anymore, closing


Credit Transfer | Respondent can Refuse a Credit Transfer Proposal |2|

https://trello.com/c/wWguIWST/323-credit-transfer-respondent-can-refuse-a-credit-transfer-proposal-2
Story:
As a Fuel Supplier, I want to be able to Refuse a Credit Transfer Proposal that was sent by another Fuel Supplier so that I can counter their offer.
Scenario:
GIVEN that I am an Organizational user
AND my Organization type is Fuel Supplier
AND I have received an offer to buy/sell credits from another fuel supplier
WHEN I click Refuse (and agree to the confirmation alert; Card #383)
** THEN the transaction history record is saved on the Credit Transactions page
AND the status changes to Refused
AND I am returned to the Credit Transactions page
AND the transaction record for the transfer is visible at the top of the Credit Transactions list
** Unsure of how Refused credit transfer proposals will be treated in the application; need to confirm with team
Demo:
Show that the Respondent (Credit Traders) has access to a Refuse button for Credit Transfer Proposals that they have received from other fuel suppliers (with status 'Signed 1/2')
Show that clicking the Refuse button changes the status of the Credit Transfer Proposal to Refused
Show that this Credit Transfer Proposal can no longer be altered by either external party (no content or status changes)

 Credit Transfer | Respondent can Refuse a Credit Transfer Proposal |2|


Readme-spelling

Fixing a spelling error

oops, included a submodule change. will fix

fixed

Heh, I'm pretty good about recognizing that, but I guess this is a new one for me.


fix(Banner): expand/collapse animation timing

What:
Correct expand/collapse animation timing.

Why:
Bug.

How:

Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged

The height is not calculated properly on iphone7 and below screen sizes. Possibly because of not calculating the Header and expanded text size.


Can't type or paste into terminal after resize window.

Windows Terminal version
1.16.10261.0
Windows build number
Platform ServicePack Version      VersionString -------- ----------- -------      -------------  Win32NT             10.0.19044.0 Microsoft Windows NT 10.0.19044.0
Steps to reproduce
If I resize the window by snapping it with Win+arrow or by dragging it out of a snap by clicking and dragging on the title bar then I can't type.
If I ssh into a computer and then resize the window then it does not break.
When it's broken, the cursor blinks on and off and will appear stay present while I'm typing. If I hold a key then it remains visible without blinking. It does not move and I don't see any characters. I can change focus to the other terminal in the split by clicking or using the alt+ key combo. I cannot paste. Not by right clicking nor with any keyboard combo.
The Touch Keyboard and Handwriting Panel Pervice is enabled.

I can open a new tab and type like normal.
This is not a dup of the other issue where the user can paste.
This is not a dup of the other issue where the Touch Keyboard and Handwriting Panel Pervice is disabled.
I don't have any msi software installed.
Thanks!

omg, what if I install sshd and ssh localhost 🤔

Hi @rgkirch. We've got a few questions for you:

If you check in Task Manager, are there any instances of OpenConsole still running? If you're using WSL, is WSL.exe still running?
Can we also get a copy of your settings.json?

I don't see anything named OpenConsole running.
 This looks like a /dup of #12513.

@carlos-zamora I don't think this is a dup of https://github.com/microsoft/terminal/issues/12513. That issue says that ms store apps crash after sleep. I might also have that issue but the cause and effect of my issue is unique from that issue. The cause that triggers it is resizing the terminal window. The effect is that the terminal window is still open but unusable. Those don't overlap with anything I saw in the linked issue.


Another Crash Log

homotopy_io_state.zip

The action log contains unsuccessful actions, minor edits to the CLI/web code are needed to rerun it.
This is the result of rerunning the code
Performing final action: Homotopy(Expand(Expand { point: [Singular(2), Singular(0)], direction: Forward, location: [Interior(Singular(3))] }))
thread 'main' panicked at homotopy-core/src/expansion.rs:511:18:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0: rust_begin_unwind
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/std/src/panicking.rs:595:5
   1: core::panicking::panic_fmt
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/core/src/panicking.rs:67:14
   2: core::panicking::panic_bounds_check
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/core/src/panicking.rs:162:5
   3: homotopy_core::expansion::expand_propagate
   4: homotopy_core::expansion::expand_in_path
   5: homotopy_core::expansion::<impl homotopy_core::diagram::DiagramN>::expand::{{closure}}
   6: homotopy_core::attach::attach_worker
   7: homotopy_model::proof::ProofState::homotopy_expand
   8: homotopy_model::proof::ProofState::update
   9: homotopy_cli::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


Enable github actions

Putting on hold until this is solved: https://github.community/t5/GitHub-Actions/working-directory-not-working/m-p/32556#M1178


IDbContextOptionsExtensionWithDebugInfo issue

What is not working as expected:

method: SqlServerDbContextOptionsExtensions.UseSqlServer("connectionstring");

Issue: spontaneously stopped working, looks like a missing type that it shouldnt be trying to use
as it has been merged 1/2 a year ago (issue #13238)

Exception message:

Message=Could not load type 'Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsExtensionWithDebugInfo' from assembly 'Microsoft.EntityFrameworkCore, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'.

Stack trace:

at Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.UseSqlServer(DbContextOptionsBuilder optionsBuilder, String connectionString, Action1 sqlServerOptionsAction)    at Telair.Model.Data.TelairContext.OnConfiguring(DbContextOptionsBuilder optionsBuilder) in C:\Project\TelairService\Telair.Model\Generated\TelairContext.cs:line 42    at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()    at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()    at Microsoft.EntityFrameworkCore.DbContext.get_Model()    at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityType()
at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.CheckState()    at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityQueryable()
at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.System.Linq.IQueryable.get_Provider()    at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable1 source, Expression`1 predicate)
at Telair.APIWrapper.GetService(String Vendor, String ServiceCode) in C:\Project\TelairService\Telair.API\ControllerHelpers\APIWrapper.cs:line 68
at Telair.Controllers.RadiusController.AddUser(String UserName, String Password) in C:\Project\TelairService\Telair.API\Controllers\RadiusController.cs:line 124
at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.d__12.MoveNext()

EF Core version 2.2.3
Microsoft.NETCore.Platforms: 3.0.0-preview3.19128.7

Microsoft Visual Studio Enterprise 2019 Preview
Version 16.0.0 Preview 4.4
VisualStudio.16.Preview/16.0.0-pre.4.4+28721.148
Microsoft .NET Framework
Version 4.7.03190
Installed Version: Enterprise
Visual C++ 2019   00435-60000-00000-AA109
Microsoft Visual C++ 2019
ADL Tools Service Provider   1.0
This package contains services used by Data Lake tools
Application Insights Tools for Visual Studio Package   9.0.20307.1
Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2019   16.0.12307.51536
ASP.NET and Web Tools 2019
ASP.NET Core Blazor Language Services   16.0.19154.02
ASP.NET Web Frameworks and Tools 2019   16.0.12307.51536

@michaelmfranz This is a breaking change for 3.0. To use EF Core 3.0 you will need a database provider that has been updated for 3.0.
Note also that it looks like you have a mix of versions--some 3.0 preview versions, and some 2.2 versions. This is very unlikely to work correctly.

@michaelmfranz This is a breaking change for 3.0. To use EF Core 3.0 you will need a database provider that has been updated for 3.0.
Note also that it looks like you have a mix of versions--some 3.0 preview versions, and some 2.2 versions. This is very unlikely to work correctly.

Hi, thanks for that, after I submitted this issue I noticed the very same thing and then I did upgrade and the result was the same.  Luckily two days ago I zipped up my application and I will see if I can get that old version working with my newer code

ok, my dlls got all messed up, they are in sync now, i think i forgot one of them was preview and that stuffed me up

In my situation, I had my main project using the preview entityframeworkcore versions but I had a private nuget package that was using the current entityframeworkcore version so that stopped my project from being able to run, Once I upgraded the nuget package to use the preview versions, everything worked


Chef Server 12.4.1 Install Fails with Sudo

I'm attempting a fresh install with the following version
Ubuntu 14.04, no selinux or other prereq stuff
Chef Server 12.4.1 Standalone
I have a fresh system with a newly installed Chef Server 12.4.1 package.
I will use an embedded postgres database on this system.
When I do the initial reconfigure using sudo, it fails right here https://github.com/chef/chef-server/blob/12.4.1/omnibus/files/private-chef-cookbooks/private-chef/recipes/postgresql.rb#L132
sudo chef-server-ctl reconfigure

--Solution--
To fix, replace the su - in the recipe above with su
For example
su opscode-pgsql

@sean-horn First apologies no on responded to this.  I'd like to close this bug out if possible. From what I can tell, the only use of sudo in chef-server currently are in 2 migrations which shouldn't be a problem with new installs.  The line of code you linked to is no longer using sudo either.  Further, we regularly use Ubuntu 14.04 in development so I know that chef-server works there at least in the common case. Any objection to me closing this out?

@sean-horn I see I misread this ticket initially.  The issue isn't sudo but rather su - vs su.


Disable method highlighting

I have checked that this feature is not already implemented

[X] This feature does not exist

Use case
(I think this is relevant to ruby-lsp, but if not let me know where I can post an issue to. Also wanted to say thanks for the awesome project—I switched to it several months ago and have been very happy with the experience!)
When the cursor is on a method invocation, it highlights that entire method call (and block), as well as every other invocation of the same method. Often times, I'm working in files that repeatedly call the same method. For example, test files where each test is in a method call block. The result is that my entire file is essentially highlighted when the cursor is on the method name. It makes the contrast worse, so the code is harder to read, and it's really distracting to have the entire file flip back and forth from unhighlighted to highlighted, etc.
Video in vscode:
https://github.com/user-attachments/assets/29b904d4-d931-4fac-8f27-17dacbf8af8d
The same problem exists in Zed:

Description
I'm not sure what makes the most sense. I don't find this type of method highlighting useful, but I imagine there are others who do. Could it be an option to disable it?
For vscode, you can prevent this by setting "editor.occurrencesHighlight": "off", but that disables all occurrences highlighting, like variables, which I do find useful.
I haven't found a way to disable method highlighting in Zed.
Implementation
No response

@ksweetie thanks for reporting, https://github.com/Shopify/ruby-lsp/pull/2357 will resolve this.

@andyw8 I really appreciate the quick turnaround, thank you!


How to resume?

Hi, @tianyic
I run OTO on my project. However, there is an error which describe "ValueError: loaded state dict has a different number of parameter groups" while the train resumes from checkpoint.

Thanks for reaching out.
Resume can be conducted as the below.
model = torch.load(checkpoint_path)
dummy_input = sth
oto = OTO(model=model, dummy_input=sth)
optimizer = oto.dhspg(
   # set lr, start_pruning  as normal
   fixed_zero_groups=True # if want to preserve the learnt group sparsity from previous training round.
)

I make a pull request about resuming.
https://github.com/tianyic/only_train_once/pull/11

Thanks for the PR!


Isolate changes from #26

Purpose of this pull request
This PR isolates the files that were actually changed in #26. That PR contains updates from #25, and I'm not sure why.
Affected pages

...

Links to related PRs or Jira tickets

...

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My changes follow the code style of this project.
[ ] I have read the CONTRIBUTING document.
[ ] All new and existing tests passed.

I cannot officially approve this PR, because I created it. This comment signals my unofficial approval. @jhadobe you'll have to  approve the PR. When @revanth0212 gives his official approval, go ahead and merge the PR.


[release][v0.9] Remove VTA submodule

cc @tqchen

moved to a branch build for Jenkins' sake in #11992


Many commits show red statuses with red pipelines

Looking at the commits in https://github.com/neondatabase/neon/commits/main , many commits show a red cross symbol like ❌ and a few show green tick symbol like ✅ . Looks like there were a few red pipelines in some of these commits. The latest commit as of this writing shows a green status but I'm not sure if it's all fixed or if the mix of red and green are pointing to a flaky pipeline of sorts which needs fix to avoid flakiness

We sure do notice ❌ and failures and are working on fixing those.
The fix for recent failures can be tracked here: https://github.com/neondatabase/neon/issues/1667
Unfortunately, there are many moving parts that we change constantly and we have lots of tests, so some of those start to flack with time, I think it's normal generally if the source issue is being investigated and fixed.
Some of our tests are also a bit complicated from the infrastructural point of view, failing non on the test per se, but on persisting its results externally (as an extra step after "normal" testing).
Not sure what to add to such generic issue, so closing this.
If you have any other particular questions (maybe, some failing tests you're interested with?), feel free to create more specific issues or commenting on this one.

Makes sense! Sure thing :)


Update tags type to be space separated, not semicolon separated

This was something we did initially because Xplat does this, but we use space-separated lists everywhere else. Figured it would be good to make tags behave the same way before Ignite.

Hi @tjprescott, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;


[WIP] Extract KSM management task to bootstrap

KSM is not Nova compute specific, manage it in the generic EDPM hosts bootstrap tasks instead.
Closes: OSPRH-137

overall i think this is ok but I'm not sure how large the scope of Bootstrap is intended to be. currently its pretty small so its probably ok.
i also agree with keeping ksm off by default. it can be useful in some cases but for most of our customer i think off is the right default as they wont want the CPU overhead and non-determinisum cause by ksm.

yes, I believe such tiny tasks do not need dedicated roles, and fits the (host) bootstrap task ideally.

I should have checked the comments here before I posted the review.

yes, I believe such tiny tasks do not need dedicated roles, and fits the (host) bootstrap task ideally. This also aligns with the "Tripleo future" spec, where we agreed to cover things like that by the bootstrap task

I'm not too sure this is really true. For example we have a separate role for kernel parameters. What you are saying would mean we agreed to merge even edpm_kernel role to bootstrap role but I don't think implementing more logics directly in boostrap is better for readability and maintainability.

this seems need a full rewrite after the change in edpm roles structure (no roles, but playbooks?)

this has not changed we still have roles we just also have playbooks for the openstackdataplane services
so this does not need a full rewrite i just need to be extracted either into its own role or into one of the existing roles.
if you extract it into its own role then that role will need to be called form the bootstrap playbook.

Why not the edpm_kernel role in a ksm.yml tasks file?
@slagle is it OK to use it for bootstrap role? Do you insist to move this logic into edpm_kernel?
I'm not sure, the latter looks very much specific to managing kernel modules and sysctl vars, not some arbitrary actions

Why not the edpm_kernel role in a ksm.yml tasks file?

@slagle is it OK to use it for bootstrap role? Do you insist to move this logic into edpm_kernel? I'm not sure, the latter looks very much specific to managing kernel modules and sysctl vars, not some arbitrary actions

I do think it should be in a separate role from bootstrap.

Why not the edpm_kernel role in a ksm.yml tasks file?

@slagle is it OK to use it for bootstrap role? Do you insist to move this logic into edpm_kernel? I'm not sure, the latter looks very much specific to managing kernel modules and sysctl vars, not some arbitrary actions

I do think it should be in a separate role from bootstrap. Otherwise bootstrap is just a catch all for a bunch of unrelated tasks.

ok, I'll update this then, thanks!

All done

All done, PTAL

recheck

@bogdando jobs is failing with this error:
2023-09-20T14:13:13.481258510+00:00 stdout F TASK [osp.edpm.edpm_kernel : Disable KSM services] *****************************
2023-09-20T14:13:13.482572161+00:00 stdout F Wednesday 20 September 2023  14:13:13 +0000 (0:00:00.054)       0:00:32.375 ***
2023-09-20T14:13:14.231864503+00:00 stdout F failed: [edpm-compute-0] (item=ksm.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksm.service", "msg": "Could not find the requested service ksm.service: host"}
2023-09-20T14:13:14.876269491+00:00 stdout F failed: [edpm-compute-0] (item=ksmtuned.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksmtuned.service", "msg": "Could not find the requested service ksmtuned.service: host"}

Is the package who owns those files missing?

@bogdando jobs is failing with this error:
2023-09-20T14:13:13.481258510+00:00 stdout F TASK [osp.edpm.edpm_kernel : Disable KSM services] *****************************
2023-09-20T14:13:13.482572161+00:00 stdout F Wednesday 20 September 2023  14:13:13 +0000 (0:00:00.054)       0:00:32.375 ***
2023-09-20T14:13:14.231864503+00:00 stdout F �[0;31mfailed: [edpm-compute-0] (item=ksm.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksm.service", "msg": "Could not find the requested service ksm.service: host"}�[0m
2023-09-20T14:13:14.876269491+00:00 stdout F �[0;31mfailed: [edpm-compute-0] (item=ksmtuned.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksmtuned.service", "msg": "Could not find the requested service ksmtuned.service: host"}�[0m

Is the package who owns those files missing?

it looks like ksmtuned is a leftover from rhel8 support https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/deployment/nova/nova-compute-container-puppet.yaml#L1678
I will probably remove it, if my assumption for no longer maintaining rhel8 for NG EDPM was correct. But it may be not, as we still have mixed-rhel adoption story. Putting this on hold
/hold

@bogdando jobs is failing with this error:
2023-09-20T14:13:13.481258510+00:00 stdout F TASK [osp.edpm.edpm_kernel : Disable KSM services] *****************************
2023-09-20T14:13:13.482572161+00:00 stdout F Wednesday 20 September 2023  14:13:13 +0000 (0:00:00.054)       0:00:32.375 ***
2023-09-20T14:13:14.231864503+00:00 stdout F �[0;31mfailed: [edpm-compute-0] (item=ksm.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksm.service", "msg": "Could not find the requested service ksm.service: host"}�[0m
2023-09-20T14:13:14.876269491+00:00 stdout F �[0;31mfailed: [edpm-compute-0] (item=ksmtuned.service) => {"ansible_loop_var": "item", "changed": false, "item": "ksmtuned.service", "msg": "Could not find the requested service ksmtuned.service: host"}�[0m

Is the package who owns those files missing?

it looks like ksmtuned is a leftover from rhel8 support https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/deployment/nova/nova-compute-container-puppet.yaml#L1678 I will probably remove it, if my assumption for no longer maintaining rhel8 for NG EDPM was correct. But it may be not, as we still have mixed-rhel adoption story. Putting this on hold
/hold

There is no mixed-rhel support that includes rhel 8 for NG. You can drop any rhel8 specific tasks.

/unhold


Value in the cell is not highlighted.

System information:

Operating system: Ubuntu 20.04
DBeaver version: <IP_ADDRESS>202051448, <IP_ADDRESS>205011839

Describe the problem you're observing:
When you double-click on a cell with the data type date, the value in the cell is not highlighted.
https://user-images.githubusercontent.com/9607501/167280542-3c5e2c41-39e0-4001-b671-f2269b58adeb.mp4

Hello, @troizet, is this issue a duplicate of #16436 ?

This issue is about changing the cell borders, another one is about value selection. I see on the video that you submitted in the comment that your PR should cover it too. So, if your PR pass QA and will be merged, it will close issue about cell borders too.

This issue is about changing the cell borders, another one is about value selection. I see on the video that you submitted in the comment that your PR should cover it too. So, if your PR pass QA and will be merged, it will close this issue too.

I see, thanks you for your explanation. 😃

Yes, E1izabeth explained it correctly


remove useless tearDown methods followup

restored some parts of tearDown logic whose removal is probably linked to test failures such as https://github.com/opengisch/qfieldcloud/runs/5225583774?check_suite_focus=true

Lets see if it better now.


Fixing subscriber generator example

This pr address issue #13.
Basically I changed subscriber generator to output the accepted config on broker.
New output:

In an incoming block in your ExampleQueue.Broker add:
subscribe :user_created, UserCreatedSubscriber, from: "example.user_created"

changed "output" to incoming and "to" on queue/topic to "from"

Thanks!


TypeError bug when running Stage 3

I installed Eureka on the morning of the last day of the ERS Data Challenge and started processing on Stage 1 NRS simulated data. Everything looked good, but it crashed when it reached Stage 3:
Starting Stage 3 Reduction
Input directory: /Users/dlong/2022-DataShowcase/NIRSpec/Stage2/S2_2022-03-23_wasp39b_run2/
Output directory: /Users/dlong/2022-DataShowcase/NIRSpec/Stage3/S3_2022-03-23_wasp39b_ap6_bg7_run1/
Using ap=6, bg=7
WARNING: Manually setting INTSTART to 1 and INTEND to NINTS
WARNING: The timestamps for the simulated NIRSpec data are currently hardcoded because they are not in the .fits files themselves
WARNING: Manually changing NaNs from DATA and ERR arrays to 0 for the CV3 data
2022-03-23 17:31:04,601 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/numpy/core/fromnumeric.py:3474: RuntimeWarning: Mean of empty slice.
return _methods._mean(a, axis=axis, dtype=dtype,
2022-03-23 17:31:04,603 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in true_divide
ret = ret.dtype.type(ret / rcount)
2022-03-23 17:31:17,164 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars
ret = ret.dtype.type(ret / rcount)
2022-03-24 06:00:12,328 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/optspex.py:153: RuntimeWarning: invalid value encountered in true_divide
profile /= np.sum(profile, axis=0)
2022-03-24 14:51:37,024 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/optspex.py:505: RuntimeWarning: divide by zero encountered in true_divide
stdevs      = np.abs(subdata - expected)*submask / np.sqrt(variance)
2022-03-24 14:51:37,025 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/optspex.py:556: RuntimeWarning: invalid value encountered in true_divide
denom    = np.sum(profileprofilesubmask/variance, axis=0)
2022-03-24 14:51:37,025 - stpipe - WARNING - /Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/optspex.py:558: RuntimeWarning: invalid value encountered in true_divide
spectrum = np.sum(profilesubmasksubdata/variance, axis=0) / denom
Traceback (most recent call last):
File "/Users/dlong/2022-DataShowcase/NIRSpec/JWST/run_eureka.py", line 22, in
s3_meta = s3.reduceJWST(eventlabel, ecf_path=ecf_path, s2_meta=s2_meta)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/s3_reduce.py", line 315, in reduceJWST
plots_s3.optimal_spectrum(data, meta, n)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/eureka/S3_data_reduction/plots_s3.py", line 111, in optimal_spectrum
plt.errorbar(range(subnx), optspec[n], opterr[n], fmt='-', color='C2', ecolor='C2', label='Optimal Spec')
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/matplotlib/pyplot.py", line 2509, in errorbar
return gca().errorbar(
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/matplotlib/init.py", line 1412, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 3467, in errorbar
barcols.append(lines_func(
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/matplotlib/init.py", line 1412, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 1142, in vlines
minx = x.min()
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/numpy/ma/core.py", line 5703, in min
result = self.filled(fill_value).min(
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.9/site-packages/numpy/core/_methods.py", line 44, in _amin
return umr_minimum(a, axis, None, out, keepdims, initial, where)
TypeError: '<=' not supported between instances of 'str' and 'int'
(eureka) minmei:JWST dlong$

This is a duplicate of #228 and #108 - I have a patch implemented for that which should hopefully be merged into main in a few days. In the meantime, if you set isplots to 1 in your Stage 3 ECF, then that buggy plot will be skipped and you can move on to the later stages

Closing this for now to avoid too many duplicate issues, but I recommend you subscribe to those issues if you want an email update once the bug is fixed

Thanks, Taylor. I looked but I didn't find those. I'll try out isplots = 1 when I get the chance.


DOC: Add building command in Dev quickstart

Reference issue

Closes gh-14785
What does this implement/fix?

Add a command line in the DOC.
Additional information

For more informations, read issue gh-14785.
Maybe conda develop . is not working as intended and should have a fix. I didn't find any documentation on conda.io.

The beauty of runtests.py is that there is no need to look inside of it :-). All the black magic is contained inside, and we can just run it.

python tools/refguide_check.py --doctests ndimage

$ python runtests.py -s ndimage --refguide-check

My point is that this is not documented somewhere and one needs to look into the available options to see this for someone who is new.

Doc PR is very very welcome! Seriously,  as you recently figured it out, you are in the best position for it.

I read through this again, the correct thing to do here seems to be to just delete these two lines:

    # Install SciPy in develop mode in conda
    conda develop .

They serve no purpose here.

Sorry I am not sure I follow, I thought we said we should not use setup.py to build but runtest.py and conda develop ... to set the path correctly?

I think that this could be confusing and would need some extra note. What about adding a print of the path to add in the PYTHONPATH when the build script runs?

I think this is the worst place for that. It's the "how to get started the fastest way possible". Teaching two incompatible methods there doesn't really make sense.
I just checked build_ext usage througout the docs, and unfortunately it's wrong pretty much everywhere. The place where it's explained best is https://numpy.org/devdocs/dev/development_environment.html.
The tl;dr is: either use runtests.py always, or never. If always, no need for conda develop . or PYTHONPATH. If never, then use your regular workflow for in-place builds.

Ok thanks. I understand your rational and agree that this is not the best place.

Thank you all for the comment. I apologize for the long time for updating, it got out of my mind. I removed the conda devlop .  line as requested

Thanks @V0lantis. Your update still mixed the two methods, so I went ahead and removed the inplace build part. Let me merge this, the issue is addressed then.


Renovation of Washrooms

Soap / Handwashes to be present in Washrooms
Door Latches to be fixed for privacy while defecation/urination in washrooms

Tissue paper to be present


How this guide works ... !

Hello everyone i see everyone having problem with the guide or they say it doesnt work first of what u do  :
u follow the guide here  :
https://github.com/TheRealJoelmatic/RemoveAdblockThing the steps of [Installation]
then the most important step is  go to three dots if u use google chrome and extensions+manage extensions and close all the ad block extensions you have even ublock origin if u have turn it off .
Then go to youtube re-sign with ur account and you are ready  is working  you dont see anymore this message of block notification ad the only thing u need to do is if the video isnt starting  you need to refresh the video or wait some 3-5 sec and u watch for free any video u like .
This is how it works this guide and to be honest its completely fine i have no problem some videos are starting automatically and there are some videos where u need to wait 3-5 sec or to fresh the page
By Jordan.

Jordan,
Thanks so much for posting your comments, like you stated if you follow the directions EXACTLY then this does in fact function properly, at least for me it does.

i agree now  there alot of days that passed and i have no problems .


All e2e errors that cause a test to fail are logged as test.go:135

The logs appear to come from here
https://github.com/kcp-dev/kcp/blob/e2d9c50c339c052fd1f3f7ec42211ef05766f477/test/e2e/framework/test.go#L135
but actually they come from
https://github.com/kcp-dev/kcp/blob/e2d9c50c339c052fd1f3f7ec42211ef05766f477/test/e2e/framework/t.go#L90
I'm not sure there's any easy way to retain the original error file:line location, given the errors are created in a different goroutine (actual test code) and passed via channels, but I figured I'd at least file this for discussion.
cc @stevekuznetsov

Yeah, I don't think there's any good way around this one :|
If I remember correctly (I wish I had written this down last year, I just accepted it as true this time around), only the main goroutine can call t.Error() on the main *testing.T.

I wrote a couple of helpers for Velero to handle a situation like this:

https://github.com/vmware-tanzu/velero/blob/main/pkg/util/logging/log_location_hook.go
https://github.com/vmware-tanzu/velero/blob/main/pkg/util/logging/error_location_hook.go

Might be useful to do something similar?

I think moving away from RunParallel magic - in progress - will ensure that t.Testing methods like Log work as expected.


fix building fuzzy match extension with old gcc

gcc 4.8.5 failed to build the fuzzy match extension, messages list below
fuzzyEngine.c: In function ‘rg_getDigest’:
fuzzyEngine.c:1432:13: error: ‘for’ loop initial declarations are only allowed in C99 mode
             for ( char *p = s; p < s + len; ++p )
             ^
fuzzyEngine.c:1432:13: note: use option -std=c99 or -std=gnu99 to compile your code
fuzzyEngine.c:1460:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for ( char *p = s; p < s + len; ++p )
         ^

Thanks.

I find if compile the code with VS on windows, it will report the error:
cl : Command line warning D9002 : ignoring unknown option '-std=c99'.

I've fixed it in https://github.com/Yggdroot/LeaderF/commit/d963fea34cab4c71fbb84f067bf7507ffb766c94 .


CloudStack RHEL8 images built in EKS-A pipeline are not working with EKS-A CLI

What happened:
Attempted to create a CloudStack cluster with EKS-A using a RHEL image built in the EKS-A pipeline and the control plane was not able to start, using the TestCloudStackKubernetes121SimpleFlow e2e test. When using unstacked etcd, the etcd VM fails to start successfully.
What you expected to happen:
I expected the cluster to be created successfully.
How to reproduce it (as minimally and precisely as possible):
Import the latest CloudStack 1.21 image built in the EKS-A pipeline (https://projectbuildpipeline-857-pipelineoutputartifactsb-10ajmk30khe3f.s3.us-west-2.amazonaws.com/projects/kubernetes-sigs/image-builder/1-21/cloudstack/redhat/latest/redhat.qcow2) into a CloudStack environment and attempt to run the TestCloudStackKubernetes121SimpleFlow e2e test.
Anything else we need to know?:

In working with this situation, we have identified a possible bug with cloud-init/RHEL8.7 compatibility, as documented: https://bugs.launchpad.net/cloud-init/+bug/1998655

Environment:

EKS Anywhere Release: main
EKS Distro Release: latest

Looking at the way these systemd files are generated in the cloud-init source code, it seems we should be able to configure the addition of this NetworkManager After= entry by passing in the correct OS variant. I suspect EKS-A is not correctly plumbing the rhel OS variant when building these templates.

Adding some additional details here, we were able to identify that this issue is not just limited to RHEL8.7, but also can be observed in RHEL8.6. The root cause emerges from the cloud-init source code with rhel. Looking at cloud-init releases for rhel in https://git.centos.org/rpms/cloud-init/releases, we saw the introduction of this systemd After= condition here to prevent the NetworkManager/cloud-init race condition, and its subsequent removal here. We have identified the issue to affect cloud-init versions >cloud-init-22.1-1.el8 (https://git.centos.org/rpms/cloud-init/c/1992bd68fc512e22df783ff955edccbad66dbd60?branch=c8s). We recommend updating the systemd service template for cloud-init to account for this additional After= condition.


Command "l" (lowercase L, render text report) removed in BrewPi 0.5.5 firmware

Hi @thorrak,
Thanks for a neat little app. After some struggle (caused mostly by BrewPi itself) I managed to get a setup running, but because I didn't think twice about upgrading firmwares, I ended up running with BrewPi 0.5.5.
This would be fine I guess, except it seems that this version removed the l command which is heavily used by Fermentrack to fetch the emulated LCD output:
https://github.com/BrewPi/firmware/commit/39d0b404fbb8c37593356a07c1597f47cc6cd802#diff-483635118eb441b25b12986056941a7bL339
Which has resulted in my stderr log from Fermentrack being full of:
 May 20 2018 23:06:39   Controller debug message: WARNING 1: Invalid command received by Arduino: l
 May 20 2018 23:06:44   Controller debug message: WARNING 1: Invalid command received by Arduino: l
 May 20 2018 23:06:49   Controller debug message: WARNING 1: Invalid command received by Arduino: l
 May 20 2018 23:06:54   Controller debug message: WARNING 1: Invalid command received by Arduino: l

You can imagine with this frequency the log fills up rather quickly and it can be hard to detect actual errors.
IMHO the emulated LCD readout is not really necessary as the meters convey the same information. Would be fine to remove this feature imho (and that might also reduce the number of requests made to the device which seem to be quite a lot?)
Thanks in advance for considering!
EDIT: Related to this, to enable some "live" meter outputs before starting logging, perhaps the main sensors could be queried and updated instead of showing the LCD emu? First time users may find it confusing that no output happens until logging starts - I know I did. It made me wonder many times if perhaps I hadn't configured correctly.

Are you using Fermentrack with an OEM BrewPi?

I'm using the one sold on https://store.brewpi.com/featured/brewpi-spark-3, I used their official tool for upgrading the firmware which is what gave me 0.5.5 yesterday - and I'm connecting to it over WiFi from a Raspberry 3 B+ with Raspbian.

That’s wild - you may be the first person using an OEM BrewPi with Fermentrack

Great, in that case, I've got the time and motivation to help you perfect the integration with Fermentrack. My Python skills aren't exactly awesome (but I get by) - and I can most definitely help you with both debugging and if you want, access to the raspberry that runs a live setup with this component!

Not to derail your request, but out of curiosity what issues did you encounter when attaching the BrewPi?

I'm actually fighting one of those issues right now and was going to report that as a separate issue report - most importantly, the PIN outputs do not seem to be mapped to the right connections. I am experiencing two separate issues which I think are directly connected:

The "actuator" outputs don't seem to be mapped to the PIN outputs. I've been through all of the PIN outputs now, connecting my SSR to each and allowing the software to enter cooling state - none of them have had an effect. I'm going to make a second check to confirm that brewpi-www can speak to it and that I did my wiring correctly.
I used this device to connect to the SSR with one-wire: https://store.brewpi.com/temperature-control/solid-state-relays-ssr/brewpi-onewire-ssr-expansion-board. When it is connected, an additional two unknown devices appear in the list of connected devices, but they have no settings and cannot be assigned. I noticed something similar in brewpi-www where the SSR appears as two different devices (I guess for the A output and forwarding through B...) and only one of them toggles the SSR. These devices no longer appear since I switched to directly connecting the SSR to one of the "actuator" outputs.

I'll of course update here if I locate the problem when I go through it again.

To your point, however - What I’m leaning towards doing to correct for this is having BrewPi-script “emulate” the LCD output by just rebuilding it from the meter outputs/control settings cache as you noted. Too much of Fermentrack’s UI is built around the LCD to allow for eliminating it at this point without things feeling weird.

That doesn't sound unreasonable of course. Due to the circumstances I can't even tell what the LCD readout can do other than showing this controller reply and the "starting script" message?
If it only does those two things however, maybe it's cleaner UI if there were a "Controller state" readout as alternative view in one of the dash panels that could show either "Starting script...", the most recent error message, or the cooling/heating/idle state - as appropriate. Such a readout should then be the default view instead of for example the log interval/configure device one (and perhaps "Configure device" link could be sacrificed since that's already in the top menu).
On a side note I'm doing a bit of hacking to improve the UI of the dashboard in particular, for a more compact view on desktop and a properly scaling view on mobile devices. If that turns out well I'll of course prepare a pull request to suggest the changes.
...will return with more info after hardware debugging.

I wrote:

The "actuator" outputs don't seem to be mapped to the PIN outputs.

This looks like a brainfart on my behalf. "Someone" didn't connect things correctly. Now I just have to identify the PIN connected to the output I need to use to fit the brewpi in the mount I built... so strike this issue!
The other one, that the SSR expansion board appears as two unknown devices, would be great to solve since it's a bit more flexible in terms of wiring due to the extra temp sensor ports that lets me hide stuff in the fridge compressor compartment with the SSR.


HTML parse encountered an error: ParsingAmbiguity

I'm using Docusaurus, a React-based SSR for documentation sites. On my site, I'm getting the following:
❯ npx -y pagefind --source build --serve

Running Pagefind v0.8.0 (Extended)
Running from: "/Users/dprothero/Projects/internal-product-docs"
Source:       "build"
Bundle Directory:  "_pagefind"

[Walking source directory]
Found 337 files matching **/*.{html}

[Parsing files]
thread 'main' panicked at 'HTML parse encountered an error: ParsingAmbiguity(
    ParsingAmbiguityError {
        on_tag_name: "style",
    },
)', /Users/runner/work/pagefind/pagefind/pagefind/src/fossick/mod.rs:62:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

When I try pagefind on the stock Docusaurus template, it works fine, so this is clearly something with my site, but the error does not provide enough information to diagnose the problem.

Oh no, this is the first I've seen the parser crash. Do you have any public code you can share that triggers the error?
I can fix it up so that it doesn't bail out in this case and instead logs any pages it wasn't able to index

It's a private site, so I can't create a reproducable case. So, yeah, capturing the error and adding better logging is the way to go and then I'm happy to help find the problem and see if I can't create a reproducible case I can post here.

Sweet as no worries, I'll include that in the next release

@dprothero I have snuck out Pagefind v0.8.1 with improved handling here. Pages that hit this parsing error will be skipped and the rest of the site will be indexed. I'm also passing along a better summary of the error from lol-html, which will look something like:

The parser has encountered a text content tag (<style>) in the context where it is ambiguous whether this tag should be ignored or not. And, thus, is is unclear is consequent content should be parsed as raw text or HTML markup.
This error occurs due to the limited capabilities of the streaming parsing. However, almost all of the cases of this error are caused by a non-conforming markup (e.g. a <script> element in <select> element).

This should track down which pages this is occurring on. It doesn't look like I will be able to improve the handling of this error, so hopefully the incoming HTML can be tweaked if the problematic pages are needed for search.
Let me know if this all works — curious to see what the problematic HTML was.

Interesting! I didn't change the parsing itself, and in fact added a test that explicitly checks for an error message in this case: https://github.com/CloudCannon/pagefind/blob/b0ba4537c7cc65a97f49235bc6de9f8323b64799/pagefind/features/errors.feature#L15-L22
So it looks like it's fixed on your end (maybe in its previous run it indexed some intermediary Docusaurus file). Let me know if it reoccurs, but otherwise — hooray! 🎉

@dprothero any chance you can describe somewhere what you did to make docusaurus work with pagefind? :)


upgrade to Pants v2.11.0rc0

Upgrade to Pants v2.11.0rc0.

Note: This PR is on the new 2.11.x branch on the upstream.

Note: This PR is on the new 2.11.x branch on the upstream.

Nit, I've been using 2.11 instead of 2.11.x for the example repos. I wish we did that for pantsbuild/pants too, but the boat sailed. .x seems extraneous


/NoExplorer option disables explorer completely

Hi!
According to the docs:

/NoExplorer	Don't show data explorer on startup.

Starting the emulator with this option disables data explorer and it's not possible to open it manually from the system tray icon. I assume that it'll only disable the auto opening of the explorer on startup.
Is it ok?
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 109ed3f8-faf1-92b9-bf50-4be52e9099d4
Version Independent ID: ebc5326a-46da-6bc1-1f47-01a8e16d11fb
Content: Develop locally with the Azure Cosmos Emulator
Content Source: articles/cosmos-db/local-emulator.md
Service: cosmos-db
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@savbace We are looking into this and will get back to you.

@savbace We are assigning this to our author for more clarification.
@markjbrown @SnehaGunda Please help with user's question.

Hi @savbace. yes it only disables the explorer from opening. It has no impact on the emulator itself from responding to requests.
Thanks.
#please-close

@markjbrown I understand that the emulator responds to requests with this option. But I'm little confused that data explorer can't be opened manually from the system tray.

The behavior is intentional; the “Open Data Explorer…” will open a Web link which will more or less lets you view/modify the emulator’s data (databases, containers, documents etc). In certain cases that might not be desired, like when enabling a different endpoint than SQL (emulator's Data Explorer only fully supports SQL endpoint at this time), so /NoExplorer will prevent the user from potentially corrupting its data. There is a bug here and that is the popup option which opens the Data Explorer is not greyed out in this case; we will try to address this in a future release of the emulator.

Thanks @milismsft for the clarification.


Ignore rsync global binary

npm's rsync package last release is from 8 years ago. Though still has 35k downloads a week. Anyway what you probably want is to rsync something with the CLI binary.

Thanks! Agree :)


CMake Error at E:/GamesSources/Rayne/Source/CMakeLists.txt:358 (message):   Setup API library not found

I have this error when building project from pyton script(CreateBuildProject.py). I've googled it and this library should be in windows sdk but what version? I've done everything from readme
Here are logs
CMakeError.log
CMakeOutput.log

Hey, you'll have to point cmake at the file manually at the moment. The actual version doesn't really matter, any windows 10 SDK should work.

Strangely that directory contains SetupAPI.lib but why am I getting this error?

Because make isn't finding it. You can open the CmakeCache.txt (or something like that) in your build directory and search for SETUPAPI in it, the value will be NOT-FOUND. You can change it to point at your file, save and run cmake in your build directory (don't use the python script again as it will recreate the directory, deleting the file you just changed).
I need to fix that :(


pip install starknet-devnet

× Encountered error while trying to install package.
╰─> crypto-cpp-py
i've already brew install gmp
python3.8

@THenry14

Hi @qkaver, can you provide full output (preferably in text)? thanks.

hi @THenry14
thank you for your help
nile init
Requirement already satisfied: ecdsa in ./env/lib/python3.8/site-packages (0.17.0)
Requirement already satisfied: fastecdsa in ./env/lib/python3.8/site-packages (2.2.3)
Requirement already satisfied: sympy in ./env/lib/python3.8/site-packages (1.10.1)
Requirement already satisfied: six>=1.9.0 in ./env/lib/python3.8/site-packages (from ecdsa) (1.16.0)
Requirement already satisfied: mpmath>=0.19 in ./env/lib/python3.8/site-packages (from sympy) (1.2.1)
🗄  Installing Cairo
Requirement already satisfied: cairo-lang in ./env/lib/python3.8/site-packages (0.9.0)
Collecting starknet-devnet
Using cached starknet_devnet-0.2.3-py3-none-any.whl (174 kB)
Requirement already satisfied: aiohttp in ./env/lib/python3.8/site-packages (from cairo-lang) (3.8.1)
Requirement already satisfied: cachetools in ./env/lib/python3.8/site-packages (from cairo-lang) (5.2.0)
Requirement already satisfied: ecdsa in ./env/lib/python3.8/site-packages (from cairo-lang) (0.17.0)
Requirement already satisfied: eth-hash[pycryptodome] in ./env/lib/python3.8/site-packages (from cairo-lang) (0.3.2)
Requirement already satisfied: fastecdsa in ./env/lib/python3.8/site-packages (from cairo-lang) (2.2.3)
Requirement already satisfied: frozendict==1.2 in ./env/lib/python3.8/site-packages (from cairo-lang) (1.2)
Requirement already satisfied: lark-parser in ./env/lib/python3.8/site-packages (from cairo-lang) (0.12.0)
Requirement already satisfied: marshmallow-dataclass>=7.1.0 in ./env/lib/python3.8/site-packages (from cairo-lang) (8.5.8)
Requirement already satisfied: marshmallow-enum in ./env/lib/python3.8/site-packages (from cairo-lang) (1.5.1)
Requirement already satisfied: marshmallow-oneofschema in ./env/lib/python3.8/site-packages (from cairo-lang) (3.0.1)
Requirement already satisfied: marshmallow>=3.2.1 in ./env/lib/python3.8/site-packages (from cairo-lang) (3.16.0)
Requirement already satisfied: mpmath in ./env/lib/python3.8/site-packages (from cairo-lang) (1.2.1)
Requirement already satisfied: numpy in ./env/lib/python3.8/site-packages (from cairo-lang) (1.22.4)
Requirement already satisfied: pipdeptree in ./env/lib/python3.8/site-packages (from cairo-lang) (2.2.1)
Requirement already satisfied: prometheus-client in ./env/lib/python3.8/site-packages (from cairo-lang) (0.14.1)
Requirement already satisfied: pytest in ./env/lib/python3.8/site-packages (from cairo-lang) (7.1.2)
Requirement already satisfied: pytest-asyncio in ./env/lib/python3.8/site-packages (from cairo-lang) (0.18.3)
Requirement already satisfied: PyYAML in ./env/lib/python3.8/site-packages (from cairo-lang) (6.0)
Requirement already satisfied: sympy in ./env/lib/python3.8/site-packages (from cairo-lang) (1.10.1)
Requirement already satisfied: typeguard in ./env/lib/python3.8/site-packages (from cairo-lang) (2.13.3)
Requirement already satisfied: Web3 in ./env/lib/python3.8/site-packages (from cairo-lang) (5.29.2)
Requirement already satisfied: cloudpickle<2.2.0,>=2.1.0 in ./env/lib/python3.8/site-packages (from starknet-devnet) (2.1.0)
Requirement already satisfied: Werkzeug<2.1.0,>=2.0.3 in ./env/lib/python3.8/site-packages (from starknet-devnet) (2.0.3)
Requirement already satisfied: flask-cors<3.1.0,>=3.0.10 in ./env/lib/python3.8/site-packages (from starknet-devnet) (3.0.10)
Requirement already satisfied: Flask[async]<2.1.0,>=2.0.3 in ./env/lib/python3.8/site-packages (from starknet-devnet) (2.0.3)
Requirement already satisfied: meinheld<1.1.0,>=1.0.2 in ./env/lib/python3.8/site-packages (from starknet-devnet) (1.0.2)
Collecting crypto-cpp-py<1.1.0,>=1.0.4
Using cached crypto_cpp_py-1.0.4.tar.gz (150 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: Six in ./env/lib/python3.8/site-packages (from flask-cors<3.1.0,>=3.0.10->starknet-devnet) (1.16.0)
Requirement already satisfied: Jinja2>=3.0 in ./env/lib/python3.8/site-packages (from Flask[async]<2.1.0,>=2.0.3->starknet-devnet) (3.1.2)
Requirement already satisfied: itsdangerous>=2.0 in ./env/lib/python3.8/site-packages (from Flask[async]<2.1.0,>=2.0.3->starknet-devnet) (2.1.2)
Requirement already satisfied: click>=7.1.2 in ./env/lib/python3.8/site-packages (from Flask[async]<2.1.0,>=2.0.3->starknet-devnet) (8.1.3)
Requirement already satisfied: asgiref>=3.2 in ./env/lib/python3.8/site-packages (from Flask[async]<2.1.0,>=2.0.3->starknet-devnet) (3.5.2)
Requirement already satisfied: packaging>=17.0 in ./env/lib/python3.8/site-packages (from marshmallow>=3.2.1->cairo-lang) (21.3)
Requirement already satisfied: typing-inspect>=0.7.1 in ./env/lib/python3.8/site-packages (from marshmallow-dataclass>=7.1.0->cairo-lang) (0.7.1)
Requirement already satisfied: greenlet<0.5,>=0.4.5 in ./env/lib/python3.8/site-packages (from meinheld<1.1.0,>=1.0.2->starknet-devnet) (0.4.17)
Requirement already satisfied: aiosignal>=1.1.2 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (1.2.0)
Requirement already satisfied: yarl<2.0,>=1.0 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (1.7.2)
Requirement already satisfied: attrs>=17.3.0 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (21.4.0)
Requirement already satisfied: multidict<7.0,>=4.5 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (6.0.2)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (4.0.2)
Requirement already satisfied: frozenlist>=1.1.1 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (1.3.0)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in ./env/lib/python3.8/site-packages (from aiohttp->cairo-lang) (2.0.12)
Requirement already satisfied: pycryptodome<4,>=3.6.6 in ./env/lib/python3.8/site-packages (from eth-hash[pycryptodome]->cairo-lang) (3.14.1)
Requirement already satisfied: pip>=6.0.0 in ./env/lib/python3.8/site-packages (from pipdeptree->cairo-lang) (22.1.2)
Requirement already satisfied: pluggy<2.0,>=0.12 in ./env/lib/python3.8/site-packages (from pytest->cairo-lang) (1.0.0)
Requirement already satisfied: py>=1.8.2 in ./env/lib/python3.8/site-packages (from pytest->cairo-lang) (1.11.0)
Requirement already satisfied: tomli>=1.0.0 in ./env/lib/python3.8/site-packages (from pytest->cairo-lang) (2.0.1)
Requirement already satisfied: iniconfig in ./env/lib/python3.8/site-packages (from pytest->cairo-lang) (1.1.1)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (2.1.1)
Requirement already satisfied: lru-dict<2.0.0,>=1.1.6 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (1.1.7)
Requirement already satisfied: protobuf<4,>=3.10.0 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (3.20.1)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (2.3.0)
Requirement already satisfied: websockets<10,>=9.1 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (9.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (1.10.0)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (0.2.2)
Requirement already satisfied: requests<3.0.0,>=2.16.0 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (2.28.0)
Requirement already satisfied: jsonschema<5,>=3.2.0 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (4.6.0)
Requirement already satisfied: ipfshttpclient==0.8.0a2 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (0.8.0a2)
Requirement already satisfied: eth-account<0.6.0,>=0.5.7 in ./env/lib/python3.8/site-packages (from Web3->cairo-lang) (0.5.8)
Requirement already satisfied: multiaddr>=0.0.7 in ./env/lib/python3.8/site-packages (from ipfshttpclient==0.8.0a2->Web3->cairo-lang) (0.0.9)
Requirement already satisfied: parsimonious<0.9.0,>=0.8.0 in ./env/lib/python3.8/site-packages (from eth-abi<3.0.0,>=2.0.0b6->Web3->cairo-lang) (0.8.1)
Requirement already satisfied: bitarray<3,>=1.2.1 in ./env/lib/python3.8/site-packages (from eth-account<0.6.0,>=0.5.7->Web3->cairo-lang) (2.5.1)
Requirement already satisfied: eth-keyfile<0.6.0,>=0.5.0 in ./env/lib/python3.8/site-packages (from eth-account<0.6.0,>=0.5.7->Web3->cairo-lang) (0.5.1)
Requirement already satisfied: rlp<3,>=1.0.0 in ./env/lib/python3.8/site-packages (from eth-account<0.6.0,>=0.5.7->Web3->cairo-lang) (2.0.1)
Requirement already satisfied: eth-rlp<2,>=0.1.2 in ./env/lib/python3.8/site-packages (from eth-account<0.6.0,>=0.5.7->Web3->cairo-lang) (0.2.1)
Requirement already satisfied: eth-keys<0.4.0,>=0.3.4 in ./env/lib/python3.8/site-packages (from eth-account<0.6.0,>=0.5.7->Web3->cairo-lang) (0.3.4)
Requirement already satisfied: cytoolz<1.0.0,>=0.10.1 in ./env/lib/python3.8/site-packages (from eth-utils<2.0.0,>=1.9.5->Web3->cairo-lang) (0.11.2)
Requirement already satisfied: MarkupSafe>=2.0 in ./env/lib/python3.8/site-packages (from Jinja2>=3.0->Flask[async]<2.1.0,>=2.0.3->starknet-devnet) (2.1.1)
Requirement already satisfied: importlib-resources>=1.4.0 in ./env/lib/python3.8/site-packages (from jsonschema<5,>=3.2.0->Web3->cairo-lang) (5.7.1)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./env/lib/python3.8/site-packages (from jsonschema<5,>=3.2.0->Web3->cairo-lang) (0.18.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./env/lib/python3.8/site-packages (from packaging>=17.0->marshmallow>=3.2.1->cairo-lang) (3.0.9)
Requirement already satisfied: idna<4,>=2.5 in ./env/lib/python3.8/site-packages (from requests<3.0.0,>=2.16.0->Web3->cairo-lang) (3.3)
Requirement already satisfied: certifi>=2017.4.17 in ./env/lib/python3.8/site-packages (from requests<3.0.0,>=2.16.0->Web3->cairo-lang) (2<IP_ADDRESS>)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./env/lib/python3.8/site-packages (from requests<3.0.0,>=2.16.0->Web3->cairo-lang) (1.26.9)
Requirement already satisfied: typing-extensions>=3.7.4 in ./env/lib/python3.8/site-packages (from typing-inspect>=0.7.1->marshmallow-dataclass>=7.1.0->cairo-lang) (4.2.0)
Requirement already satisfied: mypy-extensions>=0.3.0 in ./env/lib/python3.8/site-packages (from typing-inspect>=0.7.1->marshmallow-dataclass>=7.1.0->cairo-lang) (0.4.3)
Requirement already satisfied: toolz>=0.8.0 in ./env/lib/python3.8/site-packages (from cytoolz<1.0.0,>=0.10.1->eth-utils<2.0.0,>=1.9.5->Web3->cairo-lang) (0.11.2)
Requirement already satisfied: zipp>=3.1.0 in ./env/lib/python3.8/site-packages (from importlib-resources>=1.4.0->jsonschema<5,>=3.2.0->Web3->cairo-lang) (3.8.0)
Requirement already satisfied: varint in ./env/lib/python3.8/site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.8.0a2->Web3->cairo-lang) (1.0.2)
Requirement already satisfied: base58 in ./env/lib/python3.8/site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.8.0a2->Web3->cairo-lang) (2.1.1)
Requirement already satisfied: netaddr in ./env/lib/python3.8/site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.8.0a2->Web3->cairo-lang) (0.8.0)
Building wheels for collected packages: crypto-cpp-py
WARNING: Building wheel for crypto-cpp-py failed: [Errno 13] Permission denied: '/Users/qkaver/Library/Caches/pip/wheels/9e'
Failed to build crypto-cpp-py
Installing collected packages: crypto-cpp-py, starknet-devnet
Running setup.py install for crypto-cpp-py ... error
error: subprocess-exited-with-error
× Running setup.py install for crypto-cpp-py did not run successfully.
│ exit code: 1
╰─> [89 lines of output]
running install
running build
running build_py
running build_ext
Targeting x86_64-apple-macos10.9
cmake_minimum_required (VERSION 3.5)
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER /usr/bin/clang++)
endif()
  project(StarkwareCryptoLib VERSION 0.1.0 LANGUAGES CXX)

  set(CMAKE_CXX_STANDARD 17)

  include(FetchContent)
  FetchContent_Declare(
    googletest
    URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
  )
  # For Windows: Prevent overriding the parent project's compiler/linker settings
  set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
  FetchContent_MakeAvailable(googletest)

  include(CTest)
  enable_testing()
  include_directories("${CMAKE_SOURCE_DIR}/src")

  if (NOT DEFINED CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Debug)
  endif()

  set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  set(CMAKE_CXX_FLAGS "-std=c++17 -Werror -Wall -Wextra -fno-strict-aliasing -fPIC ${CMAKE_CXX_FLAGS} -target x86_64-apple-macos10.9")

  set(CC_OPTIMIZE "-O3")

  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
  set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CC_OPTIMIZE}")

  add_subdirectory(src)
  ./build_extension.sh: line 34: cmake: command not found
  sed: build/Release/_deps/googletest-src/CMakeLists.txt: No such file or directory
  make: *** No targets specified and no makefile found.  Stop.
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/private/var/folders/vl/dj3myx150r729x71ctq_2jnm0000gn/T/pip-install-iotb6hu3/crypto-cpp-py_1c16d496a81948b68f417ba45922ca20/setup.py", line 48, in <module>
      setup(
    File "/Users/qkaver/test11/env/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/qkaver/test11/env/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
      return orig.install.run(self)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/command/install.py", line 545, in run
      self.run_command('build')
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/private/var/folders/vl/dj3myx150r729x71ctq_2jnm0000gn/T/pip-install-iotb6hu3/crypto-cpp-py_1c16d496a81948b68f417ba45922ca20/setup.py", line 16, in run
      self.run_command("build_ext")
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/qkaver/test11/env/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 84, in run
      _build_ext.run(self)
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/command/build_ext.py", line 340, in run
      self.build_extensions()
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions
      self._build_extensions_serial()
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial
      self.build_extension(ext)
    File "/private/var/folders/vl/dj3myx150r729x71ctq_2jnm0000gn/T/pip-install-iotb6hu3/crypto-cpp-py_1c16d496a81948b68f417ba45922ca20/setup.py", line 30, in build_extension
      subprocess.run(
    File "/Users/qkaver/opt/anaconda3/lib/python3.8/subprocess.py", line 512, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command './build_extension.sh' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> crypto-cpp-py
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
Traceback (most recent call last):
File "/Users/qkaver/test11/env/bin/nile", line 8, in
sys.exit(cli())
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/nile/cli.py", line 61, in init
init_command()
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/nile/core/init.py", line 19, in init
install()
File "/Users/qkaver/test11/env/lib/python3.8/site-packages/nile/core/install.py", line 10, in install
subprocess.check_call(
File "/Users/qkaver/opt/anaconda3/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/Users/qkaver/test11/env/bin/python3', '-m', 'pip', 'install', 'cairo-lang', 'starknet-devnet']' returned non-zero exit status 1.

Hi @qkaver , It seems you are using an older macos version for which we did not release crypto-cpp-py wheels, the install attempts to build from source but fails because it cannot find cmake. To fix the issue, please run (in your virtual env, if you are using one):
pip install crypto-cpp-py[build]
That will install cmake, which should allow for install to pass. Please let me know if that helped.

pip install crypto-cpp-py[build]

@THenry14  It's been solved, that's really cool!!
thanks a lot :)


Update zh_CN.lang for 1.9.4 branch

Close it - will redo it for 1.10.2.

Ah thanks. Actually totally missed/forgot these. But if you redo them I'll merge


Advice on unit-aware arithmetic

This isn't really a bug report. In sympl we're using DataArrays that allow unit-aware operations using the 'units' attribute as the only persistent unit storage. We use pint as a backend to operate on unit strings, but this is never exposed to the user and could be swapped for another backend without much consequence.
Basically, we currently have this implemented as a subclass sympl.DataArray. @dopplershift recently introduced me to the accessor interface, and I've been thinking about whether to switch over to that way of extending DataArray.
The problem I have is that the new code that results from using an accessor is quite cumbersome. The issue lies in that we mainly use new implementations for arithmetic operations. So, for example, the following code:
dt = DataArray(timestep.total_seconds(), attrs={'units': 's'})
for key in tendencies_list[0].keys():
    return_state[key] = state[key] + dt * (
        1.5 * tendencies_list[-1][key] - 0.5 * tendencies_list[-2][key]
    )

instead becomes
dt = DataArray(timestep.total_seconds(), attrs={'units': 's'})
for key in tendencies_list[0].keys():
    return_state[key] = state[key].sympl.add(
        dt.sympl.multiply(
            tendencies_list[-1][key].sympl.multiply(1.5).sympl.subtract(
                tendencies_list[-2][key].sympl.multiply(0.5)
            )
        )
    )

This could be a little less cumbersome if we avoid a sympl namespace and instead add separate accessors for each method. At the least it reads naturally. However, there's a reason you don't generally recommend doing this.
dt = DataArray(timestep.total_seconds(), attrs={'units': 's'})
for key in tendencies_list[0].keys():
    return_state[key] = state[key].add(
        dt.multiply(
            tendencies_list[-1][key].multiply(1.5).subtract(
                tendencies_list[-2][key].multiply(0.5)
            )
        )
    )

I'm looking for advice on what is best for sympl to do here. Right now I'm leaning towards that we should use a subclass rather than an accessor - does this seem like an appropriate case to do so?

cc @KMPaul who has also been working on this sort of thing recently.

For reference, here are some of the sort of methods I've been adding that aren't currently in sympl:
def multiply(self, other):
    if isinstance(other, xr.DataArray):
        result = self._dataarray * other
        result.attrs['units'] = multiply_units(self._dataarray.attrs['units'], other.attrs['units'])
    else:
        result = self._dataarray * other
        result.attrs['units'] = self._dataarray.attrs['units']
    return result

def divide(self, other):
    print(self._dataarray, other)
    if isinstance(other, xr.DataArray):
        result = self._dataarray / other
        result.attrs['units'] = divide_units(self._dataarray.attrs['units'], other.attrs['units'])
    else:
        result = self._dataarray / other
        result.attrs['units'] = self._dataarray.attrs['units']
    return result

def add(self, other):
    result = self._dataarray + other.sympl.to_units(self._dataarray.attrs['units'])
    result.attrs['units'] = self._dataarray.attrs['units']
    return result

def subtract(self, other):
    result = self._dataarray - other.sympl.to_units(self._dataarray.attrs['units'])
    result.attrs['units'] = self._dataarray.attrs['units']
    return result

Thanks, @jhamman, for the reference.
I have, indeed, been thinking about this a lot.  I've hit the same problem that you have @mcgibbon and came to the same conclusion that subclassing was the only way to go.  I'm not sure I'm happy with my solution, but I wrote a (partial) implementation of a DataArray subclass to deal with units.  @jhamman suggested that I pull this out into a separate repo, and I hope to do that one day...  However, if you are curious, now, you can view it here:
https://github.com/NCAR/PyConform/tree/rewrite/source/pyconform/physarrays
Note that this implementation deals with time as just another unit, rather than requiring any special dealing with time.  This works if you units package can deal with calendared times, too.  I am currently using cf_units to deal with the units, not pint, but the result is similar.  However, cf_units does not deal with calendar conversion, and it doesn't always deal with non-standard calendars well.  In the end, though, if I could voice my own 2 cents, I believe that calendared times should be dealt with using the same mechanics as any other unit.  Just my bias.
Also, note that this implementation also deals with the positive attribute of the data, in addition to the units and calendar attributes.  The positive attribute can be tricky, but if the values don't match between two arrays, then you need to convert before doing any math.
Let me know what you think about this.  If it's a priority, I can pull this out into its own repository.

If you implement arithmetic special methods like __add__ and __radd__ on your accessor, you could write things like:
dt = DataArray(timestep.total_seconds(), attrs={'units': 's'})
for key in tendencies_list[0].keys():
    return_state[key] = state[key].sympl + dt.sympl * (
        1.5 * tendencies_list[-1][key].sympl - 0.5 * tendencies_list[-2][key].sympl
    )

It's awkward but you can still use the infix notation.
Subclassing or writing a DataArray wrapper like what @kmpaul did in physarrays seems like the cleanest way to do this currently. The main challenge is to avoid relying on non-public parts of the DataArray API, but I think overwriting arithmetic would be pretty safe.
In the long term, I think the best solution here is probably an extensible interface for data in xarray objects that would let you put an array with units into an xarray object, similar to the hooks we want for sparse arrays (https://github.com/pydata/xarray/issues/1938).

@shoyer that notation might work, thanks for pointing it out! Maybe we can think of a more natural name for the accessor ("with_units"? "keep_units"? "uarray"? "u"?). I find the "storage" of units as a string in attrs to be much cleaner than any other implementation I've seen so far (like implementations that have a unit container over an underlying array, or an array of unit-aware objects). It has the added benefit that this is how units are conventionally stored in netCDF files. I don't think it's necessary to use a class other than ndarray for data storage.
@kmpaul the main reason I stayed away from cf_units is that I had bad experiences trying to get it to build with its dependencies in the past. Particularly it's an issue that it depends on the Udunits C library, which requires MinGW to install on Windows and has generally been a headache for me. I'd much prefer a pure Python unit handling implementation. For Sympl, we don't care so much about time units, because time is stored using datetime objects (potentially from the cftime package for alternate calendars). This is also the way that time units are conventionally stored in xarray, once decoded.
It may make sense for us to use some kind of stand-alone unit-aware DataArray implementation. I'd just need to be convinced that yours is well-designed, thoroughly tested, and easy to install with pip. The main things concerning me about PhysArray are 1) As a container rather than subclass, it does not implement many of the methods of DataArray and 2) There are a few design choices I don't understand, like why calendar is always a property of a PhysArray even when it isn't storing a time, why cftime objects aren't used instead of units to manage time, and why the positive attribute is important enough for PhysArray to manage (I've never seen it in any data I've used, and it's easy to check if a DataArray is all positive or negative with a function call). We could discuss these by e-mail if you like (it's my username at uw.edu). Other possibilities are that I'll take the implementation we come up with and give it its own package, or that we'll collaborate on such a package.

Well, I'm certainly not trying to argue that the PhysArray implementation is the solution.  It's just a solution, and a solution for a much smaller problem.
I understand your concerns about cf_units.  I've heard many people make the same argument for pint, and I appreciate it.  I went with cf_units because of its dependence on UDUNITS, which is declared as the "standard" in the CF Conventions.  I never had the time (nor do I foresee ever having the time) to see if pint was fully compliant with UDUNITS, so I went with something I knew was.
I personally think it's fine to discuss this here, unless other people would like to see this go offline.  To address some of your issues:

As a container rather than subclass, it does not implement many of the methods of DataArray

Yes.  I agree.  In fact, my first implementation was a subclass of DataArray, but after reading the Xarray documentation here and the Issue #706, I decided on composition for this implementation.

There are a few design choices I don't understand, like why calendar is always a property of a PhysArray even when it isn't storing a time

I personally didn't see much of a benefit to a check like hasattr(obj, 'calendar') versus obj.calendar is None (other than the fact that these two checks are opposite).  So, for my code, I felt that obj.calendar is None was a reasonable check to see if the units were "calendared time" units.

why cftime objects aren't used instead of units to manage time

As I mentioned in my post, this is just my personal preference.  I think that calendared time units are...well...just units, and that the same mechanism for dealing with all other units should deal with calendared time units.  It's just an aesthetic that I prefer.  (That said, I'm extremely happy that someone finally dealt with non-standard calendars with cftime.)

why the positive attribute is important enough for PhysArray to manage (I've never seen it in any data I've used, and it's easy to check if a DataArray is all positive or negative with a function call)

The CF Conventions define the positive attribute to indicate that the field represents the vertical component of a vector, and the value of positive indicates what direction the vertical component points (up or down) if the data is positive.  So, if you add field X and field Y, and X.positive == 'up' but Y.positive == 'down', then you need to actually subtract the fields.  It's an annoying attribute that I've had to deal with when preparing data for CMIP6.
In the end, I'm happy doing whatever the community wants with this code.  I can pull it out into it's own repo (along with the unit tests, which are also in the PyConform repo).  And then, after that, I have no problem with people taking it in a different direction (e.g., using pint, injecting properties based on the value of the attributes, etc.).  I'm also happy with a subclass option, as my C++ experiences in the past have made me very comfortable with inheritance.  I take guidance easily.  I just don't usually have a lot of time to devote to development any more these days.  :-(

My problem with custom classes (subclasses or composition) is that you will never get those from a Dataset that you get from open_dataset(). That’s a problem for me when I’m trying to make things work for users who want to do simple scripted data analysis. I’m much more interested in #1938 (or #1118).
I’m also looking at moving from pint to unyt, which is Yt’s unit support, brought into a standalone package. Beyond some performance benefits (I’ve heard), it has the benefit of being a ndarray subclass, which means asanyarray will leave it alone. That would seem to make it easier to cram into a DataArray.

@dopplershift That's a good point. It's pretty trivial to create a sympl.DataArray from an xarray.DataArray, so perhaps I should be using a decorator that will convert xarray.DataArray to sympl.DataArray whenever one is passed into a sympl call. This would be similarly easy to do in metpy. One could also write a function to convert Dataset into one that contains unit-aware DataArray objects, or an open_dataset that calls xarray.open_dataset and then does such a conversion, though I'd wonder if certain Dataset calls (e.g. mean) might undo such a conversion.
In sympl our main concerns are unit checking at the boundary of components and in properly converting units when time stepping or adding outputs of components together. Maybe sympl should only be using this DataArray subclass internally, with type conversions or wrapping when taking DataArrays into and out of its methods? That would solve a lot of our problems.
unyt may be a better choice than pint for MetPy. Like I said in Sympl we don't use pint for unit information storage, only for conversion and arithmetic, so whether it uses an ndarray subclass doesn't apply for us.

Thank you for the input everyone, this discussion has been very useful! Closing this issue.


node: Prepare for a larger Npm refactoring

Prepare for re-writing large parts of Npm to solely rely on the npm command output to construct the dependency tree,
which will remove the inheritance between Yarn and Npm. To allow doing that, invert the inheritance between Yarn and Npm as a "temporary" refactoring step.
Also do further minor preparations.
Part of: #9261.

Merging despite the unrelated StackFunTest failure.

Merging despite the unrelated StackFunTest failure.

Oh, crap, sorry @oss-review-toolkit/core-devs, I was mixing this up with https://github.com/oss-review-toolkit/ort/pull/9380 which I intended to merge!
Let me do a retrospective review to see if I need to revert things, or if we can live with the accidental merge.
Sorry again 😞

I've addressed your (@sschuberth) comments where possible with https://github.com/oss-review-toolkit/ort/pull/9389.