Make project buildable with Gradle

Since elasticsearch-java-client and flexi-gson are dependencies of some of the open-code libraries and depend on others, I've imported their history into this repo using git-subtree. This means that this PR is unavoidably vast. However, very little of the code here is new. Only the following commits need to be reviewed:

06a06b51 (Gradlify flexi-gson)
551602ee (Gradlify es-java-client)
5dd60f57, 56ffc970, 09c46fdf (fix various flaky tests)
fcf293f0 (Gradlify the rest of the project)

Hello @DanielRobertAppel
Could you have a look at this?
This is a PR from Miles. Its doing some git engineering, which I don't fully understand.
Miles end goal was to get WW code into the ZF mega-repo via a git subtree.
This PR includes the flexi-gson and ESJC repos into the open-code repo, using subtree in some way. I'm not sure of exactly how, or what effect that has for ongoing development.
We want to keep separate repos, rather than make one mega-repo. I'm also wary of adding unnecessary git subtree complexity.
Thanks,

Daniel

Hello @milesgould ,  I am attempting to come to grips with what is happening here.  My understanding is that you've tried to make the fully fledged and separate repositories of elasticsearch-java-client and flexi-gson  as subtrees of the open-code repository.  Is that correct?

@DanielRobertAppel yes, that's right. I found that the three repos couldn't be built from scratch separately - flexi-gson and ESJC depend on winterwell.utils, and (for instance) winterwell.datalog depends on flexi-gson and ESJC. So I think it makes sense from a build-system perspective to combine the repos, though this is not the only way of doing so.

@milesgould , I see.  I agree with you regarding the inter-connected-ness and dependency-needs of each project.  You are correct, these repos are inter-dependent upon each other.  And from a build-perspective it makes for much fewer steps involved for a continuous integration system.
On our side of things, we want these individual project-repositories to remain separate --- meaning, each project has it's own separate git history, and git repository.  Full disclosure : we do not know if this is how you have set them up using git-subtrees or not.  We do not fully grasp the capabilities of the subtree-ing .  We simply saw a merge-action and it caused us to start to question if the projects would remain independently-interdependent of each other.

@DanielRobertAppel OK, I see. This change merges all three repos into one (preserving history): in theory it should be possible to take changes made here and merge them back into the upstream ESJC and flexi-gson repos, but in practice we've found that git subtree doesn't do that as well as the docs advertise. So yes, if you're set on keeping open-code, ESJC and flexi-gson as three separate-but-inderdependent repos, you should not merge this PR, and I should find some other way to submit my changes upstream. Can I ask what benefit you get from keeping the repos separate?

Hello @milesgould

Can I ask what benefit you get from keeping the repos separate?

It's to follow the github "standard" approach of: one repo = one project.
Advantages: it's better for if people want to draw on the code in a modular way. It allows for projects to evolve separately.
Also, flexi-gson ought to be a fork of the official Google gson repo. The only reason it isn't, is because Google didn't use git back when I made it. I'd like to make flexi-gson into a fork of the official gson repo. That would have the advantage of supporting upstream changes from Google. There's been a major version upgrade, so it's a bit more work than it looks.
So the anomaly is the open-code repo, where we took 10 projects and put them in the one repo. That was because historically they came from one internal private repo. And also it was slightly less setup work.
If you look at the project level, the circular dependencies go away. E.g. flexi-gson depends on ww.utils -- which doesn't depend on flexi-gson. It's a DAG.
Re. build-system -- you have the build.gradle files at the project level. Does that make the build independent from how the git subtree repos are organised?

Options?

Add flexi-gson and ESJC to open-code.
I'd prefer not to because (a) flexi-gson ought to fork off from official-gson, (b) ESJC branches & versioning should be independent to match ES, and (c) the one repo = one project paradigm is the standard.

Alter open-code splitting it into 10 repos, to get one repo = one project, and alter the ZoneFox subtree setup to match, with one subtree per repo.

Leave open-code as-is, but alter the ZoneFox subtree setup to have separate subtrees for ESJC and flexi-gson.

Leave open-code as-is and ZoneFox as-is, and handle upstream edits manually, via cherry-picking patches with tweaks, or meld.

Other options I haven't thought of.

@milesgould @DanielRobertAppel - What do you think?
Thanks, Dan


fix for lates binutils API changes

Codecov Report

Merging #143 into master will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #143      +/-   ##
==========================================
- Coverage   69.80%   69.73%   -0.07%
==========================================
  Files          80       80
  Lines        5633     5641       +8
==========================================
+ Hits         3932     3934       +2
- Misses       1701     1707       +6

Impacted Files
Coverage Δ

scripts/lib/xpedite/jupyter/context.py
41.33% <0.00%> (-2.42%)
:arrow_down:

scripts/lib/xpedite/jupyter/__init__.py
100.00% <0.00%> (+15.38%)
:arrow_up:

Continue to review full report at Codecov.

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


Share more logic between object equality and arrays

Summary
While investigating the reasons behind #11055, I found a possible way to factorize the logics of object comparison with array comparison. As it seems to simplify and reduce a bit the amount of code needed, I thought it would be good to let share it with you.
Even if this suggestion clearly enhances the case of the issue #11055, it still does not fully fix it as error message generation seems to still iterate over all the holes (did not impacted it in this PR).

Test plan
Tests have been added for sparse arrays in order to ensure the PR does not introduce unwanted regressions.
As you will see in the snapshots, snapshots for sparse arrays are not perfect as they let users think that the array was full of undefined values. This PR does not try to change this behaviour.

Just in case:
I double-checked locally and confirm that the tests added by this PR were green before the code change and are still green now. By adding them, I wanted to make sure I did not change how Jest considered sparse arrays equality.

To be clear, this does not (or at least is not expected to) change behavior, before and after this change toStrictEqual cares about undefined vs missing elements, while toEqual doesn't? In that case I'm okay :sweat_smile:

@SimenB Do you want me to update the PR? If yes, do you prefer rebase and force push OR merge?

