[BUG] Apache HttpClient5 default configuration allocates 100mb byte buffer per request

What is the bug?
Apache HttpClient5 Default configuration ( using HttpAsyncResponseConsumerFactory with implementation HeapBufferedResponseConsumerFactory) allocates a 100mb byte buffer for every opensearch request. This results in very high cpu usage and poor performance. The problem seems to be due to implementation of HttpAsyncResponseConsumerFactory and HeapBufferedAsyncEntityConsumer.java#L91 .
How can one reproduce the bug?
Construct an Apache HttpClient5 based OpenSearchTranpsort and client object like so
        final OpenSearchTransport transport =
            ApacheHttpClient5TransportBuilder
                .builder(HttpHost.create(hostName))
                .setMapper(new JacksonJsonpMapper())
                .build();
        OpenSearchClient client = new OpenSearchClient(transport);

and execute client.search(..) method.
What is the expected behavior?
Application should not allocate 100mb byte buffer for every request.
Here's an example implementation that does not suffer from this problem and in testing reduced cpu usage by 10x.
import org.apache.hc.core5.http.*;
import org.apache.hc.core5.http.io.entity.ByteArrayEntity;
import org.apache.hc.core5.http.message.BasicClassicHttpResponse;
import org.apache.hc.core5.http.nio.AsyncResponseConsumer;
import org.apache.hc.core5.http.nio.entity.BasicAsyncEntityConsumer;
import org.apache.hc.core5.http.nio.support.AbstractAsyncResponseConsumer;
import org.apache.hc.core5.http.protocol.HttpContext;
import org.opensearch.client.json.JsonData;
import org.opensearch.client.json.jackson.JacksonJsonpMapper;
import org.opensearch.client.opensearch.OpenSearchClient;
import org.opensearch.client.opensearch._types.FieldValue;
import org.opensearch.client.opensearch._types.OpenSearchException;
import org.opensearch.client.opensearch._types.query_dsl.*;
import org.opensearch.client.opensearch.core.SearchRequest;
import org.opensearch.client.opensearch.core.SearchResponse;
import org.opensearch.client.opensearch.core.search.*;
import org.opensearch.client.transport.OpenSearchTransport;
import org.opensearch.client.transport.httpclient5.*;

   class MyHeapBufferedResponseConsumerFactory implements HttpAsyncResponseConsumerFactory {

        /**
         * Creates a {@link HeapBufferedResponseConsumerFactory} instance with the given buffer limit.
         *
         * @param bufferLimitBytes the buffer limit to be applied to this instance
         */
        public MyHeapBufferedResponseConsumerFactory() {
        }

        /**
         * Creates the {@link AsyncResponseConsumer}, called once per request attempt.
         */
        @Override
        public AsyncResponseConsumer<ClassicHttpResponse> createHttpAsyncResponseConsumer() {
            return new MyHeapBufferedAsyncResponseConsumer();
        }
    }

    class MyHeapBufferedAsyncResponseConsumer extends AbstractAsyncResponseConsumer<ClassicHttpResponse, byte[]> {

        /**
         * Creates a new instance of this consumer with the provided buffer limit.
         *
         * @param bufferLimit the buffer limit. Must be greater than 0.
         * @throws IllegalArgumentException if {@code bufferLimit} is less than or equal to 0.
         */
        public MyHeapBufferedAsyncResponseConsumer() {
            super(new BasicAsyncEntityConsumer());
        }

        /**
         * Triggered to signal receipt of an intermediate (1xx) HTTP response.
         *
         * @param response the intermediate (1xx) HTTP response.
         * @param context the actual execution context.
         */
        @Override
        public void informationResponse(final HttpResponse response, final HttpContext context) throws HttpException, IOException {}

        /**
         * Triggered to generate object that represents a result of response message processing.
         * @param response the response message.
         * @param entity the response entity.
         * @param contentType the response content type.
         * @return the result of response processing.
         */
        @Override
        protected ClassicHttpResponse buildResult(final HttpResponse response, final byte[] entity, final ContentType contentType) {
            final ClassicHttpResponse classicResponse = new BasicClassicHttpResponse(response.getCode());
            classicResponse.setVersion(response.getVersion());
            classicResponse.setHeaders(response.getHeaders());
            classicResponse.setReasonPhrase(response.getReasonPhrase());
            if (response.getLocale() != null) {
                classicResponse.setLocale(response.getLocale());
            }

            if (entity != null) {
                String encoding = null;

                try {
                    final Header contentEncoding = response.getHeader(HttpHeaders.CONTENT_ENCODING);
                    if (contentEncoding != null) {
                        encoding = contentEncoding.getValue();
                    }
                } catch (final HttpException ex) {
                }

                final ByteArrayEntity httpEntity = new ByteArrayEntity(entity, contentType, encoding);
                classicResponse.setEntity(httpEntity);
            }

            return classicResponse;
        }
    }
    public static void main(String[] args) throws InterruptedException {
        ApacheHttpClient5Options.Builder optionsBuilder = ApacheHttpClient5Options.DEFAULT.toBuilder();
        optionsBuilder.setHttpAsyncResponseConsumerFactory(new MyHeapBufferedResponseConsumerFactory());

        final OpenSearchTransport transport =
            ApacheHttpClient5TransportBuilder
                .builder(HttpHost.create(hostName))
                .setMapper(new JacksonJsonpMapper())
                .setOptions(optionsBuilder.build())
                .build();
        }
}

What is your host/environment?
OS: Fedora release 38 (Thirty Eight) x86_64
Do you have any screenshots?
No
Do you have any additional context?
Apologies if there are compiler errors in the above example implementation; was cobbled together from an internal project but I hope this is enough to make the issue clear. Please let me know if there's more info I can provide.

