TST: some testing infrastructure issues/suggestions

Similar system/setup to gh-68,

Trying to verify the integrity of the bionumpy install after a standard pip install into a virtual environment. This mimics what a standard end user might do instead of building from source and testing in the source directory, or for a developer that might prefer to run tests from i.e., /tmp to avoid complications associated with in-source testing, etc. It looks like only a single test runs in this case:

python -m pytest --pyargs bionumpy -v
I pasted the output below the fold:

======================================================================================================================== test session starts =========================================================================================================================
platform linux -- Python 3.12.1, pytest-8.0.2, pluggy-1.4.0 -- /home/treddy/python_venvs/py_312_bionumpy_review/bin/python
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/home/treddy/.hypothesis/examples'))
rootdir: /home/treddy
plugins: hypothesis-6.98.17, xdist-3.5.0
collected 1 item

python_venvs/py_312_bionumpy_review/lib/python3.12/site-packages/bionumpy/simulate/test_simulate_intervals.py::test_simulated_fixed_size_uniform_intervals PASSED                                                                                [100%]

========================================================================================================================== warnings summary ==========================================================================================================================
python_venvs/py_312_bionumpy_review/lib/python3.12/site-packages/bionumpy/encodings/vcf_encoding.py:98
  /home/treddy/python_venvs/py_312_bionumpy_review/lib/python3.12/site-packages/bionumpy/encodings/vcf_encoding.py:98: RuntimeWarning: invalid value encountered in cast
    _lookup[[ord(c) for c in ('0', '1', '.')]] = np.array([0, 1, np.nan])

python_venvs/py_312_bionumpy_review/lib/python3.12/site-packages/bionumpy/io/parser.py:4
  /home/treddy/python_venvs/py_312_bionumpy_review/lib/python3.12/site-packages/bionumpy/io/parser.py:4: DeprecationWarning: typing.io is deprecated, import directly from typing instead. typing.io will be removed in Python 3.12.
    from typing.io import IO

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

This tends to be related to package layout with i.e., __init__.py files and usually isn't too hard to remedy if you haven't used source tree-relative references too much in the testing source.

Luckily, most of the testsuite does pass on latest master on Python 3.12 x86_64 Linux when running from a fresh clone/source directory, and line coverage looks solid, but even after installing requirements_dev.txt I still see a few failures via python -m pytest -n 32:

====================================================================================================================== short test summary info =======================================================================================================================
FAILED tests/test_parsers.py::test_buffered_writer_ctx_manager[5000000-example_data/big.fq.gz] - FileNotFoundError: [Errno 2] No such file or directory: './tmp.fq'
FAILED tests/test_parsers.py::test_buffered_writer_ctx_manager[5000000-example_data/reads.fq] - FileNotFoundError: [Errno 2] No such file or directory: './tmp.fq'
FAILED tests/test_vcf_encoding.py::test_vcf_matrix_buffer_stream - KeyError: 'header'
FAILED tests/test_vcf.py::test_vcf_filtering_chunk - AssertionError: assert 0 == 2
========================================================================================== 4 failed, 392 passed, 118 skipped, 2 xfailed, 7 xpassed, 8982 warnings in 4.70s ===========================================================================================

Running the testsuite leaves quite a few artifacts in the directory where the tests were initiated rather than using one of the various temporary directory approaches to keep this nice and clean. Here are the file artifacts I see:

On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	carriage_return.bed
	carriage_return.fa
	carriage_return.fa.fai
	carriage_return.fq
	empty.csv
	example_data/sacCer3.fa.fai
	string_array_test.txt
	test1.vcf
	tmp.bam
	tmp.vcf
	tmp1234.tsv
	tmp1234full.tsv
	tmp_folder/
	tmp_ioi.vcf
	tmp_rwr.bed

Thank you for the input, the test suite has indeed needed a re-haul.
Regarding 2. and 3. I believe using the tmp_path fixture in pytest has remedied these, both removing output files and making the test suite thread safe.
Regarding point 1, I've have now made the test suite run independent of cwd, so that you can run the test suite from /tmp (or wherever you want). However we have put the test folder outside the source folder so that it is not packaged with the rest of the code, and is not available when installing through pip (I think). There seems to be no clear answer of what is best, but since our test suite is so dependent on reading files from our example_data folder, I am unsure if it will be right to include the tests in the package, since that will require also packaging all the test data.
I do agree that it's very nice to be able to verify the install without checking out the source code, so I've now included some small tests using simulated data in the source folder, so that it works to run 'pytest --pyargs bionumpy' which will hopefully reveal any problems with the install. If you know of a better way to solve this, please let me know.

I suppose you could make a separate testing package with the assets and/or use one of the popular solutions like pooch to pull the testing assets down as needed (skipping otherwise), but not sure it is worth the effort at the moment. I think the scikit-image folks have done some cool work on that approach: https://github.com/scikit-image/scikit-image/blob/21485b18ddd21e44b1881a34e64b2ec4d5feee4e/skimage/data/_fetchers.py#L130
But maybe not worth the effort for now.
Cool project!

Thanks, that looks like a nice setup! Not high priority for now, but would be nice to set up also for running examples.
Closing for now


remove default middlewares

ref: https://github.com/developmentseed/titiler/discussions/268
I don't think it's up to TiTiler to define application settings like CORS and response compression. This could be easily added by a user on their own application
from brotli_asgi import BrotliMiddleware

from titiler.main import app

app.add_middleware(BrotliMiddleware, minimum_size=0, gzip_fallback=True)

cc @drnextgis @geospatial-jeff @kylebarron

Totally agree. I was a little bit surprised to see this functionality (response compression) as part of the application itself. It is usually configured on the application server level.

I think this was originally done as part of the work to support Numpy tile output, because by default that data is uncompressed, and I think it was planned to only apply that as necessary but hadn't happened yet.
I don't know how much appetite there is for Titiler to really support Numpy tile output, but my stance is that if we want to truly support it, compression should be on by default for that output. Numpy output (especially with a mask) is quite large without compression, and any end user who wants to use both Numpy and other output formats will have the same issue as you: without digging into the application it seems hard to configure compression only for selected outputs.
I don't know fastapi/starlette as well as @vincentsarago and @geospatial-jeff, but I'd expect there's a way to apply middleware only to certain outputs, e.g. to be able to say "use this middleware only on outputs of type application/octet-stream". If that exists, then seems easy to implement "apply compression by default only for Numpy responses".

I was a little bit surprised to see this functionality (response compression) as part of the application itself

Not sure I follow, but if I understand correctly main.py is expected to be overridden by all except introductory end-users (for whom default compression on uncompressed file types is a benefit). So it would be very easy for you to reuse all of titiler without any given middleware by copying main.py yourself.

just adding that to me it's not clear if headers get added to tile requests when using web map libraries 🤷♂

just adding that to me it's not clear if headers get added to tile requests when using web map libraries 🤷♂

I believe every network request a browser ever makes includes these Accept-Encoding headers. If I look at a random network request on this page, I can see plenty of default headers

Setting those headers is at the browser-level, not the JS level. Furthermore, it looks like it's impossible for JS to override that or any other "forbidden header" https://stackoverflow.com/a/63855008 https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name

Not sure I follow, but if I understand correctly main.py is expected to be overridden by all except introductory end-users (for whom default compression on uncompressed file types is a benefit).

I meant that compression might be configured (even for selected outputs) outside of Titiler. For example in case of k8s it might be done by adding something like this here:
annotations:
  kubernetes.io/ingress.class: nginx
  nginx.org/server-snippets: |
    gzip on;
    gzip_types application/x-binary;

@kylebarron I get your point, but IMO, titiler shouldn't be responsible for the application. we ship a default app but I see it only as a demo. For production application I expect the user to add custom thing like middleware.
I think it would be pretty straight forward for a user to create a custom middleware that encode only npy response.

