Classes using ModelBuilder and associated classes cannot be properly unit tested without tight coupling

When working with code that deals with ModelBuilder, PropertyBuilder, etc. it would be nice to be able to test that code with proper unit tests.
However, it appears that ModelBuilder and it's associated classes are not built to allow for mocks.
For example, if you are calling ModelBuilder.Entity<MyType>(. . .) one might expect that to return an IEntityTypeBuilder.  Conversely on EntityTypeBuilder, one would expect to find calls to EntityTypeBuilder.Property("MyPropertyName") to return an IPropertyBuilder.
Alas, this is not the case... These method calls return concrete implementations of those classes instead.
If you look further, you will see that many of these builders have constructors with parameters (usually with a significant number of not-null attributes) that make trying to mock these out become a dizzying operation in traversing the stack of inter-connected classes.
This tight coupling and not using proper interfaces violates SOLID coding principles and makes it difficult to work with .

@davija Can you show examples of what kinds of tests you would like to write?

Here is an example of what I would like to be able to do for a test:
`        public void TestRegisterRowVersionEntities()
{
var mockModelBuilder = new Mock();
var mockEntityTypeBuilder = new Mock();
var mockPropertyBuilder = new Mock();
var res = mockEntityTypeBuilder.Object;
        mockEntityTypeBuilder.Setup(etb => etb.Property("RowVersion")).Returns(mockPropertyBuilder.Object);
        mockModelBuilder.Setup(mb => mb.Entity(It.IsAny<Type>())).Returns(mockEntityTypeBuilder.Object);

        ModelBuilderExtensions.RegisterRowVersionEntities(mockModelBuilder.Object);

        mockModelBuilder.Verify(mb => mb.Entity(typeof(TestVersionedModel)), Times.Once);
        mockEntityTypeBuilder.Verify(etb => etb.Property("RowVersion"), Times.AtLeastOnce);
        mockPropertyBuilder.Verify(pb => pb.IsRowVersion(), Times.AtLeastOnce);
    }

`
This would allow me to very easily be able to create mocks of these objects and do a simple test...
However, here is what I had to do to get this working (LOTS of extra work and digging through dotnet code to figure out what is needed), notice the very involved setup required in the Setup method:
`
private Mock MockModelBuilder { get; set; }
    private Mock<EntityTypeBuilder> MockEntityTypeBuilder { get; set; }

    private Mock<PropertyBuilder> MockPropertyBuilder { get; set; }

    [TestInitialize]
    public void Setup()
    {
        MockModelBuilder = new Mock<ModelBuilder>(new ConventionSet());

        // All this GOOP is here because of ModelBuilder is tightly coupled to concrete classes that
        // need to be instantiated just so it can be mocked....
        var model = new Model();
        var entityType = new EntityType("a", model, ConfigurationSource.Explicit);
        var property = new Mock<Property>("RowVersion", typeof(byte[]), null, null, entityType, ConfigurationSource.Explicit, null);
        var mnternalModelBuilder = new InternalModelBuilder(model);
        var internalEntityTypeBuilder = new InternalEntityTypeBuilder(entityType, mnternalModelBuilder);
        var internalPropertyBuilder = new InternalPropertyBuilder(property.Object, mnternalModelBuilder);

        MockEntityTypeBuilder = new Mock<EntityTypeBuilder>(internalEntityTypeBuilder);
        MockPropertyBuilder = new Mock<PropertyBuilder>(internalPropertyBuilder);
    }

    [TestMethod]
    public void TestRegisterRowVersionEntities()
    {
        var res = MockEntityTypeBuilder.Object;
        MockEntityTypeBuilder.Setup(etb => etb.Property("RowVersion")).Returns(MockPropertyBuilder.Object);
        MockModelBuilder.Setup(mb => mb.Entity(It.IsAny<Type>())).Returns(MockEntityTypeBuilder.Object);

        ModelBuilderExtensions.RegisterRowVersionEntities(MockModelBuilder.Object);

        MockModelBuilder.Verify(mb => mb.Entity(typeof(TestVersionedModel)), Times.Once);
        MockEntityTypeBuilder.Verify(etb => etb.Property("RowVersion"), Times.AtLeastOnce);
        MockPropertyBuilder.Verify(pb => pb.IsRowVersion(), Times.AtLeastOnce);
    }

`

@davija Thanks for the additional info. Can you explain a bit more about what tests like that are designed to achieve? What kind of bugs/regression/other things will these tests catch?

This is just a standard unit test on code that I was writing to test that the behavior matches requirements.
The purpose of the test is to ensure that the code (for an extension to the ModelBuilder class) under test actually properly registered content with the model builder as required.

@davija Thanks for all the clarification. There are many issues associated with changing these builders to return interfaces, not least the breaking changes trying to evolve them going forward. If there is a compelling reason why such a change would be very beneficial, then we would consider what could be done. However, we feel that the kind of testing you are proposing is of very little real value, and hence on balance the patterns we are using are probably appropriate. (We see more and more people not writing tests like this, and indeed we pretty much stopped doing it in our code too.)
You might consider instead testing that the IModel has been configured as appropriate. That is, test that your code actually did what you think it did to the model. This might not strictly be "unit testing" but we have found it to be much better at detecting bugs/regressions since it can catch where a call to the model builder doesn't do what you think it does. Just testing that the method was called will never fail for this.

@ajcvickers I would have to disagree with stating that this kind of unit testing is not valid.
Essentially what we are doing is placing attributes on specific classes that need to do row versioning and then use reflection at creation time to scan and register those as such (which is what this extension method does).
This kind of testing is critical to ensuring that this code is written properly and functional.
This is not the only area of the dotnet core framework that fails to follow SOLID design principles and many of them should be addressed.  Proper unit testing in dotnet core is VERY difficult since there are so many concrete classes used instead of interfaces as proper OOP would dictate.  This is only made more difficult in the fact that Fakes is no-longer supported in dotnet core.
If Microsoft really wants to promote good frameworks and ensure they are used to generate quality code, they REALLY need to re-evaluate using SOLID principles in libraries / frameworks they produce.   With the introduction of dotnet core, there were a lot of good improvements in the right direction with much of the framework, however some key areas made the same mistakes all over again.


Remove whitelist for css properties

This PR reduces the bundle size (3443 -> 3377 bytes).
Was looking around for possible reductions in size and noticed, that we automatically append px for numeric values for properties of the style-attribute. But adding the px suffix is not correct for every numeric value in css, which is why a small regex whitelist is in our code.
The reason we have this is because of react. See https://reactjs.org/docs/dom-elements.html . I think it would be better for us if we'd move this to preact-compat. In every react or preact-based codebase that I've worked on, the developers chose to specify the suffix themselves and weren't even aware that both libs shipped with that feature. Even with that knowledge they preferred the explicitness of specifying the suffix themselves.
Example:
const n = 100;

// Before: preact will add the 'px' suffix
const foo =
;

// After: devs must add explicit suffix
const bar =
;

My experience may be subject to sample bias, that's why I'd love to here other opinions on this first before moving this out of core to preact-compat.

Coverage remained the same at 100.0% when pulling ce39e98382a4cd23cf3747597c344b92f28ffd77 on marvinhagemeister:remove_css_dimension into b3eb9e366dfaa021ac166eaa1043618978280bbe on developit:master.

As much as I am up for the size reduction, this would break pretty much everything I've ever built with Preact haha.  Maybe we could... reduce the list? Instead of removing it entirely?

That's a bummer. Seems like removing the whitelist is too soon. I'm not keen on breaking that much preact-related ;)


vault-mutating-webhook: allow specifying pod securityContext and full container securityContext

Q
A

Bug fix?
yes

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets
none

License
Apache 2.0

What's in this PR?

It is not possible to specify full gamut of pod.spec.container[].securityContext or pod.spec.securityContext without modifying the chart itself. In our case, we needed to set pod.spec.securityContext.fsGroup to the same group as the user in order to be compatible with AWS OIDC EKS IAM. This PR includes a minor fix to allow specifying all securityContext options on the webhook deployment. There should be no effective change unless custom options are set.
Additional context

Users who may have set custom options and not realized they were unset may be affected. We tested the implementation on our in-house setup and verified options can be set appropriately.
Checklist

[x] Code meets the Developer Guide
[x] (not needed) User guide and development docs updated (if needed)
[x] Related Helm chart(s) updated (if needed)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

btw im not sure about if I should update the spacing for the README.md table, let me know if that should be adjusted or if the default value is just so long that its not worth it.


Terminologies in Allocation in Xamarin Profiler

What is the meaning for Working Set, Memory Allocated, Virtual bytes, Private bytes, virtual bytes etc on the screenshot below?
https://docs.microsoft.com/en-us/xamarin/tools/profiler/images/allocations1-vs.png

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


JavaScript with Blazor static Server rendering

Fixes #30921
Addresses #28161
Mackinnon ... Check everything because I made a few guesses along the way ... and we know how that goes 🦖🙈😆.

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/render-modes.md
ASP.NET Core Blazor render modes

aspnetcore/blazor/fundamentals/routing.md
ASP.NET Core Blazor routing and navigation

aspnetcore/blazor/javascript-interoperability/static-server-rendering.md
aspnetcore/blazor/javascript-interoperability/static-server-rendering

Here's a new version of BlazorPageScript.lib.module.js with the behavior that I described in this comment.
const pageScriptInfoBySrc = new Map();

