luakit: init at 2018.08.10

Motivation for this change
Since the package removal #23205 there has been two releases. Switching to a newer version of webkitgtk.
Most alternatives in nixpkgs seem to still use webkitgtk2.4.
Things done
It's based on the previous definition of luakit. It builds and I used it without troubles during the past 24h.
Still, some parts of nixpkgs are still a mystery to me so a review would be very welcome. (wrappers and gstreamer for example).
@matthiasbeyer , as previous maintainer, maybe you are still interested.

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[] Fits CONTRIBUTING.md.

@GrahamcOfBorg build luakit

No attempt on x86_64-darwin
The following builds were skipped because they don't evaluate on x86_64-darwin: luakit
No log is available.

Failure on aarch64-linux (full log)
Attempted: luakit
Partial log (click to expand)
checking for references to /build in /nix/store/w21npw1l649xlcac1kzna13c10z3kgyn-gst-plugins-good-1.12.3-dev...
building of '/nix/store/6mm6pr840z429p4l9mk62gh7mr6khj3k-rustc-1.24.0.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/wsycxxpy4fin6rmfmx67n1b5pdzjww20-cargo-0.24.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/46dabb3yhvbzls28k7qhwvlxsm59sw04-librsvg-2.42.2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/mw87libhfziaf7cnc775qx6j3kgzra5g-gst-plugins-bad-1.12.3.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/ghb2lx3ij1jyj0aa4v097pcxpyrrkk7p-hook.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/s0cxfqpsk6nxxkbbfbpwmid2g9862phk-geoclue-2.4.7.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/g4vz8vxfsmksnk2xlcdjxdqm71wiccbk-webkitgtk-2.18.6.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/xgz9cminyjq8npnwvq281zqh90dc7p3y-luakit-2017.08.10.drv': 3 dependencies couldn't be built
error: build of '/nix/store/xgz9cminyjq8npnwvq281zqh90dc7p3y-luakit-2017.08.10.drv' failed

Failure on x86_64-linux (full log)
Attempted: luakit
Partial log (click to expand)
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGInPlaceAbstractState.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGInferredTypeCheck.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGInsertionSet.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGIntegerCheckCombiningPhase.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGIntegerRangeOptimizationPhase.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGInvalidationPointInjectionPhase.cpp.o
[  8%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGJITCode.cpp.o
building of '/nix/store/jpv973yg03pg27dwk9ppf403732588m9-webkitgtk-2.18.6.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/6xa97dhx66vbl821scvdnrrcq27k9cg7-luakit-2017.08.10.drv': 1 dependencies couldn't be built
error: build of '/nix/store/6xa97dhx66vbl821scvdnrrcq27k9cg7-luakit-2017.08.10.drv' failed

Build faillures seem related to webkitgtk. What should we do?


Split the library and python library

I'd like to use this package, but I only need the C library and not the python bindings. Having this package as a requirement pulls in python and its dependencies. I'd like to avoid that if possible.
@msarahan, do you have an example recipe with a C library and python bindings split using outputs?

That sounds like a good idea. I'm not an expert on qscintilla2 to do that though. I'm just trying to revitalize this feedstock for qgis.

I can try to do this, but I will need some help, because I've no idea how to do this or where to start, and some more info about the naming conventions: what would we name the python library? python-qscintilla or pyqscintilla (to follow qt and pyqt)? I am waiting for the newer qt libraries to be released, which should be imminent by the looks of all the work that is  being done on qt-feedstock. I then want to try and update this library and can try to split the python part off of it.

@isuruf I got the qscintila2 package updated. I guess you were referring to https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#outputs-section? It's not directly clear yet how I must use this, but I see its potential. Basically, we need to perform these steps for qscintilla and these steps for pyqscintilla (if that will be the name).


Not updating to resolve existing PR's conflicts

first of all. great work to have dependabot in azure devops.
I have one pipeline with mulitple stages (for each repository a stage) to run dependabot. It works great only when for example Angular updates multiple PRs are created. After completing one the process very often halts because there getting conflicts in package.json (same for nuget).
I thought dependabot was able to resolve those by just running again?
Conflicts i end up with:

and from the log it seems touching this dependencyl just not updating the existing PR
Updating @angular/core from  to 13.3.8
Submitting @angular/core pull request for creation. Seems PR is already present.

@davesmits the extension/script updates PRs that have mergeStatus=conflict. Pull requests in Azure DevOps don't update merge status automatically like on GitHub unless you have auto complete on the PR and all other checks have passed. Hence why this extension has it enabled by default. This can also be triggered manually by using the "restart merge" button/option for the PR.
Please try these options and report back.

@mburumaxwell thanks. I noticed that Azure Devops is mostly requiring user interaction to detect the merge conflict status so was already playing with it a bit.
The PR was already in 'conflict' status.

@mburumaxwell it just happend me again. Had two pr's and after accepting the first the second became in conflict.
So I did try "restart merge" in the PR to ensure the conflict status is update and then ran my pipeline. See screenshot for output. But the PR didnt got updated

@davesmits I see the logs clearly now though I realize there's a log output about the number of commits that is missing that should be added  in a future release for better debugging.
Before we get into that could you confirm the number of commits on the branch for the PR? In short have you added any more cookies besides the one created by dependabot?

@mburumaxwell Not sure what you exactly mean (sorry not native english).
but for the master branch i did merge a PR of myself in between; but triggered the 'restart merge' after merging 11479

If you mean committing the to branch dependabot craeted; no i didnt touch those.
This are the updates for the PR mentioned here above

I stand corrected. For nuget it works. only npm is not updated

@davesmits do you mean the behavior is erratic?

Yes i think so. For nuget it's resolving conflicts in outstanding pull requests. I would expect same behavior in NPM but prs keep in conflicting state and need to be resolved manually

I am unable to repro this. We are having no issue with NPM and we have quite a number of them. Could you provide a repro for this in a public Azure DevOps project?

@davesmits were you ever able to find a fix for this? I am facing the same issue. Thanks.


Discussion: Semantic Search instead of Full-Text-Search

Hi Ian, great project. It's in my todo list of projects to build but thank god you got this done :)
I was wondering: wouldn't be better to use semantic search instead of full text search?
At least this was my idea for creating a project similar to yours.
I'd be glad to give more details, if my question is not clear.
(also interested in contributing, if you want to go in this direction)

Hey @alexferrari88 thanks for the kinds words. Agreed, semantic search would be great. I've thought about it as well, but unlike sqlite-in-wasm, I'm unaware of a solution to semantic search in JS.
Running a vector store remotely is an option but one of my goals with this project was to have it be useful as a standalone product.
What are your thoughts on how to implement semantic search?

Right after submitting the issue, I started looking for a wasm vector search, since — I agree with you — it would be nicer to have this extension be sort of self-contained.
Unfortunately, the solutions are still few and far between. The best solutions I found so far:

https://github.com/tantaraio/voy
https://github.com/not-pizza/victor

Of the two, voy seems quite nice and there are also JS examples on how to use.
Curious to know your thoughts about this.

Awesome, thanks for the links. After a quick look i have some thoughts:

Voy is currently an in-memory store which means we'd have to load everything into memory and initialize the index. This will work, but is not ideal since the amount of full-text data is unbounded and assumedly will be measured in gigabytes once the user has browsed for long enough.
Victor looks pretty ideal in that it uses OPFS for storage in the browser. However, OPFS does not currently work in the background thread of web extensions. More details below.

I initially created this extension with WebSQL, which works for extensions using manifest v2. MV2 extensions are no longer allowed though, so while porting to MV3 I initially wanted to use OPFS and the official sqlite-wasm implementation.
I was unable to get OPFS to work in the web extension service worker. It works in browser tabs, and in normal web workers, but specifically in the background service worker that replaced background scripts in MV3 it would not work. At the time it seemed to be unintentional, i.e. a bug in the chrome implementation. So perhaps its now possible.
I ended up using IndexedDB as the backing filesystem via the excellent wa-sqlite implementation. That's the current state of things -- Using IndexedDB because it happens to work in service workers.

thank you for looking more into it. That's unfortunate ☹. Having a standalone extension that would take care of everything would be ideal, without the user having to install extra stuff but it seems like it is not feasible at the moment.
Ideally, one could proceed with an external (but local) vector store (e.g. Chromadb) and create a repository layer that would allow an easy swap for a wasm implementation in the future. I understand this is completely outside the scope of this extension.
I might fork it and start working on it but can't promise anything 😎

Thanks for chiming in @rhashimoto. Interesting, I had looked at the offscreen document API for dom parsing but if it allows access to a normal worker that might be an option. A bit roundabout, but vector search for browsing history may well be worth it.

There is a new, viable option: using pgvector via pglite 1. I'm exploring this now.


Panic when signer doesn't find timestamp key

c.f. https://github.com/docker/notary/issues/322
We shouldn't be continuing execution and panicking when the timestamp key isn't found on the signer.

We have a specific test for signing with a key that doesn't exist now:  https://github.com/docker/notary/blob/master/signer/rpc_and_client_test.go#L203


Use HTTPS as default protocol instead of HTTP

Before submitting a pull request make sure you have:

[x] Searched the bugtracker for similar pull requests
[ ] Read adding new extractor tutorial
[ ] Read youtube-dl coding conventions and adjusted the code to meet them
[ ] Covered the code with tests (note that PRs without tests will be REJECTED)
[ ] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
HTTP bad
I doubt video downloads are getting MITM'd because of this fallback, but better safe than sorry.

Oddly I can't find the thread where this was already denied, but it was along the lines of HTTP websites still existing, and if a site doesn't wanna support HTTP they'll auto-redirect to HTTPS, and things like passwords are already encrypted.
Besides, MITM ? The chances are non-existent I think.

See, eg, issue #28900.
Maybe the PR would be more acceptable (supposing any PRs are ever accepted again) if it included an option such that HTTP remained the default but a user could make it HTTPS with a command-line or config option if desired.

See, eg, issue #28900.

Yes, that's the one.


feat(tvm_utility): add link to docs

Description

I would like to replace the "@subpage" notation in common/tvm_utility/design/tvm-utility-design.md with relative paths.  "@subpage" indicates a reference to other markdown files, but it can be a little confusing.

Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.]]

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Can you confirm it is taken care of as part of #3378?