we ship a default app but I see it only as a demo

I think there's a tension here. If the default app is only a "demo" and shouldn't go into production, we should do things like removing the built Titiler Docker image. To me, having a docker image on Docker Hub says "this image is deploy-ready, just set some environment variables to your configuration". If that isn't the case, then that image shouldn't exist, because it'll make it easier for newcomers to shoot themselves in the foot.

It seems there is no easy way for doing that.

I think it would be pretty straight forward for a user to create a custom middleware that encode only npy response.

Those two arguments are contradictory...

@kylebarron

Those two arguments are contradictory...

Indeed they are, and in fact @drnextgis is right, creating custom middleware that do no apply compression based on a media_type is not as easy.

I think there's a tension here. If the default app is only a "demo" and shouldn't go into production, we should do things like removing the built Titiler Docker image. To me, having a docker image on Docker Hub says "this image is deploy-ready, just set some environment variables to your configuration". If that isn't the case, then that image shouldn't exist, because it'll make it easier for newcomers to shoot themselves in the foot.

To me it's: hey there is a docker image, if you want to try you don't have to install anything. Like the GDAL docker image, you can use them in production but if you want something focused on performance, maybe you need to create one yourself
Here we have two choice:

keep the default middleware, which re-compress body (only good when using uncompress data format like tiff and numpy-tile)
remove the middleware and let the user figure out what to do

IMO, re-compressing data is bad. We can work on a solution that enables compression for some specific mediatype but until someone propose a good solution I'm in favour of removing the middleware.
cc @geospatial-jeff

IMO slimmer is better.  I don't think we should include things in the app by default that aren't necessarily required, and middleware definitely falls into this category.

Here we have two choice:

keep the default middleware, which re-compress body (only good when using uncompress data format like tiff and numpy-tile)
remove the middleware and let the user figure out what to do

Well I've never advocated for the first; re-compressing the body is unequivocally bad. My argument from the beginning of this issue is there's an option 3: figuring out how to add middleware to only compress uncompressed responses. After all there are plenty of non-image endpoints that return JSON and would be good to compress responses for.
Still, there's a tension here, are we planning to remove all the middlewares?? Then the default app won't even have CORS headers and won't be very usable.
IMO main.py is only used in the "demo" app; it's really not the "public export" of titiler. The public exports of titiler are all the things that main.py are referencing. Therefore having good defaults in main.py is a good thing, so that newcomers to the project can easily deploy something with sensible defaults without needing to customize everything.

Therefore having good defaults in main.py is a good thing

a good default is IMO without the middleware! Mostly because, there isn't an easy way to know which response are already compressed (e.g a PNG could be encored without compression, a GeoTIFF could already be compressed...)

Then the default app won't even have CORS headers and won't be very usable.

We can argue about this. if you use the default viewer provided but the app it will work.

Well first, let me be clear that I'm arguing not for myself, since I personally am happy to customize the middlewares I use. I think removing all the middleware will hurt the marginal consumer of the library and that lowering the barrier to entry is a good thing. It's better IMO to have sensible defaults on the default app so that new users of the library get a working deployment, and then later on can tweak settings as they need to.
The question then is which middlewares are included by default. I disagree that all middlewares should be removed by default, because I think that makes it harder for a new user to get up and running.
I think either of these two things are the best options:

Remove compression for all response types, but also remove any reference to numpy tiles in the top-level README (and only have references in the detailed docs), because uncompressed numpy tiles are not something that should be promoted. In the detailed docs on the supported formats there should be an "admonition warning (i.e. !!! warning in mkdocs)" that numpy tiles provided by the endpoint are not compressed, that compression is very important for this format in particular, and that the user must implement this themselves.
Implement selective compression by default for all text responses and numpy tiles.

not compressing uncompressed data is bad (especially for tif and numpytile)
compressing compressed data is bad
creating a custom middleware to handle compression depending the response media-type is not straight forward
having a good/user friendly default app is nice (a minimal production ready app with CORS and compression)

Just looking at Martin and pg_tileserver, they do ship CORS and compression by default, so maybe it's fine to keep them too 🤷♂

Just looking at Martin and pg_tileserver, they do ship CORS and compression by default

For vector tiles it makes sense https://blog.cyclemap.link/2020-02-02-optimizing-vectortiles/#gzip

closing this in favour of #312 which should allow customization to avoid re-compressing compressed data.


The UPS Broker Panics on Bind calls

Here is a stack trace:
ENG000656:svc-catalog-demo aaronschlesinger$ ks log -f ups-broker-ups-broker-791661979-11t0p
2017/03/20 17:07:31 http: panic serving <IP_ADDRESS>:52338: runtime error: invalid memory address or nil pointer dereference
goroutine 40 [running]:
net/http.(*conn).serve.func1(0xc420074b80)
	/usr/local/go/src/net/http/server.go:1491 +0x12a
panic(0x671460, 0xc420016040)
	/usr/local/go/src/runtime/panic.go:458 +0x243
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/user_provided/controller.(*userProvidedController).Bind(0xc4200c8008, 0xc420074f1a, 0x24, 0xc420074f50, 0x24, 0xc420015b40, 0x40ff28, 0x30, 0x69aa40)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/user_provided/controller/controller.go:108 +0x5a
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.(*server).bind(0xc4200ce1f0, 0x7def40, 0xc4201680d0, 0xc4200bfc20)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server/server.go:146 +0x388
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.(*server).(github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.bind)-fm(0x7def40, 0xc4201680d0, 0xc4200bfc20)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server/server.go:49 +0x48
net/http.HandlerFunc.ServeHTTP(0xc4200cef00, 0x7def40, 0xc4201680d0, 0xc4200bfc20)
	/usr/local/go/src/net/http/server.go:1726 +0x44
github.com/kubernetes-incubator/service-catalog/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc4200cc0f0, 0x7def40, 0xc4201680d0, 0xc4200bfc20)
	/go/src/github.com/kubernetes-incubator/service-catalog/vendor/github.com/gorilla/mux/mux.go:114 +0x10d
net/http.(*ServeMux).ServeHTTP(0x7f9f80, 0x7def40, 0xc4201680d0, 0xc420151950)
	/usr/local/go/src/net/http/server.go:2022 +0x7f
net/http.serverHandler.ServeHTTP(0xc4200e3100, 0x7def40, 0xc4201680d0, 0xc420151950)
	/usr/local/go/src/net/http/server.go:2202 +0x7d
net/http.(*conn).serve(0xc420074b80, 0x7df500, 0xc420015480)
	/usr/local/go/src/net/http/server.go:1579 +0x4b7
created by net/http.(*Server).Serve
	/usr/local/go/src/net/http/server.go:2293 +0x44d
2017/03/20 17:07:31 http: panic serving <IP_ADDRESS>:52510: runtime error: invalid memory address or nil pointer dereference
goroutine 45 [running]:
net/http.(*conn).serve.func1(0xc420075100)
	/usr/local/go/src/net/http/server.go:1491 +0x12a
panic(0x671460, 0xc420016040)
	/usr/local/go/src/runtime/panic.go:458 +0x243
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/user_provided/controller.(*userProvidedController).Bind(0xc4200c8008, 0xc42007519a, 0x24, 0xc4200751d0, 0x24, 0xc420015d40, 0x40ff28, 0x30, 0x69aa40)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/user_provided/controller/controller.go:108 +0x5a
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.(*server).bind(0xc4200ce1f0, 0x7def40, 0xc420168410, 0xc420196000)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server/server.go:146 +0x388
github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.(*server).(github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server.bind)-fm(0x7def40, 0xc420168410, 0xc420196000)
	/go/src/github.com/kubernetes-incubator/service-catalog/contrib/pkg/broker/server/server.go:49 +0x48
net/http.HandlerFunc.ServeHTTP(0xc4200cef00, 0x7def40, 0xc420168410, 0xc420196000)
	/usr/local/go/src/net/http/server.go:1726 +0x44