function registerPageScriptElement(src) {
    if (!src) {
        throw new Error('Must provide a non-empty value for the "src" attribute.');
    }

    let pageScriptInfo = pageScriptInfoBySrc.get(src);

    if (pageScriptInfo) {
        pageScriptInfo.referenceCount++;
    } else {
        pageScriptInfo = { referenceCount: 1, module: null };
        pageScriptInfoBySrc.set(src, pageScriptInfo);
        initializePageScriptModule(src, pageScriptInfo);
    }
}

function unregisterPageScriptElement(src) {
    if (!src) {
        return;
    }

    const pageScriptInfo = pageScriptInfoBySrc.get(src);
    if (!pageScriptInfo) {
        return;
    }

    pageScriptInfo.referenceCount--;
}

async function initializePageScriptModule(src, pageScriptInfo) {
    // If the path is relative, normalize it by by making it an absolute URL
    // with document's the base HREF.
    if (src.startsWith("./")) {
        src = new URL(src.substr(2), document.baseURI).toString();
    }

    const module = await import(src);

    if (pageScriptInfo.referenceCount <= 0) {
        // All page-script elements with the same 'src' were
        // unregistered while we were loading the module.
        return;
    }

    pageScriptInfo.module = module;
    module.onLoad?.();
    module.onUpdate?.();
}

function onEnhancedLoad() {
    // Start by invoking 'onDispose' on any modules that are no longer referenced.
    for (const [src, { module, referenceCount }] of pageScriptInfoBySrc) {
        if (referenceCount <= 0) {
            module?.onDispose?.();
            pageScriptInfoBySrc.delete(src);
        }
    }

    // Then invoke 'onUpdate' on the remaining modules.
    for (const { module } of pageScriptInfoBySrc.values()) {
        module?.onUpdate?.();
    }
}

export function afterWebStarted(blazor) {
    customElements.define('page-script', class extends HTMLElement {
        static observedAttributes = ['src'];

        // We use attributeChangedCallback instead of connectedCallback
        // because a page-script element might get reused between enhanced
        // navigations.
        attributeChangedCallback(name, oldValue, newValue) {
            if (name !== 'src') {
                return;
            }

            this.src = newValue;
            unregisterPageScriptElement(oldValue);
            registerPageScriptElement(newValue);
        }

        disconnectedCallback() {
            unregisterPageScriptElement(this.src);
        }
    });

    blazor.addEventListener('enhancedload', onEnhancedLoad);
}

@guardrex If we think this sample is too large to put in the docs, I could post it somewhere else and we could link to it.

No ... it's fine. Give me a few minutes, and I'll have the commit up for a look :eyes:.

@MackinnonBuck ... I didn't finish it because I can see that this isn't the way that we normally guide devs to load modules. I didn't update that aspect in the PageWithScript component ... I wanted to hear back from you on it first.

Note that I always need to move code comments into the text to get them localized. If they stay in the code, they remain stuck in English forever. Just wanted to let you know why you always see me do that.

Ok ... I'm done with little nits.
Let me know on the module load situation with PageScript ... if what you have here is what you want ... or do we make it like we normally advise ... OnAfterRenderAsync/JS.InvokeAsync/import/path to module.

I see now that this won't work for general calls because the JS object reference is required for JS interop calls. DUH! 🙈😄 I merely detected a difference without thinking it through last night.
I'll cross-link this as an example in the JS initializers section. We have a few other cross-linked use cases there.

I'm going to hold here for a sec so that you can confirm the updates on the last couple of commits are correct.


ldap tls protection "expires" after some time

after running kube-ldap for some time, the tls protection on the ldap connection "expires" (probably the whole connection times out), leading to the following error in the log (& the inability to authenticate):
2018-05-17T07:27:53.666Z - info: ldap connection not tls protected

Also experiencing a similar issue where after some time kube-ldap would stop authentication and ultimately stop providing the JWT token - after adding some additional logging I could observe error messages like below. After this no attempt was made to reconnect.
2018-07-17T15:43:57.204Z - error: uncaughtException: read ECONNRESET date=Tue Jul 17 2018 15:43:57 GMT+0000 (UTC), pid=1, uid=0, gid=0, cwd=/, execPath=/usr/local/bin/node, version=v8.10.0, argv=[/usr/local/bin/node, /srv/www/kube-ldap/build/index.js], rss=43806720, heapTotal=16072704, heapUsed=13692136, external=25028, loadavg=[0, 0, 0], uptime=30241, trace=[column=11, file=util.js, function=_errnoException, line=1022, method=null, native=false, column=25, file=net.js, function=TCP.onread, line=628, method=onread, native=false], stack=[Error: read ECONNRESET,     at _errnoException (util.js:1022:11),     at TCP.onread (net.js:628:25)]
This https://github.com/joyent/node-ldapjs/issues/392 shows a method to configure the ldap client to reconnect on failure.
Updating app.js with the following has helped kube-ldap to re-establish connectivity to the underlying LDAP directory.
ldap.createClient({
    url: config.ldap.uri,
    timeout: config.ldap.timeout * 1000,
    connectTimeout: config.ldap.timeout * 1000,
    log: ldapLog,
    reconnect: {
      initialDelay: 100,
      maxDelay: 1000,
      failAfter: 10
    }
  }),

great work @shackit :+1:
I did not find the time to debug this issue further, but I guess your solution should solve the issue.
I'll add the reconnect configuration to kube-ldap as soon as possible. or you can submit a PR if you want to speed up the integration of said configuration in kube-ldap :)

@shackit thanks again! FYI the new docker image is available at the tag v1.2.1 (or latest)


Type Error on 3d Rendering example

Versions

Python: 3.6.3:2c5fed8
OS: Windows 10 Pro (Build: 16299.64)
Kivy: 1.10.0
Kivy installation method: pip

Description
I'm trying to run the example 3d Rendering script
I've made sure that my Kivy, python 3, and the example scripts, are up to date, but it still gives the error
File "C:\Users\████\Desktop\Kivy\3dRendering\objloader.py", line 64, in finish_object
     data = [v[0], v[1], v[2], n[0], n[1], n[2], t[0], t[1]]
 TypeError: 'map' object is not subscriptable

I've already seen #1977, but as mentioned, my python, kivy, and example scripts are up to date (which includes the fixes mentioned in that issue resolution).
Code and Logs
Console Log:
C:\Users\████\Desktop\Kivy\3dRendering>main.py
[INFO   ] [Logger      ] Record log in C:\Users\████\.kivy\logs\kivy_17-11-27_19.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO   ] [OSC         ] using <thread> for socket
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used <glew>
[INFO   ] [GL          ] OpenGL version <b'4.4.0 - Build <IP_ADDRESS>41'>
[INFO   ] [GL          ] OpenGL vendor <b'Intel'>
[INFO   ] [GL          ] OpenGL renderer <b'Intel(R) HD Graphics 630'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 4
[INFO   ] [GL          ] Shading version <b'4.40 - Build <IP_ADDRESS>41'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Shader      ] fragment shader: <b"WARNING: 0:7: '' :  #version directive missing">
[INFO   ] [Shader      ] vertex shader: <b"WARNING: 0:7: '' :  #version directive missing">
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Shader      ] Read <C:\Users\████\Desktop\Kivy\3dRendering\simple.glsl>
[INFO   ] [Shader      ] vertex shader: <b"WARNING: 0:6: '' :  #version directive missing">
[INFO   ] [Shader      ] fragment shader: <b"WARNING: 0:6: '' :  #version directive missing">
 Traceback (most recent call last):
   File "C:\Users\████\Desktop\Kivy\3dRendering\main.py", line 76, in <module>
     RendererApp().run()
   File "C:\Users\████\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\app.py", line 802, in run
     root = self.build()
   File "C:\Users\████\Desktop\Kivy\3dRendering\main.py", line 72, in build
     return Renderer()
   File "C:\Users\████\Desktop\Kivy\3dRendering\main.py", line 30, in __init__
     self.scene = ObjFile(resource_find("monkey.obj"))
   File "C:\Users\████\Desktop\Kivy\3dRendering\objloader.py", line 129, in __init__
     self.finish_object()
   File "C:\Users\████\Desktop\Kivy\3dRendering\objloader.py", line 64, in finish_object
     data = [v[0], v[1], v[2], n[0], n[1], n[2], t[0], t[1]]
 TypeError: 'map' object is not subscriptable

self.texcoords.append(map(float, values[1:3])) on line 112 in the objloader.py file needs to have the map() function wrapped in a list() function. map() returns an iterator. Like so self.texcoords.append(list(map(float, values[1:3])))


Bug in IMS.rc for LatLon tile space