Can you confirm it is taken care of as part of #3378?

Sorry, I did not check #3378. I confirmed and close this PR.


Feature/unit tests for editor

Few unit tests for testing the functionality in the editor tab.
Right now, 4 tests out of (new) 8 are failing. 2 of them are related to handling of non-ascii characters. 2 are user-experience-related and are not that important (when in the beginning/end of the line, the cursor should jump to previous/next line when left/right buttons are pressed).

Thank you again @seryj for the contribution!  This is great and a very similar approach as i was going to take for testing the editor.  Just a few things:

Could you fix the fmt and clippy errors from CI?
For the 2 tests that are expected to fail can you add #[should_panic] and a comment on why
Would you mind uncommenting the below as well which i had turned off until adding tests:

https://github.com/datafusion-contrib/datafusion-tui/blob/8f9275e14dfd84bd16228035a98d5384ca397579/.github/workflows/rust.yml#L48-L51
I will work on getting the user improvements added!
Thank you again for the contribution!

Ah, thanks for the hints. I need to get used to Github a little bit. And I was not aware of clippy yet. I will try to fix the changes tomorrow.

Github is kidding me today. :-/ For some reason I cannot push the changes. I will check what's wrong tomorrow since it's already quite late today. Sorry for this delay.

@seryj no rush :) I appreciate your contribution

@seryj - ive started doing some enhancements that have impacted your PR.  Once I finish on my current change I can just pick up fixing the remaining CI issues on this.  I don't want you to have to have to deal with that.

@seryj i think i got this ready to merge.  did you have anything else you wanted to add?

No, not in this PR.


After update solutions do not load.

Updated the current version of xrmtoolbox and ribbon editor and not solutions that I was able to open in the past no longer open.

Deployment: OnPremise
DB Version: <IP_ADDRESS>
Connection Controls Version: 1.2021.1.39
XrmToolBox Version: 1.2021.1.44
Tool Version: 3.1.443.1

Hi @BrianHormann  - Yes a recent update has introduced this check! See release notes here - https://ribbonworkbench.uservoice.com/knowledgebase/articles/80806-download-ribbon-workbench-for-crm-2011-2013-2015-2
It has always been best practice to only load a solution that contains just the shell entity/application ribbon so that the import/export process is efficient and won't time out - however some folks did not know about this so I decided to put the check in there. You can learn more here - https://ribbonworkbench.uservoice.com/knowledgebase/articles/169819-speed-up-publishing-of-solutions
Hope this helps

Is there any way to download the old version?
I find it very limiting not being able to inspect an entity which has current forms, and to view the current JavaScript functionality on the form.


[Shadowrun3e] sprint6

Changes / Comments