github.com/kubernetes-incubator/service-catalog/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc4200cc0f0, 0x7def40, 0xc420168410, 0xc420196000)
	/go/src/github.com/kubernetes-incubator/service-catalog/vendor/github.com/gorilla/mux/mux.go:114 +0x10d
net/http.(*ServeMux).ServeHTTP(0x7f9f80, 0x7def40, 0xc420168410, 0xc4200bfe00)
	/usr/local/go/src/net/http/server.go:2022 +0x7f
net/http.serverHandler.ServeHTTP(0xc4200e3100, 0x7def40, 0xc420168410, 0xc4200bfe00)
	/usr/local/go/src/net/http/server.go:2202 +0x7d
net/http.(*conn).serve(0xc420075100, 0x7df500, 0xc420015c40)
	/usr/local/go/src/net/http/server.go:1579 +0x4b7
created by net/http.(*Server).Serve
	/usr/local/go/src/net/http/server.go:2293 +0x44d

Interestingly, I have not had a problem with this, though I have been using the UPS broker extensively

Could you add repro steps?

@vaikas-google I don't have reliable repro steps, because this looks like a race condition in the user provided broker

@vaikas-google actually one way to test this specific issue is to try to bind before provisioning against the UPS broker


[skip ci] Backport

:tada: This PR is included in version 1.0.3 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


iMessage & FaceTime Not Working

I'm not sure why but every time i try and sign in with my apple id at the the sign-in page, it goes back into the sign-in page for iMessage and FaceTime after like 5 seconds or so. i could send a video but i can't at the moment

I dont have anny issue for message and Facetime
Try to change the complete SMBIOS serial number and UUID

What tool do you use..? the “macserial” is what I used previously do I have to change the “ROM”?

And can you give me a. Line of code for the things I have to change? I tried everything I could and still doesn’t work

send me here your config.plist

I just need the stuff I NEED to change, can you send me it?

You can grab the examples from the repo to this issue

And I also forgot to mention I have a 7300U Intel CPU, the rest of the specs you put in the README is what I have already

And I also forgot to mention I have a 7300U Intel CPU, the rest of the specs you put in the README is what I have already

try this
config.plist.zip

do i have to change anything?

I dont have anny issue for message and Facetime Try to change the complete SMBIOS serial number and UUID

I'll try it but do i have to change anything i meant?

also how do i get rid of the "Console Spam" at boot?

also how do i get rid of the "Console Spam" at boot?

here no -v
config.plist.zip

also how do i get rid of the rainbow opencore boot menu background thing? i just want it all black

Remove Background.icns in EFI/OC/Resources/Image/chris1111/Flavours-AppleVentura


test code coverage

Current coverage is 68.78% (diff: 100%)

No coverage report found for master at 064eb5a.

Powered by Codecov. Last update 064eb5a...33d3a59


Angular Universal: undefined correlation id

Steps to reproduce:

Create the simplest possible angular application with help of ng new demo
On a home component add code to query and display results from any API
Enable SSR with help of ng add @nguniversal/express-engine
Add and configure Application Insights to generated server.ts
Run app (does not matter in dev or prod mode)

Actual results:
Application Insights successfully collects requests to the app itself and requests being sent to an API from within the app (remote dependency)
But, somehow both request and remote dependency has  undefined as context.correlation.id so it is not possible to correlate dependencies with requests

@mac2000 can you please share how you setup your demo app and how did you make the request?
I tried locally that it works fine.
On client side, I send a GET request to server.ts httpClient.get('http://localhost:4200/test2'), and /test2 is defined in server.ts as:
server.get('/test', (req, res) => {
    res.send('random');
  });

server.get('/test2', (req, res) => {
    res.send(https.get('https://localhost:4200/test'));
  });

It makes a dependency and a request. On portal, they are correlated correctly with the same operation id:

@xiao-lix here you go: https://github.com/mac2000/ai-704
your sample works because you are sending requests right from your express js app, it works fine, the problem begins whenever requests are sent from withing angular while it renders the page on the server-side
btw, while I had a chance also tried to connect appinsights before zone.js but it does not help also
to run it do something like:
git clone https://github.com/mac2000/ai-704
cd ai-704
npm install
export APPINSIGHTS_INSTRUMENTATIONKEY=your-instumentation-key # <- do not forget that
npm run dev:ssr
open localhost:4200

hopefully you will be able to reproduce it also
if you will need some more tests and help feel free to ask, we have a demo repo so it will be much easier

And you wont belive, still does not understand how it is possible
I was making some additional checks, e.g.:

calling https from server
calling xhr2 from server

and noticed following - when you wrap render function in server side with https call - everything starts to work, little bit laggy but working

on screenshot you can see main requests and two dependencies one made from server side (screen before) and another from within app component in angular
also can confirm that deep inside angular uses xhr2 lib which uses https, you can found sources here: node_modules/xhr2/lib/xhr2.js

@mac2000 Did you solve the issue by wrapping the render method? I tried to reproduce the issue but still I can see correlation ids correctly. For the demo you linked :

The SDK should be started first - can you move the node sdk on top in server.ts file before importing other stuff?
Where exactly do you see the correlation id undefined? Do you see them in code or through portal? Do you have a screenshot?
Do you make request from server.ts also? I'm confused why don't you add web sdk on Angular? Without the web sdk, the dependency sent from front end is not captured. Unless you are sending dependency from the server then to the server itself?

I have my demo app setup like this:
In app.component.ts file:
Import web sdk on top and set it up before class.
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ApplicationInsights } from '@microsoft/applicationinsights-web';

const appInsights = new ApplicationInsights({ config: {
  instrumentationKey: 'ikey'
  /* ...Other Configuration Options... */
} });
appInsights.loadAppInsights();
appInsights.trackPageView();
@Component({
  ...
})
export class AppComponent {
  ...
  public sendGetRequest(){
    console.log('sendGetRequest gets called');
    this.httpClient.get('http://localhost:4200/test').subscribe(value => {
      this.response = JSON.stringify(value);
    });
  }
}

In server.ts file, import node sdk on top and receive /test:
const appInsights = require('applicationinsights');
appInsights.setup('63969e7a-c5f7-4494-96f8-a33184d0fe30').start();

...

export function app(): express.Express {
  const server = express();

  ...

  server.get('/test', (req, res) => {
    res.send('
some html
');
  });

  ...

  return server;
}

export * from './src/main.server';

I tested both with same ikey and different ikey, I can see dependency and request events with same operation id / correlation id:

@mac2000 Did you solve the issue by wrapping the render method? I tried to reproduce the issue but still I can see correlation ids correctly. For the demo you linked :

The SDK should be started first - can you move the node sdk on top in server.ts file before importing other stuff?
Where exactly do you see the correlation id undefined? Do you see them in code or through portal? Do you have a screenshot?
Do you make request from server.ts also? I'm confused why don't you add web sdk on Angular? Without the web sdk, the dependency sent from front end is not captured. Unless you are sending dependency from the server then to the server itself?

I have my demo app setup like this:
In app.component.ts file:
Import web sdk on top and set it up before class.
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ApplicationInsights } from '@microsoft/applicationinsights-web';

const appInsights = new ApplicationInsights({ config: {
  instrumentationKey: 'ikey'
  /* ...Other Configuration Options... */
} });
appInsights.loadAppInsights();
appInsights.trackPageView();
@Component({
  ...
})
export class AppComponent {
  ...
  public sendGetRequest(){
    console.log('sendGetRequest gets called');
    this.httpClient.get('http://localhost:4200/test').subscribe(value => {
      this.response = JSON.stringify(value);
    });
  }
}

In server.ts file, import node sdk on top and receive /test:
const appInsights = require('applicationinsights');
appInsights.setup('63969e7a-c5f7-4494-96f8-a33184d0fe30').start();

...