Sorry, forgot about this one. Just merging in master sounds good to me 🙂 (easier to see changes between pushes when there's no force pushing)

Codecov Report

Merging #11061 (12c9dbb) into master (c8b1835) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master   #11061      +/-   ##
==========================================
- Coverage   64.19%   64.14%   -0.05%
==========================================
  Files         308      308
  Lines       13532    13514      -18
  Branches     3299     3293       -6
==========================================
- Hits         8687     8669      -18
  Misses       4131     4131
  Partials      714      714

Impacted Files
Coverage Δ

packages/expect/src/jasmineUtils.ts
90.72% <100.00%> (-1.46%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks a lot 👍

Haha, thank you! 😀
This started out for #11055, what's the status with this and the pretty-format fix?

I think I still have one part of the code of jest to investigate, but we should be close from the full fix.
If I'm not wrong my current fix on pretty-format still iterates over the whole size as we print [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] for sparse arrays. We should probably print something like Object.assign(Array(10000), { 50: "a-value-for-50" }) or anything else not requiring to iterate and print all the holes. Here is how I print them in fast-check: https://github.com/dubzzz/fast-check/blob/main/test/unit/utils/stringify.spec.ts#L121


Remove version: Tableau.Reader version 24.2.801

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://downloads.tableau.com/tssoftware/TableauReader-64bit-2024-2-1.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 912)

URL: https://downloads.tableau.com/tssoftware/TableauReader-64bit-2024-2-1.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 912)

Hi @Exorcism0666,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 887.)

For moderators or/and anyone else

[!Caution]
As a result of several personal problems I've had over the last few months + my final exams coming up very soon, I'm currently unable to look at my GitHub notifications every day and maintain my executions correctly.
If you detect a certain problem on a certain pul request:

Either you can close the pull request directly without mentioning me.
Or you can send me a message on X (Twitter): @Exorcism0666

Thank you for your understanding, and I'm sorry if some pull requests can't be approved due to the situation I'm in.

This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://downloads.tableau.com/tssoftware/TableauReader-64bit-2024-2-1.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 887)

Close with reason: Duplicate of #164911;


Distorted audio running Android export on Acer Chromebooks

Godot version
3.5.1.stable.official
System information
Acer Chromebook CB5-132T
Issue description
Audio playback is very distorted sounding when running an Android apk exported with Godot 3.5.1 on an Acer Chromebook CB5-132T.  Our users have also reported distorted sound on Acer Chromebooks CB3-431 and CB3-532
The problem did not reproduce on a Dell Chromebook 5190
Audio also sounds fine when exported with Godot 3.4.5.   I was unable to test on 4.0 due to another error (Unable to setup the Godot Engine! Aborting.)
I also tested converting the ogg to wav and it still sounded bad.
Steps to reproduce

Create New Project
Create User Interface Scene
Add AudioStreamPlayer
Add a ogg file to project (I used House In a Forest Loop.ogg from https://docs.godotengine.org/en/stable/_downloads/923b18d4e18125cf494ee5f7efba7e03/dodge_assets.zip)
Drag ogg to AudioStreamPlayer
Check on Playing and Autoplay
Export Android APK
Install APK on Acer Chromebook and run

Minimal reproduction project
AndroidAudioTest.zip
Screen recording with audo from chromebook:
ChromebookDistortedAudio.webm

I narrowed it down to a change in Godot 3.5 rc5
The change is in commit: Upgrade Android NDK to r23 LTS  061c28087340f24d98174ce6088053121bd49e14
It wasn't the upgrade to NDK r23 though. It's something else, I suspect switching from mingw to clang.   I determined this by reverting the above commit, and then setting the     ndkVersion back to '23.2.8568313'
This fixed the audio for us on our Acer Chromebook.

Closing in favor of https://github.com/godotengine/godot/issues/74779, which has more information about the issue at hand.


Update request: rustc 1.74.0 → 1.74.1

Package name: rustc (and all related)
Latest released version: 1.74.1

Current version on the unstable channel: 1.74.0
Current version on the stable/release channel: 1.73.0

[x] Checked the nixpkgs pull requests

Notify maintainers

@figsoda @tjni
Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

Fixed by https://github.com/NixOS/nixpkgs/pull/272969


Grab student code at a polymorphic type

The functions lookup, lookup_student and lookup_solution in module Test_lib expect an argument of type 'a Ty.ty, that is, a runtime representation of the type 'a. This allows grabbing a value at an arbitrary, monomorphic type. Is there a way of grabbing a value at a polymorphic type?
So far, I have not found a way of doing this. I am forced to work around the problem by grabbing a finite number of monomorphic instances of the polymorphic type I have in mind, but this is unpleasant and does not work at all if I need an unbounded number of monomorphic instances.
(By the way, why are there three functions lookup, lookup_student and lookup_solution? I understand lookup_student versus lookup_solution, but not lookup. Some documentation would be welcome.)

We have been able to grab functions at a polymorphic type simply by supplying a type such as 'a list -> 'a to the grader. Mostly we use this just to verify that an implementation is indeed polymorphic, since it isn't that useful when used with the functions test_function_n_against_solution, etc.: the outputs in the grading reports are just written as <poly>. If you are manually constructing reports then I don't think there would be an issue, though.

Hi Aliya, thanks for your comment. You are right, it is possible to look up a value and insist that its type must be polymorphic, as follows:
 T.lookup_student [%ty : 'a -> 'a] "id" ()

However, as far as I understand, this piece of code has monomorphic type ('a -> 'a) lookup. (This is probably imposed by the value restriction.) So, the value that I get can be used at any one monotype, but cannot be used in a polymorphic manner. Is there a way around this problem?

Ah, I see what you're saying. It looks like, since values are passed around in the datatypes 'a value (introspection.mli) and 'a lookup (test_lib.mli), there probably is not a straightforward way to do this using the lookup functions.
However, something that I think will work for you is using the function test_student_code in Test_lib. https://github.com/ocaml-sf/learn-ocaml/blob/bd002531a99a0f682e06a64e328b8e9fec8932e4/src/grader/test_lib.mli#L549
As I understand it, you can use this function to package (part of) the student code into a module according to a module signature that you provide, and then you have direct access to that module in your grader code. The following grader compiles for me (although I have not actually tested it in the browser):
open Test_lib

module type Has_Id = sig
  val id: 'a -> 'a
end

let my_test () =
  test_student_code
    [%ty: (module Has_Id)]
    (fun (m: (module Has_Id)) ->
      let module M = (val m: Has_Id) in
      let x = M.id 1 in
      let y = M.id "a" in
      [] (* resulting report; here it's just empty *))

let () =
  set_result @@
  ast_sanity_check code_ast @@ fun () ->
  my_test ()

A drawback is that the error messages from test_student_code may be harder for students to understand, since they are in the form of module type mismatches.

Indeed, this works. Great! It would be nice if this trick could be documented somewhere. Other than that, I believe that this issue can be closed.


Performance

As of https://github.com/ReactiveSocket/reactivesocket-java/commit/3e52b25e544202eb31d3bc0dce633ee951f733b9 the performance looks as follows:
./gradlew benchmarks '-Pjmh=-f 1 -tu s -bm thrpt -wi 5 -i 5 -r 6 .*ReactiveSocketPerf*'

Benchmark                                   Mode  Cnt        Score        Error  Units
ReactiveSocketPerf.requestResponseHello    thrpt    5  3466701.646 ± 232969.245  ops/s
ReactiveSocketPerf.requestStreamHello1000  thrpt    5    13441.690 ±    977.459  ops/s

(On my 2.3 GHz Intel Core i7 running OSX)

This involves no IO, just an in-memory dual-channel for simulating transport and exercising the protocol handlers.
This is 3.5M "hello" request/response per second (with a static payload each time) and 16M messages/second with streams of 1000 "hello" messages (again, all static, so no compute time to encoding).
Here is a Flight Recorder screenshot of the requestResponse test:

The code is currently not production ready. I cut corners to get a pure ReactiveStreams and imperative implementation functioning. There are places where 'merge' would typically be used to manage multiple 'onError' or 'onComplete' signals, but are currently racing each other, or being allowed to occur concurrently. I think all 'onNext' behavior is okay. I also don't trust the cancellation and backpressure (the 'request(n)' semantics).
As we flush out the rest of the functionality and unit tests, I intend to start adding back in composition (such as 'merge') to get the needed correctness, while using these benchmarks as a point of comparison. Unless there is a major functional bug currently that makes these numbers useless, my hope is that the rough edges right now can be polished without significantly affecting these numbers.

Old ... moved on to new perf issues after fixing other ones and adding more functionality.


Remove the Migen compatibility layer

It has (technically) been deprecated since day 1, and hasn't seen much uptake. This interface was considered important for migration of existing codebases, but the (intentional and unintentional) mismatches with Migen behavior meant that it only had a limited usefulness; most code that needed Migen compatibility combines the LiteX and the Amaranth parts of the design through Verilog.
Removing the compatibility layer allows a number of cleanups: the AST visitors can dispatch faster using type() is rather than isinstance(), and several AST types can be marked @final.
It also deemphasizes the relation to Migen. Many of the remaining design choices in Amaranth that directly derive from Migen (records, fragments, AST transformations, board DSL, ...) are load bearing liabilities and there's no reason to have a gratuitous one on top of that.

I think we won't be able to do this in 0.4 because Glasgow still uses amaranth.compat extensively. Should be fine in 0.5.

I've talked with @enjoy-digital and as a result I decided to delay removal of the compatibility layer until we decide on a path forward for LiteX. See https://github.com/enjoy-digital/litex/issues/1727.

Discussed this on a call with Rob Taylor and @enjoy-digital today. The plan is to spin off amaranth.compat as a separate repo under the LiteX organization and then hand it off to Florent for testing and maintenance. Once that is done the compatibility layer can be removed from Amaranth as it was originally planned.

After investigation, it appears that the current implementation of the compatibility layer is essentially impossible to separate from the core of Amaranth, and it will need to be rewritten essentially from scratch using the extensibility facilities Amaranth provides (ValueCastable, ShapeCastable, etc).
@enjoy-digital We have some important work blocked on the removal of the compat layer (primarily, #949, required for native Amaranth streams), so I will proceed with removal of amaranth.compat in Amaranth 0.5. I apologize for any inconvenience this causes.

@whitequark: Thanks your care on this and letting me know. I don't want to block your work with this, so yes, please make sure do what is the best for Amaranth.

@enjoy-digital As previously discussed, I am still quite happy to supervise the work of an external contributor who will produce a replacement compatibility layer specific for and developed according to LiteX's needs, and to make sure the core Amaranth language includes the necessary hooks to enable the existence of such a layer.


Understand why the getControlModes sometimes fails

I built the first application using the IRobotInterface when I run the application on my laptop the application sometimes fails here:
https://github.com/dic-iit/bipedal-locomotion-framework/blob/c055c48edb86aa9f23fb7cc572a4ea005f1c626b/src/RobotInterface/YarpImplementation/src/YarpRobotControl.cpp#L131-L135
Back in time we solved the problem using a timer and checking several times if the yarp interface were able to collect the data. See here.
I would avoid implementing the same trick also here. (Probably we have the same problem with the ISensorBridge implemented by @prashanthr05)
Furthermore the fact that this behavior is completely random bothers me a lot.
Is there someone able to explain to me why this is happening?
@traversaro @S-Dafarra @prashanthr05

This problem convinced me that https://github.com/dic-iit/bipedal-locomotion-framework/issues/111 is really important

Just speculating here, if it's related to the mutex implementations in the underlying ControlBoardRemapper implementations? Could you trace the code to also paste the underlying implementation of getControlModes() here?
I have never faced this before actually? Or maybe I believe so.

The method called in this case is ControlBoardRemapper::getControlModes(int *modes)
bool ControlBoardRemapper::getControlModes(int *modes)
{
    bool ret=true;
    std::lock_guard<std::mutex> lock(allJointsBuffers.mutex);

    for(size_t ctrlBrd=0; ctrlBrd < remappedControlBoards.getNrOfSubControlBoards(); ctrlBrd++)
    {
        RemappedSubControlBoard *p=remappedControlBoards.getSubControlBoard(ctrlBrd);

        bool ok;

        if( p->iMode )
        {
            ok = p->iMode->getControlModes(allJointsBuffers.m_nJointsInSubControlBoard[ctrlBrd],
                                            allJointsBuffers.m_jointsInSubControlBoard[ctrlBrd].data(),
                                            allJointsBuffers.m_bufferForSubControlBoardControlModes[ctrlBrd].data());
        }
        else
        {
            ok = false;
        }

        ret = ret && ok;
    }

    allJointsBuffers.fillCompleteJointVectorFromSubControlBoardBuffers(modes,remappedControlBoards);

    return ret;
}

here it may fail only if p->iMode == nullptr or  p->iMode->getControlModes() returns false.
From this point, I'm a bit lost since I don't know which getControlModes() is called.

The ControlBoardRemapper calls the getControlModes() to which it is attached, and in the case of the remotecontrolboardremapper the internal device is being attached to the remote_controlboard in https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/ControlBoardRemapper/RemoteControlBoardRemapper.cpp#L148 .
For the remote_controlboard, the implementation of that method is in https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/RemoteControlBoard.cpp#L2262, and you can see that it returns false only when StateExtendedInputPort::getLastVector return false, and as you can see from https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/stateExtendedReader.cpp#L204 this happens when the first message from the stateExt:o port still needs to be received, so this is quite expected if you just opened the device and you right away call the getControlModes method. If you prefer this "wait" is done in blocking mode during the configuration, then I think you can add a waiting loop in the configuration part of the code, as done for example in the WB-Toolbox's RobotInterface class (that indeed shares several aspects with the equivalent classes in BLF) : https://github.com/robotology/wb-toolbox/blob/4278d56dc16e4a76e0b4ef6b872bc3e26c43e451/toolbox/base/src/RobotInterface.cpp#L83 .

Thank you @traversaro, so accordingly on what you wrote in https://github.com/dic-iit/bipedal-locomotion-framework/issues/115#issuecomment-695189340, the get methods of the interfaces reytrns false only if the first message is not arrived.
I'm asking this beacouse I was wandering if this code may work or not.
Suppose we have a pointer to the IEncodersTimed and I try to access the joint encoders values as:
std::vector<double> joints1(numberOfJoints);
iEncoderInterface->getEncoders(joints1.data());

// some code......
std::vector<double> joints2(numberOfJoints);
iEncoderInterface->getEncoders(joints2.data());

In other words, does the second call to getEncoders  always return the current joint values (even if are the same joints1), or it return false?
I'm asking this beacouse in our infrastructure we currently have the IRobotControl interface that reads the encoders every time a position direct command is sent
https://github.com/dic-iit/bipedal-locomotion-framework/blob/c055c48edb86aa9f23fb7cc572a4ea005f1c626b/src/RobotInterface/YarpImplementation/src/YarpRobotControl.cpp#L196
And on the other hand, we have the ISensorBridge interface that is in charge of expose all the signal generated by the robot (e.g. the joint encoders values).
https://github.com/dic-iit/bipedal-locomotion-framework/blob/c055c48edb86aa9f23fb7cc572a4ea005f1c626b/src/RobotInterface/YarpImplementation/include/BipedalLocomotion/RobotInterface/YarpSensorBridgeImpl.h#L1407
So in both IRobotControl and ISensorBridge, there is a call to the getEncoders() method of the IEncoder generated from the exactly same polydriver.

In other words, does the second call to getEncoders always return the current joint values (even if are the same joints1), or it return false?

The second (or any successive) call returns the latest received data, unless a timeout has passed. You can verify it yourself from https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/RemoteControlBoard.cpp#L1375 and https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/stateExtendedReader.cpp#L262 .

The second (or any successive) call returns the latest received data, unless a timeout has passed. You can verify it yourself from https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/RemoteControlBoard.cpp#L1375 and https://github.com/robotology/yarp/blob/9478e6a2aa627b4bc0c4bca6337f8e559c95bafb/src/devices/RemoteControlBoard/stateExtendedReader.cpp#L262 .

Really really thank you @traversaro
I think that this may interest all the YARP user in @dic-iit/dynamic-interaction-control


Excessive load CPU

Hello guys, I'm getting a lot of CPU Load w/ natural.

Can you help me to understand how many times I need put the trainer?

I need to reload the trainer when received a new data?

Which trainer are you using? Brill's POS trainer, Bayesian, MaxEnt?

Abbrechen
Am 11.11.2018 1:06 nachm. schrieb "Hugo ter Doest"<EMAIL_ADDRESS>
:

Which trainer are you using? Brill's POS trainer, Bayesian, MaxEnt?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NaturalNode/natural/issues/471#issuecomment-437664757,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AINWVxnP3uUGpmowEIzKzOSmeHnVaoPHks5uuBLhgaJpZM4YYR_D
.

Thanks guys! I bought a new server with 24 CPU's and my problem was solved. Now we're using natural with face-api.js


logback-classic jar error

When the I execute the tkltest --config-file ./test/data/hubtx/tkltest_config.toml --verbose generate ctd-amplified, I get the following error -

When I remove the logback-classic-1.2.3.jar from the jars.txt file, I get the following error -

Environment information

CLI version
OS: macOS

After generating the dependencies, this is wa resolved.


[rv_core_ibex] Add edn connection to rv_core_ibex

continuation of #7946
rv_core_ibex automatically talks to edn for random data, which is provided
to ibex through a local register.

Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

@mwbranstad @cdgori just FYI, one extra connection to edn.


Simplify handle_batch_streaming

This PR is an attempt to simplify how batch streaming works. Currently, the way things work is upon receiving a streaming request the server -

subscribes to a broadcast channel which is being updated by batching service upon receiving an in order transaction or closing a batch (time interval or max size)
cap the request range [start, end] to [start, min(end, start + 1000)]. I believe this is because the way things work are not truly streaming in nature today. The function batches_and_transactions() will first download the entire historical batches and txns from db in memory (and hence the above cap in the request range) and then publish those to the stream
After realizing that end is larger tha max sequence txn in db, read from the broadcast stream until the end (if we are too late to drain the broadcast channel and lost events, close the stream)
There is also a race in function batches_and_transactions()when returning trailing txns could be streamed before the corresponding batch. For example, if there were trailing txns: 100,101,102,103 and corresponding batch could be for 100,101,102 and so the returned response stream could look like: t100,t101,t102,t103,b[100-102] whereas it should always be t100,t101,t102,b[100-102],t103

The new design runs a much simpler state machine to truly stream the response (with no need to download a large response in memory or worry about being too late to drain the broadcast channel):

read next batch (b) from db
if found batch in step 1, stream from db all txns in b
stream b
goto step 1

I'd also like the folks to comment on whether if we think we even need the batch service. With post processing not using it anymore, could we perhaps just compute the Batch inline in handle_batch_streaming() without needing to store it in db at all? If that is the case, this thing will become even simpler in implementation.

Wouldn't we always need some kind of Batch to make https://www.notion.so/mystenlabs/Sui-indexer-1fb39b0922834edea2aa5bcbf1ab87d1 work?

Oh forgot about the batch triggers, in that case yes we need to keep batches

@mystenmark @bmwill and I chatted about this a bit, and it seems that eventually we should be able to have indexer to fully rely on checkpoints. Regardless, let me review this PR and merge it to make things simpler. And down the line once the new checkpoint is ready we may delete batches entirely

@mystenmark @bmwill and I chatted about this a bit, and it seems that eventually we should be able to have indexer to fully rely on checkpoints. Regardless, let me review this PR and merge it to make things simpler. And down the line once the new checkpoint is ready we may delete batches entirely

Makes sense, looks like checkpoints are going to make things better overall. I will merge this for now, and @mystenmark if you have additional comments please feel free to leave them here and i'll handle them in a follow up pr


Include hydrogen, natural gas and CO2 networks

Perhaps also with compressor energy consumption.
For H2 pipelines, use Welder et al https://doi.org/10.1016/j.energy.2018.05.059 assumptions of 266 EUR/MW/km (1.6 million EUR/km for a 6 GW pipeline).
See also https://doi.org/10.1016/j.ijhydene.2018.12.156.

Greenfield hydrogen networks (with routes to build network based on topology of electricity network) is currently implemented in the model. Once the existing methane network is implemented, we will allow option to refurbish methane pipes for hydrogen.


Support others methods when using /resource/{id}

frang @ ~/code/code-api
 → yo serverless-boilerplate:function
? Resource name tests
? What kind of design? By id "/tests/{id}"
? Which HTTP method?
❯ GET
  - POST (Disabled)
  - PUT (Disabled)
  - DELETE (Disabled)

Disable only post

Support HEAD, CONNECT, OPTIONS, PATH, [TRACE]


Review the inheritance tree of SourceTree.

From PR #31. The inheritance tree of SourceTree is too complicated. Review the functions of the classes in question.
The function withFITSIO.from_fitsfile() returns a SourceTable instance. This behavior seems weird and should be fixed.

Commit dd8d819
The function withFITSIO.from_fitsfile() was redefined as @classmethod.

The inheritance tree was updated. This issue is resolved.


Add jenkins file for manifest update workflow

Description
This is a work around until #3068 gets resolved. Tested this jenkinsFile and it works as expected. Sample PR it opened https://github.com/opensearch-project/opensearch-build/pull/3428
Issues Resolved
Related #3068
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3429 (adef0cc) into main (aa8de83) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #3429   +/-   ##
=======================================
  Coverage   91.74%   91.74%
=======================================
  Files         172      172
  Lines        4991     4991
=======================================
  Hits         4579     4579
  Misses        412      412

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Let me know if I should remove this workflow https://github.com/opensearch-project/opensearch-build/blob/main/.github/workflows/versions.yml
Thanks!

Created a workflow with this jenkinsFile in CI system here https://build.ci.opensearch.org/job/manifest-update/


ECONNREFUSED - cannot connect to database

Hello,
I wanted to use your package to connect to Upstash Redis, however I got this error:
file:///Users/iwostrzebonski/git/random-ace-attorney-quotes/node_modules/@upstash/redis/esm/pkg/http.js:101
            throw new UpstashError(body.error);
                  ^
UpstashError: Unauthorized
    at HttpClient.request (file:///Users/iwostrzebonski/git/random-ace-attorney-quotes/node_modules/@upstash/redis/esm/pkg/http.js:101:19)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async PingCommand.exec (file:///Users/iwostrzebonski/git/random-ace-attorney-quotes/node_modules/@upstash/redis/esm/pkg/commands/command.js:55:35)
    at async file:///Users/iwostrzebonski/git/random-ace-attorney-quotes/src/app.ts:34:15

I use env copy-pasted from the page (I changed the password to the correct one), and I'm using the Redis.fromEnv() function.
Connecting via cURL works.

What do you mean by I changed the password to the correct one?
If you copy and paste the environment name and value as given in the console, they should work straight out of the box
Could you check that please?

Can you double check if you copied the UPSTASH_REDIS_REST_TOKEN correctly?
perhaps the trailing = is missing

can you share your code?


Reduce allocations in models.(*Point)

Required for all non-trivial PRs

[*] Rebased/mergable
[*] Tests pass
[*] Sign CLA (if not already signed)

Summary
This PR reduces GC pressure by reducing allocations during various models.(*Point) operations.
It does not change any public function signatures.
Changes

Use flatTags instead of map[string]string as a bookeeping data structure during models.(*Point).HashKey. This includes tests and a global pool.
Implement []byte -> string and string -> []byte casts, and use them (carefully) in cases where the Go compiler fails to keep the value on the stack.
Use a slice of struct to store escape codes, not a map (due to iteration speed differences).

models Benchmarks before and after
After:
BenchmarkMarshal-4                       2000000              1520 ns/op              64 B/op          1 allocs/op
BenchmarkParsePointNoTags-4              5000000               686 ns/op          33.50 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointWithPrecisionN-4      5000000               665 ns/op          34.54 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointWithPrecisionU-4      5000000               681 ns/op          33.77 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointsTagsSorted2-4        3000000              1023 ns/op          49.84 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointsTagsSorted5-4        2000000              1311 ns/op          63.28 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointsTagsSorted10-4       1000000              2019 ns/op          70.82 MB/s         160 B/op          2 allocs/op*
BenchmarkParsePointsTagsUnSorted2-4      2000000              1220 ns/op          41.77 MB/s         192 B/op          3 allocs/op*
BenchmarkParsePointsTagsUnSorted5-4      2000000              1862 ns/op          44.56 MB/s         224 B/op          3 allocs/op*
BenchmarkParsePointsTagsUnSorted10-4     1000000              3304 ns/op          43.28 MB/s         288 B/op          3 allocs/op*
BenchmarkParseKey-4                      1000000              2829 ns/op            1030 B/op         24 allocs/op

Before:
BenchmarkMarshal-4                       1000000              3289 ns/op             560 B/op         13 allocs/op
BenchmarkParsePointNoTags-4              3000000               791 ns/op          29.07 MB/s         208 B/op          4 allocs/op
BenchmarkParsePointWithPrecisionN-4      5000000               779 ns/op          29.50 MB/s         208 B/op          4 allocs/op
BenchmarkParsePointWithPrecisionU-4      5000000               775 ns/op          29.66 MB/s         208 B/op          4 allocs/op
BenchmarkParsePointsTagsSorted2-4        3000000              1087 ns/op          46.91 MB/s         240 B/op          4 allocs/op
BenchmarkParsePointsTagsSorted5-4        2000000              1446 ns/op          57.39 MB/s         272 B/op          4 allocs/op
BenchmarkParsePointsTagsSorted10-4       1000000              2284 ns/op          62.59 MB/s         320 B/op          4 allocs/op
BenchmarkParsePointsTagsUnSorted2-4      2000000              1393 ns/op          36.59 MB/s         272 B/op          5 allocs/op
BenchmarkParsePointsTagsUnSorted5-4      1000000              2143 ns/op          38.72 MB/s         336 B/op          5 allocs/op
BenchmarkParsePointsTagsUnSorted10-4     1000000              3669 ns/op          38.97 MB/s         448 B/op          5 allocs/op
BenchmarkParseKey-4                      1000000              2818 ns/op            1030 B/op         24 allocs/op

[*] The benchmarks were updated to remove one spurious heap allocation per iteration.

The flatTags struct is very similar to the changes in #7138.  See: https://github.com/influxdata/influxdb/pull/7138/files#diff-fe01dfb5f49b26432bd2d62716a991a5R1395

@jwilder I see, the Tags changes have some similar aspects. That PR is rather involved, when do you think it will be merged?

It looks like #7138 was already merged. @rw is this issue still needed or will #7138 resolve this? Thanks.

I'm closing this. If it's still needed, please rebase and comment and I can reopen this.


Implement Index by USD

In the Markets page, we will have BTC Index, ETH Index, XRP Index, TOMO Index. All index is calculated by USD fiat.
Solution: We have to run cron to periodically fetch USD price for these cryptocurrencies and save in the collection "fiat_price"

PR: https://github.com/tomochain/tomox-sdk/pull/61


added Catalog request

Hey, thanks for contribution.
When you use authorization for registry it needs scope to get the correct access token.
You haven't added it, to your request.
Scope for catalog is: "registry:catalog:*".
Add it and I will merge it.

Done :)


2 windows open

Hello, first I congratulate you for that excellent plug-in for electron, I wanted to ask you every time I generated the npm start or I generated the app with electron packager and I open the program two windows exit exactly the same with my program.
In the cmd there are two server runs, it's like if you hit it twice, which I do not do.

No for first time it hits twice because first time it enables or sets  PHP
Environment. And 2nd time it restarts so that you can use PHP in a great
way inside electron.
On Thu 4 Oct, 2018, 12:55 AM andrestc18<EMAIL_ADDRESS>wrote:

Hello, first I congratulate you for that excellent plug-in for electron, I
wanted to ask you every time I generated the npm start or I generated the
app with electron packager and I open the program two windows exit exactly
the same with my program.
In the cmd there are two server runs, it's like if you hit it twice, which
I do not do.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AJ-TechSoul/ELECTRON-4-PHP/issues/9, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AZ_IIFV1RBikYouW39A6HiPe5uLxYZNSks5uhQ80gaJpZM4XGtEJ
.

Hey,
I just signed the petition "Manohar Lal Khattar and Sunil Bharti Mittal:
Restore 52-acres of felled forest. Keep real-estate out of the entire
Aravalli zone." and wanted to see if you could help by adding your name.
Our goal is to reach 101,376 signatures and we need more support. You can
read more and sign the petition here:
https://chn.ge/2QE8GeF
Thanks!
Ajay

Hi,
can it be that this is due to two places where app.on('ready', createWindow) appears in the provided main.js?
I removed the second line (arround line 116) and now thereis only one window.
Regards
Joachim

Yes, you are right but one window should open for setting up PHP Environment which is setenv.bat in windows.

I have did the changes you said, now only one window coming. so now i am closing


[BUG] assets resource auto rename to Assets resource

Information

Apktool Version : 2.9.0
Operating System : Windows 11
APK From : Other
Java Version : openjdk version "11.0.19" 2023-04-18

Steps to Reproduce
java -jar D:\ApkTool\apktool_2.9.0.jar b .
I: Using Apktool 2.9.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Copying libs... (/lib)
I: Copying libs... (/kotlin)
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk into: .\dist\HaiShangShengCun.apk
APK
Origin APK
https://raw.githubusercontent.com/GotKiCry/CDemo/master/HaiShangShengCun.apk
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything? : Y
If you are trying to install a modified apk, did you resign it? : Y
Are you using the latest apktool version? : Y

when i use jadx open apk it will show two assets folder , all single file in "Assets" and other child folder in "assets" , Android can't read assets file as getResourceAsStream("/assets/file")  .
but i open apk with zip and copy assets into this , it is right to show

May you enable a case sensitive fs with something like this? and try again.
fsutil.exe file setCaseSensitiveInfo <path> enable


[WIP] Physical Keys

This will close https://github.com/emoon/rust_minifb/issues/112.

@emoon would be interested in feedback.

I think the code looks good.

I am unsure if it is better to convert the system-dependent keycodes to our abstracted scancodes, or just expose the pressed keys as system-dependent u32. Which one could convert themself using a library.

Sorry for the late update. I'm not sure either what is best here

Closing due to progress for a while. We can re-open this if this is still going to be done.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #333 (c6ae51c) into main (2974dfe) will increase coverage by 12.10%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main     #333       +/-   ##
===========================================
+ Coverage   83.33%   95.44%   +12.10%
===========================================
  Files           2        1        -1
  Lines         126      395      +269
  Branches       31       46       +15
===========================================
+ Hits          105      377      +272
+ Misses         21       18        -3

Impacted Files
Coverage Δ

src/index.ts
95.44% <100.00%> (+13.44%)
:arrow_up:

example/src/main.ts

Continue to review full report at Codecov.

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


rdoc extension on README breaks packaging

The latest changes involving the renaming of the README cause the rake package task to fail:
Don't know how to build task 'README'
I think the rdoc rename change might need to be propagated to the Manifest and possibly other files.  I dodged the issue by simply creating a new copy of README.rdoc without the extension a la: cp README.rdoc README
Cheers

This line was also added during the commit which causes the package task to fail
ext/libmemcached-0.32/m4/aclocal.m4


alexa do a command an lost connection

hi,
i have a problem...
alexa found my created devices.
i say "Alexa, turn device on"
the command worked an my lights (433mhz power adapter) turn on.
then alexas light turns around and she says:
"the hub where the device is connected does not responding, please check your connection and power supply"
then i say "Alexa stop"
it stops.
"Alexa, turn device2 on"
the command worked an my lights (433mhz power adapter) turn on.
but again the hub problem. any idears ?
an screenshot of my device config

the php site looks like this:
##############################
<?php
$output = array();
$return_var = 0;
exec('/home/pi/433mhz/licht.sh wz wz-couch off', $output, $return_var);
echo $return_var;
?>
##############################
2017-01-14 23:55:34,273 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v3.5.1) starting....
2017-01-14 23:55:34,412 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: /home/pi/habridge/data/habridge.config
2017-01-14 23:55:35,681 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge initializing....
2017-01-14 23:55:35,885 [main] INFO  com.bwssystems.HABridge.SystemControl - System control service started....
2017-01-14 23:55:37.972:INFO::Thread-0: Logging initialized @11432ms
2017-01-14 23:55:38,682 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
2017-01-14 23:55:39,123 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
2017-01-14 23:55:39,196 [main] INFO  com.bwssystems.util.UDPDatagramSender - Initializing UDP response Seocket...
2017-01-14 23:55:39,283 [main] INFO  com.bwssystems.util.UDPDatagramSender - UDP response Seocket initialized to: 50000
2017-01-14 23:55:40,593 [Thread-0] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
2017-01-14 23:55:40,652 [Thread-0] INFO  spark.webserver.JettySparkServer - >> Listening on <IP_ADDRESS>:8888
2017-01-14 23:55:40.733:INFO:oejs.Server:Thread-0: jetty-9.3.z-SNAPSHOT
2017-01-14 23:55:42.127:INFO:oejs.ServerConnector:Thread-0: Started ServerConnector@193a304{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8888}
2017-01-14 23:55:42.152:INFO:oejs.Server:Thread-0: Started @15656ms
2017-01-14 23:55:45,994 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
2017-01-14 23:55:46,155 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
2017-01-14 23:55:46,176 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....
##############################

You'll need to return a 200 response code in your PHP, try adding  header("HTTP/1.1 200 OK"); to the first line of your file.

you mean like this?
<?php
header("HTTP/1.1 200 OK");
$output = array();
$return_var = 0;
exec('/home/pi/433mhz/licht.sh wz wz-couch off', $output, $return_var);
echo $return_var;
?>
after the change i get the same "error" from alexa.
is my device config correct?
thanks for your help

Also, if it takes longer than a second or so, the echo will timeout and say the error as well. It is more annoying than it not working.

Is this resolved?


Image url is not functional in description

In the description the url is ?controller=FileViewerController&action=image&task_id=57&file_id=2.
However in the attachment section it's /?controller=FileViewerController&action=thumbnail&file_id=2&project_id=6&task_id=57.
It looks like there is a missing project_id and / at the beginning.

Yes, it worked.


broccoli is spelled wrong

Your database's spelling of broccoli is wrong. It should have two c's instead of two l's.

You're right. The database has both spellings, but when I looked online, I couldn't find any use for the word brocolli, so I'll remove it.


How to add hot words in whisper prompt

I completed the concurrency test based on tensor RT + triton server deployment, and the concurrency was about doubled compared to faster-whisper.
I am testing its accuracy, but the Chinese transcription always shows 繁体字. I want to solve this problem by adding hot words in the prompt, but I encounter some problems.
I tried both of these methods with no success：
<|startofpref|>{prompt}<|startoftranscript|><|zh|><|transcribe|><|notimestamps|>
<|startoftranscript|><|zh|><|transcribe|><|notimestamps|>{prompt}<|endoftext|>
Here is some information I referenced：

The whisper documentation only gives this way of writing：
<|startoftranscript|> <|en|> <|transcribe|> <|notimestamps|>

The readme document of triton/whisper shows：

@yuekaizhang
I found the difference between faster-whisper and triton whisper prompts is：
faster-whisper：<|transcribe|>{prompt_text}<|startoftranscript|><|startofprev|><|startoflm|>
Triton whisper: <|startoftranscript|> <|{language}|> <|transcribe|> <|notimestamps|>
faster-whisper uses <|startofprev|><|startoflm|> token instead of <|notimestamps|>  token,
This openAI discussion explains that <|startoflm|> token is not used in openAI's API.
Therefore, triton whisper is the same as openAI's API，This solution also has better recognition performance.


NewToken component

Describe your changes here.
Closes # (type the issue number after # if applicable; otherwise remove this line)
Screenshots
Please provide before/after screenshots for any visual changes
Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Changes are SSR compatible
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

We have a major release coming up. Instead of adding a new token component, we could just modify the existing one.

We have a major release coming up. Instead of adding a new token component, we could just modify the existing one.

yes, that's the plan. I just want to keep the old stuff around for now, while I am prototyping.
The goal is to merge this with the current tokens in one way or another.

I've noticed that in dark mode the contrast isn't enough for background in some instances.
For example the purple here.

Not stale


[DM-16492] Configure Kafka InfluxDB Sink Connector

Build a container that installs the Landoop InfluxDB Sink Connector on top of the cp-kafka-connect-base docker image.
Add custom configuration for Confluent Platform helm charts, in particular for the cp-kafka-connect component.
Example configurtion for the Landoop InfluxDB Sink Connector which works with the Hello world for Avro demo.

That's a good point @jonathansick. I did some tests here, if
connect.influx.kcql": ""
in the connector configuration, I get the following error message:
org.apache.kafka.common.config.ConfigException: Missing connect.influx.kcql
any other content, say:
connect.influx.kcql": "-"
would give you:
java.lang.IllegalArgumentException: Invalid syntax.failed to parse at line 1 due to mismatched input '-' expecting {INSERT, UPSERT, SELECT}

So it really expects a KCQL routing query in there.
The InfluxDB Skink Connector documentation says:
You can specify multiple KCQL statements separated by ; to have a the connector sink multiple topics.

So I think that seems the way to go. See also the KCQL documentation


Add files of Text Summarization using NLP

Related Issue

I have added files of Text Summarization algorithm using NLP

[x] DevIncept Participant

[x] Contributor

Closes: #16
Describe the changes you've made
I have made a model on Text Summarization using NLP
Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Tested with different paragraphs on Jupyter notebook. No issues whatsoever.
Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly whereever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added test cases that prove my fix is effective or that my feature works.

Hey, Kindly fill the form with your PR link. You had your 1PR merged in this project.  Form is available in slack project channel. @RaghuMadhavTiwari

Filled it. Thanks

Hope you had filled it now, great.


Updates version number in vision docs.

Updates the version number and folder name for vision docs.

@mattip Could you take a look at this?

The <title> also needs to be changed
- <title>torchvision.datasets._optical_flow — Torchvision main documentation</title>
+ <title>torchvision.datasets._optical_flow — Torchvision 0.12 documentation</title>


[CARBONDATA-2390] Refresh Lucene data map for the exists table with data

if the table has old data before the creation of the Lucene data map, we should use Refresh command to build data map manually.

[x] Any interfaces changed?
no

[x] Any backward compatibility impacted?
no

[x] Document update required?
no

[x] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
yes
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[x] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4172/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4497/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4186/

retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4192/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5350/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4223/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5390/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4528/

I will raise another JIRA to re-factory it after this PR.

JIRA: CARBONDATA-2403

LGTM


Update DataGrid.md

Added cross link to Xaml Controls Gallery sample and revised wording of links to WCT source code.

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

File
Status
Preview URL
Details

docs/controls/DataGrid.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

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

File
Status
Preview URL
Details

docs/controls/DataGrid.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

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

File
Status
Preview URL
Details

docs/controls/DataGrid.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@Karl-Bridge-Microsoft sorry for the hassle, would you mind re-basing your one change on the patch branch off of the live branch so we can just merge this to the live docs right away?
Once we hit 6.0, we'll reconcile all the differences.

Docs Build status updates of commit 330a9c8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/DataGrid.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Hi Michael, is this what you needed?

Sorry, missed the @... @michael-hawker, is this what you needed?

@Karl-Bridge-Microsoft it's ok, I merged to master, it'll only update on the site though once 6.0 goes live.
We didn't handle the repo well recently and we have two diverging branches (master and live).  My plan is to rectify everything with the 6.0 release and update the readme with the proper instructions for bug fixes/improvements to the docs vs. new feature docs for the next release. 😊


Cannot sign data with DRep PubKey hash

Steps to reproduce

enable lace cip95 wallet in the browser console

lace = await window.cardano.lace.enable({extensions: [{cip: 95,},],})

get your drep Public Key

await lace.cip95.getPubDRepKey()

obtain the dRep Pub Key Hash

import { blake2bHex } from "blakejs";
const drepPubKeyHash = blake2bHex(Buffer.from(dRepPubKey, "hex"), undefined, 28);

use the pubKey hash to sign the data

await lace.signData('02e2c71f20b18de66fda797c42549d7318a4e6345aefabf4805a5df8', '6869')

There must be a cip95 instance to sign data.
eg:  await lace.cip95.signData('02e2c71f20b18de66fda797c42549d7318a4e6345aefabf4805a5df8', '6869')

Expected

wallet should be able to sign the data with dRep public key as wallets like eternl and yoroi are able to

Observed

ERROR : "Invalid argument 'data': Base address data length should be 57 bytes long."

@reeshavacharya I understand that you have been experiencing some issues and I want to ensure you get the support you need as quickly as possible by using our live chat option.
Support :  Live Support
1.	Access the Live Chat:
•	Navigate to our website’s home page.
•	Look for the chat icon located at the bottom right corner of the screen and start a 💬.

Thanks for the report @reeshavacharya. Is this directly impacting a particular DApp or did you discover this during testing of a library or similar? This will help determine the priority for us to fix, but we'll also happily accept a contribution too.

This is impacting : https://drep.id
i am unable to create an account here.
you may test it on preview: https://preview.drep.id


Contrast issues caused by the light sidebar

Having the sidebar be light-colored while everything else is dark causes some problems:

[ ] When the sidebar is in debug mode, the dropdown to select the debug configuration is unreadable, due to the text being white. I couldn't find any theme property to change this.
[ ] When hovering over notifications, the text continues being white, clashing with the background and making it unreadable. I also couldn't find any theme property to change this.
[ ] Hovering over lines in the debug console makes them unreadable too.
[ ] Probably more stuff?

Most these contrast problems stem from the list.hoverBackground and list.focusBackground properties, which are set to grayish colors that match the hover/focus states for files in Sublime Text's sidebar. VSCode doesn't seem to have properties to override this in other lists, e.g. dropdown fields.


cmd/go: get can't auth via ssh for private repo on non-standard port

Go version
go version go1.23.1 linux/amd64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/sedyh/.cache/go-build'
GOENV='/home/sedyh/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/sedyh/.local/share/go/path/go1.23.1/pkg/mod'
GOPRIVATE='gitlab.private.com'
GONOPROXY='gitlab.private.com'
GONOSUMDB='gitlab.private.com'
GOOS='linux'
GOPATH='/home/sedyh/.local/share/go/path/go1.23.1'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/home/sedyh/.local/share/go/root/go1.23.1'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/home/sedyh/.local/share/go/root/go1.23.1/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.23.1'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/sedyh/.config/go/telemetry'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/home/sedyh/Documents/go/aboba/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4210291150=/tmp/go-build -gno-record-gcc-switches'

What did you do?
Add ssh key to gitlab and check ssh server address:
ssh://git@gitlab.private.com:2224/gamedev/commons.git

Add a new ~/.gitconfig entry:
git config --global url."git@gitlab.private.com:".insteadOf "https://gitlab.private.com/"

Export GOPRIVATE in ~/.zshrc (also could export GONOSUMDB and GONOPROXY, but not necessary).
export GOPRIVATE="gitlab.private.com"

Trying to get package:
go get gitlab.private.com/gamedev/commons

What did you see happen?
go: module gitlab.private.com/gamedev/commons: git ls-remote -q origin in /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60: exit status 128:
<EMAIL_ADDRESS>Permission denied (publickey,password).
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.

What did you expect to see?
Working download.
The key is 100% right, I've rechecked it several times.
It should work because gamedev is userspace, not the subgroup.
I guess its related with ssh server is being on 2224 port and not 22, because it worked on a different gitlab instance with a standard port. I think : in insteadof config should be able to use any port? Also, adding :2224 in exported variables and ~/.gitconfig does not help so I don't know what else can I try to make it work.
Related:
https://github.com/golang/go/issues/36666
https://github.com/golang/go/issues/26232

Related Issues and Documentation

cmd/go: Permission Denied when downloading a private module with go get #52942 (closed)
cmd/go: cannot go get package from private Gitlab repo that is in a subgroup #42632 (closed)
cmd/go: go get fails for long paths #30623 (closed)
cmd/go: "package?go-get=1 404 not found" errors occurs when go get private project in internal private gitlab repository #64223 (closed)
go modules 1.13  go get private repository #36725 (closed)
cmd/go mod falls to download dependencies due to git not using ssh #28653 (closed)
import/path: go get gitlab private repo subgroup project  failed #69135 (closed)
go get fails on private gitlab subgroup #38645 (closed)
cmd/go: 'go build' error from 'git ls-remote' when downloading from private repo #33836 (closed)
cmd/go: "unknown revision" error is misleading if the entire repo can't be found #47028

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

go get -v -x gitlab.private.com/gamedev/commons
# get https://gitlab.private.com/?go-get=1
# get https://gitlab.private.com/gamedev/commons?go-get=1
# get https://gitlab.private.com/gamedev?go-get=1
# get https://gitlab.private.com/gamedev/commons?go-get=1: 200 OK (0.819s)
get "gitlab.private.com/gamedev/commons": found meta tag vcs.metaImport{Prefix:"gitlab.private.com/gamedev/commons", VCS:"git", RepoRoot:"https://gitlab.private.com/gamedev/commons.git"} at //gitlab.private.com/gamedev/commons?go-get=1
mkdir -p /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs # git3 https://gitlab.private.com/gamedev/commons.git
# lock /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60.lock
# /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60 for git3 https://gitlab.private.com/gamedev/commons.git
cd /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60; git ls-remote -q origin
# get https://gitlab.private.com/gamedev?go-get=1: 200 OK (0.955s)
# get https://gitlab.private.com/?go-get=1: 200 OK (1.024s)
0.866s # cd /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60; git ls-remote -q origin
# get https://gitlab.private.com/gamedev/commons.git
# get https://gitlab.private.com/gamedev/commons.git: 200 OK (0.213s)
go: module gitlab.private.com/gamedev/commons: git ls-remote -q origin in /home/sedyh/.local/share/go/path/go1.23.1/pkg/mod/cache/vcs/b58bd48d22cffaaf92db9d87a71861290aa006affbdfbefce917125ccddb3f60: exit status 128:
<EMAIL_ADDRESS>Permission denied (publickey,password).
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.

This does not help:
https://github.com/golang/go/issues/52942#issuecomment-1129799918

you also need ssh config

Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

you also need ssh config
The key is in ssh config, it was added via ssh-add. So it may be a bug.

Well, that was happening because there was two servers on my machine and git was looking on 22 which is tty, and not gitlab ssh server ._.
So I need to specify the port manually:
cat ~/.gitconfig
[user]
        email =<EMAIL_ADDRESS>        name = Artem Sedykh
[url "ssh://git@gitlab.private.com:2224/"]
        insteadOf = https://gitlab.private.com/


Iterable.where() should be generic and return an iterable with the given type

The following code is sound but the analyzer can't tell:
new Directory('packages')
    .listSync()
    .where((FileSystemEntity entity) => entity is Directory)
    .where((Directory dir) { // ERROR HERE
      // ...
    });

If where was defined as Iterable<T> where<T extends E>(...) then the above could work (might even work automatically given type inference?).

cc @bwilkerson

I have had to deal with this issue too, but where is about predicates, not types, how should it behave when the predicate is not a test for a type?

presumably if you don't give the type explicitly, it would just return an Iterable<E>. (Maybe it would have to be annotated with @optionalTypeArgs?)

I'd rather add a new method to do type-filtering, like Iterable<T> Iterable.of<T>().
The where is used for many other things, and doesn't generally need the type parameter, even if it's declares as <T extends E> so we have a good default if it's omitted.
(I don't know what @optionalTypeArgs is, but I can assure you that it won't be in the platform libraries) :)

I'd be totally on board with .of<T> too. :-)
(@optionalTypeArgs lets you enable the require all type annotations lint but still have some type annotations be optional. The platform libraries will presumably have to add it anywhere they declare a generic type where sometimes it makes no sense to give a type. For example, the Flutter framework uses it for GlobalKey, since the type argument only makes sense if you're going to use the currentState getter, but if you're using the key with a stateless widget there's no type that could make sense.)

Just ran into this again. This is definitely going to become a bigger paint point in Dart 2.0.

Is this now solved with Iterable.cast() and Iterable.retype()?

The following works with dart2js --preview-dart-2 2.0.0-dev.47.0 and it might be what you're looking for:
main() {
  Iterable<num> xs = [1, 2.2, 3, 4.2];
  xs.whereType<int>()
      .where((int i) => i > 1)
      .forEach((int i) { print(i); }); // Prints '(3)'.
}

The vm prints UnimplementedError: whereType is not yet supported, but it's coming soon.

Dart 2.0 contains whereType and cast and the lint prefer_iterable_wheretype. I don't think there is anything else to do here.


updates to batch and other codes to accommodate aperture guess, different std/target extraction options, and simple flux calibation

implements mike's intermediate flux calibration; tested on multiple instrument settings

I think this PR is making unnecessary changes to the test_data/ submodule. We don't need/shouldn't have the proc/ data in there.  Please run
git submodule update --init --recursive
to get the test_data/ directory back to it's original state.


Add error handling for empty choices

When the Tty::Prompt#select method is called with an empty list of choices it fails hard causing a stacktrace to be printed. This is fine in theory but means that we need to check if the choice list is empty before doing that.
Error handling for this case has been added to RfcReader::Command.
It also made sense to exit with a non-zero error code in those cases but using Kernel.exit or Kernel.abort here is a bit problematic since it causes the rspec to fail while testing those failures cases.
The compromise is to return an integer exit code from all commands in RfcReader::Command and then just exit with that error code in exe/rfc-reader. This is a bit ugly but seems to work fine.
Rspec has also been cleaned up a bit and new tests were added to cover the most obvious failure cases.

For reference this was the error.
Before
$ rfc-reader search oath2
/Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/tty-prompt-0.23.1/lib/tty/prompt/list.rb:393:in `setup_defaults': undefined method `+' for nil:NilClass (NoMethodError)

          @active = choices.index { |choice| !choice.disabled? } + 1
                                                                 ^
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/tty-prompt-0.23.1/lib/tty/prompt/list.rb:243:in `call'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/tty-prompt-0.23.1/lib/tty/prompt.rb:249:in `invoke_select'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/tty-prompt-0.23.1/lib/tty/prompt.rb:286:in `select'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rfc-reader-1.0.0/lib/rfc_reader/terminal.rb:23:in `choose'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rfc-reader-1.0.0/lib/rfc_reader/command.rb:38:in `search'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.3.2/lib/thor/base.rb:584:in `start'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rfc-reader-1.0.0/exe/rfc-reader:7:in `<top (required)>'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/bin/rfc-reader:25:in `load'
	from /Users/kevinrobell/.asdf/installs/ruby/3.2.2/bin/rfc-reader:25:in `<main>'

After
$ exe/rfc-reader search oath2
No search results for: oath2


Cannot set column names in metrics request

Although I found this specifically in snappi, but @ANISH-GOTTAPU @Rangababu-R we need to understand how we can find such issues.
BGPv4 metrics allows setting device names but not column names.
req := api.NewMetricsRequest()
// works
req.Bgpv4().SetDeviceNames()

// does not work
req.Bgpv4().SetColumnNames()

This shouldn't be something you have to find on an individual basis.
This is a type of generation that isn't complete.  Specifically type: array, items: string, enums: [...]


Bump Dependencies #2816900084

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/2816900084

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Build Topic Cache off MCF file and reenable

To confirm, what this the code that generates the json?

The build_topic_cache_test.py is the script that both validates if its out of date as well as generates it.


Safearea drawing

I wanna draw the safearea which is like this:

I want the bottom become continue with the above view....... but I  can not found anywhere to redraw the safe area............ any suggestions??

@Sh1d0w  You mean set Safearea as child of a Container which has background?

@jinfagang Exactly.


Skin symptoms: Follow up MT1 actions

What
Follow-up on MT1 actions from the meeting on the 08/09/21 to discuss recommendations from skin symptons guidance user research.

long descriptions
missing content
research insights section

Why
So we are collaborating and sharing responsibilities with the community for this work.
Done When

[x] MT1 to provide more info about the value and purpose of long descriptions compared to alt-text, with examples, and an image if possible.
[x] MT1 to draft a para about the best way to label skin tone in alt text, based on unmoderated card sort.
[ ] MT1 to provide:
more detail about survey findings (500 people and how many self-identified as brown or black)
Info about card sort (approx 50 people) for Sara to add.

Done. Iterated prototype in iterateskinsymptoms branch.


Security question: Custom signing keys and multitenant

I am currently implementing an OpenIDConnect-like flow for Microsoft Entra ID. While investigating this, I ran across the claim that Microsoft allows tenant-specific signing keys (link to GitHub comment). This made me think of a possible forgery attack if these keys are also allowed to be uploaded by tenant owners. I suspect that Microsoft does not permit some aspects of this attack to happen but I could not find documentation that explicitly addressed the assumptions behind it. Any pointers would be very helpful.
The concern is that tenant owners can create valid OIDC tokens with claims that they do not actually own, and can thus spoof identities.
Let's say I'm the tenant owner of a tenant with tenant_id=XYZ.

Is it possible to upload a custom signing key so that it appears at https://login.microsoftonline.com/XYZ/discovery/v2.0/keys?

If so, then what prevents the following attack?
I create a custom set of claims to spoof a user from tenant ABC (perhaps I have an expired ID token from them) with the issuer URL as my tenanted issuer URL (https://login.microsoftonline.com/XYZ/discovery/v2.0/keys), update the expiration time, and sign the token with my custom key. Now I can present this token to a multitenant application - the signature will validate and the claims are valid - and I will successfully authenticate as a user from tenant ABC.
Again I believe I'm missing something basic, probably some documentation on what kinds of tenant-specific signing keys are allowed, but feel uncomfortable with using tenanted issuer URLs to validate signatures for multitenant applications until I understand what prevents this forgery. Appreciate any pointers and help!

Found https://github.com/MicrosoftDocs/entra-docs/issues, moving this issue there


[TE] Add buffer  to holiday pipeline

The holiday pipeline adds a buffer of 2 days prior, to the time range it is investigating. This is done because an issue happening today could be because of a holiday that just happened a day or 2 ago.

LGTM


Fix clippy warnings

Now it's a good time to look into what warnings clippy complains; some of them should be fixed, and the other might be ignorable.
full warnings: https://gist.github.com/yutannihilation/acc2fb7f4b18d2aba79cf86ae89e4654#file-clippy_warnings_20210320-txt-L360
I still see these warnings, which I don't know how to fix:
warning: unsafe function's docs miss `# Safety` section
  --> extendr-api/src/ownership.rs:24:1
   |
24 | / pub unsafe fn protect(sexp: SEXP) {
25 | |     let mut own = OWNERSHIP.lock().expect("protect failed");
26 | |     own.protect(sexp);
27 | | }
   | |_^
   |
   = note: `#[warn(clippy::missing_safety_doc)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc

warning: unsafe function's docs miss `# Safety` section
  --> extendr-api/src/ownership.rs:29:1
   |
29 | / pub unsafe fn unprotect(sexp: SEXP) {
30 | |     let mut own = OWNERSHIP.lock().expect("unprotect failed");
31 | |     own.unprotect(sexp);
32 | | }
   | |_^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc

warning: item `robj::Robj` has a public `len` method but no corresponding `is_empty` method
   --> extendr-api/src/robj/mod.rs:146:1
    |
146 | / impl Robj {
147 | |     /// Get a copy of the underlying SEXP.
148 | |     /// Note: this is unsafe.
149 | |     #[doc(hidden)]
...   |
689 | |     }
690 | | }
    | |_^
    |
    = note: `#[warn(clippy::len_without_is_empty)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty

warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name
   --> extendr-api/src/robj/mod.rs:684:21
    |
684 |     pub fn to_owned(self) -> Robj {
    |                     ^^^^
    |
    = note: `#[warn(clippy::wrong_self_convention)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str`
  --> extendr-api/src/wrapper/character.rs:22:5
   |
22 | /     pub fn from_str(val: &str) -> Self {
23 | |         unsafe {
24 | |             Character {
25 | |                 robj: new_owned(str_to_character(val)),
26 | |             }
27 | |         }
28 | |     }
   | |_____^
   |
   = note: `#[warn(clippy::should_implement_trait)]` on by default
   = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait

warning: methods called `new` usually take no self; consider choosing a less ambiguous name
  --> extendr-api/src/wrapper/environment.rs:17:16
   |
17 |     pub fn new(parent: Environment) -> Self {
   |                ^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name
  --> extendr-api/src/wrapper/environment.rs:58:27
   |
58 |     pub fn from_pairs<NV>(parent: Environment, names_and_values: NV) -> Self
   |                           ^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str`
  --> extendr-api/src/wrapper/primitive.rs:30:5
   |
30 | /     pub fn from_str(val: &str) -> Result<Self> {
31 | |         single_threaded(|| unsafe {
32 | |             // Primitives have a special "SYMVALUE" entry in their symbol.
33 | |             let sym = Symbol::from_str(val);
...  |
40 | |         })
41 | |     }
   | |_____^
   |
   = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait

warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str`
  --> extendr-api/src/wrapper/symbol.rs:32:5
   |
32 | /     pub fn from_str(val: &str) -> Self {
33 | |         if val.is_empty() || val.is_na() {
34 | |             unbound_value()
35 | |         } else {
...  |
39 | |         }
40 | |     }
   | |_____^
   |
   = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait

warning: 9 warnings emitted

    Finished dev [unoptimized + debuginfo] target(s) in 0.03s

The lints about the missing # Safety section are about the documentation. Every exported unsafe function should have a section where the safety implications of the function are explained. See here: https://github.com/rust-lang/rust-clippy/blob/0bdaa77d958d91a6d1328b438ca4e15758fbc6ed/clippy_lints/src/doc.rs#L68-L95

Thanks. For safety section, I think I have no enough knowledge to write it and probably it will be a important topic to show the users what to care in terms of safety. Let me file a new issue for it.
I added some more minor fixes for warnings found by rerunning clippy on nightly.

@andy-thomason
Could you take a look when you have time? I think these changes are safe to merge, but, as it's a matter of preferences, you might have some opinion about the coding styles.

Filed separate issues that I probably cannot solve within this pull request.

#197: Safety section
#198: FromStr trait
#199: Environment::new() etc.

I'll merge this after some more days as the changes are minor ones.

I'll add it to my git pre-commit script.
I already have cargo fmt
This will ensure that everything is done prior to pushing.
$ cat .git/hooks/pre-commit
#!/bin/sh

cargo fmt
cargo clippy


[BUG] open /proc/sys/net/netfilter/nf_conntrack_max: permission denied

What did you do

How was the cluster created?

k3d cluster create --kubeconfig-update-default=false

What did you do afterwards?
kubectl get nodes gives the following output (with a noticeable delay):

NAME                       STATUS     ROLES                  AGE   VERSION
k3d-k3s-default-server-0   NotReady   control-plane,master   36s   v1.20.6+k3s1

kubectl get pods gives the following output (with even a longer delay):
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods)

and this:
Error from server (InternalError): an error on the server ("") has prevented the request from succeeding (get pods)

docker logs k3d-k3s-default-server-0 2>&1| tail -10 gives the following output
I0519 23:21:18.750200       7 cache.go:39] Caches are synced for AvailableConditionController controller
I0519 23:21:18.750565       7 shared_informer.go:247] Caches are synced for cluster_authentication_trust_controller
I0519 23:21:18.750789       7 shared_informer.go:247] Caches are synced for crd-autoregister
I0519 23:21:18.751149       7 apf_controller.go:266] Running API Priority and Fairness config worker
I0519 23:21:19.511461       7 node.go:172] Successfully retrieved node IP: <IP_ADDRESS>
I0519 23:21:19.511490       7 server_others.go:143] kube-proxy node IP is an IPv4 address (<IP_ADDRESS>), assume IPv4 operation
I0519 23:21:19.512050       7 server_others.go:186] Using iptables Proxier.
I0519 23:21:19.512221       7 server.go:650] Version: v1.20.6+k3s1
I0519 23:21:19.512534       7 conntrack.go:103] Set sysctl 'net/netfilter/nf_conntrack_max' to 393216
F0519 23:21:19.512556       7 server.go:495] open /proc/sys/net/netfilter/nf_conntrack_max: permission denied