@johhud1 thank you, it has been identified and fix is on the way (see please https://github.com/opensearch-project/OpenSearch/pull/9993), as a workaround, you could provide own HttpAsyncResponseConsumerFactory with smaller limits.

Related to https://github.com/opensearch-project/OpenSearch/issues/9866


Can this OCR be used for japanese line prediction too?

It may be possible to train the architecture for hiragana or katakana if you have a labelled dataset. However, the current CNN-biLSTM is not optimised for kanji recognition (please see https://ieeexplore.ieee.org/document/8977956).


docker-proxy: 7b2b1fe -> fa125a3

Motivation for this change
Updates docker-proxy for upcoming Docker 20.10.x update PR according to proxy.installer
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 108959 1

16 packages built:

charliecloud
disnix
disnixos
docker
docker-gc
docker-proxy
docker_18_09
dydisnix
dysnomia
grype
nvidia-docker
out-of-tree
pipework
python37Packages.jupyter-repo2docker
python38Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

Result of nixpkgs-review pr 108959 1

16 packages built:

charliecloud
disnix
disnixos
docker
docker-gc
docker-proxy
docker_18_09
dydisnix
dysnomia
grype
nvidia-docker
out-of-tree
pipework
python37Packages.jupyter-repo2docker
python38Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108959 run on x86_64-linux 1

16 packages built:

charliecloud
disnix
disnixos
docker (docker-edge ,docker_19_03)
docker-gc
docker-proxy
docker_18_09
dydisnix
dysnomia
grype
nvidia-docker
out-of-tree
pipework
python37Packages.jupyter-repo2docker
python38Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108959 run on x86_64-linux 1

16 packages built:

charliecloud
disnix
disnixos
docker (docker-edge ,docker_19_03)
docker-gc
docker-proxy
docker_18_09
dydisnix
dysnomia
grype
nvidia-docker
out-of-tree
pipework
python37Packages.jupyter-repo2docker
python38Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker


Invalid Podfile file: undefined local variable or method `flutter_application_path'

Steps to Reproduce

Today, 1/1/20, I've installed the Flutter SDK and followed all the steps.
I've then followed this link to integrate a flutter module in my existing native iOS app.
After doing pod install I've got:
[!] Invalid Podfile file: undefined local variable or method `flutter_application_path' for #Pod::Podfile:0x00007fd125b5bdc0.
The podhelper.rb file is inside my_flutter/.ios/Flutter and has the actual method pod install needs.

Basically I am trying to integrate my_flutter module in my native iOS app. According to my understanding the stable channel now (1/1/2020) supports integrating a flutter module in my existing native iOS app. But, I've also switched to the master channel and got the same error.
Logs
doctor health -v:
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.5 18F132, locale en-US)
• Flutter version 1.12.13+hotfix.5 at /Users/ohad/flutter
• Framework revision 27321ebbad (3 weeks ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/ohad/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3, Build version 11C29
• CocoaPods version 1.8.4
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 42.1.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] Connected device (1 available)
• iPhone 11 Pro Max • 6CE073F6-8AB2-4031-A777-7C1CBAE4AF45 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
• No issues found!

Solved by moving install_all_flutter_pods(flutter_application_path) to the end of the pod file.
i.e:
Before:
install_all_flutter_pods(flutter_application_path)
pod ...
pod ...
pod ...

After:
pod ...
pod ...
pod ...
install_all_flutter_pods(flutter_application_path)


Remove sync version?

This looks almost exactly like one of my internal tools 😆
I would maybe suggest that since you're shipping code with async syntax, that there's no/little point in shipping a sync version of the code.
This is because having async (and fs.rmdir) in the code at all, even when not imported, forces a Node 7.6+ environment, wherein native async is available.
So, anyone using this lib can/should have an async parent function that awaits this guy. You'd only be dropping support for top-level usage, which is easily fixed anyway.

Agree fd44c02032ee303f6e24ad3665c5590a935a869f removes the sync version. 👍

Nice~! 🎉


Empty titles and descriptions in project browser

Godot version
4.0 master
System information
MacOS
Issue description
After bisecting, it looks like after https://github.com/godotengine/godot/commit/ceee405cec171506dde7bc62033dc52ac3797599 the project explorer shows no text.

Steps to reproduce
Run the master branch project browser
Minimal reproduction project
None

Looks like other areas affected: https://github.com/godotengine/godot/pull/73736#issuecomment-1440206948

Yes, it's the same issue. cc @bruvzg @RandomShaper for you to track something.


I can't use the method "setOnProgressBarListener"

Excusme!daimajia.
I hava a issue that I cant use the method 'setOnProgressBarListener'.

and I can't import the package :

can you tell me how to use this method?
my email adress is<EMAIL_ADDRESS>

how to resolve it ?

Sorry！I dont knowT T

T_T

@lihongxiangleo @AndroidLTG  Clone the latest code and import this project in yours may solve this problem.


AMOs and indexed loads/stores use XLEN-bit indices, no matter SEW

Resolves #381

Andrew, I think this introduces new vector register overlap constraints that need to be documented as part of the change.

@JamesKenneyImperas yes indeed, fixed (I think).

Andrew, another issue that requires clarification: what happens for implementations where XLEN>ELEN? We have had several enquiries about implementations where XLEN=64 and ELEN=32, for example.
One solution could be:

Define new ILEN (index length) as ILEN=min(XLEN,ELEN);
Recast your definition to use ILEN instead of XLEN throughout;
Specify that if ILEN<XLEN, the intermediate index is sign-extended to XLEN.

There are various other possibilities which seem worse to me:

Require ELEN>=XLEN in all implementations;
Make these Illegal Instructions if XLEN>ELEN;
Use the preferred solution above, but fix ILEN to the always-supported value 32;
Specify that an element size of XLEN must be supported in this special case even if XLEN>ELEN in general.

We definitely aren't trying to preclude machines with XLEN > ELEN.  Your IDXLEN proposal seems workable.  (Note, ILEN is already used to refer to the width of the widest instruction the machine supports.)
Regarding your less-preferred alternatives:

Alternative 4 actually seems preferable to me.  For implementations whose spatial datapath width is already greater than ELEN, the main cost in increasing ELEN is in building functional units whose costs scale superlinearly in ELEN.  In that context, supporting larger ELEN only for these instructions is inexpensive.  (For machines where XLEN > ELEN and the spatial datapath width is only ELEN, there is a cost increase, but such machines seem quite contrived to me.)
Platforms are always free to opt for alternatives 1 or 2, regardless of what we specify here.
Alternative 3 is a non-starter, since that precludes gathering from arrays of pointers.

I would like @kasanovic and the rest of the TG to choose between your proposal (define IDXLEN = min(XLEN, ELEN) and use that), or your alternative 4 (support wider ELEN for these instructions only).

I modified my earlier post to use IDXLEN to avoid confusion.
Note that for alternative 4, in a legal-but-perhaps-unlikely implementation with XLEN=64, ELEN=32 and SLEN=32 the index value will be distributed across vector registers. I don't know if this is of any relevence from a hardware perspective but I thought it was worth mentioning.

@JamesKenneyImperas

One solution could be:
1   Define new IDXLEN (index length) as IDXLEN=min(XLEN,ELEN);
2   Recast your definition to use IDXLEN instead of XLEN throughout;
3   Specify that if IDXLEN<XLEN, the intermediate index is sign-extended to XLEN.

I prefer this approach, however I disagree with point 3.
I believe the current choice for zero-extension is preferred, conceptually easier for most applications. To handle as a signed index  subtract 2 ** (ELEN -1) from the base register and add to the vector elements.
@aswaterman

... Alternative 4 actually seems preferable to me, though.

4. Specify that an element size of XLEN must be supported in this special case even if XLEN>ELEN in general.

I see this as problematic.
In practice XLEN>ELEN means XLEN=2 * ELEN. [[For current targets, XLEN = 4 * ELEN is not a likely design point . With XLEN=64 an ELEN of 16 is improbably, and an ELEN=8 is ridiculous regardless of XLEN.]]
As much as support for index of pointers is desirable, is it practical when XLEN=2 * ELEN?
Alternative 4 does not have supporting instructions/modes to set up the indexes. This would require software to manipulate high-low element pairs if XLEN = 2 * ELEN. This is a high cost for the typical case when providing an offset rather than an address.
In many cases these high end elements value would be the same for all pairs. In which case IDXLEN = ELEN (alternative 1)  is not problematic, just add the upper constant to the base register.
I will suggest a escape mechanism from IDXLEN, rs1 is zero.
rs1=0  zero.can be reserved in all load/store.
But in indexed/AMO it means vs2 is an XLEN pointer rather than an IDXLEN offset..

@David-Horner Yes and no... you've already presupposed 32-bit indices are sufficient for these systems, so there isn't any need to provide the full arithmetic set for SEW=64.  You just need the sign-/zero-extension operations, whose cost is trivial.  You can do all the computation with SEW=32, then widen the result to 64 bits, then do an indexed memory access.

You just need the sign-/zero-extension operations, whose cost is trivial. You can do all the computation with SEW=32, then widen the result to 64 bits, then do an indexed memory access.

Are you proposing augmenting Alternative 4 to include that extend to XLEN instruction?
It appears a relatively high incremental cost. Rather the expansion can be done in software.
I don't think there needs to be such a presupposition.
It will only be in the context of a finalized RVV design that hardware designers will determine if ELEN < XLEN meets their target audience. Handling 64-bit indices in software (using ELEN operations) may be sufficient when there is a mechanism (pointers) to provide the actual load/store/AMO.
For XLEN=64 ELEN=32:
64bit arithmetic has many software approaches, but none are low overhead for ELEN=32 (especially as element-pairs) . Thus such cost could be paid for pointers only, when 32-bit offsets are sufficient.

Some arguments in this discussion leverage the possibility that ELEN < XLEN; whether or not this is actually permitted is being discussed over at #404.

@David-Horner

Are you [@aswaterman] proposing augmenting Alternative 4 to include that extend to XLEN instruction?

Over at #404 relaxing widening constraints provides that function:
Allowing 2 * ELEN is low cost for integer widening operations add/subtract, somewhat more so for multiply/multiply-add. The tie-in to #401 is that for XLEN = 2 * ELEN, these 2 * ELEN widening operations allow building complex XLEN offsets based on successive multiplication and additions of matrix indices.
This option of using Alternative 4 with XLEN = 2 * ELEN widening ops ,  and my proposal for rs1=x0 to differentiate between offsets and pointers are not mutually exclusive but they provide some weighing towards Andrew's proposal.

Superseded by recent changes.


Fix custom renderer

Custom renderers were broken since my PR "JavaScript -> TypeScript". This was due to the fact that renderer.js and sheet.js targets were both shipping their own Handsontable. Which means that if one defines a custom renderer it will be registered from the sheet.js code, but impossible to retrieve from renderer.js.

@maartenbreddels would you mind checking this PR? :)

I need to read better :)
Anyway, the idea of the separate module was to make sure only 1 handsontable gets loaded, how come there are two?

@maartenbreddels
So basically, in this PR I made some changes on the webpack config. After those changes renderer and index targets were both shipping their own Handsontable. And this broke the custom renderers.
So in this PR I fixed it, and Handsontable is once again an external dependency for the index target and the renderer target. So now it works fine.
I'm fine for putting back the handsontable target if it was important. I'm not sure why I removed it in the end. I think my issue was that TypeScript was changing the
import * as Handstontable from 'handsontable'

into
require('../lib/handsontable.js')'

due to the handsontable.js file. And webpack could not resolve the external dependency anymore.

I'd rather have it as it was since with this PR Handsontable is always loaded (even if ipysheet is not used).

Ok, I'm not sure it worked due to TypeScript. But I can try

@maartenbreddels Ok done :) Hope you are happy with the changes. Works like a charm now!

Why is the _prefix needed?

There was a conflict between './node_module/handsontable' and 'handsontable' for TypeScript. But now that I ignore the Handsontable variable in TypeScript it is fine anyway and it does not check the require. So I removed the _ prefix


New Host list

List
https://gitlab.com/Shub_/mobile-ads-block/-/raw/master/list
What does it do?
It's the ultimate list to block ads, trackers and malware for mobile devices, it has minimal false positives aswell.