export function app(): express.Express {
  const server = express();

  ...

  server.get('/test', (req, res) => {
    res.send('
some html
');
  });

  ...

  return server;
}

export * from './src/main.server';

I tested both with same ikey and different ikey, I can see dependency and request events with same operation id / correlation id:

@xiao-lix I have pushed a minor change which hopefully will show you what I meant
the key point here is that we are not looking at browser, in my experiment after starting angular I just run
curl localhost:4200

I have added the following logs:

in server.ts to see incoming requests
in app.component.ts to see internal requests which are required for angular to render home page
custom processing handler to log whatever being send to application insights

as you can see from the screenshot we are printing both requests (one for express and the second for angular) but somehow correlation context for remote dependency is null
and as for my last message, yes, if I wrap server rendering function into one more call everything suddenly starts to work

@xiao-lix I have pushed a minor change which hopefully will show you what I meant
the key point here is that we are not looking at browser, in my experiment after starting angular I just run
curl localhost:4200

I have added the following logs:

in server.ts to see incoming requests
in app.component.ts to see internal requests which are required for angular to render home page
custom processing handler to log whatever being send to application insights

as you can see from the screenshot we are printing both requests (one for express and the second for angular) but somehow correlation context for remote dependency is null
and as for my last message, yes, if I wrap server rendering function into one more call everything suddenly starts to work

hi @mac2000 , thanks for the details and sorry for the late reply. I happened to find that the correlation context populates values with Angular 11, and the demo you are using Angular 9. Can you update it to 11? The dependencies my test uses is:
"dependencies": {
    "@angular/animations": "~11.0.6",
    "@angular/common": "~11.0.6",
    "@angular/compiler": "~11.0.6",
    "@angular/core": "~11.0.6",
    "@angular/forms": "~11.0.6",
    "@angular/platform-browser": "~11.0.6",
    "@angular/platform-browser-dynamic": "~11.0.6",
    "@angular/platform-server": "~11.0.6",
    "@angular/router": "~11.0.6",
    "@nguniversal/express-engine": "^11.0.1",
    "applicationinsights": "^1.8.9",
    "express": "^4.15.2",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1100.6",
    "@angular/cli": "~11.0.6",
    "@angular/compiler-cli": "~11.0.6",
    "@nguniversal/builders": "^11.0.1",
    "@types/express": "^4.17.0",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.1.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  }

hi @mac2000 , thanks for the details and sorry for the late reply. I happened to find that the correlation context populates values with Angular 11, and the demo you are using Angular 9. Can you update it to 11? The dependencies my test uses is:
"dependencies": {
    "@angular/animations": "~11.0.6",
    "@angular/common": "~11.0.6",
    "@angular/compiler": "~11.0.6",
    "@angular/core": "~11.0.6",
    "@angular/forms": "~11.0.6",
    "@angular/platform-browser": "~11.0.6",
    "@angular/platform-browser-dynamic": "~11.0.6",
    "@angular/platform-server": "~11.0.6",
    "@angular/router": "~11.0.6",
    "@nguniversal/express-engine": "^11.0.1",
    "applicationinsights": "^1.8.9",
    "express": "^4.15.2",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1100.6",
    "@angular/cli": "~11.0.6",
    "@angular/compiler-cli": "~11.0.6",
    "@nguniversal/builders": "^11.0.1",
    "@types/express": "^4.17.0",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.1.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  }

@xiao-lix I have upgraded every dependency to the latest version
But unfortunately, the issue is still reproducible

Hi @mac2000 , sorry for late reply. I tried multiple things and had a couple debug sessions. The reason behind this is there's a timing issue caused by either the old version of Angular, or the SSR. If you console.log the envelope inside the telemetry processor you'll see that the dependency happens before the request. This causes the issue. Because the context doesn't exist yet when dependency happens ---  the context is created when receiving the request which happens later in this particular scenario. That is to say, the res.render method makes the dependency faster than our SDK creates the context. We have no way to fix this on our side.
I'm not sure why you still see the issue with newer version of Angular, I couldn't reproduce it with Angular 11, but do see it with Angular 9.
To fix this, you could either upgrade Angular version. Unfortunately it doesn't work for you. Or as what you did, to delay the render method. I tried to simply use setTimeOut to delay it, and it works too.


[Bug Report] When using the'fixed'property of'table' component, Popover cannot be created properly.

Element UI version
2.4.6
OS/Browsers version
window 10 / chrome 69.0.3497.81
Vue version
2.5.13
Reproduction Link
https://jsfiddle.net/s6ywLofx/
Steps to reproduce
table component add 'fixed' property
表格组件下的el-table-column增加fixed属性
click the delete button
点击delete按钮
What is Expected?
Normal creation of popover
正常创建Popover
What is actually happening?
Unable to create popover
无法创建Popover

Duplicate of #11704


Modal Page

Hi the plugin is great. thank you for the amazing work.
But how do i get it to work on Modal pages?

This was already asked, please have a look:
https://github.com/Dani3lSun/apex-plugin-spotlight/issues/3


Hi, do you have imagenet pretrained resnet50 weights?

If so, would you please upload the pretrained model?

Hi - unfortunately we were unable to train such a model due to resource constraints.


Client/pipeline ux

Fixes #551
I certainly agree that more could be done, but this is the most I'm able to do at the moment.  I think it's a low-cost improvement.
I agree that adding queueing info would be nice, but it would have to change the common desktop/web apispec to get that info.
Opted for a simpler change under the constraints we have already.

I think maybe we should also add some info on the job page about how jobs work, what the queue is, and re-iterate the warning about weekly deployments
Just like, definitions and some "this is a shared server, you might have to wait your turn" type info.

Couldn't hurt to add that in.
If you want to I would say also swap the 'Manage' button to just a direct 'Cancel' button.  I don't mind them going to Girder, but users getting curious inside of girder could cause more problems than it's worth. (Them going to their own folder, trying to upload stuff outside of your system).  I don't what else they would be doing inside of the girder jobs panel, is it to their benefit to look at the logs?

Manage' button to just a direct 'Cancel' button.

I considered it, I was sort of on the fence.  but the manage button was easy and required very little code.
I don't feel strongly, but I don't think we have very many people who need to cancel stuff.  Especially since we now have better UI for creation to prevent duplicates.
Maybe if we start seeing users actually use the cancel button we can move it into the job list?

On another note, I was thinking about putting a big "Danger: don't mess with stuff if you don't know what you're doing" warning in girder client through the backbone plugin system.

These opinions reflect a larger "pro-girder" shift in my thinking about our customers and VIAME web.
I definitely have biases, and if you want to talk about that or feel differently, I'd like to talk about it.

These opinions reflect a larger "pro-girder" shift in my thinking about our customers and VIAME web.
I definitely have biases, and if you want to talk about that or feel differently, I'd like to talk about it.
I think some of this warrants a discussion if we are going to transition to girder-next at some point.  With what is being describe as the more DIY system that doesn't have some of the built in stuff it may be beneficial to consider other alternatives if they slot in well.  (TS Node, we have to do half of it for electron anyways and datatypes can remain consistent.  There are drawbacks to consider as well like some of the file processing we may wan't to offload from Node).

Added some backend changes to prevent launching jobs on datasets with pre-existing jobs.
Also added new provenance fields on the job that we may want to use in the future.

One question and one sidenote:
Question - I was thinking more a warning that one is running instead of a flat out refusal to queue pipelines.  We may want to check with Matt but are there instances in which you would want to intentionally chain pipelines?   Like if we ran the utility full frame detection generator and then wanted to pipe that into a full frame classifier afterwards.  Are we going to have a different interface for pipeline 'macros' or is this such a niche case it isn't needed.
Side-Note:  I didn't see your job(s) reference for the manage button until I had already did the PR of my UI change so that needs to be swapped as well.