The IMS.rc file defines the decomposition of the simulation domain into vertical stripes for tile spaces based on EASE grids and LatLon grids.  (For tile spaces based on cube-sphere grids, JMS.rc is used.)
The comments in subroutine optimize_latlon() in preprocess_ldas_routines.F90 state that IMS(k)>=2, but this condition is not ensured during pre-processing.  (For cube-sphere tiles, JMS(k)>=2 is ensured.)
A bug fix in subroutine optimize_latlon() is needed so that IMS(k)>=2 for EASE and LatLon tile spaces.  Also, if IMS(k)>=2 or JMS(k)>=2 cannot be ensured for all k (so that there will be no "empty" processors), the pre-processor should exit with a message telling the user to request fewer processors.
Background:
The [I,J]MS>=2 condition is needed by MAPL to generate 2d (gridded) HISTORY output.
For now, IMS(k)=1 would be ok for tile spaces based on the EASE grid because only 1d (tile-space) output is available and 2d output is not (yet) available for these tile spaces, see README.OutputSpecs.md.
However, IMS(k)=1 occurs only when (too) many processors are used, especially over small domains.  For the SMAP L4_SM use case with 120 processors, IMS(k)>=12.  For the CONUS test case with 28 processors, IMS>=4.  Indications are that using more processors is not efficient and should be discouraged.
Moreover, testing by @weiyuan-jiang suggests that when IMS(k)>=2, binary 2d output can be generated, although this output has not been validated, and more work would be needed to ensure that conversion to nc4 works using tile_bin2nc4.F90.
cc: @biljanaorescanin

Addressed with PR #481


Implement user defined planner for position

Which issue does this PR close?

Closes #11242
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

🤔 We seem to be hitting the dreaded sql planner stack overflow in debug builds again
https://github.com/apache/datafusion/actions/runs/9778881627/job/26996930268?pr=11243
thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow
error: test failed, to rerun pass `-p datafusion-sqllogictest --test sqllogictests`

Caused by:
  process didn't exit successfully: `/__w/datafusion/datafusion/target/debug/deps/sqllogictests-dd5da520160d5a7d` (signal: 6, SIGABRT: process abort signal)
Error: Process completed with exit code 101.

I think best way to fix this is to make a function (rather than inlining the code into the same big match expression)

🚀  let's consolidate the planners as a follow on PR


Dockerize

add express server
run example/basic as default app in container

merge reverted - pull request obsolete


Fix some .NET 5.0 compile issues

This is prep work to enable testing with .NET 5.0.
There are still some failures with test_re_stdlib which are due to some bugs in .NET 5.0 which should be fixed before its release (https://github.com/dotnet/runtime/issues/42390, https://github.com/dotnet/runtime/issues/42392, https://github.com/dotnet/runtime/issues/42448).
SupportedOSPlatform
Should see if we can make use of this to annotate and guard our code (e.g. wherever we use PythonHidden).
SYSLIB0001
UTF-7 has been obsolete in .NET 5. In particular the string.GetEncoding methods will no longer return UTF-7. @BCSharp I believe we are not using this to obtain a UTF-7 encoding anywhere? See https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0#utf-7-code-paths-are-obsolete for details.
SYSLIB0004
The Constrained Execution Region (CER) feature is not supported. I don't think this is a change specific to .NET 5, just a new warning. This comes up in ctypes. Need to file an issue to investigate what the consequences are.
SYSLIB0006
Thread.Abort is not supported and throws PlatformNotSupportedException. I don't think this is a change specific to .NET 5, just a new warning. Should investigate to see if there's anything we can use in place of this.
SYSLIB0011
BinaryFormatter serialization is obsolete and should not be used. Should be investigated, maybe we can remove the clr.Serialize/clr.Deserialize methods.

SYSLIB0001
Indeed, System.Text.Encoding.GetEncoding() is not used to get UTF-7. I think that after factoring out of IronPython.Runtime.Text we can limit the warning silencer to just one place of using the UTF7Encoding constructor.

@BCSharp I'll merge this in if you have no objections, now that .NET 5.0 and VS 16.8 are out.

Fine with me.


Animated webp images are not animated after optimization

Hello, I've noticed that I can't use the plugin with webp animations.
https://github.com/FatehAK/vite-plugin-image-optimizer/blame/a281c44fd2d18dd91d2c093704833b5592fb86f4/src/index.ts#L104
 return await sharp(buffer, { animated: extName === 'gif' })
I guess it's related to this condition. Is it something that can be fixed?
Thank you!

In addition, except webp images, apng images are also not supported. Although the sharp library does not support apng image format yet, it is better to also include "png" and "apng" extensions here as well.


fix report formatter deprecation warning

DEPRECATION WARNING: ReportFormatter::ReportRenderer is deprecated!
Use ManageIQ::Reporting::Formatter::ReportRenderer instead.

I don't understand the implications of this change.
I'll tag as ui because they probably know more about this

I wonder why I missed this one.  🤷♂


Add support for user option in execute method of ShellProxy

Moved to https://github.com/ChrisTimperley/dockerblade/issues/23


community: Add Zep Cloud components + docs + examples

Thank you for contributing to LangChain!

[x] PR title: community: Add Zep Cloud components + docs + examples

[x] PR message:
We have recently released our new zep-cloud sdks that are compatible with Zep Cloud (not Zep Open Source). We have also maintained our Cloud version of langchain components (ChatMessageHistory, VectorStore) as part of our sdks. This PRs goal is to port these components to langchain community repo, and close the gap with the existing Zep Open Source components already present in community repo (added ZepCloudMemory,ZepCloudVectorStore,ZepCloudRetriever).
Also added a ZepCloudChatMessageHistory components together with an expression language example ported from our repo. We have left the original open source components intact on purpose as to not introduce any breaking changes.

Issue: -
Dependencies: Added optional dependency of our new cloud sdk zep-cloud
Twitter handle: @paulpaliychuk51

[x] Add tests and docs

[ ] Lint and test: Run make format, make lint and make test from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/

Additional guidelines:

Make sure optional dependencies are imported within a function.
Please do not add dependencies to pyproject.toml files (even optional ones) unless they are required for unit tests.
Most PRs should not touch more than one package.
Changes should be backwards compatible.
If you are adding something to community, do not re-import it in langchain.

If no one reviews your PR within a few days, please @-mention one of baskaryan, efriis, eyurtsev, hwchase17.

Looking into linter errors

@baskaryan Our Cloud APIs have diverged from Open Source, both from an API and functionality perspective. The API will likely be harmonized soon, but the functionality will stay differentiated. We have two sets of SDKs as a result.
We don't want to break the existing components for the open source users.
Additionally, we want to avoid confusion for the cloud users about the sdk arguments, and just point them to the cloud components.


fix: correctly update req.url on routes and mws

Closes #417

@talentlessguy

safe to merge @adhusson ?

yes!


Revert "Pin sphinxcontrib-spelling due to bug on latest version (#486)"

Summary
The release of sphinxcontrib-spelling 7.3.2 fixed the bug on 7.3.1.
Avoid 7.3.1 in requirements-dev.txt
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 85.359%

Files with Coverage Reduction
New Missed Lines
%

qiskit_nature/drivers/psi4d/psi4driver.py
2
85.47%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
10104

Relevant Lines:
11837

💛  - Coveralls


Support Swift Package Manager

I'm unable to install Zip with Swift Package Manager:
$ swift package update
Fetching https://github.com/marmelroy/Zip.git
error: https://github.com/marmelroy/Zip.git has no manifest for version 0.7.0

Contents of my Package.swift:
import PackageDescription

let package = Package(
    name: "Test",
    dependencies: [
        .Package(url: "https://github.com/marmelroy/Zip.git",
                 majorVersion: 0),
    ]
)

There is no SPM support for Zip at the moment as it's dependencies aren't written in swift.
SPM only works with Swift code and doesn't support any mixing, so until everything is ported to Swift, it's not going to be possible

Here is the example of the similar lib which relying on minizip aswell https://github.com/PerfectlySoft/Perfect-Zip
I believe that Swift Package Manager support will be very useful for a lot of people.

I'm sorry I didn't explain the issue clearly, the library has minizip bundled with the same source, not as a dependency, which SPM doesn't support, as you see in this issue for example.
I think it's easy to get this fixed for SPM, but that also means the C code has to be removed, which is going to break the Cocoapods and Carthage builds, alternatives needs to be found.
I don't have so much time to look into this at the moment so can't promise things will change very quickly, but if you have some time to spare I would recommend giving it a shot :)
I think the last version that had that file was 0.5.0 try that in your Package.swift file to see a better overview of what happens.


stat/combin: Cartesian design does not match package

Combinations returns a [][]int, while Cartesian deals with *mat.Dense. There is no good reason for this distinction. In general, combin deals with helping indexing (Combinations, SubFor), so Cartesian should change to also deal with [][]int. This is more general, as the current design assumes your sets are type float64 while if it returns [][]int, then they can be interpreted as indexes into sets of arbitrary type.

Yes, we don't need this to be a float matrix. I'm not sure why we went this way.


A16 random panic: AMCC PLANE1 Unexpected RT traffic hitting DT or DT lock

I'm getting random kernel panic's while jailbroken.
Mostly they happen when i play Call Of Duty Mobile.
Any solution? The crash logs seems like it's not spinlock panic everyone was talking about
Crash logs are attached.
logs.zip

Also, another panic you may be interested in:
panic-full-2024-02-19-193954.000.zip
I assume it happens after i try to re-jailbreak after a kernel panic, because jailbreak doesnt happen after kernel panic (it reboots, but no Sileo app and i assume kernel panic happens at that time. However, if i jailbreak again everything works)


[GcpRedisInstance] label/teg resource at cloud provider side

Description
When resource is created in GCP MemoryStore, it should contain tags/labels for kyma name, namespace name, and resource name
Reasons

Attachments

Done.


not able to close Profiler editor

when the session is not stopped, user is not able to close the profiler window, and the message is irrelevant.

@alanrenmsft is this impacting the 1.26 (Feb) release?  Or a recent regression?


QUESTION: MQTT integration