Thanks for the recommendation, I'll review it over December.
That list is currently not formatted for AdGuard e.g.:
!---------------------------------------
! LOCAL HOST
!---------------------------------------
<IP_ADDRESS> localhost
<IP_ADDRESS> localhost.localdomain
<IP_ADDRESS> local
<IP_ADDRESS> broadcasthost
::1 localhost
::1 ip6-localhost
::1 ip6-loopback
fe80::1%lo0 localhost
ff00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
<IP_ADDRESS> <IP_ADDRESS>

So you may like to contact the repo owner at GitLab and request a version that is formatted for AdGuard.


feat: support jwt claim ratelimit API

Description:
Add support for  jwt claim ratelimit
Relates to #851

hey @tmsnan this API should go into https://github.com/envoyproxy/gateway/blob/e10748ae4f365394ff29d201bda0a4ef84031e06/api/v1alpha1/ratelimitfilter_types.go#L91
can you also enhance the design doc https://github.com/envoyproxy/gateway/blob/main/docs/latest/design/rate-limit.md with examples, TIA

hey @tmsnan this API should go into
https://github.com/envoyproxy/gateway/blob/e10748ae4f365394ff29d201bda0a4ef84031e06/api/v1alpha1/ratelimitfilter_types.go#L91
can you also enhance the design doc https://github.com/envoyproxy/gateway/blob/main/docs/latest/design/rate-limit.md with examples, TIA

Ok, I'll add an example soon

hey @tmsnan this API should go into
https://github.com/envoyproxy/gateway/blob/e10748ae4f365394ff29d201bda0a4ef84031e06/api/v1alpha1/ratelimitfilter_types.go#L91
can you also enhance the design doc https://github.com/envoyproxy/gateway/blob/main/docs/latest/design/rate-limit.md with examples, TIA

done

looks good @tmsnan, added another doc string suggestion, else LGTM !

looks good @tmsnan, added another doc string suggestion, else LGTM !

done


demo-4_SEA2019 and plotAnalogSample problem

Hi. I am a PhD student and I am working with statistical tools for weather forecast purposes.
I am learning AnEn with your R codes, but in demo-4 something goes wrong.
fcst.id <- which(forecasts$ParameterNames == observations$ParameterNames[config$observation_id])
plotAnalogSample(AnEn, config, i.station = 1, i.test.day = 1,
                 obs.id = config$observation_id, fcst.id = fcst.id,
                 parameter.names = forecasts$ParameterNames,
                 flts.fraction = 3600, legend.texts = c("Obs","Fcst"))

Error in if (length(parameter.names) != dim(forecasts)[1]) { :
the argument has zero length
I didn't change anything. This problem is also in Binder.
How can I fix it?
Thanks

Thanks for reporting this issue. Let me take a look.

Should be fixed. Please reinstall your RAnEn and try again. Thanks.

Hi
Unfortunately, the problem still persists the same. I think the problem is
in the RAnEnExtra library. Should I write it on github?
Thanks again
Daniele
Il giorno gio 17 mar 2022 alle ore 20:08 Weiming @.***>
ha scritto:

Should be fixed. Please reinstall your RAnEn and try again. Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Weiming-Hu/RAnEnExtra/issues/4#issuecomment-1071232724,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASNBPG253KVSXRU3T3UWLSTVAN7MPANCNFSM5Q643QEQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

That is strange. When I run the binder, it actually worked for me. The issue is the particular tutorial is using an old API, and I actually only changed the tutorial. So you might want to get the updated tutorial code. Sorry about the confusion.
If the issue persists, please copy and paste the error message here again. Thanks.

Ok I got it. I substituted the script of demo-4 now it works :)
I just tried it on my pc now, but I think it will be the same on a machine
in my office.
Thanks a lot. Should I close the github issue?
Il gio 17 mar 2022, 21:44 Weiming @.***> ha scritto:

That is strange. When I run the binder, it actually worked for me. The
issue is the particular tutorial is using an old API, and I actually only
changed the tutorial. So you might want to get the updated tutorial code.
Sorry about the confusion.
If the issue persists, please copy and paste the error message here again.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Weiming-Hu/RAnEnExtra/issues/4#issuecomment-1071431178,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASNBPG3LIYQULOCZ4INGEBLVAOKRJANCNFSM5Q643QEQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Closing it for you. By the way, thanks for checking out this project. Feel free to drop a message here if you have any questions or problems.


JSON Mode + Streaming + OpenAI API + Llama3 = never sends STOP, and a lot of whitespace after the JSON

What is the issue?
without JSON Mode the last few lines of the stream of Chunk objects is:
...
data: {"id":"chatcmpl-273","object":"chat.completion.chunk","created":1715761661,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" adventures"},"finish_reason":null}]}
data: {"id":"chatcmpl-273","object":"chat.completion.chunk","created":1715761661,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":".\"\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-273","object":"chat.completion.chunk","created":1715761661,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"}\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-273","object":"chat.completion.chunk","created":1715761661,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"```"},"finish_reason":null}]}
data: {"id":"chatcmpl-273","object":"chat.completion.chunk","created":1715761661,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":"stop"}]}
data: [DONE]

if I enable JSON Mode the last few lines of the stream look like this:
...
{"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761446,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" adventures"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761446,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":".\""},"finish_reason":null}]}

// here the JSON is over, what follows is only junk whitespace

data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761446,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"}\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761446,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" \n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"  "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" \n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761447,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"  "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"  "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" \n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"     "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761448,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n \n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"      "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n        \n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"   "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":"\n\n\n"},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}
data: {"id":"chatcmpl-626","object":"chat.completion.chunk","created":1715761449,"model":"llama3","system_fingerprint":"fp_ollama","choices":[{"index":0,"delta":{"role":"assistant","content":" "},"finish_reason":null}]}