OS operations (e.g. shutdown/reboot)? Not directly, but have been having this situation for a while
What did you expect to happen
I expect the cluster to be created successfully
Which OS & Architecture

Linux, Windows, MacOS / amd64, x86, ...?
Manjaro Linux, output of uname -r: 5.11.19-1-MANJARO

Which version of k3d

output of k3d version:

k3d version v4.4.4
k3s version v1.20.6-k3s1 (default)

Which version of docker

output of docker version and docker info

Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.16.3
 Git commit:        370c28948e
 Built:             Mon Apr 12 14:10:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.3
  Git commit:       8728dd246c
  Built:            Mon Apr 12 14:10:25 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.5.0
  GitCommit:        8c906ff108ac28da23f69cc7b74f8e7a470d1df0.m
 runc:
  Version:          1.0.0-rc94
  GitCommit:        2c7861bc5e1b3e756392236553ec14a78a09f8bf
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-tp-docker)

Server:
 Containers: 2
  Running: 1
  Paused: 0
  Stopped: 1
 Images: 121
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8c906ff108ac28da23f69cc7b74f8e7a470d1df0.m
 runc version: 2c7861bc5e1b3e756392236553ec14a78a09f8bf
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.11.19-1-MANJARO
 Operating System: Manjaro Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 31.06GiB
 Name: wrklenovo
 ID: DLVR:63PR:OMGG:5XIZ:VX4B:GIPR:6NV2:LYLN:WYJN:NWHM:6L44:WRSA
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No kernel memory limit support
WARNING: No oom kill disable support