Hi Niels,
Its me again... hope you don't mind.
Would it be possible to send all the data of the SDM to MQTT too?
The gateway im using can accept 5 connections but I don't want the one script to get in the way of the other script.
As we are already recieving info from the SDM and pushing it to the inverter would it also be possible to push the data to MQTT in the same go?

As I said in issue #2, where you also requested this: it is possible to have multiple processes talk to the same Modbus device through those gateways. While you should be able to modify the sdm120.py or sdm630.py script in /devices/, you should probably find software which is made for that purpose. For example, you can use sdm_modbus and add the MQTT functionality to the example script.


Improve documentation of behaviour of DEFAULT in the cipherstring.

Fixes #5420
Checklist

[x] documentation is added or updated

Sorry, but "does not need to be separated from rest of the cipherstring" does not make so much sense given that the subject is a cipherstring (notice difference between cipherlist and cipherstring in man page).
Also the #5420 is about DEFAULT, not COMPLEMENTOFDEFAULT.

IOW, the behavior (as I observed it--the actual processing in the code might be superset of that) seems to me as completely different syntax of cipherlist.

In addition to opposing the documentation change (to freeze-in a bug), the real documentation lapse with "DEFAULT" is that unlike various more "primitive" cipherlist elements, it does not support additional boolean combinations, e.g. "DEFAULT+kECDHE" or similar.  It is a special "macro" that can only occur at the start of the list, and is logically replaced with its definition, and then anything else that follows after the next ":".
We can document that limitation as a non-bug, is that is less likely to change, is a good part of the reason why "DEFAULT" is first.  This PR is not progress as it stands IMHO.

Victor, would you be able to propose a different PR with your suggestions?


Layout > Header

[x] Quick search underline should have darker shade of main color. It shouldn't be white.

[x] Quick search underline on :focus, should be white.
[x] "Alerts" sidebar, can't be closed by clicking ourside it's container. It's working correctly with "Notification" sidebar
[x] Brand dropdown has different speparator colors:

[x]  Brand dropdown title has cursor: pointer on :hover. It's not link, so it need to be fixed.
[x] All dropdowns in header, should have 8px space like in example below:

All tasks has been fixed correctly. I'm closing this issue.


UIViewReportBrokenSuperviewChain

I have a custom view with a sublayer. When make contrains with this view on it's super view, I got a crash on iOS10.0 with Xcode8.0.
crash info:
*** Assertion failure in void UIViewReportBrokenSuperviewChain(UIView *__strong, UIView *__strong, BOOL)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3599.6/UIView.m:190

code like this:
@interface CustomView : UIView
{
    UIImageView *_imageView;
}
@end

@implementation CustomView

- (instancetype)init
{
    if (self = [super init])
    {
        _imageView = [[UIImageView alloc] initWithFrame:CGRectZero];
        [self.layer addSublayer:_imageView.layer];
    }
    return self;
}

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    CustomView *view = [[CustomView alloc] init];
    [self.view addSubview:view];
    [view mas_updateConstraints:^(MASConstraintMaker *make) {
        make.leading.trailing.top.bottom.mas_equalTo(0);
    }];
}

@end

@Lingyj I don't think this is at all related to Masonry? If you remove the constraints maker does it still crash? If so it's something else unrelated.


Layout breaks when image is img

When I use masonry with img as a child, layout breaks. Or maybe I'm making sth wrong? When I use div (as in your example), everything works ok. My code is very the same is in your example. When I resize screen, then layout is set correctly. Please check: this gif

I'm having the exact same issue

Bricks.js has a similar issue here. I recommend to wrap images in div tag.

@bsurai I still haven't found a way to fix this other than setting each img to a predefined fixed height. Wrapping in a div doesn't seem to change anything.

@bsurai @joshuavandijk Bricks.js relies on a element height on a first render, so you get the broken layout. This component is suitable mostly for a static data. If you'd like to use it with dynamic data, you have to "force pack" Bricks.js instance every time what can be not the best solution.
For your case try to look other modules. E.g. [masonry of react-virtualized].(https://bvaughn.github.io/react-virtualized/#/components/Masonry)

Hello all! I am having the same problem, and I was wondering if someone could tell me how exactly to call .forcePack()? thanks :)

@jmbothe hei, can you pls point out how you used .forcePack()? It is a bit confusing on how to use Methods in docs... Thank you in advance!

@popovprodigyai  so, I didn't actually end up calling forcePack() as an instance method. Rather, I realized that setting the prop pack to true triggers forcePack() on every update. I just wasn't reading the docs closely.
https://github.com/skoob13/react-masonry-infinite#props


vllm check

instructions
make a venv
pip install -r requirements.txt
pip install -e .
pip install -r turbine_models_requiremnts.txt
pip install -e python/turbine_models/
python python/turbine_models/model_builder.py {hf_model_id}
Optional: rm -rf ~/.cache/huggingface

dont delete branch please


cred-alert CLI should clean up empty temp directories

After a while I end up with thousands of cred-alert-cli* and inflator-errors* directories in /tmp, most of which are empty.
These should be culled automatically by the CLI when they are empty.

:raised_hands:


Request: set vertical airflow in Haier airconditioning

We have a Haier airconditioning that allows choosing the vertical airflow direction in a few steps between horizontal (0 degrees) and vertical (downward, -90 degrees). I do not find an option to choose the vertical airflow direction. I see an option to choose vertical and or horizontal swing, but not an option to choose the vertical airflow position.
Am I overlooking some option? Or is it not present as an option?
If not present, would it be possible to add such an option? If that requires additional information from my side, I will be happy to provide it. However, I am a novice with respect to Home Assistant, so I do need quite specific instructions on how to retrieve the required infromation.
Regards,
Gerben

There is an action called: "hOn: Set wind direction vertical" that will allow to select the vertical airflow direction. Could you please try?

Probably, I was not clear enough in defining the problem.
I can set the vertical position in 5 positions varying between very high (approximately 90 degrees = horizontal) and very low (approximately 135 degrees).
However, our device has an extra position, really vertical (180 degrees) and this position I cannot find using the interface
very high

very low

vertical

======
I tried to detect a difference by clicking 'get settings details' twice.
Once with the direction set to auto and once with direction set to vertical using the remote control, but I do not see differences:
Get all settings ('auto')
Parameters:
screenDisplayStatus: [0 - 1] - Default: 1
echoStatus: [0 - 1] - Default: 0
tempSel: [16 - 30] - Default: 22
machMode: ['0', '1', '2', '4', '6'] - Default: 0
10degreeHeatingStatus: [0 - 1] - Default: 0
silentSleepStatus: [0 - 1] - Default: 0
muteStatus: [0 - 1] - Default: 0
rapidMode: [0 - 1] - Default: 0
selfCleaningStatus: [0 - 1] - Default: 0
windSpeed: ['1', '2', '3', '5'] - Default: 5
windDirectionVertical: ['2', '4', '5', '6', '7', '8'] - Default: 5
Update settings:
service: hon.update_settings
data:
parameters: >-
{'screenDisplayStatus':'1','echoStatus':'0','tempSel':'22','machMode':'0','10degreeHeatingStatus':'0','silentSleepStatus':'0','muteStatus':'0','rapidMode':'0','selfCleaningStatus':'0','windSpeed':'5','windDirectionVertical':'5'}
target:
device_id: 4d971b402709545c0f2aa5dd18a863c4
Get all settings ('vertical')
Parameters:
screenDisplayStatus: [0 - 1] - Default: 1
echoStatus: [0 - 1] - Default: 0
tempSel: [16 - 30] - Default: 22
machMode: ['0', '1', '2', '4', '6'] - Default: 0
10degreeHeatingStatus: [0 - 1] - Default: 0
silentSleepStatus: [0 - 1] - Default: 0
muteStatus: [0 - 1] - Default: 0
rapidMode: [0 - 1] - Default: 0
selfCleaningStatus: [0 - 1] - Default: 0
windSpeed: ['1', '2', '3', '5'] - Default: 5
windDirectionVertical: ['2', '4', '5', '6', '7', '8'] - Default: 5
Update settings:
service: hon.update_settings
data:
parameters: >-
{'screenDisplayStatus':'1','echoStatus':'0','tempSel':'22','machMode':'0','10degreeHeatingStatus':'0','silentSleepStatus':'0','muteStatus':'0','rapidMode':'0','selfCleaningStatus':'0','windSpeed':'5','windDirectionVertical':'5'}
target:
device_id: 4d971b402709545c0f2aa5dd18a863c4
======
Perhaps useful information
To set the air conditioner into this vertical mode, we have to press the button 'extra function' on the remote until the display shows the desired modus followed by pressing the 'confirm' button to send the command

This is strange, the possible values for the vertical swing for your AC device are
windDirectionVertical: ['2', '4', '5', '6', '7', '8']
And they are all already supported in the integration:
    AUTO = "8"
    VERY_LOW = "7"
    LOW = "6"
    MIDDLE = "5"
    HIGH = "4"
    HEALTH_LOW = "3"
    VERY_HIGH = "2"
    HEALTH_HIGH = "1"

Can you active the position through the hOn mobile app ?