The JSON mode seems to be supported because the JSON begins correctly with { on the streamed version, but it fails to detect that it is done, goes into whitespace-junk-output-mode and then after some internal limit just stops generating, but never sends the finish_reason: "stop".
So there are three bugs:

JSON Mode should not produce extra white space after the JSON
JSON Mode should send a finish_reason: stop when the JSON is done
when generation goes haywire and is aborted, there should still be a finish_reason sent and the stream should be ended. Because currently it would just hang waiting for further data.

OS
macOS
GPU
Apple
CPU
Apple
Ollama version
0.1.32

The following issues are related to whitespace in JSON: #2577, #2623, PR #3784.
But it seems to me (though I'm unfamiliar with the Ollama codebase) that the junk issue that @odrobnik is seeing, where the model goes haywire, might be worth investigating on its own. Perhaps there's something else going wrong here.

The following issues are related to whitespace in JSON: #2577, #2623, PR #3784, PR #3785.
But it seems to me (though I'm unfamiliar with the Ollama codebase) that the junk issue that @odrobnik is seeing, where the model goes haywire, might be worth investigating on its own. Perhaps there's something else going wrong here.

These PRs are not the correct solution, as the grammarJson is already correct.
HINT: To fix this issue, look in this complex function (for scanner.Scan()):
func (s *llmServer) Completion(ctx context.Context, req CompletionRequest, fn func(CompletionResponse)) error {
	if err := s.sem.Acquire(ctx, 1); err != nil {
		slog.Error("Failed to acquire semaphore", "error", err)
		return err
	}
	defer s.sem.Release(1)

	// only allow maximum 10 "context shifts" to avoid infinite generation
	if req.Options.NumPredict < 0 || req.Options.NumPredict > 10*s.options.NumCtx {
		req.Options.NumPredict = 10 * s.options.NumCtx
		slog.Debug("setting token limit to 10x num_ctx", "num_ctx", s.options.NumCtx, "num_predict", req.Options.NumPredict)
	}

	request := map[string]any{
		"prompt":            req.Prompt,
		"stream":            true,
		"n_predict":         req.Options.NumPredict,
		"n_keep":            req.Options.NumKeep,
		"main_gpu":          req.Options.MainGPU,
		"temperature":       req.Options.Temperature,
		"top_k":             req.Options.TopK,
		"top_p":             req.Options.TopP,
		"tfs_z":             req.Options.TFSZ,
		"typical_p":         req.Options.TypicalP,
		"repeat_last_n":     req.Options.RepeatLastN,
		"repeat_penalty":    req.Options.RepeatPenalty,
		"presence_penalty":  req.Options.PresencePenalty,
		"frequency_penalty": req.Options.FrequencyPenalty,
		"mirostat":          req.Options.Mirostat,
		"mirostat_tau":      req.Options.MirostatTau,
		"mirostat_eta":      req.Options.MirostatEta,
		"penalize_nl":       req.Options.PenalizeNewline,
		"seed":              req.Options.Seed,
		"stop":              req.Options.Stop,
		"image_data":        req.Images,
		"cache_prompt":      true,
	}

	// Make sure the server is ready
	status, err := s.getServerStatusRetry(ctx)
	if err != nil {
		return err
	} else if status != ServerStatusReady {
		return fmt.Errorf("unexpected server status: %s", status.ToString())
	}

	if req.Format == "json" {
		request["grammar"] = jsonGrammar
		if !strings.Contains(strings.ToLower(req.Prompt), "json") {
			slog.Warn("Prompt does not specify that the LLM should response in JSON, but JSON format is expected. For best results specify that JSON is expected in the system prompt.")
		}
	}

	// Handling JSON marshaling with special characters unescaped.
	buffer := &bytes.Buffer{}
	enc := json.NewEncoder(buffer)
	enc.SetEscapeHTML(false)

	if err := enc.Encode(request); err != nil {
		return fmt.Errorf("failed to marshal data: %v", err)
	}

	endpoint := fmt.Sprintf("http://<IP_ADDRESS>:%d/completion", s.port)
	serverReq, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint, buffer)
	if err != nil {
		return fmt.Errorf("error creating POST request: %v", err)
	}
	serverReq.Header.Set("Content-Type", "application/json")

	res, err := http.DefaultClient.Do(serverReq)
	if err != nil {
		return fmt.Errorf("POST predict: %v", err)
	}
	defer res.Body.Close()

	if res.StatusCode >= 400 {
		bodyBytes, err := io.ReadAll(res.Body)
		if err != nil {
			return fmt.Errorf("failed reading llm error response: %w", err)
		}
		log.Printf("llm predict error: %s", bodyBytes)
		return fmt.Errorf("%s", bodyBytes)
	}

	scanner := bufio.NewScanner(res.Body)
	buf := make([]byte, 0, maxBufferSize)
	scanner.Buffer(buf, maxBufferSize)

	// keep track of the last token generated, this is used to abort if the model starts looping
	var lastToken string
	var tokenRepeat int

	for scanner.Scan() {
		select {
		case <-ctx.Done():
			// This handles the request cancellation
			return ctx.Err()
		default:
			line := scanner.Bytes()
			if len(line) == 0 {
				continue
			}

			evt, ok := bytes.CutPrefix(line, []byte("data: "))
			if !ok {
				return fmt.Errorf("error parsing llm response stream: %s", line)
			}

			var c completion
			if err := json.Unmarshal(evt, &c); err != nil {
				return fmt.Errorf("error unmarshaling llm prediction response: %v", err)
			}

			switch {
			case strings.TrimSpace(c.Content) == lastToken:
				tokenRepeat++
			default:
				lastToken = strings.TrimSpace(c.Content)
				tokenRepeat = 0
			}

			// 30 picked as an arbitrary max token repeat limit, modify as needed
			if tokenRepeat > 30 {
				slog.Debug("prediction aborted, token repeat limit reached")
				return ctx.Err()
			}

			if c.Content != "" {
				fn(CompletionResponse{
					Content: c.Content,
				})
			}

			if c.Stop {
				doneReason := "stop"
				if c.StoppedLimit {
					doneReason = "length"
				}

				fn(CompletionResponse{
					Done:               true,
					DoneReason:         doneReason,
					PromptEvalCount:    c.Timings.PromptN,
					PromptEvalDuration: parseDurationMs(c.Timings.PromptMS),
					EvalCount:          c.Timings.PredictedN,
					EvalDuration:       parseDurationMs(c.Timings.PredictedMS),
				})
				return nil
			}
		}
	}

	if err := scanner.Err(); err != nil {
		if strings.Contains(err.Error(), "unexpected EOF") {
			s.Close()
			msg := ""
			if s.status != nil && s.status.LastErrMsg != "" {
				msg = s.status.LastErrMsg
			}
			return fmt.Errorf("an unknown error was encountered while running the model %s", msg)
		}

		return fmt.Errorf("error reading llm response: %v", err)
	}

	return nil
}

Hey everyone - with the merging of #7900 for structured outputs you'd be able to get better generation instead of having to use json mode. JSON mode will eventually be deprecated as well!


Autocomplete does not show up

Hi,
I am trying to use it in my Ionic project but I can't get any autocomplete.
Any hint ?
Arnaud

Just added the css and it works fine.

close the issue please ;)


Configuration update for Arbitrum

Glance - superficial check (from domain experts)
Summary
Deploys LP contracts to local l2 Arbitrum Node, Arbitrum Sepolia, Arbitrum One or Arbitrum Nova
How to test locally
./stack chain-deploy dev_personal
local l2 dev node must be setup
https://docs.arbitrum.io/run-arbitrum-node/run-local-dev-node

@arsen3d can you please review this document: https://www.notion.so/lilypadnetwork/Git-flow-conventions-98606ed2291b45fba6916dbf6ccab98f, it outlines the naming conventions we should follow for branches and the conventions for git commit messages

Thanks

From: Gorka Ludlow @.>
Sent: Friday, May 24, 2024 1:17 PM
To: Lilypad-Tech/lilypad @.>
Cc: arsen3d @.>; Mention @.>
Subject: Re: [Lilypad-Tech/lilypad] Configuration update for Arbitrum (PR #122)
@arsen3dhttps://github.com/arsen3d can you please review this document: https://www.notion.so/lilypadnetwork/Git-flow-conventions-98606ed2291b45fba6916dbf6ccab98f, it outlines the naming conventions we should follow for branches and the conventions for git commit messages
—
Reply to this email directly, view it on GitHubhttps://github.com/Lilypad-Tech/lilypad/pull/122#issuecomment-2130294172, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AACIZ664RZWDBJZA6XD4IM3ZD6N5BAVCNFSM6AAAAABIH7IKMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZQGI4TIMJXGI.
You are receiving this because you were mentioned.Message ID: @.***>

Glance - superficial check (from domain experts)
Summary
Deploys LP contracts to local l2 Arbitrum Node, Arbitrum Sepolia, Arbitrum One or Arbitrum Nova
How to test locally
./stack chain-deploy dev_personal local l2 dev node must be setup https://docs.arbitrum.io/run-arbitrum-node/run-local-dev-node

@AquiGorka Deployment documentation has been added.

@arsen3d hopefully this is helpful- when using Arbitrum, Ive noticed that tx fees on Arbitrum Nova are typically far lower than on Arb One.

This looks great, nice helpful guide! Left a few initial comments. Will keep testing this once I get funds from a faucet into my wallet.

🙊 https://faucet-testnet.lilypad.tech/

@arsen let's rebase and update this PR before merging, there's a couple of outstanding comments to be addressed

@AquiGorka, not sure what needs to be done to complete this pull request. Does it require you approval?

There's 2 things that have not been addressed: we do not need the configurations for:

[ ] arbitrumOne nor arbitrumNova and the configuration for arbitrumSepolia is not needed as we've already added a testnet configuration.
[ ] It seems there is a new file: pkg/web3/bindings/pow/pow.go added in this PR which I don't understand how it relates to these changes, can you clarify or remove the file?

With these 2 things addressed I'll approve for us to merge.

@alvin-reyes this PR aimed at documenting the deploy to arbitrum process, can you also take over here? You can decide whether to use this PR as base or close and open up a new PR with any documentation that should be part of the code base.

@arsen3d. Re-assigning this to @kquirapas so you can work on the phase 1.2 incentivenet improvement.

Added to engineering board assigned to me


Can't Find apprise.yml

Hi,
Both my folders (bot and telegram bot) are in the same drectory:

The teleram bot can't find de yml file inside the config directory:

I dont see why it cant find it since I'm running the binance bot with the consiguration for the telegram bot and it working.
Any Idead why thats not working?

This seems to be a bug affecting windows regarding how we currently handle path joining.
I will look into it and push a fix asap

@lorcalhost , here is where the problem: https://github.com/lorcalhost/BTB-manager-telegram/blob/d69e7a9acdb0519b87da9f8a74f14dc484c088af/btb_manager_telegram/utils.py#L23
We were talking about that recently ;)

Hi, I solve by indicating the full path to the bot when run it through:
python -m BTB-manager-telegram-main -p {full path}

@DmytroLitvinov Line 23 should theoretically be correct but I think you are right, using os.path.join() will ensure we have no trouble.
@deancarloz I just pushed an update to the repo, can you please test if you are still experiencing the same problem?

@lorcalhost just tested, still unable.

@deancarloz
I believe this actually seems related to how your cloning tool is naming directories.

binance-trade-bot-master should actually be called binance-trade-bot
BTB-manager-telegram-main should actually be called BTB-manager-telegram

What tool are you using to clone the two repositories?

Ah ok,
I'm actualy just download in as zip and unziping it into the directory


no connect to marketplace

Issue Type: Bug
build  VSCode from release tag, tried to open the marketplace, no results showing up. Looks like there is no internet connection. Even though I do have internet, no proxy and Visual Studio works normally
VS Code version: Code - OSS 1.65.2 (03f12fb7d4a4aa99f0aee6205adaaba676e4e3c4, 2022-03-19T21:54:22.671Z)
OS version: Linux x64 5.16.12-200.fc35.x86_64
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz (8 x 3704)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
5, 4, 4

Memory (System)
15.58GB (6.90GB free)

Process Argv
--verbose

Screen Reader
no

VM
0%

DESKTOP_SESSION
gnome

XDG_CURRENT_DESKTOP
GNOME

XDG_SESSION_DESKTOP
gnome

XDG_SESSION_TYPE
wayland

Extensions: none

OSS build cannot connect to Marketplace. To install an extension, download the VSIX file from Marketplace, then drop it onto the Extensions view.


Added permission to run without battery optimiztions. #497

I have fixed the bug with the off screen. It is necesary to set permission "REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" as says in https://developer.android.com/reference/android/Manifest.permission.html#REQUEST_IGNORE_BATTERY_OPTIMIZATIONS .
And there is a issue #497 .

I would say adding permissions is not enough. There should also be some plugin code, that will show popup, enabling user to disable those optimizations. Without it, it's useless.

In the meantime, maybe we should mention this issue in the Readme.
I actually started implementing my own background location cordova plugin, because I couldn't get this plugin to work reliably with display off on several current android devices.

In the meantime, maybe we should mention this issue in the Readme.

well it would be nice if somebody implemented actual functionality, that will make use of this permission. Implementation is trivial IMO.


Update virtualbox to 5.2.8

Codecov Report

Merging #1312 into master will decrease coverage by 0.58%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1312      +/-   ##
==========================================
- Coverage   93.83%   93.25%   -0.59%
==========================================
  Files          44       44
  Lines        4592     4669      +77
  Branches      503      792     +289
==========================================
+ Hits         4309     4354      +45
- Misses        283      287       +4
- Partials        0       28      +28

Impacted Files
Coverage Δ

browser/model/virtualbox.js
91% <100%> (-0.01%)
:arrow_down:

browser/model/devstudio-autoinstall.js
97.29% <0%> (-2.71%)
:arrow_down:

browser/services/request.js
97.61% <0%> (-2.39%)
:arrow_down:

browser/pages/install/controller.js
91.86% <0%> (-1.75%)
:arrow_down:

browser/model/helpers/downloader.js
95.53% <0%> (-1.68%)
:arrow_down:

browser/model/che.js
95% <0%> (-1.62%)
:arrow_down:

browser/model/jdk-install.js
93.04% <0%> (-1.49%)
:arrow_down:

browser/services/platform.js
97.05% <0%> (-1.41%)
:arrow_down:

browser/pages/account/controller.js
98.61% <0%> (-1.39%)
:arrow_down:

browser/model/cdk.js
98.74% <0%> (-1.26%)
:arrow_down:

... and 23 more

Continue to review full report at Codecov.

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


Build failure: luaPackages.dkjson

Steps To Reproduce
Steps to reproduce the behavior:

nix build 'nixpkgs#luaPackages.dkjson'

Build log
warning: Ignoring the client-specified setting 'build-users-group', because it is a restricted setting and you are not a trusted user
warning: Ignoring the client-specified setting 'build-users-group', because it is a restricted setting and you are not a trusted user
error: hash mismatch in fixed-output derivation '/nix/store/llgvd8jasxp86mc6i0hmk5gr1xi6aynm-dkjson-2.8.tar.gz.drv':
         specified: sha256-CfpgoEECteMiqwa51Zt6oPKcChnHVCFfikHzoWT5SUs=
            got:    sha256-JOjNO+uRwchh63uz+8m9QYu/+a1KpdBHGBYlgjajFTI=
error: 1 dependencies of derivation '/nix/store/cdqrbcqsw3ar4wgw79bgzrhgrccy8lz1-lua5.2-dkjson-2.8-1.drv' failed to build

Additional context
The hash was changed in https://github.com/NixOS/nixpkgs/commit/4a4afe2d46de947fea2c9af9f660ef15b561eac9#diff-5907dc7a16a18d3c7ce0d98e89c9c340d2fd2686e20a1592371bb1bb11b3ba89R425. I'm still seeing the old hash here:
$ curl http://dkolf.de/dkjson-lua/dkjson-2.8.tar.gz | sha256sum
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17442  100 17442    0     0  43125      0 --:--:-- --:--:-- --:--:-- 43173
24e8cd3beb91c1c861eb7bb3fbc9bd418bbff9ad4aa5d0471816258236a31532  -
$ nix hash to-base16 0js9z5ja3ws1i9gj2m673459rwm0gadxbf86mcif7d8286h61yh9 --type sha256 # new hash
09fa60a04102b5e322ab06b9d59b7aa0f29c0a19c754215f8a41f3a164f9494b
$ nix hash to-base16 sha256-JOjNO+uRwchh63uz+8m9QYu/+a1KpdBHGBYlgjajFTI= # old hash
24e8cd3beb91c1c861eb7bb3fbc9bd418bbff9ad4aa5d0471816258236a31532

Notify maintainers

@GaetanLepage
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-darwin"`
 - host os: `Darwin 23.6.0, macOS 10.16`
 - multi-user?: `yes`
 - sandbox: `relaxed`
 - version: `nix-env (Lix, like Nix) 2.90.0-pre20240710-4bbdb2f`
 - nixpkgs: `/nix/store/dxfjmv6mq4rndmbhc6fc5bpw92avbjxk-source`

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

Ran into the same error.

I worked around it with an overlay:
final: prev: {
  luajit = prev.luajit.override {
    packageOverrides = luafinal: luaprev: {
      # https://github.com/NixOS/nixpkgs/issues/333761
      dkjson = luaprev.dkjson.overrideAttrs (finalAttrs: prevAttrs: {
        src = final.fetchurl {
          inherit (prevAttrs.src) url;
          hash = "sha256-JOjNO+uRwchh63uz+8m9QYu/+a1KpdBHGBYlgjajFTI=";
        };
      });
    };
  };

  luajitPackages = final.luajit.pkgs;
}

Thanks for reporting. I got tricked by the local cache apparently... I have opened a PR to fix it.

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


Remove tbb link when not used

What does this PR do? Please describe:
Trying to build the library from source on ARM64 CPU, https://github.com/facebookresearch/fairseq2/pull/4 has added support for tbb being optional, but I had to remove one more line to get cmake to work.
I think this should still work without problems on Intel where TBB is supported because of this line https://github.com/facebookresearch/fairseq2/blob/main/fairseq2n/src/fairseq2n/CMakeLists.txt#L119 but worth double checking if my thinking is right.
Related to #1
Does your PR introduce any breaking changes? If yes, please list them:
List of all backwards-incompatible changes.
Check list:

[ ] Was the content of this PR discussed and approved via a GitHub issue? (no need for typos or documentation improvements)
[x] Did you read the contributor guideline?
[x] Did you make sure that your PR does only one thing instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (no need for typos, documentation, or minor internal changes)

Thanks for the fix @vanclevstik! I also realized that bug after merging the PR and was planning to fix it in the upcoming v0.1.1 (hope to release tomorrow). Merging your PR though to unblock.

Thanks for merging @cbalioglu ! If you need any more help with testing/fixing on ARM64 devices do let me know, happy to help :)