Tar Pit ad Tar baby: when using the "execute" button it will roll the Opposed test between the ic ratin and the utility as well as a sensor test.  The resutls of the three rolls will be whispered to the GM.
added chat buttons at the end of melee attack.  Defending character can click on either Defense or Full defense.  The results of the attack test will be passed to the new "defense" roll.  The defense roll will compare successes and determin winner.  Weapon damage and power will be stagged up as per the melee combat rules of srun3e.  If the attacker wins the contest, the defeder will get  Resist buton.
If "full defense" was chosen, the defender will also be presented with a "dodge" button.  Choosing dodge will roll a melee dodge test and present the player with a "resist" button.  The only differnce between the "Resist" button displayed afer the offense test and the dodge test is that the reults of the dodge are passed to the resist and count towards the resist successes.  If the defender wins the melee contest and they choose "full defence" the roll will result in "Attack Parried".  Else, a "resist" button will be displayed and the attacking character will be able to roll damage resistnace based on the staged up weapon damage and power for the melee weapon currently equipped by the defender.   The chat buttons do not have to be used, regular sheet rolls can still be used i.e. the defender can use the attack button for a melee weapon and then the player that looses the contest can roll a resistance test.  The benefit for the chat buttons is that they reduce the amount of roll queries presented to the players as the data is already sent to the roll.
fixed bug on matrix wound penalty
added pool tracking for dispel tests
added foci to repeating spells
added button to select and add player to the "operator/rigger" section of the vehicle tab.  Will also update value of control pool and gunnery skill.  Vehicle skill still needs to be updated manually.
resist explosion now asks for distance in meters from explosion and calculates power reduction accordingly.
added chat button after AoE spells.  Any charcter in the range of the spell can click on the button and it will determine attack successes.
added chat button after magic attack ( regular and AoE ) for spell defense for an ally mage/shaman to click on.
added chat button after magic attack or spell defense to resist spell. Resistance is based on attribute if not an elemental spell, in which case resistance is 1/2 impact.
All chat buttons published after magic attack roll template pass the value of the original roll to prepopulate most of the roll questions.
Resist and Dodge buttons presented after ranged attack roll template will pass value of original roll to dodge and resist rolls.
Added translation tags for all html elements and rolls
removed the use of case statements
switched from show/hide buttons to tabs for sub tabs
fixed bugs and added opposed roll for Matrix Combat Manuevers

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x ] Does the pull request title have the sheet name(s)? Include each sheet name.
[x ] Is this a bug fix?
[x ] Does this add functional enhancements (new features or extending existing features) ?
[x ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[x ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[N/A ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Fix ability to run multiple tests in one instance

Issue #, if available:
Description of changes:
This should fix the e2e tests in order to properly pass in more than one test as a regex. Currently the tests fail due to the following error, and it is because of how the string is represented in unix without the quotes, with the | being interpreted as separating two commands.
Error:
TestVSphereKubernetes121ThreeReplicasFiveWorkersSimpleFlow: command not found

failed to run commands: exit status 127

Testing (if applicable):
make integration-test-binary
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Update KataGo-custom

Update KataGo-custom to include https://github.com/HumanCompatibleAI/KataGo-custom/pull/61 ("Suppress playing in pass-alive-territory if using pass-alive hardening")

One test is failing, I've tried rerunning it in case it's flaky, if it is failing because of this then we should fix that before merging.

the failing test is an error in running the last cell of match_analysis.ipynb. I can't reproduce it locally.
The traceback is really mangled but the error is TypeError: ufunc \'isfinite\' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule \'\'safe\'\'\.
This has appeared in previous commits to main so I'd guess it's not a result of the changes in this PR


Rewriting fields.idx is a bottleneck with many new fields and measurements [Port to 2.0 branch]

https://github.com/influxdata/influxdb/issues/21577 port to 2.0 branch

Closing, because the next 2.X release will not be from the 2.0 branch.


Standardize example locations (for now)

This PR moves the new Visual Behavior 2P quickstart into the Quickstarts folder, and then updates all the example-specific Open in MATLAB Online links in the README tables.
In other words: the run buttons now will work! (once merged into main, which is what Open in MATLAB Online uses)
This update avoids having two conventions at once: folder organization by example type (quickstart vs demo vs tutorial) and folder organization by dataset.
Now that all the dataset types are (at least partly) supported, it may make sense to change the convention to dataset-based folder organization down the road. Deferring for now, since there's only one Visual Behavior example at this time.

Caught a screenshot artifact in the worfklow diagram. Replacing with this new version:

Thanks


[FR] Add some warnings if the package has entry-points which don't appear to resolve anywhere

What's the problem this feature will solve?
It's easy to create an entry-point which doesn't actually resolve in the installed package
Describe the solution you'd like
Suppose you have a package with an entry-point:
# pyproject.toml
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "mypackage"
version = "0.0.1"

[project.scripts]
hello = "mypackage:hello_world"

source:
# mypackage/__init__.py
def helloworld():
	print("hello, world!!")

Can you spot the bug?
The build/packaging/install all works normally but the script will be unusable:
...
Successfully installed mypackage-0.0.1
$ hello
Traceback (most recent call last):
  File ".venv/bin/hello", line 5, in <module>
    from mypackage import hello_world
ImportError: cannot import name 'hello_world' from 'mypackage' (.venv/lib/python3.11/site-packages/mypackage/__init__.py)

It would be nice if the build backend would log a warning saying that mypackage:hello_world doesn't appear to exist, to catch these kind of issues at packaging time.
Alternative Solutions
No response
Additional context

The wrapper script is auto-generated, so it's an area that is easy to miss in unit tests. You can have 100% test coverage and still publish a broken package this way.
Also easy to do when the "script" target is in a subdirectory and this wasn't included in packaging (i.e. not found by automatic discovery patterns, or forgot to add explicitly in the toml e.g. packages = ["mypackage", "mypackage.subpackage"]
Detecting whether the entry point target exists is very difficult (impossible?) in the most pathological cases (e.g. it could be dynamically generated by a module __getattr__). It doesn't have to catch all pathological cases to be useful, just logging a WARNING would be helpful most of the time. The code could reuse the existing AST parsing code which attempts to find a __version__ attribute in the source.

Code of Conduct

[X] I agree to follow the PSF Code of Conduct

I'm not sure this would be a good idea, as a project's entry point does not have to refer to a module installed by the project itself. It would be a module from a dependency.
Moreover, you can't reliably check if an attribute is defined in a module without importing said module, which might not be possible due to missing dependencies. It might also involve side effects.

Can you give an example of a distribution which defines an entrypoint resolved within a dependency instead of within the project itself? I don't think I've ever seen that done.
Regarding checking for attributes, I addressed this in the third bullet point above. Setuptools already does this with its attr: directive, documented under special directives. It does not need to be 100% reliable to still be useful.

@SpecLad Can you give an example of a distribution which defines an entrypoint resolved within a dependency instead of within the project itself? I don't think I've ever seen that done.

This is especially useful for pipx.run entry-points, when the name of the main package differs from the name of the executable it exposes via console_scripts. You can publish a secondary package with the name of the executable, so users have a unified experience running either executable-name-not-related-to-dist-name or pipx run executable-name-not-related-to-dist-name. I maintain such a tool and have been planning to do that for a while (haven't done yet by lack of time).

@abravalheri  Hmm, I have instead used pipx run --spec package-name script-name in that case of console script name not matching distribution package name (or distribution packages which provide multiple scripts). It seems impolite to commandeer the PyPI name for your script-name just for this use case, it's quite niche.
But, point taken - how about a way for user to opt-in to checking for resolvable entry-points, similar to the --config-settings editable_mode=strict config?

It seems impolite to commandeer the PyPI name for your script-name just for this use case, it's quite niche.

I have thought about that in the past, but I think it is actually better to block the name to avoid attacks caused by name confusion. Anyway, a whole different discussion...

But, point taken - how about a way for user to opt-in to checking for resolvable entry-points, similar to the --config-settings editable_mode=strict config?

I have no problem in adding support for that (if someone is interested in contributing :P)[^1].
Something that I noticed however is that there has been an increase in request for setuptools trying to pre-emptively catch misconfuration or correct common user mistakes. While I think that is very useful and nice, there is a complicated balance in terms of maintenance efforts.
Maintaining and evolving code that has been created with excessively defensive code can be a pain in the neck 😅 (and the complexity/size of the code base tends to increase).
An alternative to that would be for projects whose primary goal is to run checks (like linters and pre-commit hooks) to implement some of those checks. E.g. check-wheel-contents could be a good candidate (if the maintainers are interested).
Maybe that is even an easier target, because you need to finish building the wheel to be able to validate these entry-points (e.g. binary extensions). So it is not like setuptools can halt the build while processing the config...
[^1]: There is a technical challenge with --config-settings right now that I tried to describe (and maybe did a bad job) in https://github.com/pypa/setuptools/issues/3896#issuecomment-1656714771. The TL;DR is that because the way PEP 517 works (each hook is called in a brand new subprocess) + the need for supporting setup.py imperative scripts we have a level of isolation between what setuptools.build_meta receives and what the remaining of the setuptools code has access to. That is the root of the issue why setuptools does not offer first class support for config_settings and why we don't re-use the dist-info directory that has already been generated and so on...

Yep, I see where you're coming from. It also sounds like a good feature for check-wheel-contents (@jwodder what do you think?)
My only complaint is I only heard about check-wheel-contents fairly recently, and I only starting using it a couple of months ago. It's a great project but still a little obscure.

Added https://github.com/jwodder/check-wheel-contents/issues/40 but not getting any response there..


Update storage-quickstart-blobs-cli.md

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

#sign-off

All set, thanks!
From: Courtney Wales @.>
Sent: Wednesday, July 5, 2023 8:41 AM
To: MicrosoftDocs/azure-docs @.>
Cc: Stephen Haas @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Update storage-quickstart-blobs-cli.md (PR #111731)
@stevenmatthewhttps://github.com/stevenmatthew
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-teamhttps://github.com/orgs/MicrosoftDocs/teams/public-repo-pr-review-team

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/pull/111731#issuecomment-1622022953, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF3FMFYKK3WUIURCHN4KYUDXOWDHHANCNFSM6AAAAAAZ5L2PJA.
You are receiving this because you were mentioned.Message ID: @.***>


Repo initialization over https breaks gitolite keys

After some test, back and forward this is what i have found, Any project created under https fails to initiate the repo, though is created, no Readme file is present, also the changes in gitolite are no longer visible from the test tab, this is what i found after clone gitolite-admin
repo    @all
RW+                            = DUMMY_REDMINE_KEY
In the logs the initialization fails after
Create README file for repository 'galactus/avangers'
2015-07-05 17:47:54 -0400 [ERROR] Error while creating README file for repository 'galactus/avangers'
2015-07-05 17:47:54 -0400 [ERROR] Early EOF
Also it seem to be a problem somewhere when it trays to notify redmine abut any change in the repository
Notifying Redmine about changes to this repository : 'avengers/ironman' ...
HTTP_ERROR : Net::ReadTimeout.
Thanks for your time and effort
Ruby 2.1.6
Redmine 2.6
redmine_git_hosting 1.1.0 - 1.1.1

I think this duplicates this one : https://github.com/jbox-web/redmine_git_hosting/issues/465.
Fixed for next version (1.2.0).


chore: rts workflow APIs code split

Code split for workflows RTS setup PR: 3005

Summary by CodeRabbit

Chores

Updated build system configuration to improve the build process.

New Features

Implemented new build scripts to enhance file operations and bundling.

Documentation

Adjusted build documentation to reflect changes in the build process.

/ok-to-test

/ok-to-test


update to v5.0.3 breaks my program

After co-body update to v5.0.3, my program can not work as usual. I see a Error below:
 Error
      at IncomingMessage.onEnd (......./node_modules/raw-body/index.js:299:12)
      at emitNone (events.js:91:20)
      at IncomingMessage.emit (events.js:188:7)
      at endReadableNT (_stream_readable.js:974:12)
      at _combinedTickCallback (internal/process/next_tick.js:80:11)
      at process._tickCallback (internal/process/next_tick.js:104:9)

You can reproduce the problem by this script:
https://gist.github.com/Chunlin-Li/1f013483dff79f630cf3c92d9c2b1277
The commit of v5.0.3, move the raw(inflate(req), opts); to the Promise chain. this will delay the raw-body execute, and the first onData event will lost. The v5.0.2 works well.
node version: 7.6.2
koa version: 1.4.0
koa-bodyparser version: 2.4.0

This is because https://gist.github.com/Chunlin-Li/1f013483dff79f630cf3c92d9c2b1277#file-index-js-L10 listen on data event before raw-body, it isn't a recommended usage, I'll add ctx.request.rawBody to access the raw body later.

@dead-horse Thanks for your suggestion! I really need the rawBody access.

https://github.com/koajs/bodyparser/commit/d836995468a15347022950c4da9d3222eb7ed2de

Just wanted to report this broke our commercial app, too (over 100k+ users).  We were just using vanilla koa-bodyparser with nothing special.  Latest release seems to have fixed the issue.


Unify CallArgParam and AnyFunctionType::Param

Does what it says on the can.
I would like to remove swift::decomposeArgType next, but a number of callers are just feeding ArrayRef<Identifier> to helper functions for "reasons".

@swift-ci please smoke test

⛵

Looks good, thanks!


Support for multiple IPs for certificate of locally deployed KCP server

I am running a KCP server locally but it seems that if I deploy the server and I am connected to a particular network, then that KCP server really only works when I am connected to that same network since the IP is connected to the certificate.
Is there a way (or a plan to add a way) to have multiple valid IPs associated with 1 certificate? Or maybe some other solution to this problem?
For example when I try to interact with the server after I redeploy it after changing networks I get:
Unable to connect to the server: x509: certificate is valid for X.X.X.X, not Y.Y.Y.Y

The GoDoc on clusterworkspaceshard.tenancy.kcp.dev field .spec.externalURL reads:

// ExternalURL is the externally visible address presented to users in Workspace URLs.
// Changing this will break all existing workspaces on that shard, i.e. existing
// kubeconfigs of clients will be invalid. Hence, when changing this value, the old
// URL used by clients must keep working.

So, it seems like the reboot-into-a-new-IP case is not really something we want to support. I wonder if there's something we can do to make the dev ux here better?
/cc @sttts @csams

I noted however that certificates are not signed for the hostname provided at startup with external-hostname, which is a different issue, so that would not work either at this time.

Also created a PR https://github.com/kcp-dev/kubernetes/pull/80 to address it


Cannot import from file symlinked from outside package.json dir when using "type": "module"

Problem
I have made a git repo with the reproduction:
https://github.com/samal-rasmussen/tsx-symlink-import-reproduction
You see this folder structure:
broken/
├─ index.ts
├─ package.json
├─ <symlink to ../watman.ts>
works/
├─ index.ts
├─ package.json
├─ <symlink to ../watman.ts>
watman.ts
index.ts just imports from ./watman.
broken has "type": "module" in package.json while works does not. This is the only difference between the two.
In both broken and works I run: npx tsx index.ts
Inside the broken dir I unfortunately get this error:
broken % npx tsx index.ts
<snip>/tsx-symlink-import-reproduction/broken/index.ts:1
import { watman } from "./watman";
         ^

SyntaxError: The requested module './watman' does not provide an export named 'watman'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)

Node.js v18.17.1

Expected behavior
Import of watman works in both broken and works folder.
URL
https://github.com/samal-rasmussen/tsx-symlink-import-reproduction
Version
v3.12.7
Node.js version
v18.17.1
Package manager
npm
Operating system
macOS
It would be amazing if you can contribute to the project!

[ ] I plan to open a pull request for this issue.

And five minutes after going to all the effort of making this high quality bug report I find:
https://nodejs.org/api/cli.html#--preserve-symlinks
Et voilà!
broken % npx tsx --preserve-symlinks index.ts
watman

Thanks for filing it :)
Part of the intention of the issue template is to set up reporters to successfully debug their own problem.
The great thing about creating a minimal reproduction is it's half the debugging process.
I'm sure creating it and talking about it helped you find your solution.


Remove references to openmetadata-security.yaml ?

Looking into setting up Azure SSO I was reading this https://docs.open-metadata.org/deploy/secure-openmetadata/azure-sso/configure-openmetadata/configure-openmetadata-server and it says:

Update conf/openmetadata-security.yaml

But I couldn't find that file in the docker container.  Based on this GitHub comment I'm thinking maybe that file doesn't exist anymore and it should be just openmetadata.yaml?  Which I do see.

Thanks @sfirke . We have updated all the docs to reflect the changes for openmetadata.yaml instead of openmetadata-security.yaml.


Fix search bar button crashing index page

Fixes

Fixes #[issue number] by @[issue author]
Description

The root cause of this was that the contents of the VButton and VIconButton were not both another element. The VButton was rendering a plain string and VIconButton rendered an SVG. When Vue tried to evaluate the tag name of the VButton when it was just the text, it would fail because it was just a text node which has no tag name.
This could just be a one-line fix by wrapping the contents of the VButton in a span BUT I think the VSearchButton component is actually simpler this way, uses less markup and less CSS and works better with SSR (no more flashing "Search" text or icon for most cases of mobile/desktop usage). The only people who still get a little flashing of the search/icon are users of non-mobile devices with narrow viewports.
Something is currently weird about the search button. I don't know why it doesn't have a pink background.
Testing Instructions

Load the homepage on a mobile device browser and verify it doesn't crash. Also, verify going back to the homepage from the search page.
Also e2e and unit testss
Checklist

[ ] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

In Desktop Safari I'm still seeing Teleport errors and the 404 page when going back or clicking the logo:
> Error: VTeleportTarget: skip-to-content beforeDestroy but still has children mounted
> Error: VTeleport: non-existent target skip-to-content on unmount

In Desktop Firefox I'm still seeing Teleport errors and the 404 page when going back or clicking the logo:

Oop, okay there's more crashing the back button, sorry!

For some reason, something I changed in this PR is inadvertently causing tailwind to insert its reset stylesheet after the generated styles.

Going to dig into why this might be happening... but the tailwind nuxt plugin is kind of a black box so I'm not sure how far I'll get :disappointed: If someone else could verify this is also happening for them that would be helpful though.

might be happening... but the tailwind nuxt plugin is kind of a black box so I'm not sure how far I'll get 😞 If someone else

For some reason, something I changed in this PR is inadvertently causing tailwind to insert its reset stylesheet after the generated styles.

Just a quick question: does that happen when you run pnpm build, too?

@obulat good point. Just checked and it does not happen when doing a full production build.


Run scripts in a worker_thread instead of child_process.spawn

This is pretty experimental, but it'd probably be hecka fast to run in Workers instead of spinning up a child proc for each test file.
We'll have to shim some stuff, so there'd need to be a wrapper script to set up argv, env, etc. and then load the main.  (It can get these things via workerData.)
Don't bother figuring out how to spawn_wrap to instrument nyc into a worker.  Just rely on c8 eventually being there, since it'll span thread boundaries.

API for module worker_thread becomes Stable.
I think its a grate news.

I'm investigating ways for nyc to apply in workers, nothing concrete so far.  To do it reliably I think will require additional functionality to worker threads.

Tap 18 has t.worker() enabled by default now.
Tbh, it's often slower than t.spawn(), just because the test startup time is really dominated by typescript compilation and node startup in most cases, and the child procs have IPC anyway, so.... yeah. Idk.
But it's there, you can play around with it. npm i tap@pre to get it. Be sure to read through the changelog, as a lot has changed.


chore: Update package-lock

npm install on git for windows behaves in breaking the integrity of the lock file.
Usually using git for windows screws up package-lock, hence updating via a *nix version of git

Hi @Bouncey I guess, you are on Windows, and have last updated the package-lock.json ?
I have noticed, it screws up the lock file during npm install when run via git bash. Using, the same over *nix system actually keeps its integrity in place for all OS-es.
Please merge when you have a minute, its just a minor issue.

@raisedadead I believe it may be an issue with different npm versions. I was seeing the same changes to the package lock on my end as well.


Missing licence

I am interested in the code. As it is in a public GitHub repository, I assume it is open source.
Can you please add an explicit licence, like MIT or something?

added.


Test Connector: Columns Come Out in Reverse Order

If you don't specify columns in your write, the order of the columns is opposite of the order they are created. The order should align by default.
      read:
        - test:
            rows: 1
            values:
              Status: File Submitted
              Results File: Results - ${date}.xlsx
              Match Columns: ${Similarity Columns}

produces

Match Columns
Results File
Status

["Product Group","Supplier","Supplier Part No.","Description","Size","Color"]
Results - 2024-04-28.xlsx
File Submitted

Are you doing something after this? I'm not able to reproduce these results. The order of the dataframe created matches the order specified in values as you'd expect.

it's the Semantic Match Async Recipe.  4c66.  So yes, there is stuff after:
  - recipe:
      read:
        - test:
            rows: 1
            values:
              Status: File Submitted
              Results File: Results - ${date}.xlsx
              Match Columns: ${Similarity Columns}
              Ref DB: ${Reference File}
              Subject: ${Email Subject}
      write:
        - excel.sheet:
            action: append
            columns:
              - Status
              - Subject
              - Results File
              - Ref DB
              - Match Columns

run:
  on_success:
    - custom.http:
        url: https://api.github.com/repos/wrangleworks/action-demo/actions/workflows/matching.yml/dispatches
        method: POST
        headers:
...

Note that I added columns to deal with it.  If you take the columns out you should see it.


Create a slide deck presentation

Target audience: https://www.supinfo.com/

Hi,
How can I help you ?


Continuous discussion about calculating the number of ALUs

This issue is continued from  #6
Thanks for your reply and I am sorry for my late one.
I think the warp size calculated in this program is right. But I am still confused in how to get the number of parallel warps so that I can calculate the number of ALUs. Besides, I use 1 workgroup and (64, 6, 2) size to test. Delete the break you pointed. The output will become:
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I sincerely hope to get answer about the first question which can help me count the number of ALUs.

Well I would say the warp size shall be the number of physical ALUs. That's basically it. The number of warps is a side product of the register counting test. Please refer to Section 3.1 - The number of registers in our Romou paper for detail. It's already well illustrated. I think that's the most I could help. :)

Refer from the paper, I think the number of ALUs shall be how many threads can run parallel that calculating by multiplying the warp size and the number of parallel warps. Is this right?
My discussion is based on this theory I understood from your paper. But the current problem is that I cannot find the number of parallel warps, so that I cannot calculate the number of ALUs.
You said that the warp size shall be the number of physical ALUs, which I cannot understand and agree based on the knowledge of gpu programming and your paper.
I have understood  that we can detect the number of ALUs by plotting the figure of relationship between latency and the number of registers per work item and I will try it. But how to reproduce the method of Section 3.1 - The number of ALUs and Figure 8 which I think is interesting?
Can I have your Wechat number?

I think you obscured the idea of physical threads and logical threads. They are all threads but the ALU count equals the number of physical threads. If you mean the total number of ALUs on chip, that's ALU count multiplies the number of SMs (GPU cores).
I prefer to keep this conversation open here in case anyone run into similar issue and they can have something to refer to. But sure, if you want to, it's the same as as my Github ID.

I agree. But please forgive me that my reply may not be quick and keep this issue open for a while. I will learn more and try more to detect the number of ALUs. Thanks for your reply. And this is an amazing work I would like to say it again, which help my research a lot.

Thanks for that. I'll keep this conversation for a while then. If you have questions other than the ALU count please feel free to open another issue so it could be tracked in a cleaner. :)

Closing for inactivity.


Add support for when backdrop switches to block

This adds support for "when backdrop switches to" block. (example project uses it!) This also changes costume setter to check the sprite type (stage/normal sprite) so that you can't use next costume in stage, and removes random costume because it's not used in scratch-vm.

@PullJosh force-pushed the change, thanks for reviewing!

Is there any possibility this PR can be merged?
I would realy like to have support for "when backdrop switches to" block...

It'll have to be rebased.


[Draft] Introduce contract Kind in VersionedContract

Kind describes whether contract deployment is an implementation/singleton
to address comment

In favour of #587


TypeScript: "..node_modules/react-waypoint/index" has no default export

Hi,
I've installed react-waypoint 7.3.1 through npm install, first of all I cannot see an index.tsx or index.jsx file (just index.d.ts type definition file).
I followed the guide including:
import Waypoint from 'react-waypoint';

But I receive this error:
error TS1192: Module '"/Users/sergioruizdavila/Documents/Projects/Stylepills/stylepills-client/node_modules/react-waypoint/index"' has no default export.

Also, I tried using the import /es alternative:
import Waypoint from 'react-waypoint/es';

But the same I receive the following error:
error TS2307: Cannot find module 'react-waypoint/es'.

Thanks in advance

Ouch, sorry about that. It's possible that we broke something for typescript users with the latest release. Any further input is valuable, I don't have a good typescript project to try this in.

There is no default export in the index.d.ts, so it seems you need to import as
import * as Waypoint from 'react-waypoint'

I think this can be closed.

I spoke too soon.  This PR gets everything up to date
https://github.com/brigade/react-waypoint/pull/230

I think this issue can be closed.
cc @lencioni / @trotzig


Compact labeled button left padding

Hello,
v: 2.2.2
current situation: compact labeled buttons don't have left padding smaller than non-compact labeled button
suspected: compact labeled button should have smaller left padding compared to regular labeled button
since compact button removes padding from all of the sides, it should also decrease the size of left padding in case of labeled button. Currently the space between label and button text seems way too long.
Regards,
MP

Hi, please provide a test case as per our contributing guidelines; you can fork this JSFiddle.

Closing the issue until there’s a test case.


[SPARK-36655][PYTHON] Add versionadded for API added in Spark 3.3.0

What changes were proposed in this pull request?
Add versionadded for API added in Spark 3.3.0: DataFrame.combine_first.
Why are the changes needed?
That documents the version of Spark which added the described API.
Does this PR introduce any user-facing change?
No user-facing behavior change. Only the document of the affected API shows when it's introduced.
How was this patch tested?
Manual test.

Test build #142942 has started for PR 33901 at commit e0ce40d.

Test build #142942 has finished for PR 33901 at commit e0ce40d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142942/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47443/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47443/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47443/

Test build #142988 has started for PR 33901 at commit 3928cc5.

Test build #142988 has finished for PR 33901 at commit 3928cc5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47489/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142988/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47489/

Thanks! merging to master.


hides-drivers unable to build at Pi4 after upgrade

Hello, the dkms build fails at Raspberry Pi 4 after some update & upgrade:
./build-dkms.sh
build-dkms.sh: building version <IP_ADDRESS>w
build-dkms.sh: building DKMS structure in /home/pi/hides-drivers/linux-drivers/tmp/hides-dkms-<IP_ADDRESS>w/hides-<IP_ADDRESS>w
build-dkms.sh: creating /home/pi/hides-drivers/linux-drivers/packages/hides-dkms-<IP_ADDRESS>w.tgz
build-dkms.sh: Linux distro: false, full version: false
build-dkms.sh: building DEB package
dpkg-deb: building package 'hides-dkms' in '/home/pi/hides-drivers/linux-drivers/packages/hides-dkms_<IP_ADDRESS>w_all.deb'.
sudo dpkg -i packages/hides-dkms_<IP_ADDRESS>w_all.deb
Preparing to unpack .../hides-dkms_<IP_ADDRESS>w_all.deb ...
Unpacking hides-dkms (<IP_ADDRESS>w) over (<IP_ADDRESS>w) ...
Setting up hides-dkms (<IP_ADDRESS>w) ...
Kernel preparation unnecessary for this kernel.  Skipping...
Building module:
cleaning build area...
'make' KERNELDIR=/lib/modules/5.4.72-v7l+/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.4.72-v7l+ (armv7l)
Consult /var/lib/dkms/hides/<IP_ADDRESS>w/build/make.log for more information.
The log:
DKMS make.log for hides-<IP_ADDRESS>w for kernel 5.4.72-v7l+ (armv7l)
Sat Nov  7 00:32:43 CET 2020
make -C it950x_driver EXTRA_CFLAGS=-DTSDUCK_WRITE
make[1]: Entering directory '/var/lib/dkms/hides/<IP_ADDRESS>w/build/it950x_driver'
make -C /lib/modules/5.4.72-v7l+/build SUBDIRS=/var/lib/dkms/hides/<IP_ADDRESS>w/build/it950x_driver modules
make[2]: Entering directory '/usr/src/linux-headers-5.4.72-v7l+'
make[3]: *** No rule to make target 'arch/arm/tools/syscall.tbl', needed by 'arch/arm/include/generated/uapi/asm/unistd-common.h'.  Stop.
make[2]: *** [arch/arm/Makefile:325: archheaders] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.4.72-v7l+'
make[1]: *** [Makefile:18: default] Error 2
make[1]: Leaving directory '/var/lib/dkms/hides/<IP_ADDRESS>w/build/it950x_driver'
make: *** [Makefile:5: default] Error 2

The pre-built deb package from TSDuck site works the same way.

Hi @omikron88
I can reproduce that on my Raspberry Pi with the same version of the kernel (up-to-date Raspbian). After investigation, it was an issue in the makefile of the drivers from ITE.
I fixed this and updated the packages in https://github.com/tsduck/hides-drivers/releases/
It now builds on the latest versions of Raspbian, Debian, Ubuntu, CentOS and Fedora.

it compiles OK now, but when using tsduck, it produces the warning:

Warning: hides: obsolete HiDes/it950x driver, this version uses polling, risk of performance hit, use version from https://tsduck.io/download/hides/

Indeed, the warning was expected. It should not make any difference. I fixed it in the TSDuck code.
FYI, the core reason is the following: The original ITE drivers for Linux (reused by HiDes) used a polling strategy: try to write, fail if internal FIFO not ready, application waits and retry until ok. This is of course awful in a driver and, BTW, the ITE Windows driver did not do that and correctly waits for the internal FIFO. So, I fixed the ITE driver to implement a correct kernel wait on the device internal FIFO. To differentiate the original ITE driver and my fixed one, I added a trailing "w" (for "wait") to the driver version. The TSDuck code checks the driver version and, without trailing "w", the TSDuck code has to implement a wait and retry strategy on failing writes.
In my fix of the driver package, I added ".1" to the version to indicate it is a updated packaging of the "w" driver (and not a new version of the driver itself). So, now the driver version ends in "w.1" which was not correctly recognized as a fixed "wait" driver.
In practice, you may safely ignore the warning since the driver implements the "wait" strategy; it will never fail on "FIFO not ready"; the TSDuck application will never need to use the wait and retry strategy even though it assumes that this driver may fail.
I fixed the TSDuck code so that driver versions ending in "w.number" are also recognized and valid "wait" versions and TSDuck will no longer issue a warning and will not attempt the wait and retry strategy. If you prefer to use this one, just rebuild TSDuck (details here).

Automatically closed after 683 days without update and "close pending" label set.


Vanilla Animals Expanded

Vanilla Animals Expanded were all merged into one mod, breaking compatibility.

 I submit this issue 47 minutes ago. Spend 40 minutes fixing it myself so that I can push it to your git, only to find that you noticed and fixed it 20 minutes ago.


Facing issue while redirection in go router.

When I use go_router in my app, it gives an error when I run the application.
Steps to Reproduce

Use configurations given in code sample in flutter default application.
Run flutter run.

Expected results:
It should display LoginPage when.
Actual results:
It shows Bad State error with red screen.

Code sample

// Material App:

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'Flutter Demo',
      theme: ThemeData.light(useMaterial3: true),
      darkTheme: ThemeData.dark(useMaterial3: true),
      routerConfig: RoutingConfigurations.router,
    );
  }
}