I am seeing the same issue.
running: k3d cluster create k3s-local -v /dev/mapper:/dev/mapper -a 3 -p 8081:80@loadbalancer
k3d --version
k3d version v4.4.3
k3s version v1.20.6-k3s1 (default)
docker --version
Docker version 20.10.6, build 370c289
cat /etc/os-release
NAME=Fedora
VERSION="34 (Workstation Edition)"
ID=fedora
VERSION_ID=34
VERSION_CODENAME=""
PLATFORM_ID="platform:f34"
PRETTY_NAME="Fedora 34 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:34"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/34/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=34
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=34
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Workstation Edition"
VARIANT_ID=workstation

Hi @farzadmf , thanks for opening this issue!
However, it seems like this is a duplicate of #607 that I've just now created an FAQ entry for: k3d.io/faq/faq/#nodes-fail-to-start-or-get-stuck-in-notready-state-with-log-nf_conntrack_max-permission-denied
Your kernel version didn't match, so I quickly looked up the 5.11.19 release and verified that that "breaking commit" also landed there (if you search for nf_conntrack). I updated the FAQ and the original issue accordingly.
Feel free to reopen, if you think this is something different or you need more support :+1:

I am able to simple use the 1.20.7-k3s1
k3d cluster create k3s-local -v /dev/mapper:/dev/mapper -a 3 -p 8081:80@loadbalancer --image rancher/k3s:v1.20.7-k3s1