You are welcome! :) I finally got an M2 machine the other day and I think with today's PR (#13) ARM64 builds are now in good shape. My final battle is with Windows/WSL2. I was expecting to finish v0.1.1 work by yesterday, so things got delayed a bit, but hope to wrap everything up before the end of the week.


Dragging items in a TreeView causes crashes, duplicate items, and other issues

Summarized: Dragging items in a Windows TreeView causes issues in both a c++/WinRT project, and in the XAML Controls Gallery
Describe the bug
In a c++/WinRT app I was writing I have a tree view (Windows.UI.XamlControls.TreeView, not the one from the Microsoft namespace) and often when I try to drag-and drop nodes around, several issues occur.
I assumed I had a bug in my program at first, but it still happens even when I comment out/return early from any of my event handlers. I tried moving around tree views in the XAML Controls Gallery and experienced crashes as well. I haven't gotten any error messages so far, the controls gallery just immediately terminates.
Steps to reproduce the bug
I seem to get problems whenever I try to drag-and-drop content inside a tree view. So far this seems to happen in both a c++/winrt project in Visual Studio, and in the Xaml Controls Gallery app. I haven't been able to tell exactly what causes it, but if you move items around at random (and also moving nodes in/out of other nodes, moving nodes with several layers of children, etc.) it usually only takes about a minute or two.
Expected behavior
I expected tree view to not cause errors when dragged, particularly in the Xaml Controls Gallery.
Actual behavior

Nodes end up duplicating
Nodes move on top of the node I dropped, and would leave an empty space where the node used to be
Crashes, typically when I drop a node, expand a node containing a node that was dropped, interacting with a duplicate node, etc.
Any other unintended behavior similar to what I mentioned, or that I haven't noticed

When debugging my program in Visual Studio 2019, errors typically originate from KernelBase.dll, so I'm not able to get much from the debugger other than the disassembly.
Screenshots
I can provide screenshots or recordings of the issue in the future if I get any (I didn't think to screenshot some of the non-crashing problems at the time, and I'm not really sure of a good way to capture the control gallery crashing)
Version Info
XAML Controls Gallery v<IP_ADDRESS>
Visual Studio Community2019 v16.9.4
Windows 10
(More info in attached files)
Visual Studio: vs_version_info.txt
Project I'm building: project_misc_info.txt
Windows: win_version_info.txt
Additional context
I recently updated Windows 10 the other day. That may be part of the cause, but that was before I started working with tree views so I don't know if it worked prior to updating or not