Like if we ran the utility full frame detection generator and then wanted to pipe that into a full frame classifier afterwards. Are we going to have a different interface for pipeline 'macros' or is this such a niche case it isn't needed.

I do not think such a case should exist, even if it does now.  The utility pipelines need to be implemented client side (aside), and if a pipeline in viame expects full frame boxes as a prerequisite, it should generate them if they don't exist, not throw an error that we have to deliver to the user to tell them to run some other pipeline first.
This is a user experience concern.  We are already struggling to provide clear guidance on how pipelines work. Trying to communicate dependencies / relationships between pipelines doesn't sound like a good choice to me.
These are my opinions.  Matt might have more input.

I didn't see your job(s) reference for the manage button until I had already did the PR of my UI change so that needs to be swapped as well.

Thanks, I'll fix that.


fix: 3 fixes

:tada: This PR is included in version 1.5.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Age difference enforcement

User Story:
As a child entering foster care, I need to be cared for by an Office Mom or Dad who is at least [TBD] years older than I am so that I feel comfortable and so that OMD avoids risk.
Acceptance Criteria:

[ ] Volunteers are only offered age ranges of children who are at least [TBD] years younger than they are, based on the Volunteer's birthday entry.

Temporary Fix: Please add this text to this profile field:
Current Text: Select one or more age ranges that you would like to work with
New Text: Select one or more age ranges that you would like to work with. Do not select "13-17" unless you are at least [TBD] years old."

@sarahwicks I've labeled this one as 'medium'. However, the temporary fix is definitely a 'small' task. Can you split that out to it's own issue and label it as such? It'd be a great "first issue" for new contributors.
Also, we'll need to know the [TBD] years older/younger.

@benjaminwood - done, added #209


Update deps

Signed-off-by: Greg Haskins<EMAIL_ADDRESS>

@ghaskins this appears to break the tests, can you take a look? It appears to be related to the ring.util.codec namespace.

@dakrone looking

Sorry I had missed the note on how to run 'lein all test' and only checked 'lein test'.  The problem seems to be isolated to the :1.6 profile.  Investigating now.

It seems that the simplest solution is to simply drop the 1.6 profile, as ring-codec only profiles as far back as 1.8.  Of course, I don't know what your users require, so this may not be a practical suggestion.
According to https://en.wikipedia.org/wiki/Clojure#Language_overview
1.6 came out 3/2014 and 1.7 6/2015, so setting the floor at 1.7 is probably not terrible.  What do you think @dakrone ?

I added dropping 1.6 to the proposal.  Let me know if you want to take a different route and happy to oblige.


Change civ repo name

Update CIV repo to use the new one. This is aimed to reduce CI time

I've rebased this, only the ostree tests were failing which should be fixed now.


Fixed build using bcc2 compiler

I am doing some R&D regarding the bcc2 compiler from Gaisler and I wanted to use cpputest as a test library in the future.
While trying to build the library using that compiler, with STD_C on, I encountered a linker error - undefined reference to waitpid. After some debugging I found, that the library checks if the compiler provides fork function and if it does it uses platform specific fork and waitpid implementations (UtestPlatform.cpp:64). Apparently Gaisler uses a stub fork (among some others), but waitpid is missing:

To be able to compile the library in such situation I added an additional check - for waitpid availability. With this I am able to use cpputest with my project, and run tests using LEON3 simulator.

Looks good, thanks!


Pin version for third party release images

The hypershift operator uses thirdparty i.e upstream tooling for autoscaling (cluster autoscaler) and cluster/machine lifecycle (CAPI).
A particular version of these images must be tied to a particular Hypershift release version.
This PR ensure all third party image references are pinned to a particular tag.
Eventually this images be mirrored will be pulled from an internal registry.

/test e2e-aws
/hold

/test e2e-aws

/hold cancel

/hold
let's wait for the aws image to be built

/test e2e-aws

/hold cancel

/lgtm


MultiplayerSpawner.new().get_spawnable_scene(100) crash

Godot version
4dd6f56c82fd87b85ad483e6f95585a83cd88a12
System information
popos 22.04 Linux, Vulkan, NVIDIA 3000 series
Issue description
MultiplayerSpawner.get_spawnable_scene --- executing with 1 parameters [100]
GDSCRIPT CODE:     MultiplayerSpawner.new().get_spawnable_scene(100)
ERROR: Index p_index = 100 is out of bounds (count = 0).
   at: operator[] (./core/templates/local_vector.h:161)

Steps to reproduce
Run https://github.com/godotengine/regression-test-project from vscode.
  {
    "name": "Launch regression test",
    "type": "lldb",
    "request": "launch",
    "cwd": "${workspaceFolder}",
    "miDebuggerPath": "/usr/bin/gdb",
    "args": ["--audio-driver", "Dummy", "--path", "regression-tests"],
    "program": "${workspaceFolder}/godot/bin/godot.linuxbsd.opt.tools.64.llvm",
    "visualizerFile": "${workspaceFolder}/godot/platform/windows/godot.natvis",
    "preLaunchTask": "Build Linux"
  },

Minimal reproduction project
https://github.com/godotengine/regression-test-project

int MultiplayerSpawner::get_spawnable_scene_count() const also has a crash.


prow/config: support tidb feature branch flashback-cluster

/ok-to-test

could you help to delete the line L1624 in https://github.com/ti-community-infra/configs/pull/640/files#diff-910aba468e605d9219a6e9ce7684218cb1f8e7219a5f8e2abf0a13b5f3f45c3aR1624
it's dup with L1630~L1668

Done PTAL @wuhuizuo

/merge


Report a few warnings

Compiler: g++ 9.3.0
MPI: mpich 3.3.2
OS: Ubuntu 20.04.3
CUDA: 11.5.1
In function ‘void mfem::SmemPAHcurlL2Apply3DTranspose(int, int, int, int, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Vector&, const mfem::Vector&, mfem::Vector&) [with int MAX_D1D = 2; int MAX_Q1D = 3]’:
cc1plus: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ writing between 8 and<PHONE_NUMBER>8 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
In function ‘void mfem::SmemPAHcurlL2Apply3D(int, int, int, int, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Vector&, const mfem::Vector&, mfem::Vector&) [with int MAX_D1D = 2; int MAX_Q1D = 3]’:
cc1plus: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ writing between 8 and<PHONE_NUMBER>8 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
In function ‘void mfem::SmemPACurlCurlApply3D(int, int, bool, int, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Array&, const mfem::Vector&, const mfem::Vector&, mfem::Vector&) [with int MAX_D1D = 2; int MAX_Q1D = 3]’:
cc1plus: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ writing between 8 and<PHONE_NUMBER>8 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]

Compiler: icpc version 2021.4.0
MPI:  Intel OneAPI 2021.4
OS: Ubuntu 18.04
CUDA: 11.5.1
fem/bilininteg_diffusion_pa.cpp(1559): (col. 8) remark: Loop with pragma of unroll = 8 ignored due to unroll factors mismatched
fem/bilininteg_diffusion_pa.cpp(1559): (col. 8) remark: Loop with pragma of unroll = 9 ignored due to unroll factors mismatched
fem/tmop/tmop_pa_h3d.cpp(42): (col. 1) remark: Loop with pragma of unroll = 14 ignored due to unroll_and_jam pragma expected
fem/tmop/tmop_pa_h2d.cpp(72): (col. 1) remark: Loop with pragma of unroll = 14 ignored due to unroll_and_jam pragma expected

Thanks for reporting this @adam-sim-dev.
These warnings have been present for a while... @camierjs, @dylan-copeland, @mlstowell -- any ideas how to fix them?

This is the solution I have in a branch:
https://github.com/mfem/mfem/pull/2626/files?show-viewed-files=true&file-filters[]=#diff-b4caa5528a75d84967ad6e2421fd298446d780e44edb57dca79147e61c88cc98R1694
I will open a PR containing only this change.

Discussion continued in #2788