// Router configurations

class RoutingConfigurations {
  static final GoRouter router = GoRouter(
    initialLocation: RouteData.home.path,
    routes: [
      GoRoute(
        path: RouteData.home.path,
        name: RouteData.home.name,
        builder: (_, __) => const HomePage(),
      ),
      GoRoute(
        path: RouteData.login.path,
        name: RouteData.login.name,
        builder: (_, __) => const LoginPage(),
      ),
    ],
    redirect: (_, state) async {
      final token = await SharedPreferencesUtility.getToken();
      if ((state.name == null || state.name != RouteData.login.name) &&
          token == null) {
        return RouteData.login.path;
      }
      return state.path;
    },
  );
}

Logs
Stack trace
======== Exception caught by widgets library =======================================================
The following StateError was thrown building DefaultSelectionStyle:
Bad state: No element

The relevant error-causing widget was:
  MaterialApp MaterialApp:file:///Users/xyz/Projects/my_app/lib/main.dart:13:24
When the exception was thrown, this was the stack:
#0      List.last (dart:core-patch/growable_array.dart:348:5)
#1      GoRouteInformationParser.restoreRouteInformation (package:go_router/src/parser.dart:103:31)
#2      _RouterState._retrieveNewRouteInformation (package:flutter/src/widgets/router.dart:616:43)
#3      _RouterState._maybeNeedToReportRouteInformation (package:flutter/src/widgets/router.dart:647:31)
#4      _RouterState.didChangeDependencies (package:flutter/src/widgets/router.dart:663:5)
#5      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5036:11)
#6      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5)
...     Normal element mounting (371 frames)
#377    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#378    Element.updateChild (package:flutter/src/widgets/framework.dart:3592:18)
#379    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1195:16)
#380    RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1164:5)
#381    RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1111:18)
#382    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19)
#383    RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1110:13)
#384    WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:945:7)
#385    WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:925:7)
(elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)