I was not able to repro this, but I also know that we have fixed drag and drop issues in general in 1.2.  I'll mark this as fixed in repo (with 1.2).  If this is still an issue with the latest versions, please reactivate and give current repro steps and expected/actual results (or just create a new issue).  Thanks!


images-na.ssl-images-amazon.com

If you block this,  Amazons Website looks broken.

Hmm... there is only rule
ssl-images-amazon.com$script,domain=~amazon.com
And I went to amazon.com and it seems ok. Could you provide some examples of broken pages?

https://www.amazon.de/ap/signin has
https://images-na.ssl-images-amazon.com/images/G/01/authportal/common/images/amznbtn-sprite03._V395592492_.png
to show  the amazon design for example from https://raw.githubusercontent.com/mtxadmin/ublock/master/hosts.txt
the Hosts file is a bit to aggressive as there are no limits like ublock itself has.

Amazon had some strange scripts on that domain, there were at least several entries in EasyPrivacy, for instance. I was curious, what if to block all scripts blocked from that domain - and surprisingly everything worked pretty well, so I put that rule to the list.
But this rule 1) needs to contain more Amazon domains (de, ca, in, etc.), and not only com, and 2) it looks outdated in general. I disabled it now.

Concerning the Amazon's practice to host scripts on a domain, intended for images - I've seen they placed some scripts in /images/ folders as well :-)


New filter field on reimbursement view Api

What is the purpose of this Pull Request?
Making the filter available by name of the policy makes it easy for customers to use the API and create user-friendly interfaces. For example, a chat bot where the user can follow certain person and for that he needs to do a search by name.
What was done to achieve this purpose?
I placed one more option among the query string filters congressperson_name__contains. It is important to note that this field is already indexed in the database.
Also included was the test and updated documentation.
How to test if it really works?
In commit there is an altered test file, looking at the differences it is easy to see the test, it follows the others. Run the project tests that it will run together.
Who can help reviewing it?
I do not know who would be the best person, but technically anyone with a little experience in the project. The business part I think the owner of the repository should look at, as the name field is already indexed in the database I see no reason not to expose in the API.

Hi @ricardochaves, many thanks for the interest and contribution : )
I do understand the need to improve the API and being able to lookup by the name of the congressperson is indeed a great feature.
However I think using LIKE queries (what __contains implements under the hood) is quite heavy on the database – specially when we're already optimizing searches like that with a seach vector (used in the dashboard).
So what about refactoring this feature to use the seach vector field instead? It would cover the lookup in names and more.

I made another commit before reading your answer, I'll take it easy and check `` `queryset.py```.
As soon as I have more, I'll make another commit.

@cuducos , tudo bem?
I found the get with a lot of complexity before even adding more complexity rsrs.
CodeClimate is already accusing this, I think it would be a good time to do a refactor in it, as I have little experience in the project I will suggest here a solution, if you like I implement in this PR.
I thought of creating a get_filters that would return filters. This will remove some of the complexity there.
What do you think of this approach?
About QuerySearch, it took me a while to realize I needed to run the searchvector command before doing the search, but now it's the same as the dashboard

Neat :tada:
Many thanks for the rounds of code review – and mainly for the nice new feature : )


SVTplay: Unable to extract video id

youtube-dl seems not to work any longer on Mac OS X Catalina with SVTplay sites. youtube-dl -U says version is up to date (2020.07.28)
Looks like SVT has changed server structure again so that svt.py cannot get the video id any more.
'''bernd@iMac Downloads % youtube-dl --verbose https://www.svtplay.se/video/27908335/babel/babel-sasong-32-jan-guillou-lydia-sandgren-mikael-niemi-loney-dear
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.svtplay.se/video/27908335/babel/babel-sasong-32-jan-guillou-lydia-sandgren-mikael-niemi-loney-dear']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.07.28
[debug] Python version 2.7.16 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.2.2-tessus, rtmpdump Reason
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (SE) as X-Forwarded-For.
[SVTPlay] 27908335: Downloading webpage
ERROR: Unable to extract video id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/svt.py", line 229, in _real_extract
webpage, 'video id')
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1005, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.'''

I assume this issue will be closed because you didn't follow the issue template...

ok - sorry I have misunderstood the template
Anyway - same issue now opened with  #26428 by ijbh


fix typo digital-twint-id to digital-twin-id

Learn Build status updates of commit 813445a:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/latest/digitaltwins-core-readme.md
:warning:Warning
View (azure-python)
Details

docs-ref-services/latest/digitaltwins-core-readme.md

Line 9, Column 13: [Warning: ms-service-subservice-invalid - See documentation] Invalid value for 'ms.service': 'digitaltwins'.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
Line 46, Column 36: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /dotnet/api/azure.core.tokencredential?view=azure-dotnet
Line 46, Column 115: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /dotnet/api/microsoft.rest.serviceclientcredentials?view=azure-dotnet
Line 47, Column 62: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet

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 Learn 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 or suggestions 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 learn.microsoft.com contributor guidesPost your question in the Learn support channel


Leandrovicente

 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.:x: leandrovicente sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


[CWS] plug the remote tagger component down to the tags resolver

What does this PR do?
This PR plugs the newly introduced remote tagger component down to the CWS tag resolver. Removing the need to create a remote tagger manually bypassing the components.
Tests continue to use the fake tagger.
No functional change intended.
Motivation
Describe how to test/QA your changes
This code is tested in functional tests, and in e2e testss.
Possible Drawbacks / Trade-offs
Additional Notes

/merge


scalafix integration

Towards #149. There is not much here yet, but I think it makes sense to open this PR anyway as place for further discussion.
/cc @amarrella @Daenyth

scala-steward just created its first PR using a scalafix migration!
:sparkles: https://github.com/fthomas/scala-pet-store/pull/13 :sparkles:
Unfortunately the scalafix changes are not nicely formatted so we probably need to run scalafmt before creating the PR.

The latest PR created with the changes on this branch is https://github.com/fthomas/scalafix-test/pull/4/files


Clickable Item: Event does not fire

Hello, I was testing this plugin, and when clicking an item, the event does not fire.
I am using Spigot 1.16.3
Here is the code:
`
public class TaskPickerGUI implements InventoryProvider {
public static final SmartInventory INVENTORY = SmartInventory.builder()
        .id("taskManger")
        .manager(BetweenUs.getInstance().inv)
        .provider(new TaskPickerGUI())
        .size(5,9)
        .title("Task Manager")
        .build();

@Override
public void init(Player player, InventoryContents inventoryContents) {
    inventoryContents.fillRow(4, ClickableItem.empty(new ItemStack(Material.GRAY_STAINED_GLASS_PANE)));
    inventoryContents.set(4, 0, ClickableItem.of(new ItemBuilder(Material.BARRIER, 1, (short) 0)
                    .setName(ChatColor.RED + "Close Menu")
                    .build(),
            e -> {
                TaskPickerGUI.INVENTORY.close(player);
                System.out.println("THIS IS BEING EXECUTED: POG");
            }

    ));

    inventoryContents.set(4,4, ClickableItem.of(new ItemBuilder(Material.CRAFTING_TABLE,1, (short) 0)
                    .setName(ChatColor.YELLOW + "Tasks Library")
                    .build(),
            e -> {
        TaskLibraryGUI.INVENTORY.open(player);
                System.out.println("THIS IS BEING EXECUTED: LOL");
    })

    );
    inventoryContents.set(1, 1, ClickableItem.of(new ItemStack(Material.POTATO),
            e -> player.sendMessage(ChatColor.GOLD + "You clicked on a potato.")));

}

@Override
public void update(Player player, InventoryContents inventoryContents) {

}

}
`
No errors in console. GUI opens, but when clicking an item, nothing happens

I have the same problem.

Hi, what version of SmartInvs are you both using ?
A little test on my side with SmartInvs in 1.3.0 (& spigot 1.6.3) this works perfectly fine both with the old API :
            .type(type)
            .provider(new InventoryProvider() {
                @Override
                public void init(Player player, InventoryContents contents) {
                    contents.set(1, 1, ClickableItem.of(new ItemStack(Material.POTATO),
                            e -> player.sendMessage(ChatColor.GOLD + "You clicked on a potato.")));
                }

                @Override
                public void update(Player player, InventoryContents contents) {}
            })
            .closeable(true)
            .build().open(player);

And with the new API :
SmartInventory.builder()
            .type(type)
            .provider(new InventoryProvider() {
                @Override
                public void init(Player player, InventoryContents contents) {
                    contents.set(1, 1, ClickableItem.of(new ItemStack(Material.POTATO),
                            e -> player.sendMessage(ChatColor.GOLD + "You clicked on a potato.")));
                }

                @Override
                public void update(Player player, InventoryContents contents) {}
            })
            .closeable(true)
            .build().open(player);
