Move the 'Release Notes' from inside 'eslint/README.md' to a seperate 'eslint/CHANGELOG.md'

Fixes #204

Hi @darkred, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

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

TTYL, MSBOT;

Hi @darkred, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

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

TTYL, MSBOT;

Hi, I am closing and re-opening this PR to bump the CLA bot. Sorry for the inconvenience!

Hi @darkred, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, MSBOT;

Hi @darkred, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, MSBOT;

Thanks.


chore: Add publish = false to helper crates

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1015

Relevant Lines:
1238

💛  - Coveralls


Update readme.md

Added c# Selection sort algorithm example
Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. Your PR title can be also used in here.
Types of changes
What types of changes does your content introduce to this project?
Put an x in the boxes that apply (without "`")

[ ] Proofreading (fix spelling, grammar, punctuation, accuracy) Proofreading
[x ] New content (new section, new readme, etc)
[ ] Modifications (modifying existing content, adding new content)
[ ] Other (please describe)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. Don't hesitate to ask if you're unsure about any of them. We're here to help! This simply reminds us of what we will look for before merging your code.
Note: If you submit code make sure to test it

[ ] Tested any code that was added/modified in this PR
[ ] Added the necessary explanation
[ ] I have added the necessary links in the working section
[ ] Added external links
[ ] Added internal links
[ ] Added images
[ ] Added videos
[ x] Added code snippets

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...
Adding your name to the contributor's list
Comment "@all-contributors please add @your_username for content" to add your name to the contributor's list.
You can change the "content" with any of this
Reviewers:

[ ] @username

If you add code, please ensure that you are not adding any sensitive information like API keys, secrets, passwords, tokens, usernames, or other credentials. Refrain from adding your name, email, or other personal information to the code.

It says that it fails in .py but it is an other c# code

It says that it fails in .py but it is an other c# code

The .py file is for testing the code. But csharp is not supported. But the problem is solved.

Yeah sorry i forgot it i just add it


data: paudelpr1

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Looks good.

@Alkaison please do not approve a Pull Request without making a proper check as this can be confusing to the author - in this case not all the GitHub Actions had passed and the data file name is incorrect.

Sorry @SaraJaoude, I forgot to check that I will make sure it doesn't happen again.


Add support for supporting organizations

Depends on:

https://github.com/Sage-Bionetworks/rocc-schemas/issues/186

Done


Can't use ssh uri to connect to docker host

I'm trying to run Docker on a remote host over ssh using built-in functionality as explained by this post but I get an error instead.
$ DOCKER_HOST=ssh://<remote host> docker container ls
error during connect: Get "http://docker.example.com/v1.24/containers/json": fork/exec /usr/bin/ssh: permission denied

There is a corresponding event for this.
[19294.913073] audit: type=1400 audit(1677267537.941:192): apparmor="DENIED" operation="exec" profile="snap.docker.docker" name="/usr/bin/ssh" pid=7127 comm="docker" requested_mask="x" denied_mask="x" fsuid=1001 ouid=0