Thank you so much @iwilltry42 for the FAQ link; it's working now +1
Also, looking at the FAQ, I see that k3s-io/k3s#3337 has been merged, so I thought it should be fixed in k3d as well given that I'm using the v1.20.6-k3s1 tag of rancher/k3s. Isn't that the case?

@farzadmf , actually the team just had to release a new version after they merged that PR: https://github.com/k3s-io/k3s/releases/tag/v1.20.7%2Bk3s1 (btw: it was backported to some earlier versions as well). You can choose the image that k3d uses via --image rancher/k3s:v1.20.7-k3s1 and the default image will change with the next k3d release to the k3s image that's considered stable by that time.
k3d cluster create
--k3s-server-arg '--kube-proxy-arg=conntrack-max-per-core=0'
--k3s-agent-arg '--kube-proxy-arg=conntrack-max-per-core=0'
--image rancher/k3s:v1.20.7-k3s1
@jtyr , with --image rancher/k3s:v1.20.7-k3s1 you should not need the kube-proxy args anymore. Could you give it a try without those?

I can confirm that I can create cluster with the only additional parameter --image rancher/k3s:v1.20.7-k3s1 (no additional --k3s-server-arg nor --k3s-agent-arg is required anymore).

I just created a cluster w/ the new 1.20.7 k3s, but sending error in the cluster....
k3d cluster create k3s-local -v /dev/mapper:/dev/mapper -a 3 -p 8081:80@loadbalancer --image rancher/k3s:v1.20.7-k3s1
I think this is a upstream k3s issue
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image "docker.io/rancher/pause:3.1": failed to pull image "docker.io/rancher/pause:3.1": failed to pull and unpack image "docker.io/rancher/pause:3.1": failed to resolve reference "docker.io/rancher/pause:3.1": failed to do request: Head "https://registry-1.docker.io/v2/rancher/pause/manifests/3.1": dial tcp: lookup registry-1.docker.io: no such host