```

![](https://cdn.discordapp.com/attachments/514184437513191463/775720203040194570/unknown.png)

Make sure that you register yourself correctly if you are using this lib as a dependancy (and not as a plugin) : `SmartInvsPlugin.setPlugin(this);`

As you use your own InventoryManager, make sure to initialize it with the `init()` method.


Update README.md

The central Maven repository only has 1.15 (not 1.16)
https://mvnrepository.com/artifact/commons-codec/commons-codec

-1: This is the master branch for work in progress toward the next release, not the release tag.

@garydgregory there is no README.md on the 1.5 branch, maybe the pom example should be removed from the README.md because it will always be wrong?

eg:
https://github.com/apache/commons-codec/pull/117


OpenSource : 5.33 Explain everything related to CRI-O

Description :

Explain everything related to CRI-O

Note :

Changes should be made inside the Open_Source/ directory & Opensource branch.
Put  your doc inside section-5
Issue only for GWOC'21 contributors.
Issue will be assigned on a first come first serve basis, 1 Issue  ==  1 PR == 1 Contributor
For Contributor please don't create the same issue again, before creating any issue do visit OpenSource Milestone
Doc name should same as the issue title

Must Follow : Contributing Guidelines & Code of Conduct before start Contributing.
Happy Contributing 🙌

Can I contribute here in form of documentation?

@Dracarys0511  Assigning this to you, Happy Learning 🎉🎉

@Dracarys0511 Assigning this to you, Happy Learning 🎉🎉

Thank you

@Aryamanz29 sir is it fine for merging?

@Aryamanz29 sir is it fine for merging?

Merged  🎉🎉


Fast data layers with set logic

From https://github.com/donejs/donejs/issues/713

This issue was moved to canjs/canjs#2771


tf.contrib.rnn.OutputProjectionWrapper

hi,
In tf 1.14.0,there is no new API for the function,
could you help me ?I want translate the Op in tflite .
thx

Can you please be specific of what your issue is @ucasiggcas ?

Closing this issue as it has been awaiting response for more than 3 weeks. Please add additional comments and we can open this issue again. Thanks!


How to get accessToken when using google auth signInWithRedirect to use with google apis?

Is it possible to get the accessToken needed for google apis when we use signInWithRedirect and getRedirectResult?
It should be possible as signInWithPopUp supports it and OAuth supports it (I think if you set response_type=token, which is what Google Identity Docs say should be set for client apps it will return in the callback url with a hash fragment.)
Any pointers welcome as I am happy to make a pr. Just not sure if there is a fundamental limitation like the underlying js api or perhaps it’s currently possible.
Thanks.

Okay so its possible to get the access token,
UserCredential userCred = await FirebaseAuth.instance.getRedirectResult();
var accessToken = (userCred.credential as GoogleAuthCredential).accessToken;


Add support for other file name

Is your feature request related to a problem? Please describe.
When I use cookiecutter-Django the requirement.txt file is split into 3 files. So this extension can't work. Hope it can support other file names.
Describe the solution you'd like
Hope this extension can check by language mode not only the file name.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

is it possible check the language mode to determine which manifest the file base on ?


Issues with docker networking

Is your feature request related to a problem? Please describe.
We want to have a service (wiremock) startet within the pipeline job "pipeline-tests". This wiremock is then added to a specific docker network "gitlab-ci-local-XXXXX".
After that we are starting gitlab-ci-local again in the job with the wiremock service (for pipeline tests) but those startet gitlab-ci-local jobs are getting added to the default "bridge" network.
My question here is, why we are separating by network at all?
Describe the solution you'd like
Ditching the different networks and start all containers in the same network.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
We want to use gitlab-ci-local to run a pipeline testing job which runs gitlab-ci-local (very inception like)

Job A needs mariadb service
Job B needs mariadb service
Job A and B are started at the same time.
Which mariadb services gets to have port 3306.

I understand and that is reasonable.
I think the 'gitlab-ci-local in gitlab-ci-local' case is also kind of an edge case.
What do you think of having a flag --single-network or something, which simply doesn't create multiple networks?

As long as it's non default i would be fine with it 👍

https://github.com/firecow/gitlab-ci-local/issues/991 I'm solving this issue in the next version of gitlab-ci-local.
Is that enought to get you past this use-case? @alexander-matthiesen

Feel free to reopen, if this still needs work to cater your use-case.


"Download file" and "Download *.torrent" don't work

@FluorescentHallucinogen thanks for the issue. Fixed in https://github.com/fastcast/fastcast/commit/7d00b7e29c9418806786d309830a879333329619


Back up the old template till the new template is created

During update, the old template gets replaced with the new one.
During the transition, the old one gets deleted and and the new
one is added. If something goes wrong during the addition of the
new template, the old template is lost while the new one is not
created either. So, backup the old template, then create a new one,
and finally delete the old template.

Changed to using the nonce (stored as session-id) to create an unique backup template name.


spacedrive: 0.3.1 -> 0.4.2

Description of changes
Updated package to https://github.com/spacedriveapp/spacedrive/releases/tag/0.4.2
Closes #329251
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4549

Result of nixpkgs-review pr 340739 run on x86_64-linux 1

1 package built:

spacedrive


OLFactory.createColor not working with String

I have been testing some of the functionality and creating a color using a String is not possible. It works fine using an array.
https://openlayers.org/en/latest/apidoc/ol.html#.Color
And looking through the API it is only defined as an array.
By the way, I really appreciate your work! Thx :)

Thanks @enpi !
I suppose you are using this method:
https://github.com/TDesjardins/gwt-ol3/blob/master/gwt-ol3-client/src/main/java/ol/OLFactory.java#L238
...which is not working for you?

Yeah, this method ( sry for not pointing it out ). Thx for fixing it!

Fixed with commits:
https://github.com/TDesjardins/gwt-ol3/commit/042021a2cd961a5f781a81ae97bc14b1ba8e8705
https://github.com/TDesjardins/gwt-ol3/commit/f2dd7e7469af62565f9d41e4525d4675ede9da58
You can close this issue if it works for you.


Revert "[video_player] Set audio mix options"

Reverts flutter/plugins#2922
CI started timing out after this. Want to see if it the tests complete without it.

Ugh. Script checks prevent this from working properly. Nevermind.


HADOOP-17270. Fix testCompressorDecompressorWithExeedBufferLimit to c…

Link to HADOOP-17270

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 41s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
40m  7s
trunk passed

+1 :green_heart:
compile
34m 30s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
compile
27m 38s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
checkstyle
1m 11s
trunk passed

+1 :green_heart:
mvnsite
2m 43s
trunk passed

+1 :green_heart:
shadedclient
28m  0s
branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  9s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
2m 49s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+0 :ok:
spotbugs
4m 21s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
4m 17s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 54s
the patch passed

+1 :green_heart:
compile
43m 44s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javac
43m 44s
the patch passed

+1 :green_heart:
compile
34m 18s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
javac
34m 18s
the patch passed

-0 :warning:
checkstyle
1m 36s
hadoop-common-project/hadoop-common: The patch generated 1 new + 12 unchanged - 1 fixed = 13 total (was 13)

+1 :green_heart:
mvnsite
2m 39s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
24m 48s
patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  8s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
2m 19s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
findbugs
4m  8s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
15m  0s
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m 26s
The patch does not generate ASF License warnings.

281m  6s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2311

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux d50151b7cd30 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / eacbe07b565

Default Java
Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

checkstyle
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/1/artifact/out/diff-checkstyle-hadoop-common-project_hadoop-common.txt

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/1/testReport/

Max. process+thread count
3262 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

@iwasakims Thanks for working on this.

Could you modify the method name from  testCompressorDecompressorWithExeedBufferLimit to testCompressorDecompressorWithExceedBufferLimit?
We may want to add a comment that BYTE_SIZE is larger than the default buffer size.

Thanks, @tasanuma. I addressed your comment and checkstyle warnings. The internal buffer size of compressor/decompressor are explicitly set in the updated code.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  7s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
28m 49s
trunk passed

+1 :green_heart:
compile
19m 25s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
compile
16m 52s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
checkstyle
0m 54s
trunk passed

+1 :green_heart:
mvnsite
1m 28s
trunk passed

+1 :green_heart:
shadedclient
16m 55s
branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 38s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
1m 33s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+0 :ok:
spotbugs
2m 17s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
2m 13s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 50s
the patch passed

+1 :green_heart:
compile
18m 47s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javac
18m 47s
the patch passed

+1 :green_heart:
compile
17m  0s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
javac
17m  0s
the patch passed

+1 :green_heart:
checkstyle
0m 51s
hadoop-common-project/hadoop-common: The patch generated 0 new + 10 unchanged - 3 fixed = 10 total (was 13)

+1 :green_heart:
mvnsite
1m 26s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
14m 17s
patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 37s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
1m 35s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
findbugs
2m 21s
the patch passed

_ Other Tests _

-1 :x:
unit
9m 29s
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 55s
The patch does not generate ASF License warnings.

160m 34s

Reason
Tests

Failed junit tests
hadoop.fs.viewfs.TestViewFsTrash

hadoop.fs.viewfs.TestViewFileSystemLocalFileSystem

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2311

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 259655bdd043 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / fc2435cb5cf

Default Java
Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

unit
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/2/artifact/out/patch-unit-hadoop-common-project_hadoop-common.txt

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/2/testReport/

Max. process+thread count
2183 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2311/2/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

The failed tests are not related. +1.

Merged. Thanks for your contribution, @iwasakims!

Thanks, @tasanuma.


Rewrite to signalr

Hi Guys,
I did a rewrite from SocketIO to signalr because there are a lot of drawbacks if there are 2 "server" run concurrent (SocketIO from nodejs and Kaestrel from dotnet). Besides of that I dislike the fact that one program needs 2 ports ;-)
I use Electron.NET different, so in my scenario I start electron though dotnet and not dotnet though electron (electronize). This fulfill my needs better because the UI is not needed in all situations (I want to e.g. access Kaestrel from a remote computer and want the UI only if I work locally on the same system), or want to show a traymenu while the main application is running (as some kind of crossplatform UI). I also work 99,9% in c# code, and dont want to attach a debugger all the time. "electronize" method should still work in this version.
I also want to worry about only one side in terms of security, IMHO dotnet with Kaestrel contains a lot of useful stuff for authorize and we can make sure that only "verified" commands run though.
Please DONT merge this as it is - It's it basically working but have a lot of drawbacks and untested areas (besides of the fact that it completely breaks the SocketIO version), so please let me know if you consider to use this as idea/base and take a review. If there are issues (they are^^) just write me.
Known Problems/Issues:

We wait 5s for each response from Node -> C# (see SignalrSerializeHelper.cs) , this is a problem if we wait for a Window result (like a MessageBox) - After 5s everything from SignalrSerializeHelper will return null, should be easy to implement.

IpcMain is not working (committed out multiple lines) - Unsure if this is needed because we're able to use signalr/razor/blazor for this.

Hybrid Support is forced to be true

Electron HostHook did not work (also unsure if needed)

Demos are not converted yet

SignalrSerializeHelper is a bit messy and could get replaced in net7 with https://github.com/dotnet/aspnetcore/issues/5280

Expect a lot of bugs ;-)
Thank you

We have already received a PR #595 with a complete switch to another .NET library with Socket.IO support. Socket.IO runs natively in the backend and is better supported under Node.js than SignalR.
We are happy to be open to pros and cons when deciding on SignalR. Currently there would be no reason.

We have already received a PR #595 with a complete switch to another .NET library with Socket.IO support. Socket.IO runs natively in the backend and is better supported under Node.js than SignalR.
We are happy to be open to pros and cons when deciding on SignalR. Currently there would be no reason.

This PR is just to have a discussion :-)
From my point of view it depends on the use case what is a better fit. In my current project I use Electron.NET as completely optional component/plugin and in that scenario it makes sense to use dotnet as "master", I also use Electron.NET as GUI of a remote application that runs on a webserver for a different project - Both cases are not possible with the current implementation because Electron.NET and the main assembly needs to be on the same system and electron need to be the entry application what is not the case with the signalr implementation.
I also dislike the fact that we need to run 2 independent "server" implementations that use a separate port (dotnet backend, nodejs socket io) and there is no way to have a useful authorization - This problem dont exists with signalr/kaestrel as backend solution and is a show stopper in any real world scenario where security is a factor. Another thing that will make lazy people happy is that you dont need to attach a debugger - you can just debug from VS as you do in any other dotnet application :-)

The two processes communicating via web sockets is ugly. I'm with you there. With SignalR we would have the same communication as well. I haven't noticed any difference in your implementation.
As far as client application security is concerned, any desktop solution is easily vulnerable. Processes hosted in VMs can also be easily dismantled with a kernel debugger.
But yes, an alternative for Electron.NET would be great. We just haven't found a simple solution to this.

The two processes communicating via web sockets is ugly. I'm with you there. With SignalR we would have the same communication as well. I haven't noticed any difference in your implementation.
As far as client application security is concerned, any desktop solution is easily vulnerable. Processes hosted in VMs can also be easily dismantled with a kernel debugger.
But yes, an alternative for Electron.NET would be great. We just haven't found a simple solution to this.

Thats true - In terms of communication it's pretty similar, at the end of the day signalr is also a socket connection.
We need to run kaestrel (dotnet) in any scenario (with or without socketio) so the dotnet backend process will always be needed and with signalr it's just a additional endpoint on the same already existing backend and don't request a additional backend (socketio) that's hostet in a different process (electron)
In my PR Electron.NET (UI/Electron itself) is optional and not a base requirement that bootstraps the dotnet entry assembly, it's exactly the way around - dotnet will start the electron process if needed and setup/provide the communication with signalr. It shifts the complete server logic to one process (dotnet).
In terms of security concerns: It's way easier to exploit a application where I just need to send a packet to a socket without any kind of authorize than access the system memory.  ATM every application that can communicate with localhost is able to send packets and use Electron.NET as puppet. Other exploits are for sure also possible but e.g. a memory injection would need at least elevated user rights and another level of knowledge.
With one backend the coder is able to use any level of protection/authorization aspnetcore offers (and that's a lot^^) and don't need to take care about two backend services.
Here a little sumup what the signalr implementation offers:

Only one backend (dotnet), not 2 (dotnet, socketio)
Need only one port
Electron and dotnet are independent processes that are no longer bound to each other
No need to bootstrap dotnet assembly from electron (even if this should still work)
Easier debugging (no need to attach debugger)
Electron is optional and can get started at runtime (electron can get started if it's needed but is not required to run the dotnet assembly)
Electron can run as client/UI only for a remote service on a webserver but still can communicate with the desktop (useful if you want to push notifications from the server to the client or any other kind of desktop interaction)
Authorization is possible though aspnetcore (e.g. JWT, cookies, OAuth, IdentityServer)
Encrypted communication is possible
With net7 (hopefully) it should be also possible to use signalr like a REST api where we no longer need to use the ugly workaround with SignalrSerializeHelper (what is also the case with socketIO, just different implemented)

This looks like interesting solution to me !
But if it is very much different from current Socket implementation I understand it could take a lot of time to fully test this approach and make it production ready.
I'm eager to get the new release that I hope is around the corner, so if we can get what is already stable with sockets would be great. ;)
And would it be possible to have like multiple different host models ? Users could choose if they wish to use the SocketHost library or the SignalRHost that could be the new one ?
I'm using currently Electron with Blazor Server. Would it use the same SignalR in this scenario or it would have two layers of SignalR within SignalR ? :)
And what about the third model that could work like BlazorWebView that Microsoft is shipping for MAUI and WPF ?
Can we manipulate directly the DOM elements within Electron Web View without having to use intermediate communication system ?
I'm really enjoying so far the use of electron.net and hoping for the update soon !

This looks like interesting solution to me !
But if it is very much different from current Socket implementation I understand it could take a lot of time to fully test this approach and make it production ready. I'm eager to get the new release that I hope is around the corner, so if we can get what is already stable with sockets would be great. ;)
And would it be possible to have like multiple different host models ? Users could choose if they wish to use the SocketHost library or the SignalRHost that could be the new one ?
I'm using currently Electron with Blazor Server. Would it use the same SignalR in this scenario or it would have two layers of SignalR within SignalR ? :)
And what about the third model that could work like BlazorWebView that Microsoft is shipping for MAUI and WPF ? Can we manipulate directly the DOM elements within Electron Web View without having to use intermediate communication system ?
I'm really enjoying so far the use of electron.net and hoping for the update soon !

Hi,
the solution works for what I need to get done pretty good - I use it already in production: In my productive version the code is a little bit modified from the code in repo because I need to have authorization and multiple security checks.
It should have implemented almost everything from the socketio solution but will break old code (if you have e.g. custom hooks/endpoints in electron JS).
The different hosting models are hard to implement - In the way it's currently written up we need to maintain both JS implementations (signalr works different from the socketio version and all JS files are changed to reflect this)
For Blazor: Thats exactly what I currently use in my productive solution too - Depending on what hosting model you use (Server/Clientside) it is easy to implement and you can directly bind blazor frontend to electron methods with the classes. I currently use a server side blazor hosting with electron.net as client side frontend.
For BlazorWebView: IMHO this is currently out of scope - The way how this is implemented is based on MS edge, not electron. To have a solution like this I suggest to use chromly or CEFSharp :-)


Fix error on cpu device in KANLayer.py

Upon attempting to run tutorials on the CPU device, I encountered the following error: RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!.
To address this issue, I've made adjustments in the code from using cuda() to to(device). This modification ensures compatibility with both CPU and CUDA devices.

There's also another problem in creating sp2 later on. I'll open a more complete PR soon.