No, you can't set it in the 180 degree vertical position using the hOn mobile app.
Perhaps I did not write that clear enough, but I wrote this as 'Perhaps useful information' in the original message. It can be set only using the button 'extra function' on the remote.
That is why I was curious after the reading of the parameters, if it would be possible to see something. The parameter must be set in the device, question is where and how to get there?
I have in the past also contacted Haier with this issue, I found it strange that the mobile app cannot control all functionalities of the device, especially such an important one.
Unfortunately, the support staff at Haier found it completely logic that a mobile app cannot control such an important function and made clear that there was no intention at all in Haier to make the mobile app fully support there own device.

Your message was really clear and unfortunately we might be limited here. The only think we can do :

Activate the debug on HA for the HON integration
looks at the dump: every minute, I dump the status and all parameters from the hOn server. Maybe there is a value we can use

(the "get Settings" do not send back the actual values, just default ones)

Activate the debug on HA for the HON integration
looks at the dump: every minute, I dump the status and all parameters from the hOn server. Maybe there is a value we can use

Is that a request to me, or something that you intend to do yourself? If a request to me, please give me some detailed instructions what I have to do and where to fetch the information you need. As said, I am still a novice in the home assistant environment. It would save me quite some time searching the manual if you would give me such more detailed instructions as to how to activate the debug mode on HA for the hOn integration and where to fetch the debug information.

@ggieling , the request is for you :)
Please add this to the configuration.yaml and restart HA
logger:
logs:
custom_components.hon: info
After go to the log page '/config/logs' and click to access all logs.
Share any of the logs starting with:

You will see after a log every 30 sec with all details about your device.
You will need to go to the log section and expand the complete logs to be able to see them.
Ideally you should look at a dump before activating the option and 30 sec later to check if something is different

I have added to configuration.yaml

logger for airco (hOn)
logger:
default: warning
logs:
custom_components.hon: info

restarted home assistant waited one minute after restarting and did some operations with the airco using the home assistant interface. I do not see anything appearing in the log file [settings]/[logs]/[load full logs].
the only information I see about the hOn integration is the below warning

WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hon which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

If I go to the logbook in the user interface, I see the logbook reporting that the airco was switched on or of or changed operating mode (ventilator only / cooling / heating). The logbook does not report if I change anything with ventilator speed or vertical airflow.
Despite seeing some events in the logbook, the log file is completely silent about anything happening with the airconditioner.
I changed the default to 'info' and restarted home assistant. With this configuration I do see a lot of messages appearing in the log, but nothing related to the Airco. It seems as if the hOn integration is not reporting to the log system at all.

I'm really sorry !  the level should be set to 'debug', not 'warning' or 'info'