flutter analyze
Analyzing my_app...
No issues found! (ran in 1.6s)

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on macOS 12.3 21E230 darwin-arm (Rosetta), locale en-IN)
    • Flutter version 3.3.9 on channel stable at /Users/xyz/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (2 weeks ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/xyz/AppDev/Android/SDK
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/xyz/AppDev/Android/SDK
    • ANDROID_SDK_ROOT = /Users/xyz/Android/SDK
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13A1030d
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.74.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 769AFA38-6505-4C3A-A2C5-E465190C9CF9 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 12.3 21E230 darwin-arm (Rosetta)
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 103.0.5060.134

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

This error only occurs when I pass the redirect parameter.

For a quick fix or reason why this is happening:
https://github.com/flutter/flutter/issues/116730


pyinstaller issue with qtmodern

In this post: https://github.com/gmarull/qtmodern/issues/34#issuecomment-564061097
That part with the "import importlib etc... "
Do you add that in the .spec file?
Looks like python code
I did add the bottom part/code-block in the main python code of my application.
Only attempting to figure out how to use that top part.
(adding it in either the spec file, or my main python file, still keeps the same error when opening the .exe file)
That error is:
Traceback (most recent call last):
File "my_filename.py", line 262, in (this number differs depending on my app/code)
File "qtmodern\styles.py", line 70, in dark
File "qtmodern\styles.py", line 23, in _apply_base_theme
FileNotFoundError: [Errno 2] No such file or directory: " 'C:\sers\MyName\AppData\Local\Temp_MEI166802\qtmodern\resources/styles.qss'
[36020] failed to execute script my_filename
I have been encountering this problem for quite some time now. This is a good looking style, would love to be able to use it, and get it working. I have the following questions:
I'm also not sure why it looks for that file in the Temp directory? because of MEIPASS?
Would it be possible to add these files using pyinstaller commands? like '--paths' or '--add--data' or '--resource' or '--additional-hooks-dir' for example?
Any help to get this working would be hugely appreciated.

Hi, as noted in that bug report this have nothing to do with qtmodern so we are not able to fix it. What happens is that pyinstaller does not know about the files that qtmodern uses without you explicitly telling pyinstaller about them, as far as I know there is no way for us to add something in qtmodern to fix it for everyone.
That said let's see if we can help you with your issue.

That part with the "import importlib etc... "
Do you add that in the .spec file?
Looks like python code

Yes, it is python code. Which is what the .spec file is (if they haven't recently changed that).
Both of the code block should be pretty much copy and paste into the given locations. The only thing you need to make sure is that the added_file is added to your datas in your Analysis. If you have a link to your project I can take a look if you are having problems still.

Hi, as noted in that bug report this have nothing to do with qtmodern so we are not able to fix it.  What happens is that pyinstaller does not know about the files that qtmodern uses without you explicitly telling pyinstaller about them, as far as I know there is no way for us to add something in qtmodern to fix it for everyone.

Actually, you can provide a hook in your package to handle this.
the hook-qtmodern.py file is as simple as that:
from PyInstaller.utils.hooks import collect_data_files

datas = collect_data_files("qtmodern", includes=["**/*.qss"])

And there's no need to check at runtime for the resources position as the previous workaround.
An alternative would be to add the hook to pyinstaller-hooks-contrib.
@NetinhoDaCosta in the meantime, you can create the hook-qtmodern.py with the code above and either use the --additional-hooks-dir CLI option or the Analysis hookdirs parameter to add the hook folder path.

Awsome find @sanzoghenzo Would you mind creating a PR for qtmodern over there?

Sure! I'm on it.
I opened an issue because I don't know how to handle the optional qt wrappers dependencies and make the test pass.
I'll send a PR as soon as I got an anwser.


Crazy stalker

Yeah well I'm the victim and it needs to stop now

Hi there - I'm sorry to hear about this.  If your stalker is part of the Code4lib community, please let us know - we can provide you with a private contact method if you prefer. If you are looking for resources for support in this case, you might want to look at the following:

The Stalking Resource Center's Help for Victims page, which includes a stalking incident log document for recording information about instances.
The Feminist Majority Foundation's page on sexual harrassment hotlines and resources has a list of local resources that may be useful, even though the context is different.

That isn't going to help. He won't stop and I need actual proof that people actually understand

I never said it was anybody I want to hear but I need some help being able to get him away from me completely if you have help tonight I appreciate it

I don't want an apology I just want him out of my life and off my phone because he's breaking laws and he's sick and he's walking the streets and he doesn't even want me

I'm sorry that this has continued to be an issue. Again, we can provide you with a private contact method if this involves a person in the code4lib community. The resources that anarchivist provides can help, though another resource that could provide more immediate assistance is the Crash Override Network; they have an confidential email address where you can request immediate assistance.


Add sending tags to exceptions

Since this is very old and can't be merged because backwards compatibilty I am closing this PR.
Feel free to open a new PR or an issue so we can address it if it's still relevant.


Old Code

i had a code which worked but now it dose not.
can you tell me what part of the code should be changed?
import os
from pykg2vec.utils.kgcontroller import KnowledgeGraph
from pykg2vec.config.config import Importer, KGEArgParser, TransRConfig
from pykg2vec.utils.trainer import Trainer
import tensorflow as tf

config_def, model_def = Importer().import_model_config('transe')
args = KGEArgParser().get_args(None)
config = config_def(args)
config.epochs = 1000
config.test_step = 1
config.test_num = 1
config.disp_result = True
config.save_model = False
model = model_def(config)

trainer = Trainer(model=model, debug=True)
trainer.build_model()
trainer.train_model()

tf.reset_default_graph()

this seems to be a tf version of code. we leave our tf implementations in tf2-master branch. if you switch to that branch it might work!
or you can also directly use our new coding sample in pytorch version for your purpose.
Sorry for your inconvenience. :(

Hi, @saeedizade,
The following version transformed from yours works for me. Please give it a go:
from pykg2vec.data.kgcontroller import KnowledgeGraph
from pykg2vec.common import Importer, KGEArgParser
from pykg2vec.utils.trainer import Trainer

def main():
    args = KGEArgParser().get_args(['-mn', 'transe'])

    knowledge_graph = KnowledgeGraph(dataset='freebase15k')
    knowledge_graph.prepare_data()

    config_def, model_def = Importer().import_model_config(args.model_name.lower())
    config = config_def(args)
    config.epochs = 1000
    config.test_step = 1
    config.test_num = 1
    config.disp_result = True
    config.save_model = False
    model = model_def(**config.__dict__)

    trainer = Trainer(model=model, config=config)
    trainer.build_model()
    trainer.train_model()

if __name__ == '__main__':
    main()```

i ran your code but i get this :
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-11-442fae9c1dc6> in <module>()
----> 1 from pykg2vec.data.kgcontroller import KnowledgeGraph
      2 from pykg2vec.common import Importer, KGEArgParser
      3 from pykg2vec.utils.trainer import Trainer
      4
      5 def main():

ModuleNotFoundError: No module named 'pykg2vec.data'

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

OR this :
%cd examples/
!python train.py -mn transe -ds fb15k

/content/pykg2vec/examples
Traceback (most recent call last):
  File "train.py", line 59, in <module>
    from pykg2vec.data.kgcontroller import KnowledgeGraph
ModuleNotFoundError: No module named 'pykg2vec.data'

Alright! I thought you were using the latest py-torch implementation. Currently, you need to install it from source: check out the master branch and run python setup.py install.
Assuming you are using the tensorflow 2 implementation (on tf2-master branch) which has very limited maintenance, the following works for me:
from pykg2vec.config.config import Importer, KGEArgParser
from pykg2vec.utils.trainer import Trainer
import tensorflow as tf

config_def, model_def = Importer().import_model_config('transe')
args = KGEArgParser().get_args(None)
config = config_def(args)
config.epochs = 1000
config.test_step = 1
config.test_num = 1
config.disp_result = True
config.save_model = False
config.debug = True              # <-----
model = model_def(config)

trainer = Trainer(model=model)   # <-----
trainer.build_model()
trainer.train_model()

If the above change does not work, please provide errors and stacktrace you have. Looks like some dependencies have evolved rapidly for the tensorflow 1 implementation and are no longer backward compatible when installed from PyPi.

Hi
Thank you for responding to this soon.
I am confused with your code, so I made this on Colab
https://colab.research.google.com/drive/1dbSDig2TIoQLAbM2udhHTtj7iHf8oZMu?usp=sharing

Ha! You checked out the master branch which is the py-torch implementation for pykg2vec but the code snippet you ran is for the tensorflow implementation.
Here is a successful one-epoch training:
https://colab.research.google.com/drive/1dbSDig2TIoQLAbM2udhHTtj7iHf8oZMu

thanks very much dude.
from pykg2vec.data.kgcontroller import KnowledgeGraph
from pykg2vec.common import Importer, KGEArgParser
from pykg2vec.utils.trainer import Trainer

def main():
    args = KGEArgParser().get_args(['-mn', 'transe'])

    knowledge_graph = KnowledgeGraph(dataset='freebase15k')
    knowledge_graph.prepare_data()

    config_def, model_def = Importer().import_model_config(args.model_name.lower())
    config = config_def(args)
    config.epochs = 1
    config.test_step = 1
    config.test_num = 1
    config.disp_result = True
    config.save_model = False
    model = model_def(**config.__dict__)

    trainer = Trainer(model=model, config=config)
    trainer.build_model()
    trainer.train_model()

if __name__ == '__main__':
    main()


Wrong heght of closedSymbol in Android Chrome

closedSymbol is collapsed in Android Chrome (version 49), see "Parent 3" on screenshot.

Maybe it's better to use symbol 9654?

+1
Thanks rdmitry, 9654 seems to work fine, unlike the one that's being used by default.
I should do some more testing however.


Updater: add missing config docstring

Updater: add missing config docstring.
Signed-off-by: Martin Vrachev<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.189%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1346

Relevant Lines:
1362

💛  - Coveralls


Link underline disappears on medium view

When the window is resized to a medium-sized view (based on the viewport setting) the link underlines disappear (at least for me on Chrome and Safari).
Changing the a rule in _links.scss from:
a {
  color: $link-color;
  background-image: linear-gradient(to top,
    rgba(0,0,0,0) 13%,
    rgba($link-color,.8) 13%,
    rgba($link-color,.8) 17%,
    rgba(0,0,0,0) 17%
}

to
a {
  color: $link-color;
  background-image: linear-gradient(to top,
    rgba(0,0,0,0) 13%,
    rgba($link-color,.8) 13%,
    rgba($link-color,.8) 18%, // This is the only line that's different
    rgba(0,0,0,0) 17%
}

fixes the problem for me.

Thank you for reporting! I can also confirm the behavior, and your change works for me as well. So strange. I'm going to try and do a bit of digging today to see if I can figure out why the underline is behaving the way that it is.
I'd be happy to accept a PR if you wanted to open one, otherwise I could take care of it if you'd prefer. Thanks again! :dancers:

I'll do the PR tomorrow morning. Thanks for looking into this with me. And
thanks for the beautiful theme.
On Dec 11, 2015 17:54, "John Otander"<EMAIL_ADDRESS>wrote:

Thank you for reporting! I can also confirm the behavior, and your change
works for me as well. So strange. I'm going to try and do a bit of digging
today to see if I can figure out why the underline is behaving the way that
it is.
I'd be happy to accept a PR if you wanted to open one, otherwise I could
take care of it if you'd prefer. Thanks again! [image: :dancers:]
—
Reply to this email directly or view it on GitHub
https://github.com/johnotander/pixyll/issues/233#issuecomment-163955294.


Small fixes to the expressions section

A number of small changes to the expressions section.

Extend the operator precedence section to be expression precedence (Fixes #107)
Improve constant expressions (Fixes #120)
Don't (incorrectly) imply that one can move out of the fields of a boxed struct separately.
Mention that methods that aren't visible aren't used in type resolution.
Expressions bound to patterns are always lvalues (so can be unsized) even when moved from.

💟 Thanks.


Verus panics when applying bounds to associated types in where

We are trying to implement a trait that requires us to place a bound on the associated type of one bounded generic, but Verus panics on that.
pub trait Reconciler<ResourceType, ...>
    where
        ResourceType: View,
        ResourceType::V: ResourceView,
{
    ...
}

and Verus reports
    Finished dev [unoptimized + debuginfo] target(s) in 0.35s
thread 'rustc' panicked at 'assertion failed: state.trait_decl_set.contains(&trait_path_vir)', rust_verify/src/lifetime_generate.rs:409:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Fixed by https://github.com/verus-lang/verus/commit/d8ae36362248ad5eb4c22094297088573fc6022f


HDDS-4235. Ozone client FS path validation is not present in OFS.

What changes were proposed in this pull request?
Added path name validation in OFS
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4235
How was this patch tested?
Added UT

Thanx @adoroszlai for the review, have addressed the above comments

Thanx @adoroszlai for the review!!!


[WIP]: Powdr Input Deserialization

Resolves https://github.com/taikoxyz/raiko/issues/37

@CeciliaZ030 Could you have a look at this PR?


Ability to inline class definition in generated docs

First of all thanks for the great tool. Some of my plugins still wouldn't have a API reference documentation without it :)
In lua it is common to use a opts table as parameter to mirror keyword arguments. One can document those via @param opts table|nil [comment] but with lua-language-server it's more useful to introduce some kind of class to have better code assistance:
@class OptsForFunctionXY
@field foo string

...

@param opts OptsForFunctionXY|nil

This ends up cluttering the documentation a bit and results in lots of additional tags. See https://github.com/mfussenegger/nvim-jdtls/pull/290/files for an example.
It would be nice if it were possible to inline the options. Instead of:
M.build_projects({opts})                                  *jdtls.build_projects*
     Trigger a rebuild of one or more projects.

    Parameters: ~
        {opts}  (JdtBuildProjectOpts|nil)  optional configuration options

JdtBuildProjectOpts                                        *JdtBuildProjectOpts*

    Fields: ~
        {select_mode}  (JdtProjectSelectMode)  Show prompt to select projects or select all. Defaults to "prompt"
        {full_build}   (boolean)               full rebuild or incremental build. Defaults to true (full build)

It would generate something like this:
M.build_projects({opts})                                  *jdtls.build_projects*
     Trigger a rebuild of one or more projects.

    Parameters: ~
        {opts}  (table|nil)  optional configuration options:
                               * select_mode: (JdtProjectSelectMode) Show prompt
                                  to select projects or select all. Defaults
                                  to "prompt"
                               * full_build: (boolean) full rebuild or
                                  incremental build. Defaults to true (full build)

Yeah, I am also thinking about the same for a while. First we need to check if there is any compatibility issue with multi line description with LLS.
And the other limitation comes from the library that I am using to render the aligned structure, currently it doesn't support multiple lines on the last column.
I also want this, so I'll soon start working on this :)

First we need to check if there is any compatibility issue with multi line description with LLS.

I checked and it seems the following neither shows up in param's hover docs nor produces any errors with LLS
---Trigger a rebuild of one or more projects.
---@param opts table|nil optional configuration options:
---                        * select_mode: (JdtProjectSelectMode) Show prompt
---                           to select projects or select all. Defaults
---                           to "prompt"
---                        * full_build: (boolean) full rebuild or
---                           incremental build. Defaults to true (full build)
---@param reserverd table|nil reserved for the future use
---@return boolean
function U.build_projects(opts, reserverd)
    return true
end

Now I just need to figure out how to render it nicely and aligned with the rest.


Why use NSLocalizedFailureReason for the title and not NSLocalizedDescription?

Something I have meant to ask you for a long time: Why did you choose to use NSLocalizedFailureReasonKey for the alerts title by default, why not NSLocalizedDescriptionKey?
As far as I can tell this is what the NSAlertPanel on OS X does:

Use localizedDescription for the title
Use localizedRecoverySuggestion as the informative text
Use localizedRecoveryOptions for the button titles
Ignore localizedFailureReason (Although I would have sworn it would be shown in a paragraph before the recovery suggestion, but apparently it's not)

So you are almost doing the same thing, but using failureReason differently. The added advantage of using the localizedDescription would be that many errors already have it set because it is auto-generated from error information if not provided in the userInfo dictionary.
Is that something that you could (and would be willing to) change (considering the library is still in it's 0.x stage)? It's the main reason preventing me from using it more often and I would be happy to implement it. ^^

The problem with using the localizedDescription is that you still can't simply present this error as you would still require an HRSErrorAttempter in order to add buttons to the dialog. What we do is, implement willPresentError: in our AppDelegate and adjust the error accordingly for all errors that we have not customized yet.
The idea was that if we need to customize the error anyway, if you want to see the often very cryptic localizedDescription in your error UI, it could as well be an explicit action.
Let me know what you think about this approach and why it does not work for you.

My problem with using the failure reason for the title is twofold, I guess:
Inappropriate Usage : The localizedFailureReason property has been define by Apple but was not clearly meant to be displayed in an alert's (or other error messages) title. Although the usage recommendation in the documentation is rather unclear ("A string containing the localized explanation of the reason for the error.") Apple could later decide to create a default error display and use the failure reason somewhere in that UI. In that cases, errors created with HRSCustomErrorHandling in mind might not be compatible with that new (and hypothetical, yes ^^) Apple way of doing things. In the same way, another error handling framework might come along and use the localizedFailureReason property in a completely different way.
Inconsistent with Mac OS X: Mac OS X already has a default error display, the NSAlert. It uses the localizedDescription for the title of the alert. Although, I don't think it's a great naming choice and many automatically generated localizedDescriptions are not great alert titles, using the localizedDescription would at least be consistent with Mac OS X. It would also mean that almost all errors get at least a somewhat sensible default display by just adding an HRSRecoveryAttempter with a cancel button to it. Currently, for an unknown error you would either use "Unknown error" or similar as failure reason to be displayed in the title, or copy over the localizedDescription. In that case why not use the localizedDescription directly?
You also don't need the localizedFailureReason to identify not-yet-customized errors in the AppDelegate since those can be identified by a missing recovery attempter.
In summary, this library should in my opinion

either use localizedDescription to be consistent with Mac OS X
or introduce a new user-info key for the error dictionary like HRSLocalizedTitleKey to save the title for an alert. This way, you would be not (ab)use an already existing property AND it would be much clearer what the value for that key is for and how it is meant to be used/displayed.

In addition, I think the default error display should display the error localizedFailureReason in the body of the alert in addition to the recover suggestion, but that's a different topic.
In my mind, an ideal error message tells me, the user

What went wrong?
Why did it go wrong?
What can I do about it? What should I do now?

Using an example I was playing around with, it could look like this:

Note, that the title answers the "what", the body answers the "why" and "what now" and the buttons also answer the "what now". However, a "failure reason" seems like it answers the "why" not the "what" so it does not seem appropriate to be displayed in the title, for me.

Thanks for your clarification on this. I'll bring this into the team here and discuss this issue with them. I do understand your reasoning.
Can you confirm that the screenshot you posted is the default implementation on OS X and that it shows the localizedDescription, localizedFailureReason, and localizedRecoverySuggestion? Would you say that using the localizedDescription as the title and localizedFailureReason\n\nlocalizedRecoverySuggestion as an alert's message?

The screenshot is almost the the default implementation on OS X. I did change it slightly.
For some reason, OS X completely ignores the failure reason in the NSAlert and only uses localizedDescription and localizedRecoverySuggestion and localizedRecoverOptions, and I don't know why. I have used it years ago and before trying it in an example project again, I was sure the localizedFailureReason would also be part of the alert. Maybe it was changed in some of the newer Mac OS X release.
However, the current implementation of NSAlert will use:

localizedDescription for the title
localizedRecoverySuggestion for the body text
localizedRecoveryOptions for the buttons

Since I thought the failure reason should be included I did the following to achieve the screenshot above:
NSError *error = [NSError errorWithDomain:@"MyCoolDomain" code:1 userInfo:@{
                          NSLocalizedDescriptionKey: @"Could Not Post Message",
                          NSLocalizedFailureReasonErrorKey: @"We could not reach the XING server. Your internet connection seems to be offline.",
                          NSLocalizedRecoverySuggestionErrorKey: @"You may try again when you are online again.",
                          NSLocalizedRecoveryOptionsErrorKey: @[@"Try again", @"Cancel"]
                      }];
    NSAlert *alert = [NSAlert alertWithError:error];
    alert.informativeText = [error.localizedFailureReason stringByAppendingFormat:@"\n\n%@", alert.informativeText];
    [alert beginSheetModalForWindow:self.view.window completionHandler:^(NSModalResponse returnCode) {
    }];

I talked about this with the team and we decided to make this change in the following form:

The localizedDescription will be used as the alert's title
The localizedRecoverySuggestion will be used as the alert's body
If no HRSRecoveryAttempter is available on an error, we will add a simple OK recovery suggestion that simply dismisses the error when selecting it.
The localizedFailureReason will be added to the alert body if you opt in to this feature. (Where this opt in will be is still to be discussed).

Would this implementation fix this issue for you?

Yes, that would definitely fix the issue for me and make me very happy! :-)
I also think it's a great idea to have an opt-in for including the localizedFailureReason in the alert's body.

@JoachimK I am currently working on this implementation. Do you have a nice idea about how to provide the 'ok' text in case no recovery attempter is available? The most elegant way I know is the project from @McZonk (https://github.com/McZonk/UIKitPlusLocalization/blob/master/NSBundle%2BUIPStandardLocalizations.m) but it requires to 'guess' the location of the UIKit framework correctly (https://github.com/McZonk/UIKitPlus/blob/master/NSBundle%2BUIPUIKitBundle.m).

@JoachimK please have a look at the PR

I consider this as fixed, with the only difference that currently the option to show both, the localizedFailureReason and the localizedRecoverySuggestion within the body is not supported.

Thanks a lot, looks good!
I hope I can get my team to use it soon :-)


DDD with GORM

What version of Go are you using (go version)?
go version go1.11.5 darwin/amd64
Which database and its version are you using?
mysql 5.7
I want to use GORM for DDD but I do not know how to deal with the following problem.
I have an entity that is a User and within this, a value object that is the ID.
type User struct {
	UserId *UserId
	Name   string
}

type UserId struct {
	ID string
}

The thing is, I really want me to treat a table that would be users and the id is a text string and not a user_id table (Feel like Doctrine in PHP)

I've also been looking at ways of using value objects in models.  Although, I think the question here may be a bit unclear.   As far as I see, the OP is asking how to map a value object without it being treated as a relationship.   This problem is not limited to single fields, but also value objects like the classic Money Pattern:
type Product struct {
	Id int
	Name   string
        Price   *Money
}

type Money struct {
	Amount float64
        Currency string
}

Where the product table actually has two fields: price_amount and price_currency that need to be mapped to a Money struct.

@devonblzx try
type Product struct {
	Id int
	Name   string
        Price   *Money `gorm:"embedded"`
}

@inliquid Thanks.  Looks like what I'm after.  Just wasn't searching for the right verbiage.
While they aren't well-documented, for anyone else that comes across these, EMBEDDED and EMBEDDED_PREFIX are listed here: http://gorm.io/docs/models.html#Supported-Struct-tags

Another option is embed struct by not providing field name, in the example above leave just *Money.

ty @inliquid and @devonblzx


Perform OS check at import armi time

Because we are trying to get internal ARMI applications working on a Linux system, we are beginning to add a lot of OS checks throughout ARMI.
We don't want to add this all over the place:
if windows:
    this
elif linux:
    that
else:
    OS fail

Instead, the proposal is to perform this check at import time.
if windows:
    armi.OS = windows
elif linux:
    armi.OS = linux
else:
    OS fail

Then everywhere that has OS-dependence in the code base can handle things a little more simply:
if windows:
    this
else:
    that

I am going to close this, as it is a duplicate of another ticket: https://github.com/terrapower/armi/issues/1693


Target Rate sensors not operating as expected

Describe the bug
I've set up three target rate sensors, to find the cheapest hour, hour and a half and two hour slots.
They have been running for a number of days. Ocassionally they fire in the last hour of the day but most times they do not fire at all.
Reproduction steps

Expected behaviour
The cheapest slots will be determined
Tariff Code
E-1R-AGILE-FLEX-22-11-25-N
Integration Version
7.5.2
Home Assistant Version
Home Assistant 2023.7.3
Fresh Install?
 Sorry for the late response.
Target rate sensors only evaluate when all rates are available for the specified evaluation period (midnight to midnight in your case). Unfortunately, agile rates are only provided up to 11pm. Therefore you need to either shorten your evaluation period (e.g. 00:00 to 23:00) or shift the evaluation period to be inline with agile rates (16:00 to 16:00 as per the docs).
I'm planning on making this clearer in the future on the sensor if the rate data for the evaluation period isn't available or making it so the sensor can evaluate when rate data is incomplete.

I think it would be helpful if he docs made it clearer that you must change the time window when using Agile

Hi there. Sorry for the late response.
Target rate sensors only evaluate when all rates are available for the specified evaluation period (midnight to midnight in your case). Unfortunately, agile rates are only provided up to 11pm. Therefore you need to either shorten your evaluation period (e.g. 00:00 to 23:00) or shift the evaluation period to be inline with agile rates (16:00 to 16:00 as per the docs).
I'm planning on making this clearer in the future on the sensor if the rate data for the evaluation period isn't available or making it so the sensor can evaluate when rate data is incomplete.

Thanks! This sorted my issue @BottlecapDave
Taking into account the comment from @netmindz  perhaps it would be possible where someone has selected the agile rate that 16:00 to 16:00 becomes the default value

I've updated the docs to be clearer on agile behaviour with justification on why it's not the default value. I'll close this issue now, as it's "by design".

Great, thanks again @BottlecapDave

I disagree with your updated doc. If you are on agile, which is surely the key reason for using the target feature as the other tariffs have predictable low cost times, then if no time window is set then it doesn't work at all.
It's confusing to have an option that restricts when a low cost is triggered, that only works if data for that full period is available.
Why are you so hesitant to change the default to match the data? It wouldn't break existing setups as the default doesn't work for Agile. Making the default 23 would still give a 24 hour window, so would still be "unrestricted"

I've been thinking about this over the last week, so sorry for the late response.
I am personally not on agile, but use target rate sensors (along with other sensors) as I want my home to adapt to my tariff so that if I switch I don't have to update my home. Granted, I am probably in the minority, but I can't guarantee everyone who uses this feature is on agile. But you're probably correct in saying the majority probably are.
The main issue with the enforcing of target rate sensors is that while fine at initial creation, after creation is where the problem can lie. If a user switches tariffs (from another tariff to agile or agile to another tariff), I don't want default behaviour of target rate sensors to change automatically without their knowledge, as this will lead to potential frustration and probably more bugs raised. I also don't want to do anything that will change behaviour automatically for those that have set it up already as this will be a breaking change in the integration and lead down the same route as previously mentioned.
My current plan in a future release is as follows

Update the adding/updating of target rate sensors to report useful error if a user's sensor falls into the "dark zone" (23:00-00:00) if they are on agile. This is a bit complicated as users can setup target rate sensors overnight which would be valid starting at 23:00. I think however it's just the to time I need to worry about.
Add an attribute to target rate sensors to indicate if all required rate data is available for the target period. This is useful for debugging purposes and for other tariffs (if for instance the integration cant get the latest rates)
Use HA's repair mode to guide users to update their target rate sensors if they fall into the "dark zone" and they're on agile. This will help guide existing users to fix their sensors, as well as any other users who might switch over to agile from other tariffs.