Update edition template with optional limit, manual closing, burn tracking

This PR proposes changes to the standard edition template that enable the following:

Open editions: developers can now create editions without a predefined limit.
Manual closing: developers can now close an edition at any time.

This emits an EditionClosed event (which is also automatically emitted when an edition reaches its limit).

Burn tracking: editions now track the number of NFTs that have been burned.

I'm looking for feedback on this change!

LGTM, do we want a reopen functionality or is that out of scope for this?

Out of scope, but could be added later. As of now, closing an edition is meant to be a final action.


Preference xwalkMultipleApk not working after v2.1.0

It appears that this preference is now being ignored.
The config.xml contains:
<preference name="xwalkCommandLine" value="--disable-pull-to-refresh-effect"/>
<preference name="xwalkMultipleApk" value="true"/>
<preference name="xwalkMode" value="embedded"/>
When using v2.1.0, the output apk folder contains:

android-armv7-release.apk
android-x86-release.apk

When using v2.2.0 or v2.3.0, the output apk folder contains:

android-release.apk

+1

Prefs should be under plugin now.
<plugin name="cordova-plugin-crosswalk-webview" spec="~2.3.0">
    <variable name="XWALK_VERSION" value="18+" />
    <variable name="XWALK_LITEVERSION" value="xwalk_core_library_canary:17+" />
    <variable name="XWALK_COMMANDLINE" value="--disable-pull-to-refresh-effect" />
    <variable name="XWALK_MODE" value="embedded" />
    <variable name="XWALK_MULTIPLEAPK" value="true" />
</plugin>

+1

My issue was I had a separated config in my config.xml forcing it to false. No idea what that came from.


Post views missing from post information

Nice template, great idea, I might use it ;)
Expected behavior
Post data should contain a field with the number of views a post has had. This information should be available as it is presented on Steemit.com beside an eye symbol.
Actual behavior
No view field is available (or it is hidden / obfuscated as or within another field).
How to reproduce
Read any posts any way, e.g. steem.api.getDiscussionsByCreated( ... )
Thanks guys :D

Views are recorded off-chain on each frontend; thus, it is not the sort of data steem-js can access.

Hi @roadscape thanks for that, I wasn't aware at the time this was the case.


fix: Amazon S3 large file uploads issue fixed

Description

[!TIP]
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.

Fixes #35601
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!IMPORTANT]
🟣 🟣 🟣 Your tests are running.
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/11100760284
Commit: 38e08107cfbf6a90267241cc537872247a07159f
Workflow: PR Automation test suite
Tags: @tag.Sanity
Spec: ``
Mon, 30 Sep 2024 06:40:06 UTC

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

Tested by uploading a 45 MB file in current prod env, it failed with the following error.

Uploading the same file worked on the DP

This is kept on hold as I am verifying whether this change will result in huge eval timing on the frontend, as with this change we are allowing file uploads more than 15mb and we need to ensure that this does not cause any breaking on the frontend evaluations.
More info: https://theappsmith.slack.com/archives/CPQNLFHTN/p1727698255233839?thread_ts=1727435362.565589&cid=CPQNLFHTN


Remove Serializable support (long-term)

Oracle plans to dump risky Java serialization (👉🏼 Hacker News)
Also see our poll: https://twitter.com/vavr_io/status/1147741860854677505

Brian Goetz cleared out, that serialization support will not be dropped. We need to keep it for now because of compatibility reasons.


Do not close tabs when changing preview tab

Fixes #27

Sorry I just noticed this PR.
I am not sure how the setTimeout wrapping fixes the problem. Mind to explain?

This breaks the tests because of the setTimeout. I'll merge and fix them in master.

Great, thanks!
As for an explanation, Atom appears to add the new tab first, so if you have a max of 4 tabs, there would be 5 and then remove the old preview tab. If we respond immediately to the add, we'll see the count of 5. If we let the original add event play out completely and use setTimeout to be the next thing on the event loop, we'll then the original add will play out completely (removing the old preview tab) and by the time our code runs, we only see 4.


CB-7727: Fix FreeIPA backup script for quoting issues and ret code

This fixes the FreeIPA backup script for some quoting issues via
over-zealous shellcheck compliance.  As well this sets the AWS
upload check to better handle failing return codes.
Closes #CB-7727

I think we merged to the original change to 2.24 so this should go there as well. Sorry about the shellcheck :|

closing to move to 2.24


Why are the roc auc results of VQ2 so different from those in the original paper?

The roc auc rsults in your paper: VQ2: 70.4(DrawBench) 60.8(EditBench) 67.7(COCO-t2i)
The roc auc rsults in orign paper(What You See is What You Read? Improving Text-Image Alignment Evaluation): VQ2: 82.6(DrawBench) 73.6(EditBench) 83.4(COCO-t2i)?

how can you solve problem when importing generation_config
and encounter this error:
AttributeError: 'LlavaLlamaForCausalLM' object has no attribute '_get_generation_mode'
I think this will stop people to reproduce.


MultiprocessParallelUpdater to support new devices

Support new chainer devices with MultiProcessParallelUpdater.
Required for https://github.com/chainer/chainer/pull/7164.

Jenkins, test this please

Jenkins CI test (for commit f9c88b7c1b39865fa49b33f87cc564c534a61fe6, target branch master) failed with status FAILURE.

LGTM


Go to definition of preprocessor constant

Go to definition (F12) should work for preprocessor constants too.
Now you just get "No definition found for ''".
OEDT shows the underlying value of the preprocessor constant as well as where (in what file) it is defined when you hover the mouse over it. A ctrl+click takes you to the definition (line) in the file.

Not top priority as a minor change to Proparse will be required, but that will be added.

I just noticed that "Go to definition" on preprocessor constants works for me. Is procedure part of a source directory ?
Hover doesn't show anything though.

Yes, the sources involved (.p, .i, .cls) are all part of source entries in buildPath.

Value of preprocessor variable is now displayed in hover entrypoint. That doesn't work for now with the DEFINED function, and that requires a change in Proparse, so it will be implemented later. Another ticket keeps track of this change request.
Change will be available in the 1.17.x pre-releases.


Broken Rector count

The rector count at the bottom of the website is broken.
I think this commit is the cause:
https://github.com/rectorphp/rector/commit/a7705ed0a59c7c0ff8619c07ec48f489fb90787f#diff-0ca070f5c8b325633495e75e04a81ff06cf16c398d1480526bebeaadcc737928
It removed the count at the top which was matched with a regex to display the count

Hi,
thanks for reporting :+1:
Dare to fix it?

I'm not sure why the format changed and how to fix it. Maybe with a few hints?

The format changed, because we switched to https://github.com/symplify/rule-doc-generator
I guess better than getting number would be counting number of rules in the file


vBump arc extension post release

Pull Request Test Coverage Report for Build 338449788

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

Totals

Change from base Build 338362308:
0.0%

Covered Lines:
20657

Relevant Lines:
47968

💛  - Coveralls


refactor(eval): new design for trait Eval

The current trait Eval design looks like this:
pub trait Eval<F: PrimeField, POLY>: GetDataForEval<F> {
    fn eval(&self, poly: &POLY, row_index: usize) -> Result<F, Error>;
}

We have:

What we are going to evaluate the data for. Earlier it was represented as MultiPolynomial, now it will be represented as Expression (which we take from GroupedPoly).
Let's call it Poly.

Where we are going to get the data for calculation. In #159, a separate trait GetDataForEval was created.
Let's call it Data.

There is also a type that implements the logic of calculation, such as GraphEvaluator. It stores intermediate data for calculation.
Let's call it Evaluator.

Usage

In the cross-term computation, we use rayon to evaluate all rows in parallel and stack them inside the collection
Same in lookup module
As part of the IVC correctness check, we compute specific row and compare it with expected value