@admun this seems to be an issue with the network in your setup.
On Fedora this might be related to firewalld not allowing the docker bridge network.
There's something about this in other issues as well.

I actually has firewalld turned off... will debug further

This also affects the installation of rancher on a single node using docker

@ppicom , can you elaborate? What's up there? Which part of the issue is causing your problem and is it solved with one of the suggestions?

@ppicom @iwilltry42 I had the same issue on a single node docker installation and this was the workaround -> https://github.com/rancher/rancher/issues/33300#issuecomment-869273925


Lit Labs Event Announcement

Announces the lit labs event as a blogpost

This shows up in UTC for me at https://pr979-714c497---lit-dev-5ftespv5na-uc.a.run.app/blog/2022-10-13-lit-labs-event/

Can't repro locally so im just going to drop the component

I just hard coded the time this time around


🦺[Tech Debt] Add  Linter Swift Format

Goal
Describe the work to be done

A small step for man a giant leap for mankind - Armstrong
This code has needed a linter for years but the task was huge.  So many classes fail the linter (the one @kcw-grunt is familiar with).  Maybe fresh eyes can fix the issue.
References
https://github.com/nicklockwood/SwiftFormat
let package = Package(
    name: "BuildTools",
    platforms: [.macOS(.v10_11)],
    dependencies: [
        .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.49.0"),
    ],
    targets: [.target(name: "BuildTools", path: "")]
)