Silly, I could have thought that myself.
I have extracted the log information and included the raw log file below.
v3.zip
extract.log is the section of the log file relevant for the analysis
parsed.log is the same extract file but processed to be more legible for humans
the xx# files are the individual entries in the log file that make it easier to compare using diff.
The sequence used was:
set a vertical position using Home Automation
after approximately one minute change to horizontal using the remote control and shortly after to 180 degree vertical using the remote. ( I have to make two commands using the remote, because it can only send commands if the status in the remote itself changes. I doesn't know the actual status of the air conditioner and cannot send the command 180 degree vertical again if the last command send with the remote was 180 degree vertical, regardless of what happened in between via other interfaces).
In some occasions you'll see operationSource 1 linked to WindDirectionVertical value 2. In that case, the context dump to the log file was exactly between the two remote control toggles.
In checking the context parameters I see two essential differences:
'windDirectionVertical' and 'operationSource'
I assume that 'operationSource' is indicative of how the latest change was triggered, with '3' indicative of the interface used by Home Assistant and '1' indicating the Haier remote control
In some occasions you'll see operationSource 1 linked to windDirectionVertical value 2. In that case, the context dump to the log file was exactly between the two remote control toggles.
The 180 degrees vertical position  is in our device linked to 'windDirectionVertical' value of '3', which in the Home Assistant interface is linked to 'Health high'.
Since the parameter used to set the device in 180 degrees vertical position seems to be the common windDirectionVertical parameter. I tried using the [Developer tools] [services] page to run through all possible vertical position values (1-8).
For two of these this produced the below error:

This error originated from a custom integration.
Logger: custom_components.hon.device
Source: custom_components/hon/device.py:146
integration: hOn (documentation, issues)
First occurred: 12:56:22 PM (3 occurrences)
Last logged: 12:59:03 PM
Unable to update parameter [windDirectionVertical] with value [1] because not in range ['2', '4', '5', '6', '7', '8']. Use default instead.
Unable to update parameter [windDirectionVertical] with value [3] because not in range ['2', '4', '5', '6', '7', '8']. Use default instead.

The complete log is included below
v5.zip
Question:
Where does the limitation in the windDirectionValue come from?
Is this limitation created in the plugin assuming that it does not exist for this device because the original hOn app for android does not have these values for this device? Or is it the device itself reporting to Home Assistant that these values cannot be set?
Hope this helps

Wow, thank you for all these details!
The list of possible values for the parameter windDirectionValue is coming from the server directly. So there is a high chance it will be blocked by the server.
To test, you can use the action "hOn: Send custom request" I don't filter any values so it will be sent to the server :)


base_link is jumping.

Hi Sasaki san
Thank you for your help.
I have one query regarding base_link jump.
I am not using odom (flag use_odom = false.) and when I am performing  slam
base_link is jumping randomly.
Bug can be seen after 1:02 minute of video.
Can you please tell what could be the reason for that?
What I am missing here?
For this behavior I am sharing  video link
https://www.youtube.com/watch?v=5PK0N8X5Hgg

Hello.
Probably the ndt scan matching is failing.
Since ndt_num_threads is 2, you might want to increase it, or get the rosbag and run it with rosbag set to x0.5, x0.25, etc.

Also, changing the ndt_resolution and voxel grid filter parameters may help.
Is the environment indoors or outdoors?

For now it is indoor........moving my lidar around table

Indoors, many of the parameters related to ndt are too large.
For example, the following may improve the behavior. (The following is not the best)
ndt_resolution: 1.0
trans_for_mapupdate: 0.5
Also, this package adds a map every certain distance (trans_for_mapupdate), so if lidar just arounds the table, the map may not be done well.

Thank you for this information.
Used parameters for indoor environment:
ndt_resolution: 1.0
ndt_num_threads: 5
trans_for_mapupdate: 0.2
voxel_leaf_size: 0.1
Result: - I tried above settings and outcome is better than previous result.
So still looking for better results.
I am trying more number of iterations.

Closing this issue.Thanks


bash compatible tilde expansion order

bash perform tilde expansion before quote removal

should also fix tilde expansion order within case pattern


When grouped by category, pre-sort assignments in backend

From tech call 12/10/2015.
When grouped by cat, if you refresh the tool, the assignments load as ungrouped initially and in the default sort order.  The frontend javascript then reorders the columns(assignments) based on the categorised sort order which can be confusing to the user.
To fix, move the ordering of the assignments to the Wicket code so the JavaScript doesn't need to reorder columns once the page loads.

FYI I have some work on a new sort param going into the matrixbuilder so if you are doing something here, let me know and I'll get mine in. It's just being tested at the moment.

Ah cool, I've had a go at doing the pre-sort in conjunction with the refactor from XML storage to the database #1389.  There's a WIP branch there in the comments that would be great to get some feedback on.  It's still incomplete, and could use some tips to introduce the new database column/migrations etc.  I think the row-sorting shouldn't get in the way of any of that stuff.

Nice! Confirmed. The assignments are now displaying in their "group by category" ordering upon page-load, so when the category row pops in, the ordering doesn't change.


Materialize landing page buttons and input field

The current landing page works great, but the UI looks a bit... Microsofty.

The buttons and input field should follow the style from
https://www.polymer-project.org/docs/elements/paper-elements.html#paper-button
https://www.polymer-project.org/docs/elements/paper-elements.html#paper-input

Agreed, I just took the rough style Sam suggested from: http://googlechrome.github.io/webrtc/samples/web/content/getusermedia/resolution/
Should we pull in the polymer framework and use that for the web UI going forward?

Should we pull in the polymer framework and use that for the web UI going
forward?

Yes. I think this would make a lot of sense.
(For apprtc, I wanted to keep the page weight and number of requests to a
minimum, so I used inline SVGs in a 'material' style.)
---------- Forwarded message ----------
From: Chuck Hays<EMAIL_ADDRESS>Date: 22 January 2015 at 16:24
Subject: Re: [webrtc] Materialize landing page buttons and input field
(#410)
To: GoogleChrome/webrtc<EMAIL_ADDRESS>Agreed, I just took the rough style Sam suggested from:
http://googlechrome.github.io/webrtc/samples/web/content/getusermedia/resolution/
Should we pull in the polymer framework and use that for the web UI going
forward?
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleChrome/webrtc/issues/410#issuecomment-71048190.

I think that would probably be simplest, although let's check how much this actually adds in terms of requests/bytes first. We have such a small number of UI elements, it would be nice to avoid paying for stuff we aren't using.

Here is the same UI using polymer. It isn't ready for a PR yet. If we decide to move forward I need to update some tests and make sure it works in the Chrome App.
Uses the blue colors from the material design spec, and has the default animations included with polymer.
I'll check how many files/sizes that it fetches and report back.
https://github.com/chuckhays/webrtc/commit/a815d2ac531d353977d98041080fc3038eb9264b

Here is a list of the files additionally fetched with this change:

File
Size (KB)

paper-button.html
5.3

paper-input.html
3.9

paper-item.html
3.8

paper-shadow.html
2.5

polymer.html
0.798

core-ally-keys.html
10.7

paper-button-base.html
4.3

core-input.html
3.7

paper-input-decorator.html
16.4

paper-ripple.html
14.3

paper-shadow.css
2

layout.html
6

polymer.js
336

core-focusable.html
0.353

core-icon.html
6.1

core-icons.html
54.4

core-style.html
10.9

polymer-mixin.js
1.1

core-focusable.js
3.2

core-iconset-svg.html
5.4

core-iconset.html
8.4

core-icon.css
0.898

core-meta.html
4

paper-input-decorator.css
2.7

Total
507.149(KB)

It certainly looks great. Is there a minified version?
500K is a lot to take on, but I don't want to spend a ton of time trying to recreate Polymer. And this stuff is all cacheable.

It does look like they also have a tool called vulcanize which can combine a lot of it into a single page. It would make index.html bigger, but take only 1 network request.
Polymer seems bleeding edge enough that we should consider whether it supports all the browsers we want to work with AppRTC or not.

That might work against caching, since index.html won't be cached. But I like the idea of a single blob, possibly downloadable as a polymer.html fragment. Were the numbers above from minified versions of Polymer?
If we're not sure what direction we want to go, we could just manually specify the colors/basic stylings from Material (uppercase buttons, etc) as a first step.

Here is a CSS/HTML only option that gets much closer to the guidelines:
https://github.com/chuckhays/webrtc/commit/5e9d8b8b870097c58067b7f3e99fd2beb9d00120

Perfect. Let's go with that.


Feature Request:  When locking by label, return randomly selected item(s)

We are using this feature in Jenkins to select which server to run our webapp on.  We would like to randomly choose one to spread the work around better.
One very simple way to do this would be to modify LockableResourcesManager::getResourcesWithLabel() to do the following.
return java.util.Collections.shuffle(found);
Thoughts?
Thank you

That sounds useful, but I would prefer to make it configurable. I wonder if some presets (FIRST, RANDOM, other useful strategies) are enough or if it would be useful to allow custom code (as was thinking of closures in pipeline) without opening another can of worms... Probably start with some presets first and keep the current behaviour as default.

This might be a bit beyond the scope of this request but one strategy/preset could be PRIORITY in combination with being able to assign a priority value to a resource.

Another vote for this request, please.  I have a pool of servers I deploy & test to, and don't particularly care which is used, so a 'random' preset would be great.

We've a particular case where we want the least recently used item to be allocated. At-least, a random item is the next better alternative. This is because we need to perform some clean-up on the used pool of servers. This cleanup is not mandatory after every workload use, but occasionally some left over from the prior job can cause trouble. So we've two sets of job, one which primarily uses this pool of server as workload. The other is the one which cycles through the pool explicitly and cleans it up. Our problem is that the primary job which relies on label keeps using the first item, when there aren't any contenders.

see #215


Fix examples/app.py partial_update_pet bug

The data in partial_update_pet function is a dictionary type, can't get key and value one time.

Codecov Report

Merging #10 (26b4c17) into master (f69b3f2) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 26b4c17 differs from pull request most recent head 8f901a2. Consider uploading reports for the commit 8f901a2 to get more accurate results

@@            Coverage Diff            @@
##            master       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           12        12
  Lines          614       614
  Branches       117       117
=========================================
  Hits           614       614

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 f69b3f2...8f901a2. Read the comment docs.

Merged, thanks!


DEVICE_GET_INFO: Modify params of wfaEncodeTLV() as non-empty

Signed-off-by: Cedric Baudelet<EMAIL_ADDRESS>

Code review complete. Compilation OK


[driver/sourcekit] Avoid creating temporary output files in TMPDIR

When producing frontend arguments for sourcekitd, force the output mode
to -typecheck so that we do not create any temporary output files in the
driver. Previously, any sourcekitd operation that created a compiler
invocation would create 0-sized .o file inside $TMPDIR that would never
be cleaned up.
The new swift-driver project handles temporaries much better as
VirtualPath, and should not need this approach.
rdar://62366123

I still want to add some tests with swift-ide-test -test-createCompilerInvocation, but putting up now for feedback on the general approach.  I'm not really thrilled with this, but I wasn't sure how else to avoid creating the temporaries.

@swift-ci please smoke test

@swift-ci please smoke test Linux

@brentdax just to clarify I was hoping you could review this as well (reviewers && instead of ||).

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - ffc990f999f4dc7a32af2139d8fd2c3d05276ddd

Build failed
Swift Test Linux Platform
Git Sha - ffc990f999f4dc7a32af2139d8fd2c3d05276ddd


@emotion/css missing dependency?

@emotion/css is a dependency of @emotion/core but if you have multiple versions of @emotion/core installed, react-input-slider could easily end up with the wrong version of css. I happened to have @emotion/css@^11 and it completely broke the component

will test it with emotion v11 since the package bundled with v10

+1

What the Emotion syntax to control the hove function in the thumb object ?


[Bulk] Validation: fixingazuredocsissues-4-27-cc

This PR fixes about 30 issues.

Docs Build status updates of commit de7897f:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/resourcemanager-hybridnetwork-readme.md
:warning:Warning
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-imagebuilder-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-iotcentral-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-iothub-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-keyvault-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-kubernetesconfiguration-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-kusto-readme.md
:bulb:Suggestion
View (azure-java-preview)
Details

docs-ref-services/preview/resourcemanager-hybridnetwork-readme.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
Line 39, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/java/azure/jdk/' will be broken in isolated environments. Replace with a relative link.

docs-ref-services/preview/resourcemanager-imagebuilder-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/preview/resourcemanager-iotcentral-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/preview/resourcemanager-iothub-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/preview/resourcemanager-keyvault-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/preview/resourcemanager-kubernetesconfiguration-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/preview/resourcemanager-kusto-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

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

File
Status
Preview URL
Details

docs-ref-services/preview/resourcemanager-hybridnetwork-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-imagebuilder-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-iotcentral-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-iothub-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-keyvault-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-kubernetesconfiguration-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

docs-ref-services/preview/resourcemanager-kusto-readme.md
:white_check_mark:Succeeded
View (azure-java-preview)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Enhance Documentation for Contributing to Torii Core

"The 'Contributing to Torii Core' documentation lacks detailed descriptions of Rust usage, GraphQL, and gRPC interfaces. This update aims to include these details along with outlining a new caching layer to enhance scalability and efficiency in data retrieval." #204

Hi @milancermak @ptisserand @broody @thiscaspar, I just created the issue, assign it to me, meanwhile, I'll start working on it

@milancermak @ptisserand @broody @thiscaspar @kariy @ponderingdemocritus i´ll start working in this issue


ValueError: unsupported pickle protocol: 4

Hi, I was trying to run train.py dataset on AWS cloud with ubuntu 14.04 but got this error, I am pasting all the errors, please help me help me on how to fix this ?
ValueErrorTraceback (most recent call last)
/home/ubuntu/capsnet-traffic-sign-classifier/train.py in ()
123 if name == 'main':
124     arguments = docopt(doc)
--> 125     train(arguments[""], arguments["--ckpt"], arguments[""])
/home/ubuntu/capsnet-traffic-sign-classifier/train.py in train(dataset, ckpt, output)
53         return np.array(img) / 255
54
---> 55     X_train, y_train, X_valid, y_valid, X_test, y_test = get_data(dataset)
56
57     X_train = X_train / 255
/home/ubuntu/capsnet-traffic-sign-classifier/data_handler.pyc in get_data(folder)
21
22     with open(training_file, mode='rb') as f:
---> 23         train = pickle.load(f)
24     with open(validation_file, mode='rb') as f:
25         valid = pickle.load(f)
/usr/lib/python2.7/pickle.pyc in load(file)
1376
1377 def load(file):
-> 1378     return Unpickler(file).load()
1379
1380 def loads(str):
/usr/lib/python2.7/pickle.pyc in load(self)
856             while 1:
857                 key = read(1)
--> 858                 dispatchkey
859         except _Stop, stopinst:
860             return stopinst.value
/usr/lib/python2.7/pickle.pyc in load_proto(self)
884         proto = ord(self.read(1))
885         if not 0 <= proto <= 2:
--> 886             raise ValueError, "unsupported pickle protocol: %d" % proto
887     dispatch[PROTO] = load_proto
888
ValueError: unsupported pickle protocol: 4

I forgot to precise it in the README.  I will add it.
You need python3.

I just push to up the test accuracy to 96,97%

97% now

WooW!! That's Amazing!! I am hoping you are going to increase it further.


generate_tables.ipynb is broken?

Thank you for your great work !
I noticed your scripts/generate_tables.ipynb doesn't render correctly on the .ipynb viewer on github (like the figure I attached).
There seems to be something wrong with the code. Sorry if I misunderstood that. thx

You are correct! Thanks for reporting this. I think it's fixed now, please let us know if you have any other issues.


Kestrel: Deadlocked in SocketOutput?

There seems to be a dead lock in SocketOutput (and kestrel stops accepting new connections). My server does lock up randomly. See below the two sets of threads that may be causing deadlock. I looked at the code and these two sets of stack does seem to have possibility of deadlocking.
I'd taken 2 other dumps and I saw same pair of stacks getting stuck.
Since I can't repro the deadlock, I can't really tell what's causing these threads to get in deadlock. This issue could be related to #1267, but big difference is that in my case CPU goes down to zero.

@physhi do you pass a cancellation token to any WriteAsync calls? What does your application look like?

Yep there's a deadlock...

I'm using 1.1.0 version of dotnet core running on windows. My application is really a file store with a lot of big files, and I have bandwidth throttling and content range and bunch of content transformations implemented in code. What I do is I try to pass cancellation token as far as possible so that I can terminate request if user has disconnected from the server.
Currently, because of this deadlock issue, I've to implement a watchdog process with very aggressive ping times and recycling kestrel as soon as the server stops processing a request.

The only way to avoid it would be to stop passing a cancellation token. It's something we need to fix for 1.1.1.
The problem is that we're disposing the cancellation registration in the write callback under the context lock https://github.com/aspnet/KestrelHttpServer/blob/b46e48fe0188273f462809da8db96748efedfa81/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/SocketOutput.cs#L429 on the IO thread and this waits on any pending cancellation callbacks to execute. Turns out we have a cancellation callback waiting on the same lock https://github.com/aspnet/KestrelHttpServer/blob/b46e48fe0188273f462809da8db96748efedfa81/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/SocketOutput.cs#L299.
/cc @muratg @halter73 @cesarbs

@physhi Are you manually calling context.Abort() anywhere?

Putting this in 1.1.1 so that it's triaged with the rest of 1.1.1 items.

@physhi have you tried not passing in the token?

@davidfowl I'd tried not passing the token but still the problem persists.

It's difficult to take snapshot, as I see hangs in production service and it get's recycled as soon as hang is detected. I just know that the service was restarted and that's it.

The problem is that we're fixing the issue but if no cancellation token is passed into WriteAsync, this won't happen. It's possible there's another hang and what you're experiencing won't be fixed by this fix https://github.com/aspnet/KestrelHttpServer/pull/1281

@davidfowl, Let me deploy the proposed fix and see if it fixes the issue. I'll know if there are not hangs in next 24 hours.

So I am trying to see if this is related to what I have seen a couple times over the last couple weeks.   I have a fairly simple app that is running as an Azure App Service on a single Large Instance.   It has sometimes gone more than a week without any Issues serving about 1.5 million pages a day and then will stop processing requests.  If I restart the App it will start without any Issues and usually hums along after that.  Looking in the log I see the following error just before it stops processing anything.
2017-01-12 21:47:28.036 +00:00 [Warning] Unable to bind to http://localhost:17739 on the IPv6 loopback interface.
System.AggregateException: One or more errors occurred. (Error -4089 EAFNOSUPPORT address family not supported) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4089 EAFNOSUPPORT address family not supported
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_bind(UvTcpHandle handle, SockAddr& addr, Int32 flags)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.Bind(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.CreateListenSocket()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.b__8_0(Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary.d__12.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.CreateServer(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start[TContext](IHttpApplication`1 application)
---> (Inner Exception #0) Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4089 EAFNOSUPPORT address family not supported
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_bind(UvTcpHandle handle, SockAddr& addr, Int32 flags)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.Bind(ServerAddress address)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.CreateListenSocket()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.b__8_0(Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary.d__12.MoveNext()<---

That error is harmless, hard to know if it's the same issue without any more information. A process dump when the application hangs would confirm.


Latest scripts not running on MoodeAudio

I am not sure what I doing wrong or where the problem may be but can not make these scripts running.
I have downloaded, did all the necessary but I have just blank display.
When I put the old ones back all is fine

Just pulled the latest MoodeAudio image, pulled the current Raspdac-Display image, installed the required libraries, set the pin numbers in Winstar_GraphicOLED.py and fired it up with no problems.  Are you sure that you have your pins set correctly?
Rough description of installation
download and burn MoodeAudio to sd card
Boot Pi, associate to moodeaudio SSID
browse to http://moodeaudio.local
Go to network config page and place it on my local wireless network.  Reboot.
ssh<EMAIL_ADDRESS>NOTE:  For some reason the system did not autoassign a DNS resolver.  So you may need to use resolvconf to add an appropriate nameserver.  I used <IP_ADDRESS>
git clone https://github.com/dhrone/Raspdac-Display
cd Raspdac-Display
sudo apt-get update
sudo apt-get install python-pip
sudo pip install moment pylms python-mpd2
sudo vi  Winstar_GraphicOLED.py
EDIT pin assignments for your system.
sudo python Raspdac-Display.py

Thanks for reply here. I was trying few times but could not find where the issue is.
Trouble is this was on existing system and not fresh install. The old scripts works fine so I think I have messed somewhere somehow.
I would need to start from scratch. Will try to flash new img on spare card and do it all again


Update the Documentation - Typo

There was a typo in line 48. "The" was misspelled as "Tge".

@satya1612 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@satya1612 Thanks for submitting this fix!


ci: add update website & format

Relate issue https://github.com/opensource-f2f/website/issues/29

Please don't merge it before authorizing me the permission of setting the secret keys of the repo.

hi @sxzz , thanks for helping on this. I just invite you to a maintainer role. Please let me know if it's not ok.

@LinuxSuRen I still can't do that.

hi @sxzz , already set you to the admin role. Please try it again.

@LinuxSuRen OK already added keys. Ready to merge.


[multistage][bugfix] routing entry checker for null routing

routing table can return null. thus we should check against NPE.

Codecov Report

Merging #9396 (d1881c4) into master (ff2a333) will increase coverage by 5.08%.
The diff coverage is 54.54%.

@@             Coverage Diff              @@
##             master    #9396      +/-   ##
============================================
+ Coverage     63.40%   68.49%   +5.08%
+ Complexity     4762     4701      -61
============================================
  Files          1832     1885      +53
  Lines         98146   100419    +2273
  Branches      15020    15283     +263
============================================
+ Hits          62231    68778    +6547
+ Misses        31321    26698    -4623
- Partials       4594     4943     +349

Flag
Coverage Δ

integration1
26.18% <0.00%> (?)

unittests1
66.92% <54.54%> (+<0.01%)
:arrow_up:

unittests2
15.35% <54.54%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../org/apache/pinot/query/routing/WorkerManager.java
83.87% <54.54%> (-6.87%)
:arrow_down:

...e/pinot/segment/local/io/util/PinotDataBitSet.java
95.62% <0.00%> (-1.46%)
:arrow_down:

...ot/plugin/inputformat/json/JSONMessageDecoder.java
0.00% <0.00%> (ø)

...t/server/starter/ServerQueriesDisabledTracker.java
86.36% <0.00%> (ø)

...plugin/segmentuploader/SegmentUploaderDefault.java
87.09% <0.00%> (ø)

...t/server/api/resources/SegmentMetadataFetcher.java
24.19% <0.00%> (ø)

...ache/pinot/plugin/metrics/yammer/YammerMetric.java
0.00% <0.00%> (ø)

...ugin/inputformat/avro/KafkaAvroMessageDecoder.java
0.00% <0.00%> (ø)

.../pinot/server/starter/helix/BaseServerStarter.java
54.61% <0.00%> (ø)

...inot/plugin/inputformat/json/JSONRecordReader.java
0.00% <0.00%> (ø)

... and 361 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


PhD defense about code and society issues

This could interest you: Paris Mo 28 november 2016
http://www.mines-paristech.fr/Formation/Doctorat/Soutenances-a-venir/Detail/Kseniia-ERMOSHINA/52368

Nice! Is that your thesis? Does it talk about Cocorico?

Not mine and not about Cocorico but a  high intensity high value open science/access crypto society issues civic tech PhD work.
Worth being there!


Add "Copy HSL URL" button next to each video in course overview

Is your feature request related to a problem? Please describe.
I prefer downloading lecture videos and then watching them in mpv. It is a little annoying to have to click on the video in the course overview and have it start auto playing, even though all I need is the HSL url.
Describe the solution you'd like
Add the same "Copy HSL URL" button, which can be found in the bottom right once the video starts auto playing, next to the "Mark as watched" button in the course overview.
Describe alternatives you've considered
Alternative, but much for complicated: receive HSL links via an RSS feed (possibly for each subject)

Actually there is a feature already implemented.
However the lecturers need to enable it (most dont).
So there are two options:

Either write an email to your lecturer, why this is a feature you want enabled (bad internet/..)
use https://github.com/Valentin-Metz/tum_video_scraper or something equivalent 😉


fix(curriculum): move sentence maker lab to strings and variables module

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #57710

Looking good 👍

image

So is it okay to place it after the trivia bot lab?

So is it okay to place it after the trivia bot lab?

Yes!

Could you approve then? @zairahira


Nothing is saved in the excel file.. it is always empty

Nothing is saved in the excel file.. it is always empty

Have you added .env file with your openai API key?

Nothing is saved in the excel file.. it is always empty


[feat: Add Nacos Registory.]

Support registory to nacos

Codecov Report

Merging #14 (26430da) into main (7a05147) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   22.31%   22.31%
=======================================
  Files           6        6
  Lines         121      121
=======================================
  Hits           27       27
  Misses         92       92
  Partials        2        2

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 7a05147...26430da. Read the comment docs.


Console links

Added ConsoleLink to ArgoCD operator helm chart. This will create user friendly link in the Application Menu on the Web Console.

@JuozasA ; bump the version to get CI to pass

@JuozasA ; bump the version to get CI to pass

This is awesome @JuozasA ! I wonder though if this should be created as a helper chart as we did for the sealed secrets? Happy to discuss as both ways i think would be valid. If we go down the helper function route, we could reuse the console link template across multiple helm charts and not have to carry copies of this template in each template. what do you think?

This is awesome @JuozasA ! I wonder though if this should be created as a helper chart as we did for the sealed secrets? Happy to discuss as both ways i think would be valid. If we go down the helper function route, we could reuse the console link template across multiple helm charts and not have to carry copies of this template in each template. what do you think?


Setting Menu Alignment

The settings menu incorrectly resizes with the page. Elements overflow and wrap in a visually unappealing way. A possible solution may be to use relative CSS size units rather than ones which are constant.

Everything was working correctly until merge, then volume slider and x still needed work


Suppress rust-analyzer's "Non Snake Case" warning for generated idents

Howdy, wishing you well.
I was trying out this crate when I noticed that each #[serde_inline_default] above my structs was being marked with a warning about the generated function names.
Funnily enough, it only seems to be coming through via rust-analyzer being run by my IDE (Zed), neither Clippy nor rustc seem to emit it.

Slapping in a #[allow(non_snake_case)] in the quote! block seems to quiet the warning, easily enough. :)

Very interesting 🤔. My guess is that clippy and rustc ignores it because #[doc(hidden)] functions aren't meant to be "visible" in the first place?


added page level ads prop

I added the prop to manage the page level ads, it has to be tested better

official document：
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-123456789",
enable_page_level_ads: true
});
</script>

so add it into dom attribute is really work? can help add a demo on website?

Could you please explain with a little more detail? I have some problems when switching routes with React Router


Disable intermittent unit test "creates pdf doc from non-existent URL"

Disable this test so we don't have to manually review unit test
failure log all the time.

/botio unittest


Node creation and deletion won't work in a multi-domain deployment.

As per discussion in https://github.com/xmpp-ftw/xmpp-ftw-buddycloud/issues/28

<EMAIL_ADDRESS>I'm migrating away from that old channel server - so really much better to not test anything against the buddycloud.org domain.
use the hosting domain.
16:29
Bernhard
laos.buddycloud.com has lots of bugs.
They should be fixed, but maybe not installed.
16:29
<EMAIL_ADDRESS>can you tell me which ones?
16:29
Bernhard
delete for example
16:30
<EMAIL_ADDRESS>According to this it's solved.
https://github.com/buddycloud/buddycloud-server-java/issues/288
is that not the case?
16:31
Bernhard
It doesn't work
16:31
<EMAIL_ADDRESS>Good to know.


Error at deploy website stage

I get
'Error: Process completed with exit code 1.'
at the deployment stage when pushing the changes. Full error message at the bottom.
Various changes from the original template:
Renamed deploy.yml to deploy-stage.yml as a linting program had issues with the properties of 'name', 'on', 'jobs' tasks in the original. Note the error at 'Deploy Website' stays the same regardless of the name deploy-stage.yml or deploy.yml.
I have tried fixes in #208 but they did not help.
Renaming the branches as per #209 messed up my branches and not sure why :/
Also looked at #321 but could not see if this was the issue.
Im using ruby 3.1.2p20, jekyll 4.2.2, bundler 2.3.24.
OS is Windows 11, chrome version 106.0.5249.119
Run yes | bash bin/deploy --verbose  --src master --deploy gh-pages
+shift
+[[ 4 > 0 ]]
+key=--src
+case $key in
+SRC_BRANCH=master
+shift
+shift
+[[ 2 > 0 ]]
+key=--deploy
+case $key in
+DEPLOY_BRANCH=gh-pages
+shift
+shift
+[[ 0 > 0 ]]
+set -e
+echo Deploying...
 (LoadError)
WDM is not supported on your system. For a cross-platform alternative,
we recommend using Listen: http://github.com/guard/listen
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/lib/wdm.rb:1:in `<top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:66:in `require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:66:in `block (2 levels) in require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:61:in `each'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:61:in `block in require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:[5](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:6)0:in `each'
from /opt/hostedtoolcache/Ruby/3.0.2/x[6](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:7)4/lib/ruby/3.0.0/bundler/runtime.rb:50:in `require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler.rb:1[7](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:8)4:in `require'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/jekyll-4.3.1/lib/jekyll/plugin_manager.rb:53:in `require_from_bundler'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/jekyll-4.3.1/exe/jekyll:11:in `<top (required)>'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll:23:in `load'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll:23:in `<top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `load'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `kernel_load'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:2[8](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:9):in `run'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:474:in `exec'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:3[9](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:10)2:in `dispatch'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:30:in `dispatch'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:24:in `start'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/libexec/bundle:49:in `block in <top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:128:in `with_friendly_errors'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/libexec/bundle:37:in `<top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/bin/bundle:23:in `load'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/bin/bundle:23:in `<main>'

/home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/lib/wdm.rb:2:in require': cannot load such file -- wdm_ext (LoadError) 	from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/lib/wdm.rb:2:in <top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:66:in require' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:66:in block (2 levels) in require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:61:in each' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:61:in block in require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:50:in each' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/runtime.rb:50:in require'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler.rb:174:in require' 	from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/jekyll-4.3.1/lib/jekyll/plugin_manager.rb:53:in require_from_bundler'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/gems/jekyll-4.3.1/exe/jekyll:11:in <top (required)>' 	from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll:23:in load'
from /home/runner/work/EnriqueCerv.github.io/EnriqueCerv.github.io/vendor/bundle/ruby/3.0.0/bin/jekyll:23:in <top (required)>' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in load'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in kernel_load' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in run'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:474:in exec' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in dispatch'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:30:in dispatch' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in start'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/cli.rb:24:in start' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.[22](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:23)/libexec/bundle:49:in block in <top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:128:in with_friendly_errors' 	from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/libexec/bundle:37:in <top (required)>'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/bin/bundle:23:in load' 	from /opt/hostedtoolcache/Ruby/3.0.2/x[64](https://github.com/EnriqueCerv/EnriqueCerv.github.io/actions/runs/3334469303/jobs/5517460979#step:6:65)/bin/bundle:23:in '
yes: standard output: Broken pipe
Error: Process completed with exit code 1.

I got this as well


config: add remote subscription

This is a feature that allows users to fill in one or more remote file links in the config.
I hope this will be useful when users need to follow a frequently updated user file, eliminating the need to repeatedly: "check for updates, download the file, open the local user folder, place the file, and reload the cactbot overlay."
Intended Use Case: Sharing your latest files with your teammates during the first week of savage content release.
Of course, this is not a recommended long-term solution. When file updates are less frequent, users should continue using the original local file folder solution.
This is just a sudden idea I had. If this proposal does not align with the design philosophy of cactbot, I fully understand if this feature is rejected.

test link: https://raw.githubusercontent.com/Souma-Sumire/20240620-test/main/raidboss.js

I can see a lot of potential use cases for allowing shared/updated user triggers (beyond just contributing/merging).  The overriding concern that I have is security.
Right now, user files are run through eval() unchecked -- and there's really no effective way to create and maintain strong file validation that would be needed to address potentially malicious code.  We've created at least some barriers (security through obfuscation, although not really since we have it documented) by requiring users to place files locally, and in the correct place. But allowing users to specify a remote URL which is then eval()'d creates a significant attack vector -- especially during times like world prog, when less-sophisticated users could be easily deceived into pasting URLs into their config with promises of getting access to early triggers.
There are probably some options to make this more robust, ranging from hyper-aggressive UI warnings to still requiring the use of a local file with the URL so it's not just a simple as pasting a URL into a box in the config.  But I'm feeling squeamish about opening an obvious and completely unchecked path to malicious RCE.

I can see a lot of potential use cases for allowing shared/updated user triggers (beyond just contributing/merging). The overriding concern that I have is security.
Right now, user files are run through eval() unchecked -- and there's really no effective way to create and maintain strong file validation that would be needed to address potentially malicious code. We've created at least some barriers (security through obfuscation, although not really since we have it documented) by requiring users to place files locally, and in the correct place. But allowing users to specify a remote URL which is then eval()'d creates a significant attack vector -- especially during times like world prog, when less-sophisticated users could be easily deceived into pasting URLs into their config with promises of getting access to early triggers.
There are probably some options to make this more robust, ranging from hyper-aggressive UI warnings to still requiring the use of a local file with the URL so it's not just a simple as pasting a URL into a box in the config. But I'm feeling squeamish about opening an obvious and completely unchecked path to malicious RCE.

Thank you for your reply. I fully understand and agree with your concerns, and this issue does require more careful handling.

I can see a lot of potential use cases for allowing shared/updated user triggers (beyond just contributing/merging). The overriding concern that I have is security.
Right now, user files are run through eval() unchecked -- and there's really no effective way to create and maintain strong file validation that would be needed to address potentially malicious code. We've created at least some barriers (security through obfuscation, although not really since we have it documented) by requiring users to place files locally, and in the correct place. But allowing users to specify a remote URL which is then eval()'d creates a significant attack vector -- especially during times like world prog, when less-sophisticated users could be easily deceived into pasting URLs into their config with promises of getting access to early triggers.
There are probably some options to make this more robust, ranging from hyper-aggressive UI warnings to still requiring the use of a local file with the URL so it's not just a simple as pasting a URL into a box in the config. But I'm feeling squeamish about opening an obvious and completely unchecked path to malicious RCE.

I agree with @wexxlee's concerns, and I don't really think simple text warnings in the UI are a sufficient safeguard to prevent users from putting themselves at significant risk.