I updated /var/lib/snapd/apparmor/profiles/snap.docker.docker with entries for this error and the subsequent ones that occured with the lines below. This is my first time updating an apparmor profile so it might not follow best practices.
/{,usr/}bin/ssh ixr,
@{HOME}/.ssh/** r,
@{HOME}/.ssh/known_hosts w,
/etc/ssh/ssh_config* r,
/etc/gss/mech.d/ r,

I then ran apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.docker.docker to apply it. It seems to work now.

@{HOME}/.ssh/** r,

seems dangerous, as it gives docker binary access to the private ssh key. It would be best if docker would only be allowed to talk to an existing gpg-agent running as the user, without having direct access to private keys that could be in .ssh. With ssh-agent being separately confined. Reading .pub files in .ssh is fine however.
I don't know if there is an existing interface to access ssh client, or if this could be added to docker-support interface itself. This should probably be filed as a request against snapd itself.


Fulfillment helper refactor

Codecov Report
Patch and project coverage have no change.

Comparison is base (8127ca3) 100.00% compared to head (8017ae3) 100.00%.

:exclamation: Current head 8017ae3 differs from pull request most recent head a320a50. Consider uploading reports for the commit a320a50 to get more accurate results

: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
Additional details and impacted files
@@             Coverage Diff             @@
##              main     #1205     +/-   ##
===========================================
  Coverage   100.00%   100.00%
===========================================
  Files           46        21     -25
  Lines         2652      1230   -1422
  Branches       396       220    -176
===========================================
- Hits          2652      1230   -1422

Flag
Coverage Δ

foundry
?

production
?

reference
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 35 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


MH-12705 Fix scheduler hot-deployment

When hot-deploying an updated version of the scheduler service by copying the jar into the deploy-folder, the MessageReceiver gets stuck in an endless loop and eats all the available CPU.
This patch fixes this issue by letting the JMSException break out of the loop instead of simply logging it. This way, the scheduler service can be switched out successfully.
This work is sponsored by SWITCH.

@KatrinIhler conflict on this one.

@gregorydlogan Fixed.


BUG report: JProxy instance passed to JClass constructor not destroyed when out of scope

I've put together a test case which demonstrates an issue with objects not being destroyed when I believe they should be. In particular I have a JProxy instance passed to the constructor of a JClass instance and am not holding a reference to it in the Java code. In this scenario the destructor of the object held by JProxy is never called even though there is no reference to it. If the JProxy object is never passed to the JClass constructor then the object is destroyed as expected.
Hopefully the test case demonstrates the scenario more clearly than the description above :wink:.
In the test cases provided, the test (testNoInterfaceLeak) which simply creates a JProxy object and then deletes it does call __del__ on the object held by the proxy. The the test (testContainerLeak) which does the above as well as calling the JClass constructor does not result in the __del__ method being called.

Thanks for the bug report.
Just a quick check on the report.    Because Java does not use aggressive reference counting, it won’t release a resource at the end of the function call.  For some programs that may be far in the future that the object is finally released.  Are you sure that it not what is happening here.
--Karl

Thanks for the quick response @Thrameos.

 Because Java does not use aggressive reference counting, it won’t release a resource at the end of the function call.  For some programs that may be far in the future that the object is finally released.  Are you sure that it not what is happening here.

This makes sense, thanks for the clarification & detail. The only way I can validate this possibility vs a genuine leak would be to create many such objects and observe that they are (eventually) collected I believe.
So in the following example, using the same test classes as in the PR, I create and destroy 100,000 JProxies and JClasses, each holding a reference to a 1MB Python object (a numpy array):
from os import path
import jpype
import numpy as np

if __name__ == '__main__':
    root = path.dirname(path.abspath(path.dirname(__file__)))
    jpype.addClassPath(path.join(root, 'classes'))
    jvm_path = jpype.getDefaultJVMPath()

    jpype.startJVM(jvm_path, f"-Djava.class.path={jpype.getClassPath()}",
                   convertStrings=True)

    class DestructionTracker:
        del_calls = 0
        init_calls = 0

        def __init__(self, obj):
            self.obj = obj
            DestructionTracker.init_calls += 1
            super().__init__()

        def __del__(self):
            DestructionTracker.del_calls += 1

        def callback(self, message):
            pass

    print()
    for i in range(100000):
        MB = (1024**2 / 8)
        x = np.arange(int(1 * MB), dtype=np.int64)

        interface = jpype.JProxy(
            "jpype.interface_container.TestInterface",
            dict={'callback': DestructionTracker(x).callback})
        interface_container = jpype.JClass(
            "jpype.interface_container.TestInterfaceContainer")(interface)

        del interface, interface_container
        if DestructionTracker.del_calls != 0:
            print(f'We have deleted something: {DestructionTracker.del_calls}')
        else:
            print(f'\rStill no deletion on it {i}', end="")
    print()

On my machine, this is eventually killed by the OS (at around 12,000 iterations ~= 12GB). So from a Python perspective it is hard to consider this not a memory-leak.
If we consider that this is possibly because Java has no idea how big the PyObjects are, and therefore doesn't realise that it must garbage collect the out-of-scope objects, then we should see if having more substantial Java objects triggers the garbage collection.
Indeed, updating the class definition to allocate a 1MB of data per instance:
package jpype.interface_container;

public class TestInterfaceContainer
{
    private int data[];

    public TestInterfaceContainer(TestInterface interface_impl) {
        // Allocate 1MB of 4-bit integers
        this.data = new int[262144];
    }
}

Does result in the above code triggering garbage collection. Interestingly we only ever see 99520 destructions, rather than the full 100000 (reasonable, as we aren't guaranteed to have __del__ called in python).
We can therefore conclude that it is the JNI holding on to the references whilst it decides to trigger GC. Unfortunately it seems to be doing so without the full context of the objects it is holding on to, and if these are large on the Python side, but not on the Java side, it doesn't realise that it needs to trigger GC before the OS kicks in an kills the process.
I can confirm that adding a jpype.java.lang.System.gc() call to trigger the Java GC does address the issue, even for the case with small Java objects. As you might expect, it is also quite expensive and dramatically slows things down (at least by an order of magnitude for this case) if done inside the loop (where all the objects are being created and destroyed).
For this specific case, using weak-refs to the Python objects is possible, but it isn't a general solution. The best I can come up with is to trigger a Java garbage collection when the Python GC runs and when there is a chance that there are some dangling JProxy objects being held in Java:
import gc

class JProxyGC(jpype.JProxy):
    def __del__(self):
        # Since this object is being deleted, we may be able to free some
        # objects in Java too (ref https://github.com/jpype-project/jpype/pull/581).
        if trigger_JNI_gc_once not in gc.callbacks:
            gc.callbacks.append(trigger_JNI_gc_once)

def trigger_JNI_gc_once(phase, info):
    # Trigger the Java garbage collection.
    jpype.java.lang.System.gc()

    if trigger_JNI_gc in gc.callbacks:
        gc.callbacks.remove(trigger_JNI_gc_once)

Doing this does impact performance, in my case around 40% slower, but does mean that the objects are being freed in Java quite quickly after being GCed in Python.
I'm not sure how much JPype can do about this really - fundamentally the problem is that there are (at least) 2 garbage collectors in play (Python & Java) and the Java collector doesn't know how big the PyObjects being referenced are. Thus it does not determine that it needs to trigger a GC before the OS kills the process.
Thoughts? Have I missed an option that would allow me to trigger GC more efficiently such that it catches potentially dangling objects without calling quite as frequently?

This is the same problem that I have been facing in PyPy in wrapping.  There are cases in which the GC of one machine needs to trigger the GC of the other machine.
I have a good pattern for Java to trigger Python to clean up by creating a sentinel object that when removed informs Python that Java has just runs GC and therefore needs memory to be clean up.  I have less experience with a pattern get Python to tell me when it is growing excessively.
Another solution that I can offer it that it is possible to directly talk to the ReferenceQueue in JPype and manually deactivate a Python reference rendering a shared Java/Python object unusable.  You can destroy a reference manually without performing the full garbage collection.  You would just have to use the Proxy return from the call and then tell Java that the object in no longer usable.
For the purposes of language semantics that pattern could be wrapped in a "with" semantics.  (Just shooting from the hip as I have not looked into the technical details)  I also may have to toughen up the checks on the Proxy invoke to make sure it throws and exception and does not die.
with  using(myproxy) as obj:
    java.call(obj)

where using is some function that calls the cast to an object interface type and gets its reference code from the JPype reference queue.  Then you call the methods you want that are guaranteed not to hold a reference.  Then using kills the reference in Java when the __exit__ is hit.
Does this sound like your use case?

Does this sound like your use case?

I think this is my use-case, yes. For this particular scenario (where we can guarantee Java isn't holding on to a reference to the object) passing weak-refs and attaching the non-weak reference to the JProxy object to also work well (given that the problem only occurs when Java is holding on to big Python objects).
I don't think it would address a more general use-case where strong guarantees about references being held in Java aren't able to be made though.

I have a good pattern for Java to trigger Python to clean up by creating a sentinel object that when removed informs Python that Java has just runs GC and therefore needs memory to be clean up. I have less experience with a pattern get Python to tell me when it is growing excessively.

Based on the fact that Python's GC triggers even when there are relatively few objects and/or little memory being held I believe Python's GC is much more active than Java's (disclaimer: I know practically nothing about [Java's] GC). So having a similar sentinel in Python which notifies jpype that GC just took place on the Python side is likely to over-activate the Java GC to the detriment of performance. The best compromise I could find so far was to only trigger the Java GC if a JObject/JProxy object that may hold a Python object was being destroyed (as previously demonstrated).
For the time being I think I'm going to need to handle this with specific logic in my application. Whilst it would be great to find a general solution to the problem, I'm not sure it is logically possible to do so.
How would you like to proceed with this MR/issue?

My current plan is to proceed with a 0.7.2 release and then to promote this issue for targeted for the following release.  I have two potentially ways to fix this in general.  We can either trip the Java GC or I can make a proxy with a specific weak reference semantics.  I will likely also try the controlled scope operator using the with for when greater control is required.
That should hopefully cover all of the major cases.  Tripping the Java GC is the hardest as I would likely need to either monkey patch or create a monitoring thread.   There is really no way in Python to determine how big an object nor is there a clear way in Java to determine if a proxy was used and discarded and is just waiting for collection.  The other snag I see is I will likely need cooperation from process allocator to tell me when new pages are requested if I want to take a more aggressive approach.   C libraries are not great on giving event type triggers.
For now I suggest splitting your object into two pieces.  The functional piece has the Proxy on it with methods to access the data and holds a weak reference in Python to the data piece.  You can trash the data piece whenever you need and let Java clean up the proxies as needed which cost a lot less.
Java's concept of GC is block and sweep.  As it operates it pushed builds up more and more junk.  When it would trigger a new memory allocation of another large block it marks all active objects by tracing through the stack and the objects that pointed to by objects on the stack.  Anything unreached at that time gets marked as free.  I believe the growth rate on the gc triggers change as the program grows.  Something that is small and comes up mostly finding free memory will keep tripping the gc at about the same point, while programs that have a lot of data will trip it less often.  I have heard GC described as messing up your house too much, building another one next door, moving your stuff over, and then burning the old house down.  But I think that description fits C++ like GCs and not Java.   In Java it is very easy to keep track of what is an object and what is data,    The problem with the Java approach being it only knows about its needs and nothing about the rest of the process.  If the Java section is under control but the process is growing without control it can't see it.
I am sure others have faced the same problem, and I just have to research to find a workable solution.  On the other hand a few times I have discovered like the "Java checks the stackframe for permission" or caller-sensitive methods that people didn't think things through as well as one would hope and then I have to try to get a ticket in.

This has been demoted to an issue for now.  Will deal with in post release.  Thanks for the detailed report.  I will hopefully handle this issue shortly.

@pelson For reference the following command links the Python GC to call the Java GC.
import gc
def callHook(*args):
    jpype.java.lang.System.gc()
gc.callbacks.append(callHook)

A proper solution would have a sentinel object in Java that detects when Java runs to trigger Python and use the callback in Python GC to detect when Python has run.  Obviously we need a lock to prevent double triggering the one which started the process.  I will see if I can get this setup.

@pelson I have made some progress on this and have managed to get the Python and Java GC to call each other in a somewhat ping/pong fashion.  But the Python GC is way too aggressive about triggering as it will trigger for anything at all even if there is no memory allocation increase which will likely hurt performance pretty bad.
There appears to  be no general method of determining how much memory is currently getting pooled (plus the double complexity that numpy may be allocating raw pages itself).  I am going to try to install trace hooks to see if I can capture the state of memory so that I don't trip the Java gc when there is no need.

Getting numpy to play nice with Java looks pretty hopeless.  As it currently stands numpy allocates its memory outside of the standard Python memory space.  It does inform Python of the memory allocation with PyTraceMalloc_Track/Untrack, but neither of those methods have the ability to add a callback hook so that anything can monitor the space.
Thus the only way to know about whether it is good time to call the Java gc is to try to find the process memory, but that means dealing with the fact that both Python and Java live in the same process and there is no system level method to find out how much has been allocated of each type.
I could maybe cut this down a bit in complexity if I can use the Python resource module, but it isn't available on windows.  So either way this likely going to be at system level.
If I had access to Python core developers I could add a callback hook in Python so that I could immediately get the state of Python memory by simply counting up every time there is a Track call and counting down on an Untrack call.  But unfortunately, I never get a response on the forums and everyone recommends trying to contact the core email list directly.
The other option would be to use psutil though I am not sure how good of an option it is to depend on a third party library.

Yep remains hopeless.  Numpy does give a hook that one could use to watch memory allocations.
BUT they didn't think to call the hook before freeing the memory.  As the size of the memory to be freed is in the block being freed and it can't be accessed after memory is released, there is effectively no way to get a bookkeeping of the amount of memory that numpy is currently holding.  (unless we build a giant table of all the allocated memory and its size so we can look it up later, but that would be a huge overhead in any reasonable program.)
NPY_NO_EXPORT void
PyDataMem_FREE(void *ptr)
{
    PyTraceMalloc_Untrack(NPY_TRACE_DOMAIN, (npy_uintp)ptr);
    free(ptr);  <== free the memory here
    if (_PyDataMem_eventhook != NULL) {  <== Call the hook here
        NPY_ALLOW_C_API_DEF
        NPY_ALLOW_C_API
        if (_PyDataMem_eventhook != NULL) {
            (*_PyDataMem_eventhook)(ptr, NULL, 0,
                                    _PyDataMem_eventhook_user_data);
        }
        NPY_DISABLE_C_API
    }
}

Wow. Thanks for all of the investigation so far. It is a really gnarly issue, and clearly there isn't a simple solution to it (even if all of the hooks discussed did exist!).

If I had access to Python core developers I could add a callback hook

Do the new audit hooks from PEP578 help with this? https://www.python.org/dev/peps/pep-0578

BUT they didn't think to call the hook before freeing the memory.

I would engage with the numpy developers (via the mailinglist) to find out if that was a genuine intention or just that nobody yet needed anything else.

But the Python GC is way too aggressive about triggering as it will trigger for anything at all even if there is no memory allocation

I didn't measure it, but perhaps binding a Java GC call to the destruction of an object in one of the higher generations of the Python GC (i.e. moving it to the last one) might be a way to dampen the aggressive garbage collection calls to Java.

I gave it a good shot at trying to link them in #588.  Obviously there are other strategies we can use to tune it.   Given my only handle is the maximum total process memory rather than how much memory is in use by Python it doesn't always do a good job.  But it does seem to pass the test of keeping your test code under control both when allocating a Mb and a kb at a time, so it should be a step in the right direction.  Perhaps we can even get PyPy working with such a strategy.


Fix "fix" for negative literals > 32 bits

Overflow of 32-bit Int would cause any negative literal value equal to
-(2^(width % 32 - 1)) where width >= 32 to be incorrectly inverted.
From the added tests:
z <= asSInt(and(x, SInt<34>(-2)))

Would compile to
assign z = $signed(x) & 34'sh2;

This PR fixes it to the correct:
assign z = $signed(x) & -34'sh2;

This bug was introduced in https://github.com/freechipsproject/firrtl/pull/1374 but would only manifest as an assertion failure. https://github.com/freechipsproject/firrtl/pull/1782 exposed the behavior to all ops (not just addition) in 1.4. Both of those PRs are present on 1.2.x, so this bugfix needs to be backported.
Note, that https://github.com/freechipsproject/firrtl/pull/1782 causing the inversion to occur for all ops (not just addition) is a little weird, but technically correct. Inverting the max negative literal for a given width overflows back to the negative literal, but I wouldn't be surprised if this is a lint warning. In any case, this PR does not fix that (potential) issue, it only fixes the bug.
Please merge commit this to master and then to 1.4.x, I intend to use this commit in the rocket-chip bump if possible.
Contributor Checklist

[NA] Did you add Scaladoc to every public function/method?
[NA] Did you update the FIRRTL spec to include every new feature/behavior?
[x] Did you add at least one test demonstrating the PR?
[x] Did you delete any extraneous printlns/debugging code?
[x] Did you specify the type of improvement?
[x] Did you state the API impact?
[x] Did you specify the code generation impact?
[x] Did you request a desired merge strategy?
[x] Did you add text to be included in the Release Notes for this change?

Type of Improvement

bug fix

API Impact
No impact
Backend Code Generation Impact
No impact
Desired Merge Strategy

Rebase

Release Notes
Fix rare bug where performing an op with a negative literal value equal to -(2^(width % 32 - 1)) where width >= 32 would be emitted incorrectly
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (1.2.x, 1.3.0, 1.4.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

looks at #1374 gosh darn. Good catch @aswaterman and @jackkoenig

Gotta type “BigInt” three times on the same line for it to take effect, kind of like saying Beetlejuice.


Is there anyway to refresh Lsp?

I use neovim as my editor, but a lot of my C#/dotnet work is done with winforms, so I use Visual Studio purely for its winforms designer. But if make any changes there the roslyn lsp in neovim is unaware. So I have to stop the Lsp manually. Close the file then reopen it.
I was curious if it would be possible to add a custom command that can be ran to do this? running LspStop and 'LspStart' doesn't seem to do anything either.

Yeah that is kind of annoying, because it isn't registered in nvim-lspconfig, it doesn't really know of roslyn. I know there is plans to upstream some of this, but it doesn't seem like it is ready in the near future.
I have actually thought of implementing this as I have had a request for the same thing from one colleague. I will look into implementing it👍

@seblj Awesome! Well, I look forward to it if you get the chance! This plugin has made working with C# so easy, so I really appreciate the work put into it!

@seblj Yeah this is perfect! Thank you!


Add Ruby interfaces to all classes

Desired behavior

We should complete our Ruby scripting support for all classes. Now that we have SWIG -based Python interfaces for all classes, it should be quick to migrate them to Ruby.
We should also add tests for all classes.
Alternatives considered

Abandoning Ruby in favor of Python?
Implementation suggestion

It should be quick to port the existing SWIG files to Ruby. Adding tests will take longer.
The files live here: https://github.com/ignitionrobotics/ign-math/tree/ign-math6/src/ruby
Here's the status:

[x] Angle
[ ] AxisAlignedBox
[ ] Box
[ ] Color
[ ] Cylinder
[ ] DiffDriveOdometry
[ ] Filter
[ ] Frustum
[x]  GaussMarkovProcess
[ ] graph/Edge
[ ] graph/GraphAlgorithms
[ ] graph/Graph
[ ] graph/Vertex
[ ] Helpers
[ ] Inertial
[ ] Kmeans
[ ] Line2
[ ] Line3
[ ] MassMatrix3
[ ] Material
[ ] MaterialType
[x] Matrix3
[ ] Matrix4
[ ] MovingWindowFilter
[ ] OrientedBox
[ ] PID
[ ] Plane
[ ] Pose3
[ ] Quaternion
[x] Rand
[ ] RollingMean
[ ] RotationSpline
[ ] SemanticVersion
[ ] SignalStats
[ ] Sphere
[ ] SphericalCoordiantes
[ ] Spline
[ ] Stopwatch
[ ] Temperature
[ ] Triangle3
[ ] Triangle
[x] Vector2
[x] Vector3
[ ] Vector3Stats
[x] Vector4

Additional context

This was broken off #101.

We're moving all the SWIG files that we had working for Python to the Ruby directory in https://github.com/ignitionrobotics/ign-math/pull/354, but we're not enabling them.
Now the work on this issue should consist of:

Adding each file to:
https://github.com/ignitionrobotics/ign-math/blob/5fa6f7858a873448c9fa09be23dafc99f0f8863d/src/ruby/CMakeLists.txt#L16-L23

Porting the existing test from C++ / Python to Ruby

Making any necessary adjustments to the SWIG file

I would be in favor of abandoning Ruby in favor of Python.


Phaser on iOS (sometimes) stay paused

This issue may be similar to https://github.com/photonstorm/phaser-ce/issues/663.
Problem is, that when you click icon for browsing tabs (top right corner - see image below) and immediately click on tab with game, then game stays paused=true and looks like frozen. All buttons work, but game stays paused. It looks like resume is not called.

It does not happen always. Usually, it happens when you just opend browser and loaded game. I shot video of what happens and it is in .zip below (my iOS version is 12.4.6, I also tried Phaser engine version you attached to case https://github.com/photonstorm/phaser-ce/issues/665, but without success):
paused.zip
As a fix I subscribed to onPause signal in Boot state:
game.onPause.add(this.onPauseHandler, this);

onPauseHandler() looks like this:
    onPauseHandler: function() {
        if (game.device.iOS) {
            this.addMyCanvasListener();
        }
    },

and finally addMyCanvasListener() like this:
    addMyCanvasListener: function() {
        var can = document.getElementById('game-container');
        can.addEventListener('touchstart', function _listener() {
            game.paused = false;
            can.removeEventListener('touchstart', _listener, false);
        }, false);
    },

With this setup I can unpause game if it is still paused after selecting tab.

You could try logging; see notes in https://photonstorm.github.io/phaser-ce/Phaser.Stage.html#visibilityChange.

Yes, I did so... but that is the problem - only blur event is fired when you click that browser button. It pauses game, but there is no other event when you return. So game stays paused. As I wrote, it does not happen always, but I can simulate it now every time if I fresh open browser and load game.
While testing, I created simple on-screen console, so I can see console output directly on screen. Here is small part of it:

and I noticed, that focus event is fired, when I touch some of its elements. So: I run the game, pres tab button in browser, return to game and game is paused (I can see only blur event in console). I can wait any time, game does not unpause. I can touch game canvas and nothing happens. But if I touch any button from my on-screen console then it logs focus event and game unpauses.
Seeing this, I came up with that workaround above - if other HTML elements work and send their events, I can attach touchstart event directly to canvas to unpause game (it works, but focus or any other event is not sent).
This issue and other (https://github.com/photonstorm/phaser-ce/issues/667) I sent recently comes from fact, that I am fixing for sponsor larger number of games made by various developers that failed in testing. Sponsor sent me tester logs to see what was wrong. I am doing lot of testing (including engine debugging) before posting as issue here. I think, that this one is something ugly with browser, not Phaser, but I had to solve it somehow :-) - fortunately, that workaround works for now.


[Bug]: job-scheduler failed to build for 1.3.0

Describe the bug
Check this build errors

2022-03-08 01:40:13 ERROR    Error building job-scheduler, retry with: ./build.sh manifests/1.3.0/opensearch-1.3.0.yml --component job-scheduler
Traceback (most recent call last):
  File "./src/run_build.py", line 79, in <module>
    sys.exit(main())
  File "./src/run_build.py", line 67, in main
    builder.build(build_recorder)
  File "/var/jenkins/workspace/distribution-build-opensearch/src/build_workflow/builder_from_source.py", line 54, in build
    self.git_repo.execute(build_command)
  File "/var/jenkins/workspace/distribution-build-opensearch/src/git/git_repository.py", line 83, in execute
    subprocess.check_call(command, cwd=cwd, shell=True)
  File "/usr/local/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'bash /tmp/tmpode0uf79/job-scheduler/scripts/build.sh -v 1.3.0 -p linux -a x64 -s false -o builds' returned non-zero exit status 1.

To reproduce
Check out the repo locally and run build against job-scheduler

[opensearch@66605b868bfe opensearch-build]$ ./build.sh manifests/1.3.0/opensearch-1.3.0.yml --component job-scheduler
Installing dependencies in . ...
Installing dependencies from Pipfile.lock (16e10a)...
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Running ./src/run_build.py manifests/1.3.0/opensearch-1.3.0.yml --component job-scheduler ...
2022-03-08 01:50:35 INFO     Building in /tmp/tmpnv1sbnat
2022-03-08 01:50:35 INFO     Building OpenSearch (x64) into /usr/share/opensearch/projects/opensearch-build/builds/opensearch
2022-03-08 01:50:35 INFO     Skipping OpenSearch
2022-03-08 01:50:35 INFO     Skipping common-utils
2022-03-08 01:50:35 INFO     Building job-scheduler
2022-03-08 01:50:35 INFO     Executing "git init" in /tmp/tmpnv1sbnat/job-scheduler
2022-03-08 01:50:35 INFO     Executing "git remote add origin https://github.com/opensearch-project/job-scheduler.git" in /tmp/tmpnv1sbnat/job-scheduler
2022-03-08 01:50:35 INFO     Executing "git fetch --depth 1 origin main" in /tmp/tmpnv1sbnat/job-scheduler
2022-03-08 01:50:36 INFO     Executing "git checkout FETCH_HEAD" in /tmp/tmpnv1sbnat/job-scheduler
2022-03-08 01:50:36 INFO     Executing "git rev-parse HEAD" in /tmp/tmpnv1sbnat/job-scheduler
2022-03-08 01:50:36 INFO     Checked out https://github.com/opensearch-project/job-scheduler.git@main into /tmp/tmpnv1sbnat/job-scheduler at ec916373d2a20c268ff8e49a82bbadfbbbfb5c5b
2022-03-08 01:50:36 INFO     Executing "bash /tmp/tmpnv1sbnat/job-scheduler/scripts/build.sh -v 1.3.0 -p linux -a x64 -s false -o builds" in /tmp/tmpnv1sbnat/job-scheduler
+ getopts :h:v:s:o:p:a: arg
+ case $arg in
+ VERSION=1.3.0
+ getopts :h:v:s:o:p:a: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a: arg
+ case $arg in
+ SNAPSHOT=false
+ getopts :h:v:s:o:p:a: arg
+ case $arg in
+ OUTPUT=builds
+ getopts :h:v:s:o:p:a: arg
+ '[' -z 1.3.0 ']'
+ [[ false == \t\r\u\e ]]
+ '[' -z builds ']'
+ ./gradlew publishToMavenLocal -Dopensearch.version=1.3.0 -Dbuild.snapshot=false

FAILURE: Build failed with an exception.

* Where:
Build file '/tmp/tmpnv1sbnat/job-scheduler/build.gradle' line: 28

* What went wrong:
A problem occurred evaluating root project 'opensearch-job-scheduler'.
> Failed to apply plugin class 'org.opensearch.gradle.info.GlobalBuildInfoPlugin'.
   > Could not create plugin of type 'GlobalBuildInfoPlugin'.
      > Could not generate a decorated class for type GlobalBuildInfoPlugin.
         > org/gradle/jvm/toolchain/JavaInstallation

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 565ms
2022-03-08 01:50:37 ERROR    Error building job-scheduler, retry with: ./build.sh manifests/1.3.0/opensearch-1.3.0.yml --component job-scheduler
Traceback (most recent call last):
  File "./src/run_build.py", line 79, in <module>
    sys.exit(main())
  File "./src/run_build.py", line 67, in main
    builder.build(build_recorder)
  File "/usr/share/opensearch/projects/opensearch-build/src/build_workflow/builder_from_source.py", line 54, in build
    self.git_repo.execute(build_command)
  File "/usr/share/opensearch/projects/opensearch-build/src/git/git_repository.py", line 83, in execute
    subprocess.check_call(command, cwd=cwd, shell=True)
  File "/usr/local/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'bash /tmp/tmpnv1sbnat/job-scheduler/scripts/build.sh -v 1.3.0 -p linux -a x64 -s false -o builds' returned non-zero exit status 1.

Expected behavior
No response
Screenshots
If applicable, add screenshots to help explain your problem.
Host / Environment
No response
Additional context
No response
Relevant log output
No response

Closed via https://github.com/opensearch-project/opensearch-build/pull/1717

@gaiksaya I just pulled in latest changes in the build repo to my local branch and can build 1.3.0 successfully

BUILD SUCCESSFUL in 27s
10 actionable tasks: 10 executed
++ find . -path '*build/distributions/*.zip'
+ zipPath=./build/distributions/opensearch-observability-<IP_ADDRESS>.zip
++ dirname ./build/distributions/opensearch-observability-<IP_ADDRESS>.zip
+ distributions=./build/distributions
+ echo 'COPY ./build/distributions/*.zip'
COPY ./build/distributions/*.zip
+ mkdir -p builds/plugins
+ cp ./build/distributions/opensearch-observability-<IP_ADDRESS>.zip ./builds/plugins
2022-03-08 18:36:12 INFO     Recording plugins artifact for opensearch-observability: plugins/opensearch-observability-<IP_ADDRESS>.zip (from /tmp/tmpka7tsntu/opensearch-observability/opensearch-observability/builds/plugins/opensearch-observability-<IP_ADDRESS>.zip)
2022-03-08 18:36:12 INFO     Checked /tmp/tmpka7tsntu/opensearch-observability/opensearch-observability/builds/plugins/opensearch-observability-<IP_ADDRESS>.zip (<IP_ADDRESS>)
2022-03-08 18:36:13 INFO     Created build manifest /usr/share/opensearch/workspace/opensearch-build/builds/opensearch/manifest.yml
2022-03-08 18:36:15 INFO     Done.

When you build, do you have the latest change from @dbbaughe https://github.com/opensearch-project/opensearch-build/pull/1717

The most recent build at 8:43AM failed but recent one at 10:37AM passed. Looks good now.
Thanks @tianleh


doc: replace a broken example with a working one

the quantization example in readme fails to run:
    return model_class.from_pretrained(
  File "/env/lib/conda/stas-inference/lib/python3.10/site-packages/transformers/modeling_utils.py", line 3477, in from_pretrained
    raise EnvironmentError(
OSError: Error no file named model.safetensors found in directory /data/huggingface/hub/models--lmsys--vicuna-7b-v1.5/snapshots/3321f76e3f527bd14065daf69dad9344000a201d.

it looks like datasets is looking for safetensors files and https://huggingface.co/lmsys/vicuna-7b-v1.5/tree/main doesn't have them.
so I replaced it with a working example from https://github.com/casper-hansen/AutoAWQ/blob/6f14fc7436d9a3fb5fc69299e4eb37db4ee9c891/examples/quantize.py

I'd also add device_map="auto" and replace the awkward: **{"low_cpu_mem_usage": True, "use_cache": False} with a much easier to read/edit:
model = AutoAWQForCausalLM.from_pretrained(model_path, low_cpu_mem_usage=True, use_cache=False, device_map="auto")

w/o device_map="auto" I get:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat2 in method wrapper_CUDA_bmm)

for other models I tried to quantize


solve the compact vs fast problem

With elastic type.

Model or Ideal as replacement for Archetype

Or out-lier: forecast

done


Add support for Apache client v5

Adds support for Apache client v5. Users can simply add the Apache client dependency they need and use the class according to that version to get their requests signed.
Adjusts the checkstyle so it only run in a profile. Changes the style of the import of dependencies to be consistent with the one used by the AWS SDK.
Resolves: https://github.com/acm19/aws-request-signing-apache-interceptor/issues/77
Pull Request Checklist:

[x] I have added a contribution line at the top of CHANGELOG.md.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Document this in README?

@dblock sure, I'll create a PR for this later.


Nordic localization for Logitech G910v2

Related to https://github.com/antonpup/Aurora/issues/523
I've added required "Nordic" localization files (Should cover Denmark, Sweden and Norway), and verified that all keys now light up as clicked using a simple Interactive Layer with Key Fade events on the Logitech G910v2.
Remaining issues
Only troublesome keys left are RETURN/ENTER which always lights up on the primary board, even if clicked on the numpad, but I read somewhere that this was not something that could be fixed, due to both keys being reported as the same keycode value.
A similar issue affects "minus" on the Nordic layout -- the key just to the left of the RSHIFT button. This is a minus symbol on Nordic layouts, and has the same effect as clicking minus on the numpad.

Thank you for your contribution. At a first glance, it looks well implemented. But unfortunately, I am busy, and will only be able to slowly begin working on Aurora sometime in next two weeks. So, my apologies in advance for a delay.

No rush, just happy to contribute with localization.
By the way - I feel there is missing some similar localization in "ToLogitechBitmap.ToLogitechBitmap", but the code there wasn't in use by the single use-case (key highlight) I knew how to test.
If you let me know how to test out that class as well, I can do a similar update there.

Spotted a flaw that the - key right next to . does not activate the right key fix for this is to change line 247: return DeviceKeys.NUM_MINUS; to return DeviceKeys.FORWARD_SLASH;

You're right - the OemMinus key next to . did not highlight, but instead the minus on numpad did. I thought that was just due to same keycode being sent (as with the 2 Enter keys sending same keycode), but it wasn't. Thanks.

This is specifically for G910v2? Would this be functional with G910v1 or any other Logitech keyboard for that matter?
I would have to also make these changes for other supported brands.

No I don't think this is specific to any one keyboard -- the title was just from me discovering the issue on this board. After investigating and performing the code changes, I've not had to change any Logitech-specific files at all.
Only generic files such as KeyUtils and KeyboardLayoutManager.
I've only tested these changes on a Logitech G910v2 (only Aurora-compatible board I own), but I expect these changes to be appliccable to any Nordic-layout board.

I see that this PR is from master to master. Could you please redo it for dev branch, so I can include it in development.

Yes, sure - closing this PR


create_standalone_context() fails in moderngl5

I just upgraded from release 4.2.2 to 5.0.4 and the standalone context creation is broken for me. I reverted to 4.2.2, where it works. Thanks for help in advance.
Ubuntu 16.04 64bit
Python 3.6.4
Input
import moderngl
ctx = moderngl.create_standalone_context()

Output
   3120     ctx = Context.__new__(Context)
-> 3121     ctx.mglo, ctx.version_code = mgl.create_standalone_context(settings)
   3122     ctx._screen = None
   3123     ctx.fbo = None

Error: cannot choose a visual info

Thank you for the report.
There were 3 implementation for standalone context on linux (X11 EGL OsMesa) unfortunately only X11 supports OpenGL 3.3+ so I restored the original implementation.
python -m pip install "ModernGL>=5.0.5"

Thanks for the quick feedback, but the issue is still there for me. Any suggestion? Thanks.
X.Org version: 1.18.4
OpenGL version string: 4.6.0 NVIDIA 390.30
Input
import moderngl
print(moderngl.__version__)
ctx = moderngl.create_standalone_context()

Output
5.0.5
---------------------------------------------------------------------------
Error                                     Traceback (most recent call last)
...
   3120     ctx = Context.__new__(Context)
-> 3121     ctx.mglo, ctx.version_code = mgl.create_standalone_context(settings)
   3122     ctx._screen = None
   3123     ctx.fbo = None

Error: cannot choose a visual info

This is the only remarkable difference:  https://github.com/cprogrammer1994/ModernGL/commit/f34af6af40a92f90fe790db004f1981bd8f1a97e
please test with the master now:
python -m pip install https://github.com/cprogrammer1994/ModernGL/archive/master.zip

The problem does not occure on my computer. Please test it. It will help me a lot.

Now it works! Thanks!

This fix will be part of ModernGL 5.0.6 (will release today)


Allow users to post an event to their Facebook page

Allow users to share an event to their facebook page via the event details page. Add button / brand

Testing


Only use one 'int test image' representing the full Gradle distribution

I think this will have a very negative effect on feedback time. I would look at simple options for incrementing towards a good solution rather than regressing back to where we were.

To be solved differently: https://github.com/gradle/gradle-private/issues/1121#issuecomment-570731304


Add comment to list process

#943  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Clicking a card in the strip centers it unexpectedly

This behavior might have been there for a long time and I haven't noticed it?
If you are on a list of cards, and scroll down a bit (so you're not at the top) and then click on a card, after  a second or two, that card will be centered in the vertical height of the drawer.
That makes sense, but only if you didn't select a card by clicking, if you did, it kind of jumps around beneath your cursor (especially because it happens a few seconds after you clicked, oddly).
Trying to find a bisect for this, I got back as far as 6b4699ac02c0d74d672bae06fec2af7d0268078c and it was still happening (going back earlier doesn't work because there's incompatible data model things)

_scrollHighlightedThumbnailIntoView is called twice (as expected). The first time, it is called with _highlightedViaClick=true, but at the end of the handler is lowers that flag, so it means the second time, it will center... even though we're still being driven off something that was powered via click.


Give transformations access to key value store (Redis)

Problem
What problem this feature is going to solve. Why this problem is important
Jitsu does not support session id generation on the server side/client side. As of now, we are doing it on a client side, but when using a strict mode, we cannot send the session id from the client side. Doing it on a server side would ease the workflow for us and other Jitsu users who are building their products on top of Jitsu.
Solution
Proposed solution: architecture, implementation details etc
For the session ID feature on the server side, the finger-printing mechanism Jitsu is using for anonymous id can be used for generating a unique session ID. The session ID should be stored in Redis cache set with TTL 30 minutes. Here is how the flow would be like:

For the server side configuration, Jitsu can provide option to create session on server side using a boolean flag. Based on the flag value, the session process will work.
@vklimontovich @absorbb

1

Thank you for reporting this! We should implement this via plugins, it doesn't make sense to add this logic to a core processing pipeline. Here's a architecture:
Give transforms access to Redis
The code could look like:
const userFingerprint = $.user_agent + $.ip + ...;
let sessionId = $kv.get(`session_${userFingerprint}`);
if (!sessionId) {
    sessionId = Math.random().toString(36).substring(2)
    $kv.set(`session_${userFingerprint}`, sessionId, {ttlMs: 1000*60*30})
}
$.sessionId = sessionId;
return $;

$kv global should be an instance of:
export type KeyValue = {
  get(key: string): any
  set(key: string, value: any, opts?: {ttlMs?: number})
}

We should think through how it should work in multi-tenant environment to avoid key collisions. Probably each destination should have an option keyPrefix, which we should set to projectId  for multitenant installations

TWIMC, this feature will be in beta around 31st of Aug 2020


Source code generator is not working properly with default values

I have an AVRO schema which works with Maven, but with the Gradle AVRO plugin I get this error:
> Could not compile schema definition files:
  * src/main/resources/schema/avro/SomeFile.avsc: "map" is not a defined name. The type of the "enabled" field must be a defined name or a {"type": ...} expression.

This is how enabled looks like in my .avsc file (I only copied the relevant parts):
{
  "name": "SomeType",
  "type": "record",
  "fields": [
    {
      "name": "somename",
      "type": {
        "type": "record",
        "name": "SomeName",
        "fields": [
          {
            "name": "enabled",
            "type": {
              "type": "map",
              "values": "boolean"
            },
            "default": "{}"
          },
        ]
      }
    }
  ]
}

What could be the problem?

I'm not sure what to tell you.  This schema file appears to work in my test project when I eliminate the stray comma after the inner fields declaration.  What version of the plugin, Gradle, and Java are you using?
{
  "name": "SomeType",
  "type": "record",
  "fields": [
    {
      "name": "somename",
      "type": {
        "type": "record",
        "name": "SomeName",
        "fields": [
          {
            "name": "enabled",
            "type": {
              "type": "map",
              "values": "boolean"
            },
            "default": "{}"
          }
        ]
      }
    }
  ]
}

Sorry the stray comma is there because there are multiple fields after it I just removed them.
I'm using Kotlin (shouldn't be relevant), Gradle 4.6 and
"com.commercehub.gradle.plugin:gradle-avro-plugin:0.16.0"

Note that I use the com.commercehub.gradle.plugin.avro-base plugin as was suggested in the documentation because I want to set the source/target directories:
task generateAvro(type: GenerateAvroJavaTask) {
    createSetters = true
    fieldVisibility = "PRIVATE"
    outputCharacterEncoding = "UTF-8"
    stringType = "String"
    validateDefaults = true
    source("src/main/resources/schema/avro")
    outputDir = file(generatedSourceDir)
}

compileJava.source(generateAvro.outputs)

No problem with the stray comma, totally understandable.
When I update my test project to be more similar to that, I get an error Invalid default for field enabled: "{}" not a {"type":"map","values":"boolean"}, which is related to the validateDefaults setting being enabled.  I think this may be a feature that the Maven plugin doesn't have, so that would explain a different behavior.
I think it's possible that the problem is that a default empty map should be an empty JSON object, rather than a quoted string.
{
  "name": "SomeType",
  "type": "record",
  "fields": [
    {
      "name": "somename",
      "type": {
        "type": "record",
        "name": "SomeName",
        "fields": [
          {
            "name": "enabled",
            "type": {
              "type": "map",
              "values": "boolean"
            },
            "default": {}
          }
        ]
      }
    }
  ]
}

Great thanks, this was the solution! Should I close this?

I'm glad I could be of help.  I'll close out the issue.


convert onnx to engine failed

First, I run export.py get yolov8s.onnx, then I run build.py, got error:

[TensorRT] ERROR: MatMul_276: last dimension of input0 = 16 and second to last dimension of input1 = 1 but must match.

Then I try to use your yolov8s_nms.onnx, got other error:

ERROR: 3: getPluginCreator could not find plugin: EfficientNMS_TRT version: 1

First, I run export.py get yolov8s.onnx, then I run build.py, got error:

[TensorRT] ERROR: MatMul_276: last dimension of input0 = 16 and second to last dimension of input1 = 1 but must match.

Then I try to use your yolov8s_nms.onnx, got other error:

ERROR: 3: getPluginCreator could not find plugin: EfficientNMS_TRT version: 1
What is your tensorrt version？
This repo only support tensorrt8+

closed, feel free to reopen it if you have further questions. Thanks!


Get order book

cache & consider last update time

Goal: What is the cost to buy 1 ETH worth of x?  Or what's the value of selling 1 ETH worth

WIP. USD goal? Or is that a tool?

Done


latte-dock: 0.7.3 -> 0.7.4

Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 0.7.4 with grep in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4
found 0.7.4 in filename of file in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4

cc @benley for review

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

Success on aarch64-linux (full log)
Attempted: latte-dock
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4
shrinking /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4/bin/latte-dock
shrinking /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4/lib/qt-5.10/qml/org/kde/latte/liblattedockplugin.so
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4/lib  /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4/bin
patching script interpreter paths in /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4
checking for references to /build in /nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4...
postPatchMkspecs
postPatchMkspecs
/nix/store/ch34kkg2za0pay1yxc9khbkiq70ss28h-latte-dock-0.7.4

Success on x86_64-linux (full log)
Attempted: latte-dock
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4
shrinking /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4/bin/latte-dock
shrinking /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4/lib/qt-5.10/qml/org/kde/latte/liblattedockplugin.so
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4/lib  /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4/bin
patching script interpreter paths in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4
checking for references to /tmp/nix-build-latte-dock-0.7.4.drv-0 in /nix/store/n1ad51hdp3jagm7fx91gp3i580ghid4q-latte-dock-0.7.4...
postPatchMkspecs
postPatchMkspecs


Java 6 compatibility

Hi,
for the background: I'm related to inspectIT (https://github.com/inspectIT/inspectIT) and we are currently integrating a full remoting capability into our tool. Recently, we found your library and we really want to use it as our base. The problem we have currently is that you define Java 7 as a minimum requirement whereas we do need to support Java 6 applications (as many applications in production still use this version).
The only thing we found in your codebase that really needs Java 7 seems to be the usage of the AutoCloseable interface (https://github.com/opentracing/opentracing-java/blob/master/opentracing-api/src/main/java/io/opentracing/Span.java#L23) .
Is there a possibility that you can create a Java 6 compatibility version of your API? Either by removing the dependency on the AutoCloseable interface or maybe through another version somehow? As mentioned, we really want to use your library, it is exactly what we need!
Thanks,
Patrice

Hi, patrice. It is probably the case that java 6 requires only this change. can you temporarily stick in animal sniffer to confirm? (after setting target level)
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>animal-sniffer-maven-plugin</artifactId>
          <version>1.15</version>
          <configuration>
            <signature>
              <groupId>org.codehaus.mojo.signature</groupId>
              <artifactId>java16</artifactId>
              <version>1.0</version>
            </signature>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

Hi @adriancole,
after checking your code, I'm actually very confused now. You have the animal sniffer already in there, and I saw that you even have the definition in the pom.xml of the API project like this:
   <properties>
        <main.basedir>${project.basedir}/..</main.basedir>
        <main.java.version>1.6</main.java.version>
        <main.signature.artifact>java16</main.signature.artifact>
    </properties>

The main.signature.artifact definition is used by the animal sniffer to check against java 1.6. My guess currently is that animal sniffer does not take the implementing of the AutoCloseable into account somehow.  This is the output of the plugin:
[INFO] Building OpenTracing API 0.20.2
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.15:check (default-cli) @ opentracing-api ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:1.0
[INFO]

Could it be that you want the API to be 1.6 compatible in the first place as defined in the pom? That would be perfect for us :smile:

This ticket has been solved by https://github.com/opentracing/opentracing-java/commit/28d8616cbfb99313ddecfb539d4180c49f6810a6 .


fix(button-group): fixed border style with hidden or single child

General summary
Make sure that the border radius of the first button is only applied on the left and the border radius of the last button is only applied on the right.
Ignore .visually-hidden children (the border radius was applied to them if they were placed in first or last position)
Make it work with a signle button (the left border radius was removed)
StoryBook: https://70b28dd0--5fbfb1d508c0520021560f10.chromatic.com/ (Chromatic build)

Test OK
Correct border radius on single button ✅

https://70b28dd0--5fbfb1d508c0520021560f10.chromatic.com/?path=/story/lumx-components-button-buttongroup--one-button
Correct border radius with visually-hidden children in first and last position: ✅

https://70b28dd0--5fbfb1d508c0520021560f10.chromatic.com/?path=/story/lumx-components-button-buttongroup--many-buttons


use log.Fatalf when logging error

Fixes #101

Codecov Report
Base: 80.23% // Head: 80.23% // No change to project coverage :thumbsup:

Coverage data is based on head (c426631) compared to base (c6b6c78).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #102   +/-   ##
=======================================
  Coverage   80.23%   80.23%
=======================================
  Files           4        4
  Lines         172      172
=======================================
  Hits          138      138
  Misses         22       22
  Partials       12       12

Impacted Files
Coverage Δ

main.go
50.00% <0.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@all-contributors please add @pmenglund  for bugfix

@all-contributors please add @pmenglund for bug


Default HTML code on Lobster font

Wrong link to Lobster font
Happens on responsive design section.
Default is http://... but correct is https://... so the font rolls back on Monospace.
It is correct in previous sections.

@trubicus Thanks  for reporting this.
This is a known effect of the recent SSL upgrade.
You can bypass this by changing to HTTPS as you have already identified
Anyone looking into this:

You have to update the Code Editor Sample code in to https link for the font.

Closing in favor of #7758


Add GetMode in NamedBlobDb to get deleted and expired named blob record

In get requests, we can add get-options in the header to fetch deleted and expired regular blob. But we can't do this in the named blob due to NamedBlobDb's lack of support of retrieving deleted and expired named blob record.
This PR adds that support to NamedBlobDb.

Codecov Report

Merging #2139 (11f685a) into master (21305a9) will decrease coverage by 58.47%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #2139       +/-   ##
=============================================
- Coverage     73.42%   14.95%   -58.48%
+ Complexity    10163     2285     -7878
=============================================
  Files           727      728        +1
  Lines         55411    55430       +19
  Branches       6830     6830
=============================================
- Hits          40686     8289    -32397
- Misses        12548    46659    +34111
+ Partials       2177      482     -1695

Impacted Files
Coverage Δ

.../main/java/com/github/ambry/named/NamedBlobDb.java
0.00% <0.00%> (ø)

...github/ambry/frontend/AmbryIdConverterFactory.java
0.00% <0.00%> (-96.06%)
:arrow_down:

.../java/com/github/ambry/named/MySqlNamedBlobDb.java
0.00% <0.00%> (-90.35%)
:arrow_down:

.../src/main/java/com/github/ambry/router/Router.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/com/github/ambry/store/Message.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/named/PutResult.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaMode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaName.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/rest/RestMethod.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/KMSConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 570 more

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 21305a9...11f685a. Read the comment docs.


x6-vue3-shape enable to render Vue3 components

Description
Added x6-vue3-shape code to enable X6 to render Vue3 components, like element-plus
demo Link：  https://codesandbox.io/s/infallible-pine-nig00?file=/src/main.js
ui style  is not displayed properly, console panel prompt : [Vue warn]: Failed to resolve component: el-button
Types of changes

[ ]  Bug fix (non-breaking change which fixes an issue)
[ x]   New feature (non-breaking change which adds functionality)
[ ]  Breaking change (fix or feature that would cause existing functionality to change)
[ ]  Enhancement (changes that improvement of current feature or performance)
[ ]   Refactoring (changes that neither fixes a bug nor adds a feature)
[ ]  Test Case (changes that add missing tests or correct existing tests)
[ ]  Code style optimization (changes that do not affect the meaning of the code)
[ ]  Docs (changes that only update documentation)
[ ]  Chore (changes that don't modify src or test files)

Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js"

Where and how to configure？

存在重复 issue：https://github.com/antvis/X6/issues/968


Getting errors when running the command "flutter build ios"

Steps to Reproduce

Run flutter build ios.

Expected results:  Build created successfully
Actual results:  Failed to build iOS app.

Logs

$ flutter build ios

Building <bundle_id> for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: <team_id>
Running pod install...                                              5.1s
Running Xcode build...
Xcode build done.                                           19.0s
Failed to build iOS app
Error output from Xcode build:
↳
    2020-08-15 15:41:50.097 xcodebuild[12479:130519] [MT] iPhoneConnect: 📱<DVTiOSDevice (0x7ff7c8893810), Incognito 7, iPhone, 13.5.1 (17F80),
    850f937c99c5d65956b0a536d0fd60f290e5cbf0> == Underlying device preparation errors ==
    2020-08-15 15:41:50.097 xcodebuild[12479:130519] [MT] iPhoneConnect: Failed _shouldMakeReadyForDevelopment check even though device is not locked
    by passcode.
    Domain: com.apple.platform.iphoneos
    Code: 5
    Failure Reason: allowsSecureServices: 1. isConnected: 0. Platform:
    <DVTPlatform:0x7ff7c5d1a810:'com.apple.platform.iphoneos':<DVTFilePath:0x7ff7c5d1a790:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhon
    eOS.platform'>>. DTDKDeviceIdentifierIsIDID: 0
    User Info: {
        DVTDeviceDescription = "\Ud83d\Udcf1<DVTiOSDevice (0x7ff7c8893810), Incognito 7, iPhone, 13.5.1 (17F80),
        850f937c99c5d65956b0a536d0fd60f290e5cbf0>";
    }
    --
    2020-08-15 15:41:50.097 xcodebuild[12479:130519] [MT] iPhoneConnect: 📱<DVTiOSDevice (0x7ff7c8893810), Incognito 7, iPhone, 13.5.1 (17F80),
    850f937c99c5d65956b0a536d0fd60f290e5cbf0> == END: Underlying device preparation errors ==
    ** BUILD FAILED **
Xcode's output:
↳
    g++-9: error: armv7-apple-ios8.0: No such file or directory
    g++-9: error:
    /<user_path>/Library/Developer/Xcode/DerivedData/Runner-awqtobvkneesgxegqjoghzfdptzu/Build/Intermediates.noindex/Pods.build/Release-iphoneos/loc
    al_auth_device_credentials.build/Objects-normal/armv7/FLTLocalAuthPlugin.dia: No such file or directory
    g++-9: error: unrecognized command line option '-target'
    g++-9: error: unrecognized command line option '-fdiagnostics-show-note-include-stack'; did you mean '-fdiagnostics-show-template-tree'?
    g++-9: error: unrecognized command line option '-fmacro-backtrace-limit=0'; did you mean '-ftemplate-backtrace-limit='?
    g++-9: error: unrecognized command line option '-fobjc-arc'; did you mean '-fobjc-gc'?
    g++-9: error: unrecognized command line option '-fobjc-weak'; did you mean '-fobjc-gc'?
    g++-9: error: unrecognized command line option '-fmodules'; did you mean '-fmoduleinfo'?
    g++-9: error: unrecognized command line option '-fmodules-cache-path=/<user_path>/Library/Developer/Xcode/DerivedData/ModuleCache.noindex'
    g++-9: error: unrecognized command line option '-fmodules-prune-interval=86400'
    g++-9: error: unrecognized command line option '-fmodules-prune-after=345600'
    g++-9: error: unrecognized command line option
    '-fbuild-session-file=/<user_path>/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation'
    g++-9: error: unrecognized command line option '-fmodules-validate-once-per-build-session'
    g++-9: error: unrecognized command line option '-Wnon-modular-include-in-framework-module'
    g++-9: error: unrecognized command line option '-fmodule-name=local_auth_device_credentials'
    g++-9: error: unrecognized command line option '-fpascal-strings'
    g++-9: error: unrecognized command line option '-Wdocumentation'
    g++-9: error: unrecognized command line option '-Wimplicit-retain-self'
    g++-9: error: unrecognized command line option '-Wduplicate-method-match'
    g++-9: error: unrecognized command line option '-Wconditional-uninitialized'; did you mean '-Wno-uninitialized'?
    g++-9: error: unrecognized command line option '-Wconstant-conversion'; did you mean '-Wno-int-conversion'?
    g++-9: error: unrecognized command line option '-Wbool-conversion'; did you mean '-Wno-conversion'?
    g++-9: error: unrecognized command line option '-Wenum-conversion'; did you mean '-Wno-conversion'?
    g++-9: error: unrecognized command line option '-Wnon-literal-null-conversion'
    g++-9: error: unrecognized command line option '-Wobjc-literal-conversion'
    g++-9: error: unrecognized command line option '-Wshorten-64-to-32'
    g++-9: error: unrecognized command line option '-Wdeprecated-implementations'; did you mean '-Wdeprecated-declarations'?
    g++-9: error: unrecognized command line option '-Winfinite-recursion'
    g++-9: error: unrecognized command line option '-Wcomma'; did you mean '-Wcomment'?
    g++-9: error: unrecognized command line option '-Wblock-capture-autoreleasing'
    g++-9: error: unrecognized command line option '-Wunguarded-availability'
    g++-9: error: unrecognized command line option '-ivfsoverlay'
    g++-9: error: unrecognized command line option '--serialize-diagnostics'
    warning: Could not read serialized diagnostics file: Cannot Load File: Failed to open diagnostics file (in target 'local_auth_device_credentials'
    from project 'Pods')
    Command CompileC failed with a nonzero exit code
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description
Encountered error while building for device.

$ flutter analyze

Analyzing <project_name>...
   info • The method verbose should have a return type but doesn't • lib/app/logger.dart:7:10 • always_declare_return_types
   info • The method debug should have a return type but doesn't • lib/app/logger.dart:11:10 • always_declare_return_types
   info • The method info should have a return type but doesn't • lib/app/logger.dart:15:10 • always_declare_return_types
   info • The method warning should have a return type but doesn't • lib/app/logger.dart:19:10 • always_declare_return_types
   info • The method error should have a return type but doesn't • lib/app/logger.dart:23:10 • always_declare_return_types
   info • The method wtf should have a return type but doesn't • lib/app/logger.dart:27:10 • always_declare_return_types
   info • The declaration '_saveDoubleToDisk' isn't referenced • lib/services/local_storage_service.dart:32:8 • unused_element
   info • The declaration '_saveMapToDisk' isn't referenced • lib/services/local_storage_service.dart:40:8 • unused_element
   info • The declaration '_saveStringListToDisk' isn't referenced • lib/services/local_storage_service.dart:44:8 • unused_element
   info • The declaration '_getSelectedCountryId' isn't referenced • lib/ui/views/fetch_data/fetch_data_view_model.dart:78:7 • unused_element
   info • The value of the local variable 'id' isn't used • lib/ui/views/start_new_case/start_new_case_view.dart:100:9 • unused_local_variable
   info • 'registerCustomDialogUi' is deprecated and shouldn't be used. Prefer to use the registerCustomDialogBuilder() method. Will be removed in future
          release • lib/ui/widgets/custom_dialogs/setup_custom_dialog.dart:11:17 • deprecated_member_use
12 issues found. (ran in 4.3s)

$ flutter doctor -v

[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.5 19F101, locale en-IN)
    • Flutter version 1.20.2 at /<user_path>/flutter
    • Framework revision bbfbf1770c (2 days ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /<user_path>/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3
[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 38.2.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.41.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1
[✓] Connected device (2 available)
    • Incognito 7 (mobile)                • <UDID> • ios • iOS 13.5.1
    • iPhone SE (2nd generation) (mobile) • <UUID>     • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)
! Doctor found issues in 1 category.

PFA the log file obtained on running the command "flutter run --verbose"
flutter_run_verbose_log.txt
The app is running fine on Android. However, we are facing issues on the iOS platform.

Hi @kay14
Does this also happen with a default flutter create bug project for you? Have you upgraded Xcode from before 11.4, if so have you followed the migration guide with this project? Are you using any custom Swift code or third-party plugins?
Thank you

Hi @markusaksli-nc
No, I haven't followed the migration guide mentioned above. I will try that out and revert. Thank you!

Hi @markusaksli-nc
I tried to create an iOS build on another machine and it worked fine. The issue was with the Flutter SDK configuration with the IDE. Not sure how the flutter doctor didn't detect any of the issues. However, I have got it working on another machine. I will reinstall all of it (Android Studio, Xcode and Flutter SDK) again.
Closing this issue now. Thanks for the help.

Glad to see you solved it. I don't think this will be relevant but did this issue occur on the machine after a flutter upgrade or anything flutter might have caused?


Update EffectsLayer to Foundry VTT 0.7.9

Which class should be updated?
EffectsLayer
For which version should the class be updated?
Foundry VTT 0.7.9

Fixed by #527


clarifying cf manifest and adding to gitignore

Small update to:

git ignore everything in deployment/cloudfoundry/ except for the default files
clarify manifest-example.yml that you can use > 1 instances with a redis backend now that #119 is merged

Pull Request Test Coverage Report for Build 408

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

Totals

Change from base Build 406:
0.0%

Covered Lines:
167

Relevant Lines:
1287

💛  - Coveralls

thanks!


Netbox new version 5.0.0-beta12 dependency chart issue

Trying to use 5.0.0-beta12 but it throws an error at dependency chart for redis. I am running the chart by enabling postgres and redis.
Error at helm install -> Error: UPGRADE FAILED: parse error at (netbox/charts/redis/charts/common/templates/_resources.tpl:15): unclosed action

Are you trying to upgrade an already-installed 4.1.1 chart to 5? The 5.0 charts use a newer version of redis and postgres and you probably need to do some pre-upgrade work if you're wanting it to go smoothly. (I have not tested upgrading at all yet, so I don't have specifics to give you.)

Yes, I have already an installed chart of version 4.1.1 and now upgrading it to version 5.0.0-beta12

For accurate help to be provided, you're welcome to provide more context regarding this issue.

What version of Helm are you using?
How did you perform the chart upgrade?
Can you provide your values file?

Thanks for your inputs. I am finally able to get the netbox installed with Redis and Postgresql managed externally. The issue i had was on my helm command and had to fix it. Now all workloads are installed, Getting below error on the netbox pod
[django.db.utils.OperationalError: [Errno -2] Name or service not known]
Below is my values.yaml input. I have postgresql service running on same namespace of name my-postgresql and redis service named my-redis-master on the same namespace as well.

Please remove the http:// from your PostgreSQL and Redis host names, they should just be the bare service names. Assuming they're in the same namespace you'd probably just want host: my-postgresql and host: my-redis-master, for example.

Thanks, That solved the error. Is there a recommended version of postgresql and redis bitnami charts from artifactory to be used when managing them externally from the netbox community.

I am ok to close the issue since the errors i got are now fixed.


Scroll view

Hi, nice work..
On iphoneX vertical scroll not work... any idea about how to fix?
Another question, if possible.. I need only today events, can horizontal scroll be deactivated?
Tnx a lot
m.

Is this still an issue?

Is this still an issue?

It is @EvanCooper9


[victor] enable unlisted choice on staging for testing purposes

ref: https://2i2c.freshdesk.com/a/tickets/1257
I copied the original profiles from the common values file because helm doesn't append lists when combining values files, instead overwriting the list

I'm gonna go ahead an self-merge here and I'm pretty confident this works


Developer announcements

Reserved for communicating announcements to developers watching this repository.

Just letting people know that MultiBit Hardware 0.7.0 is released. This is the version present in MultiBit HD 0.1.4 and has KeepKey support built in.


gitee.com pipline

What kind of request is this (question/bug/enhancement/feature request):

Steps to reproduce (least amount of steps as possible):
1.create pipeline (创建流水线)
2.choose gitlab (选则 gitlab)
3.choose private gitlab (使用私有gitlab企业版部署)
oatuth seems to be good。gitee.com has authorization rancher ok。but rancher 2.3.5 return error.(oauth 貌似都成功了.gitee 已经成功授权了 rancher。但是 rancher 返回了错误)
Result:
TestAndApply Error
{"status":"404","error":"Not Found"}: undefined
Other details that may be helpful:
Environment information
rancher 2.3.5
Cluster information

Docker version (use docker version):

(paste the output here)

If you would like to ask questions in Chinese, please add rancher2 to join
Rancher WeChat group. Thanks
Close in favor of https://github.com/rancher/rancher/issues/25975

me too
TestAndApply Error
{"status":"404","error":"Not Found"}: undefined


Optional path in endpoint

I would like path variables to be optional. For example, we have an API structure like this.
GET /items - get a list of items
POST /items - create a new item

GET /items/{item_id} - get a specific item
PATCH /items/{item_id} - update an item
DELETE /items/{item_id} - delete an item

I would like to be able to combine the POST with the rest of the single item endpoints in my documentation, however due to the nature of having to specify a path parameter and not being able to make it optional.
The real issue is that there are collection endpoints (getting a list of resources), and resource endpoints (actions against a single resource), and right now I have to mix them.
Is there a way to do this currently, or is this a feature request?

You can group the resources.
# Group Items

## Item Collection [/items]

### List all Items [GET]
### Create Item [POST]

## Item [/item/{item_id}]

### Retrieve Item [GET]
### Update an Item [PATCH]
### Delete an Item [DELETE]

This is what I do already, but it doesn't flow well. I want to be able to do
# Group Items

## Item Collection [/items]

### List all Items [GET]

## Item [/item/{item_id}]

### Retrieve Item [GET]
### Create Item [POST]\
### Update an Item [PATCH]
### Delete an Item [DELETE]

You can add the url directly to the desired action to get it.
# Group Items

## Item Collection [/items]

### List all Items [GET]

## Item [/item/{item_id}]

### Retrieve Item [GET]
### Create Item [POST /items]
### Update an Item [PATCH]
### Delete an Item [DELETE]


Feature Request: @topic would be nice

This is a feature request, not a bug report.
I hate making feature requests because the response is inevitably a recommendation that I read the docs more carefully since I just proposed a supported feature.  Still, I did a search and did some reading and web searching but came up empty.  Here's my request.
As I understand it, @all and @everyone are synonyms that refer to everybody subscribed to the stream.  Sometimes, though, it would be useful to notify everybody participating in a topic.  @topic might be nice for that purpose.
Incidentally, I'm not sure @all and @everyone are documented.  A search for "@everyone" on your "read the docs" site yields six responses, none of which include the "@" and none of which refer to this feature. http://zulip.readthedocs.io/en/latest/search.html?q=%40everyone&check_keywords=yes&area=default#

What do you mean by everyone participating in a topic? Everyone who has sent a message in that topic?

I think an @topic that mentions everyone who has participate in the topic would be fairly doable, implementation-wise.  I kinda like the idea.  Tagging this with priority: medium so we don't forget about it.
@jvasile on the point of documentation have you seen https://chat.zulip.org/help/, specifically e.g. https://chat.zulip.org/help/at-mention-a-team-member, which isn't our best work, but does discuss it?  There's a copy at /help on any Zulip server (linked from the gear menu), and that's where this sort of user-facing documentation lives.
ReadTheDocs is only for developer and sysadmin documentation (is there a place we should explain this more explicitly?).

Ah, it makes sense that Read The Docs is for devs, not users.  I'm in both camps, so the line between the two is blurry.  That fail is on me and won't hit your normal users, so it might not be worth fixing.
That said, if I were writing your docs, I might want to be explicit about intended audience.  The place I would end up putting that is probably on the landing page for the documentation.  You currently have as paragraph 3 at http://zulip.readthedocs.io/en/latest/:
Further information on the Zulip project and its features can be
found at https://www.zulip.org and in these docs. Our code is
available at our GitHub repository.

Maybe insert as sentence 2:
These docs are aimed at developers and sysadmins.
Users should head to https://chat.zulip.org/help/ for help
on using Zulip.

One other thing I note is that chat.zulip.org doesn't have a search box.
Hope this helps!

@zulipbot claim

@zulipbot claim
Currently #1191 is on hold.

Ongoing work: #25828

Closing in favor of #22829.


Traefik PreConfigurator for Windows

Traefik integration today requires certs to be dropped into the 'Certs' folder. This gives way to a few problems :-

For every new cluster you need to create a new package (potentially copies of code) with certs in it.
Every time cluster certificate changes, the cluster cert needs to be downloaded from KeyVault and integrated into the package.
No keyvault support, which means the certificate needs to be present on developer's or build machines which might compromise security at times.

Solution
With this PR I am introducing a PreConfigurator for Windows SF Clusters. This utility runs during Traefik setup and can export certs from LocalMachine store, or download them from keyvault and then export them into PEM formats (.key and .crt). Along with this the list of certs doesn't need to be pass as arguments and can be read from environment variables (which can in turn be passed through the ApplicationParameters), thus same package can be used in all environments.
P.S. I have also added guidance on how to enable SSL support when using Traefik and SSL certs can be dropped using the same exe as above.

This looks like a really useful tool. For reference @askew was working on adding code into the golang to perform a similar task, however, it was slightly different as it was focused on being used when Traefik was containerized. It looked for certs mounted by SF and converted them to pem/crt then used them to talk to the cluster management API

One of the reasons this is C# is I have no experience with Go :D. Second was I wanted it to be generic enough so that it could tackle any cert. SSL, Cluster, MTLS etc. For Cluster cert it is a fair assumption that the cert will always be present on the machine. But with webservers like Kestrel SSL certs can directly be pulled from KeyVault, used for the application runtime without import it into Cert store.

@lawrencegripper I am closing this PR for now. I put my code in a separate repo as the integration I built is optional. I however plan to add documentation link to my repo on this repo (since couple of folks asked me about it). Will do that as a separate PR.

Sounds like a good plan! Thanks :) @askew hit some issues with his work so I think this is a valuable addition to the docs

I was looking at how to get certificates into a Windows container service running in Service Fabric. There was an issue with the CertificateRef (https://github.com/Azure/service-fabric-issues/issues/448), this has now been fixed but you still need to have the certificate in an exportable format on the nodes.
One solution is to use a managed service identity on the nodes and use a setup entry-point to get an oAuth token and write this to the working folder for the service. The container can then use this to pull in the certificate from KeyVault.

Fantastic, thanks @askew.

@paul-mcgrath, I've put my example scripts in this repository Getting Certificates into Containers


[Question]: Trying to add a custom LlamaFactory LLM

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I wrapped the LlamaFactory LLM in this class but when run it, the response is empty and I'm getting these bunch of pydantic errors
Class based on CustomLLM:
class LlamaFactoryLLM(CustomLLM):
    _model = ChatModel()
    context_window: int = Field(
        default=3900,
        description="The maximum number of context tokens for the model.",
        gt=0,
    )
    def __init__(self, *args, **kwargs)-> None:
        super().__init__(*args, **kwargs)

        # self.context_window = 3000

        #self._model = ChatModel()  # Initialize LlamaFactory ChatModel

    @llm_chat_callback()
    def chat(self, messages: Sequence[ChatMessage], **kwargs) -> ChatResponse:
        responses = self._model.chat(messages, **kwargs)
        return [ChatResponse(response_text=response.response_text) for response in responses]

    @llm_chat_callback()
    def stream_chat(
        self,
        xyz, abc
    ) -> Generator[str, None, None]:
        # Call stream_chat of ChatModel
        print(xyz, abc)
        return self._model.stream_chat(xyz,abc)

    def complete(self, *args, **kwargs):
        pass

    def stream_complete(self, *args, **kwargs):
        pass

    @property
    def metadata(self) -> LLMMetadata:
        """LLM metadata."""
        return LLMMetadata(
            context_window = self.context_window,
            num_output = 3000,
        )

WARNING:llama_index.response_synthesizers.refine:Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 202, in _give_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 202, in _give_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
WARNING:llama_index.response_synthesizers.refine:Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
WARNING:llama_index.response_synthesizers.refine:Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
WARNING:llama_index.response_synthesizers.refine:Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Validation error on structured response: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 284, in _refine_response_single
    program(
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/llama_index/response_synthesizers/refine.py", line 68, in __call__
    return StructuredRefineResponse(answer=answer, query_satisfied=True)
  File "/home/ubuntu/anaconda3/envs/rag/lib/python3.10/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for StructuredRefineResponse
answer
  none is not an allowed value (type=type_error.none.not_allowed)

any idea what might be going wrong?

@jayavanth since you didn't implement complete or stream_complete, if any method calls those, it will return nothing
My advice is to implement those methods. You can see some examples of other classes that implement complete() by calling chat() and returning the expected output type, its not too bad :)
https://github.com/run-llama/llama_index/blob/60b75cb014bccf60a153d5dc5295a91c7cdcd9f6/llama_index/llms/mistral.py#L201


Error on file navigation page

Steps to reproduce:

Open file navigation page (for example https://deno.land/std or https://deno.land/x/std)
Browse to a file, let's say<EMAIL_ADDRESS>Go to a folder (by clicking the breadcrumb or browser back button)
Click any folder or file
Page went blank with "An unexpected error has occurred." message (if you are on yarn dev there won't be any message)

Error message in the console:

Fixed in #1424


fix poetry star pin

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

References:

fixes #4

CI doesn't complain about relational operator, so merging.