Problem 1
For some reason, trait Eval is implemented for Data, although it is not implied that there can be a different type of calculation for different types of Data, since the logic (both old and new) does not depend on the way the data is fetched, but on the algorithm.
Thus trait does not fulfill the task of isolating the computation algorithm, but only complicates the structure of generics. Such a design will not allow us, for example, to replace the current algorithm on the fly with another `Evalutor' and compare the efficiency.
Problem 2
The current design, when Evalutor instance is local, within a single row computation (inside the eval fn), we cannot overuse the cache (the computation tree inside GraphEvalutor), so current versions of the PR code do NOT use trait at all to compute cross-term, because otherwise we have to call GraphEvaluator::new on every line and this will cause overhead, given the large number of lines.
Decision
Refactoring
trait in this case should perform the task of isolating a particular eval algorithm, so should be implemented for Evaluator rather than Data, but that would cause a huge number of generics throughout our codebase (I tried it, it came out verbose).
Refactoring and adding fn new and a separate implementation of fn eval_all_row that will take over the creation of Evaluator and reusing it will make the trait Eval design meaningful, however, verbose.
In that case we should add generics on the PlonkStructure & Argument (and all related structs) itself or its methods with no obvious benefit at this stage, due to no plans yet to even implement another algorithm evalution of expression for now.
However, the latter approach will allow us to change Evaluator implementations on the fly in the future and make measurements on one version of the code, which is much better than the problems we encountered in the #159 implementation, where we have to make comparisons on different commits.
Alternative
I suggest we take a step back and abandon this isolation at this point, given the lack of plans to implement and support multiple Evalutors. This will cause us to use GraphEvalutor directly in a few places (commit_cross_term + is_sat_*), however, the number of such places is small and we can always revert to this isolation without much refactoring.
Summarize
Options:

Remove trait, work with its single instance of the algorithm in five places
Refactor trait in such a way that it does not create overhead from its use when calculating all rows, and also it was possible to change Evaluator implementations on the fly
Leave it as it is and have a strong overhead on traversing the Expression tree to build the Calculation tree on each of the rows in the table

The latter option seems terrible to me, I'm in favor of the former.

I did PR #245 with the first option, I also want to point out that within the third option, the overhead is also in is_sat, because there is also recreated Evaluator for each line.

I like the first option better as well. It makes everything simpler.


I create foodmenu.py to add "food menu" module

I want to add "Food menu" module!
"Food menu" module works as follows:
users send "food menu" module to JARVIS then JARVIS pick one of many foods and send a message about the picked menu to user!
So I create "foodmenu.py"
Short description of what this resolves:
Changes proposed in this pull request:

Fixes: #

Thank you for taking the time to contribute! This is sincerely appreciated. 😇
(Powered by GitMate.io)


Bottom overflowed on Sign-In page

Describe the bug
The bottom is overflowed on the sign-in page while keyboard is open.
To Reproduce
Steps to reproduce the behavior:

Run the app
Pass the splash screen
Moved to sign in page
See the error.

Expected behavior
There should be no overflow on th ui.
Screenshots

Desktop (please complete the following information):

OS: [Android 11]
Browser [Chrome]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [OnePlus 7T]
OS: [OxyGen os 11/Android 11]
Browser [Chrome]
Version [e.g. 22]

Are you working on this issue?

(Yes)

/assign


[iOS] Not all renderers support fallback on Column

Automatically generated task. Any updates to the title and body will be overwritten. Do NOT modify the labels.
iOS fix of #3021

Joseph confirmed iOS needs work to support fallback on Column


Add WinMerge

WinMerge
Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
Duplicate of Issue #82, which doesn't seem to have been incorporated.

Thanks for the recommendation, if you would like it to be added to the list, please create an Pull Request Instead. Thanks for Understanding!

Thanks for the suggestion, but:

It's your list, not mine.
I'm not currently setup to do GitHub Pull Requests, which is too much hassle just for this.
Since you've not that interested in adding it, I'll just write it off as a waste of my time.

https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request

As I said, that's too much hassle.

As I said, that's too much hassle.


Add seashore, image editing for macOS

Project URL
https://github.com/robaho/seashore
Category
images
Description
It is a simple image editor based on GIMP.
Why it should be included to Awesome macOS open source applications  (optional)
There are not many images editors listed AFAIK.
Checklist

[x] Edit applications.json instead of README.md.
[x] Only one project/change is in this pull request
[x] Screenshots(s) added if any
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 5 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

5565
404
https://raw.githubusercontent.com/newmarcel/KeepingYouAwake/master/Extras/Screenshot.jpg

6268
403
https://bitbucket.org/kosovan/theunarchiver/src

7580
Dupe
https://github.com/spotter-application/spotter

7613
404
https://khrykin.github.io/strategr/resources/Strategr.png

8040
Dupe
https://github.com/robaho/seashore

  Generated by :no_entry_sign: Danger

@markand Thank you! 👍


[Bug]: Can only highlight one word on mobile

Attach (recommended) or Link to PDF file
https://mozilla.github.io/pdf.js/web/viewer.html
Web browser and its version
Firefox 132.0.2
Operating system and its version
Android 13
PDF.js version
Firefox 132.0.2
Is the bug present in the latest PDF.js version?
Yes
Is a browser extension
No
Steps to reproduce the problem

Long press on a word to begin highlighting a block of text.
Instead of going into text selection mode the word under the finger is highlighted.

What is the expected behavior?
A long press would enter text selection mode in order to select the block of text, after which it would be possible to choose to highlight the text.
What went wrong?
The word under the finger was highlighted instead of entering text selection mode.
https://github.com/user-attachments/assets/f06b13ee-a776-43e8-92e1-d7f28716b026
Link to a viewer
No response
Additional context
Possibly related to https://github.com/mozilla/pdf.js/issues/18931 ?

Hey, i opened it in my android phone and it was just fine.
Steps to select multiple words :
Select one word.
Drag/Select as many words you want.
Now remove the selection and it will mark/highlight the word.


Floating X activator in Breezehome

Describe the bug
When spawning into Breezehome via LAL, red transparent X floating in the middle of the bedroom door.
To Reproduce
Steps to reproduce the behavior:

Choose alternate start, own Breezehome.
Look around :)

Expected behavior
No red X. Little console work and Google tells me this is an activator for the Shrine to Clavicus Vile.

Fixed in the next update


probability vectors do not update upon cutoff increase

Before posting a bug report

[X] I have searched exisisting GitHub issues to make sure the issue does not already exist.

Expected behavior
Length of probabilities equals cutoff
Actual behavior
the first cutoff sets the length once and for all
Reproduces how often
100%
System information
Python version:            3.9.16
Platform info:             Linux-5.15.49-linuxkit-aarch64-with-glibc2.31
Installation path:         /workspaces/MrMustard/mrmustard
Mr Mustard version:        0.5.0-dev
Numpy version:             1.23.5
Numba version:             0.56.4
Scipy version:             1.8.0
The Walrus version:        0.19.0
TensorFlow version:        2.10.1

Source code
from mrmustard.lab import *

fock_state = State(ket=Gaussian(1).ket())

print(len(fock_state.fock_probabilities([4])))   # prints 4
print(len(fock_state.fock_probabilities([8])))   # prints 4 again

Tracebacks
No response
Additional information
No response

old MM issue, closing


Filter based on Gaussianity

We filter targets with extreme variance, the idea being that tangent normalization did a poor job with these and our model is unreliable for them.  However, issue #378 will likely go a long way toward making this less of a concern.  One thing we don't filter on and perhaps should is not how much variance remains after tangent normalization but how Gaussian the coverage looks after tangent normalization.  Since our model assumes Gaussian copy ratio this amounts to filtering out targets for which our model is unsuitable.
We could implement this, for example, by filtering on the Anderson-Darling test statistic for each target.

Obviated by new coverage model.


Bug: survey.onAfterRenderSurvey() is called twice

Are you requesting a feature, reporting a bug or asking a question?
Reporting a bug
What is the current behavior?
The event survey.onAfterRenderSurvey appears to be firing twice in 1.0.56.
The survey should be rendered once, unless manually rendered again.
How would you reproduce the current behavior (if this is a bug)?
 I have an init function which is listed below, called once. However, the survey is being rendered twice. I do not change the survey data, nor do I attempt to re-render the survey. Is it perhaps the survey being rendered in the library code twice?
Provide the test code and the tested page URL (if applicable)
This is my code:
function init() {
  Survey.dxSurveyService.serviceUrl = "/surveypanel";
  var css = {
    root: "sv_main sv_frame sv_default_css"
  };

  var model = new Survey.Model({ surveyId: somesurveyId,
                          surveyPostId: somesurveyId,
                          clientId:someclientId, sendResultOnPageNext:true});

  model.css = css;
  window.survey = model;
  console.log("This statement prints out once.")
  survey.onAfterRenderSurvey.add(function(survey){
    console.log("This statment prints out twice.");
  })

  model.render("surveyElement");
//Commenting the above render statement, prevents the survey from being re-renderd
}

Browser Information

browser: Chrome
browser version:  69.0.3497.81
surveyjs platform (angular or react or jquery or knockout or vue): Knockout.js
surveyjs version: 1.0.56

Update: I determined the exact problem with this.
If I execute this code:
`  survey.onAfterRenderSurvey.add(function(survey){
console.log("This statment prints out twice.");
});
survey.render("surveyElement");`
The statement prints out twice. For what reason, I am not sure.
If I swap the two:
  survey.onAfterRenderSurvey.add(function(survey){     console.log("This statment prints out twice.");   })

@cphamlet I could not reproduce it, Could you please help me with it? Here is the example
This code is correct:
survey.onAfterRenderSurvey.add(function(survey){
   console.log("This statment prints out twice.");
 });
 survey.render("surveyElement");

and it should render only one time.
PS: Spread the good news about the product :) and thank you for using it!
Thank you,
Andrew

Amazing... I will look into this in greater detail. Thank you so much for keeping in contact.


[tests] Avoid Unnecessary Configuration for Bob's Process Initialization

close #166

LGTM

Thanks for the contribution!


Output yaml openapi

fix #1020
Depends on pr #1495 to show correctly in the playground

I feel like the openapi3 is mostly represented in Tamil. The Openapi editor convert json to yaml too.
i agree that for ms we have been using json and I wouldn’t change the Cadl-autorest emitter but for the openapi3 I think it’s better to align to the standard


Always set ApprovalCount to 0 when RequireApproval is false

Fixes https://github.com/ossf/allstar/issues/419
This PR explicitly sets the ApprovalCount to 0 when RequireApproval is false because not requiring approval implies that zero approval count is needed.

Thanks!


try-with-resources support for PerformanceMonitor.beginActivity

PerformanceMonitor.beginActivity(String) now returns an Autoclosable instance that ends the activity when closed.
This allows its use in a try-with-resources block.

Looks good to me


Algolia Search C, C# problem

Describe the bug
Search bug 👌
To Reproduce

Go to 'Search Box'
Type 'C'
Then you will see 2 types  of "C" one of them is Csharp and the other is C

Expected behavior
Csharp should be displayed as CSharp or C#
Screenshots
C

CSharp

C#

Desktop (please complete the following information):

OS, version: Windows 10 Home Single Language 20H2 (OS BUILD 19042.867)
Browser, version: Microsoft Edge Version 89.0.774.68 (Official build)

Waiting for 24 hours to recrawl event happen.

Reference
https://docusaurus.io/docs/search#using-algolia-docsearch

Hi @Lanson2232,
Thanks for informing us about these bugs. Thanks to @algolia, Crawl done its job and the problems you've mentioned are solved!
CSharp

C


Added metric space Carleson variant for two-sided Calderon-Zygmund kernel

The previous chapter 10 is split into two parts.
The first one is a variant of metric space Carleson for a two-sided Calderon-Zygmund kernel and where the assumption on T* is replaced with a weaker one (for an operator without the two suprema).
The second one then uses this new variant to prove classical Carleson.
This changes mainly required to rewrite the previous 10.3 and 10.5 to the general case of doubling metric measure spaces.

Great! Thanks!


[1431] Handle not found errors

Context
Backend API doesn't handle 404s gracefully.
Changes proposed in this pull request
Rescue from ActiveRecord::RecordNotFound and show an empty JSONAPI response with an HTTP status of 404.
Guidance to review

 Handle not found errors with 404 responses


[ST] Incorred USD volume values in looker DB

Describe the bug
Jay our contributor is working on pipelines from Cartographer into BigQuery db but the data is still incorrect
Please help answer his questions below? I can loop you in to help in tg

Q1. How to link asset table to transfer table for decimals? -> currently doing this on canonical_id
A: after doing some deep dive, It look like there is a logic around origin_domain that dictates decimals
use this as ref: 0xd3b48a423a57829f3970b76c4546c9ac67eaa46589f0048eee9e6bf45adab806
The issue in raw data:
{
"transfer_id": "0xd3b48a423a57829f3970b76c4546c9ac67eaa46589f0048eee9e6bf45adab806",
"canonical_id": "0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"origin_transacting_asset": "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
"origin_transacting_amount": "221159783502651317642",
"origin_bridged_asset": "0x5e7d83da751f4c9694b13af351b30ac108f32c38",
"destination_transacting_asset": "220919091",
"destination_transacting_amount": "220867466",
"destination_local_asset": "0xf96c6d2537e1af1a9503852eb2a4af264272a5b6",
"destination_local_amount": "220919091",
"bridged_amt": "220919091",
"normalized_in": "221159783502651317642"
}
for eg: decimals on domain 6450786 which is BNB chain are off by 12 for USDC
Q2.  What is the difference between X_transacting_amount <> X_local_amount, Which one to use? Here X: origin/dest

Q1. How to link asset table to transfer table for decimals? -> currently doing this on canonical_id
You need to use both canonical id and domain.

For Origin Asset decimal: Asset table [canonical_id, domain] -> Transfers [canonical_id, origin_domain]
For Destination Asset decimal : Asset table [canonical_id, domain] -> Transfers [canonical_id, destination_domain]

[canonical_id, canonical_domain] is the unique key for an asset like (USDC, USDT, WETH) on all chains.

Q2. What is the difference between X_transacting_amount <> X_local_amount, Which one to use? Here X: origin/dest
You should use x_transacting_amount for both sides.
Because of the bridging flow for a asset:
origin_transacting_amount -> origin_bridged_amount (via stable swap) ==> destination_local_amount -> destination_transacting_amount
Here origin_bridged_amount is same as destination_local_amount.  And transacting asset to local asset uses local stable swap.

Closing this issue as it has been answered.
@alexwhte We can reopen this if it is still not fully resolved.


Tilemap editor needs to be able to change the tile size

We support three tile sizes (8x8, 16x16, and 32x32) but in the current tile editor there is no way to change it.
We need to add some way to change the tile size for the project and filter the user tiles and gallery tiles to only show tiles of the selected size. We only have 16x16 tiles in the gallery, so we should probably account for that too.

BTW, there is a workaround right now. If you go into JavaScript and manually change the tile size and decompile, you will get a tilemap with the correctly sized tiles.


Minor grammatical updates

Category

[X] Content fix
[ ] New article
Related issues: None

What's in this Pull Request?
Minor grammatical updates

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/spfx/use-aadhttpclient-enterpriseapi.md
:white_check_mark:Succeeded
View

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

thx Chris, appreciated.


compilation errors missing in FF

in Firefox, the shader compilation error messages aren't displayed quite right:

Resurrecting issue, wasn't able to see the error message on Chrome 53 OSX, but updating to current Chrome 54 version, solved the issue.

I was having this same issue in Chrome 54, disabling my adblock resolved it.