Definition of Done

[ ] Removes headers
[ ] Auto to Xcode format standards (4 tab, \ n only between lines
[ ] Other suggestions

Discussion:
How do we feel about using SwiftLint instead of SwiftFormat?
Why I'm having second second thoughts about SwiftFormat?
I tested out SwiftFormat, I had it setup as a run script. As soon as I built the app, all of the app code was automatically formatted. That is cool, but it also auto-formatted the pods, and removed some self.'s from the code where they were needed, causing the app to fail the build. Now, I'm sure that it can be configured so it does not touch the pods, but I'm just not sure how comfortable I feel about SwiftFormat making changes and rewriting files on it's own.
The second thing is, as much as it's cool to have your code automatically formatted, SwiftLint offers more rules about function, class and file sizes, and it makes the developer think more about the code he is writing and how to optimize it. My thoughts are that the developers working on the app (and with that the app itself) would benefit much more from having to format their code on their own, with the warnings that SwiftLint provides.
I'm open to implementing both solutions, just wanted to discuss it with you @kcw-grunt. What do you think?

Hey @Iferencak this is a great discussion.
To be honest I have been using SwiftFormat to manage keep the code clean and not in Litewallet.
So, if you look at the default config .swiftformat  you can actually turn much of the formatting off and in fact use it as a linter. Please forgive the title of the issue.
For that reason, I was thinking nerfing SwiftFormat to a Linter first gives us more flexibilty
In the notes in SwiftFormat they mention the same thing you mention which is you dont want things auto-formatted.
Will you play with SwiftFormat and its Linter capabilities and we can discuss further next week?

Sure thing! I'll do a deper dive and implement the things I find most usefull for start. Let's expand it from there.

Thanks @Iferencak ...I felt this issue was tricky but in the grand scheme of wrangling the code I felt it was an obvious thing we should address