Review of JOSS submission

Hi @Wrzlprmft; thanks for your submission to JOSS (https://github.com/openjournals/joss-reviews/issues/6096). As a scipy.stats maintainer and author of Fast Resampling and Monte Carlo Methods in Python, I was very interested.
Here are a few questions and comments from my review (so far).

[x] 1. Can you respond to JOSS's criteria for "substantial scholarly effort", specifically "As a rule of thumb, JOSS’ minimum allowable contribution should represent not less than three months of work for an individual."? It's unclear from the commit history whether that's satisfied, but commit histories don't tell the full story. (I know because I submitted a manuscript to JOSS for which this was questioned. Of course, I wouldn't have submitted if I didn't believe the criterion had been satisfied. But as a reviewer, I need to ask!)
[x] 2. In the claim "The presented module combine_pvalues_discrete implements this approach in a fast, thorough, and tested manner...", I can confirm "fast" and "tested", but what is meant by "thorough" in this case?
[ ] 3. Similarly, can you explain "taking care of pitfalls such as correctly handling complements, sidedness, and empirical p-values"? By "empirical p-values", you mean the discrete distribution of p-values instead of assuming the continuous uniform distribution (the core idea of the package)?
[ ] 4. Toward the end of the paper, you wrote "This approach is considerably faster than a permutation test starting at the level of individual datasets". I can imagine things that this could mean, but I'm not certain of what you meant. Can you expand on the permutation test idea?
[ ] 5. I think I understood most of the last two sentences of the last paragraph, but I don't understand how they related to the first sentence. "Note that this module de-emphasises some typical applications of combining 𝑝 values as it can be rarely applied to them." Can you explain?
[ ] 6. One part of those sentences I didn't understand was "the 𝑝 values to be combined often originate from continuous tests or tests with a discrete but rather dense supports, and one rarely has the luxury to know the null distribution of 𝑝 values". I assume that when you write the test is "continuous" or "discrete", you are ultimately referring to whether the distribution of p-values under the null hypothesis is continuous or discrete. If the p-values originated from "continuous tests", and the tests are valid (e.g. "size" of the test is nominal), isn't the distribution of p-values under the null hypothesis the continuous uniform distribution (by definition)? If the tests are discrete but have "rather dense supports", arent the distributions well-approximated by the continuous uniform distribution? So these are the cases when we do have the luxury of knowing the null distribution of p-values, no? Your package can be applied to these cases, but it is more general because it also handles the case of when the distribution of p-values under the null hypothesis is (very) discrete.
[x] 7. For the "community guidelines" criterion: I see a link to the issue tracker from the main repo page, but I don't see guidelines for contributing or seeking support. I'd suggest making these more prominent so I can check that box.
[ ] 8. For addressing the "state of the field" criterion, it would be ideal (although not required) if you could establish that no popular packages do what this package does. If that's true, I think the best way to demonstrate it would be to name several other (beyond the two already cited) closely related packages or routines and mention that they are all for continuous tests. If it's not true, just explain why this package is also needed (e.g. there is not one in Python, or there is not one that is permissively-licensed, or the existing ones are poorly documented).

Can you respond to JOSS's criteria for "substantial scholarly effort", specifically "As a rule of thumb, JOSS’ minimum allowable contribution should represent not less than three months of work for an individual."? It's unclear from the commit history whether that's satisfied, but commit histories don't tell the full story. (I know because I submitted a manuscript to JOSS for which this was questioned. Of course, I wouldn't have submitted if I didn't believe the criterion had been satisfied. But as a reviewer, I need to ask!)

Your guesses were mostly accurate. In early 2022, I stumbled upon this problem in my own research (which is unfortunately still unpublished and not accessible enough for an application example) and had the luxury of investing roughly a month into this almost full time. This includes explorations of the problem and possible solutions, which are not reflected in the commit history. I then revisited the project twice (after a month and two months ago) for roughly a week to check, revise, and extend it with a fresh eye.
Without tallying my work time on this, there is no denying that I do not comply with the cited rule of thumb. I submitted despite this in confidence that my work complies with the spirit of the rule for the following reason: The reason this module required so little work from me was that the required background knowledge and skills overlapped quite well with my experience, both on statistics and software development. Had I engaged in the same project about seven years ago, I would have easily complied with the rule of thumb by spending considerably more time on literature research, understanding problems, making things efficient, devising tests, fighting bugs, etc. I would expect a similar outcome if I had assigned this to a student as a thesis project or similar. Sampling other works published in JOSS, I considered this module to be en par with many of them.
Now, I cannot expect you to trust my word on this, but I can also hardly substantiate this by means other than the material you are already reviewing. I can just hope that you agree with my self-assessment.

In the claim "The presented module combine_pvalues_discrete implements this approach in a fast, thorough, and tested manner...", I can confirm "fast" and "tested", but what is meant by "thorough" in this case?

The intended meaning is more or less the opposite of what JOSS calls a “half-baked solution”: Edge cases are covered; relevant options and features are available; the things mentioned in the second half of the sentence. I concede that this may be somewhat vague, boastful, and possibly redundant. On the other hand, this summarises aspects that make up a considerable part of work and why users should employ this module instead of a home-made solution. I exemplify this point to some extent in the following, but I feel that a summary may be relevant to readers who are less familiar with the problem at hand.

Similarly, can you explain "taking care of pitfalls such as correctly handling complements, sidedness, and empirical p-values"? By "empirical p-values", you mean the discrete distribution of p-values instead of assuming the continuous uniform distribution (the core idea of the package)?

I am referring to p values obtained by counting, i.e., using a Monte Carlo estimate of the null distribution.
I now write “[handling] $p$ values from a Monte Carlo estimate of the null distribution” and split up the respective sentence, which was very long anyway. I also cite the paper by Phipson and Smyth you referred to on this.

Toward the end of the paper, you wrote "This approach is considerably faster than a permutation test starting at the level of individual datasets". I can imagine things that this could mean, but I'm not certain of what you meant. Can you expand on the permutation test idea?

This is about simulating a null model for each sub-dataset (usually a permutation test) and then combining the results. This is what is done in Checking the result in the documentation and also what I assume you do when you check that “when the null hypothesis of each individual test is true, the distribution of combined p-values […] appears uniform”.
Trying to clarify this, I now write: “This approach is considerably faster than a permutation test starting at the level of sub-datasets, i.e., a Monte Carlo null model of the entire dataset obtained by combining samples from Monte Carlo null models of the sub-datasets.”

I think I understood most of the last two sentences of the last paragraph, but I don't understand how they related to the first sentence. "Note that this module de-emphasises some typical applications of combining 𝑝 values as it can be rarely applied to them." Can you explain?
[…]
One part of those sentences I didn't understand was "the 𝑝 values to be combined often originate from continuous tests or tests with a discrete but rather dense supports, and one rarely has the luxury to know the null distribution of 𝑝 values". I assume that when you write the test is "continuous" or "discrete", you are ultimately referring to whether the distribution of p-values under the null hypothesis is continuous or discrete. If the p-values originated from "continuous tests", and the tests are valid (e.g. "size" of the test is nominal), isn't the distribution of p-values under the null hypothesis the continuous uniform distribution (by definition)? If the tests are discrete but have "rather dense supports", arent the distributions well-approximated by the continuous uniform distribution? So these are the cases when we do have the luxury of knowing the null distribution of p-values, no? Your package can be applied to these cases, but it is more general because it also handles the case of when the distribution of p-values under the null hypothesis is (very) discrete.

I now see how the logic of those sentences was broken or not clear.
The point of the sentences in question is this:
A considerable amount of literature on combining p values focuses on meta analyses and specific methods for those. However, I admit that my module is limited in this respect, simply because I expect that many meta analyses either lack basic information required for benefitting from this module (the null distribution of p values) or do not suffer from the problem solved by this module (discrete null distributions). The sentences in question delineate the module’s scope in this direction and similar ones.
While this module can indeed be applied to continuous tests, I expect that most users performing a meta analysis on such tests will find other software cater better to their needs, either because it has features specific to meta analyses or does not add unneeded complexity.
I now write: “Note that this module de-emphasises some typical applications of combining $p$ values in which we expect known discrete null distributions of $p$ values to rarely occur. For example, when performing meta analyses, the null distributions of $p$ values are either continuous, close to it, or not known. However, as a side product, our module contains weighted versions of popular combining methods that may be of interest to researchers combining continuous tests.”

For the "community guidelines" criterion: I see a link to the issue tracker from the main repo page, but I don't see guidelines for contributing or seeking support. I'd suggest making these more prominent so I can check that box.

I made clear that the issue tracker may also be used for support and offering contributions (as well as straight pull requests).

For addressing the "state of the field" criterion, it would be ideal (although not required) if you could establish that no popular packages do what this package does. If that's true, I think the best way to demonstrate it would be to name several other (beyond the two already cited) closely related packages or routines and mention that they are all for continuous tests. If it's not true, just explain why this package is also needed (e.g. there is not one in Python, or there is not one that is permissively-licensed, or the existing ones are poorly documented).

I have looked into the modules named by you and some others:

PythonMeta apparently doesn’t combine p values at all. However, its documentation is not very expansive.

PyMARE admits itself that it is mostly a service package for NiMARE. It supports Fisher’s and Stouffer’s method. In my understanding it does combine p values by some permutation test, but I see no way to specify the null distribution of p values of a dataset, so I assume these aren’t accounted for.

Statsmodels does not feature methods to combine p values at all. At least, none of the names of popular methods appear in its source (except Fisher of course, but only in different contexts).

The R packages poolr and metap feature methods for combining p values, but their documentation does not specify a way to specify the null distribution of _p_values.

The R packages metafor, meta, rmeta do not feature methods to combine p values. At least I cannot find any promiment method names in the documentation.

There appears to be a basic Matlab implementation of Fisher’s method, which takes an array of  p values as the only argument.

I now cite all Python and R packages that at least feature some method for combining p values. I refrained from citing the others, as they are not even competing in the same arena. I also explicitly mention that I am aware of no software solution to the problem at hand.

I agree that is is substantial and scholarly.
I see what "thorough" means now. I don't think it's boastful because I can easily imagine a half-baked solution, and this is not that. I don't mind leaving it vague, since I can't find one word that would do a better job of summing up the intent. If it is important enough, you could elaborate, but I am not pushing for it.
OK, I think that is an improvement. Computing p-values from Monte Carlo simulation is definitely error-prone, as the paper points out. IIUC, "Complements" explains the potential "complements" pitfall, and the alternative parameter documentation of [combine](https://combine-p-values-discrete.readthedocs.io/en/latest/#combine_pvalues_discrete.combine) explains the "sidedness" pitfall?
"This is about simulating a null model for each sub-dataset (usually a permutation test)"
I think I see the misunderstanding.

IIUC your approach starts with the (discrete) null distributions of p-values of each test.
This is much faster than the simplest approach - (effectively) drawing from the distribution of p-values of each test by drawing random data that is consistent with the null hypothesis of each test, and explicitly performing each test on the random data. This is what you do in "Checking the results" and what I did using scipy.stats.monte_carlo_test below:
from functools import reduce
import numpy as np
from scipy import stats

rng = np.random.default_rng(38345834152534)

data = [# control group  , treatment group
        ( [20,44,14,68]  , [73,22,80]    ), # Breed 1
        ( [60,68,46,45]  , [30]          ), # Breed 2
        ( [92,97,98]     , [84,89]       ), # …
        ( [14]           , [21,45,31,23] ),
        ( [24,58,0,24,33], [65,51,61]    ),
        ( [93,76,70,83]  , [84]          ),
        ( [10,2]         , [28,36,11]    ),
        ( [27]           , [38,58]       ),
        ( [8,13,37]      , [43,51]       ),
        ( [18]           , [12]          ),
]
data = reduce(lambda x, y: x + y, data)  # reshape data

def fisher_statistic(*data, axis=-1):
  pvalues = [stats.mannwhitneyu(data[i], data[i+1], axis=axis, alternative="less").pvalue
             for i in range(0, len(data), 2)]
  return -2*np.sum(np.log(pvalues), axis=0)

res = stats.monte_carlo_test(data, [rng.random]*len(data), fisher_statistic, alternative='greater')
res.pvalue

A modification of this second approach would be to (effectively) draw from the distribution of p-values of each test by randomly "permuting" the test data in the manner consistent with the null hypothesis of each test, and explicitly performing each test on its permuted data.

Maybe it would be more clear to me if you were to leave out the bit about a "permuation test" and emphasize that your Monte Carlo test draws directly from the null distributions of p-values of each test rather than indirectly, by performing the test on data simulated under the test's null hypothesis.

(and 6.) Here's what I'm taking from this: This package does not claim to be the best choice for all meta-analyses. For example, in some meta-analyses, the complete null distributions cannot be generated efficiently, so the approach taken by this package doesn't apply. (Instead, one would need to sample "indirectly" from the null distribution of p-values as described above, by performing the test on data simulated under the test's null hypothesis.) In other meta-analyses, the null distributions of the individual tests are either continuous or nearly so; in such cases, combine_pvalues or similar may be sufficient. Even in those cases, however, this package could be beneficial if the user wanted to add weights.
Is this similar to what you wanted me to get from the paragraph?

Great. I've checked the box.

Nice, I think that addresses this point.

I see what "thorough" means now. I don't think it's boastful because I can easily imagine a half-baked solution, and this is not that. I don't mind leaving it vague, since I can't find one word that would do a better job of summing up the intent. If it is important enough, you could elaborate, but I am not pushing for it.

I was also browsing a thesaurus for a better word. I would consider the following sentences the elaboration, as indicated by the colon following “fast, thorough, and tested manner”. I don’t see another way to elaborate this without being overly wordy or clunky.

OK, I think that is an improvement. Computing p-values from Monte Carlo simulation is definitely error-prone, as the paper points out. IIUC, "Complements" explains the potential "complements" pitfall, and the alternative parameter documentation of [combine](https://combine-p-values-discrete.readthedocs.io/en/latest/#combine_pvalues_discrete.combine) explains the "sidedness" pitfall?

All correctly identified.

"This is about simulating a null model for each sub-dataset (usually a permutation test)"
I think I see the misunderstanding.

IIUC your approach starts with the (discrete) null distributions of p-values of each test.

Correct.

This is much faster than the simplest approach - (effectively) drawing from the distribution of p-values of each test by drawing random data that is consistent with the null hypothesis of each test, and explicitly performing each test on the random data. […] A modification of this second approach would be to (effectively) draw from the distribution of p-values of each test by randomly "permuting" the test data in the manner consistent with the null hypothesis of each test, and explicitly performing each test on its permuted data.

I see your point. As the two approaches are equivalent (for ranked tests without ties), I had them both filed as permutation test. I started with the second approach and then immediately noticed that permuting the actual data just complicates things.

Maybe it would be more clear to me if you were to leave out the bit about a "permuation test" and emphasize that your Monte Carlo test draws directly from the null distributions of p-values of each test rather than indirectly, by performing the test on data simulated under the test's null hypothesis.

I see. I now write: “By storing and sampling the null distribution of $p$ values for each sub-dataset, our approach is considerably faster than using a Monte Carlo null model for the entire dataset by combining samples from Monte Carlo null models of the sub-datasets.”

Here's what I'm taking from this: This package does not claim to be the best choice for all meta-analyses. For example, in some meta-analyses, the complete null distributions cannot be generated efficiently, so the approach taken by this package doesn't apply. (Instead, one would need to sample "indirectly" from the null distribution of p-values as described above, by performing the test on data simulated under the test's null hypothesis.) In other meta-analyses, the null distributions of the individual tests are either continuous or nearly so; in such cases, combine_pvalues or similar may be sufficient. Even in those cases, however, this package could be beneficial if the user wanted to add weights.
Is this similar to what you wanted me to get from the paragraph?

Mostly (if I understand correctly).
A potential source of misunderstanding may be what counts as a meta analysis and whether there are other applications of combining p values. My understanding of the term is that if I perform a meta analysis, I combine the results of existing (usually published) studies, and thus I have limited access to the data, the studies usually already have a large sample size (and thus the null distribution of p values is close to continuous, even if the test is discrete), etc. The dog example would not be a meta analysis in this sense. Since there may be other understandings of the term, I now try to disambiguate by writing “a meta analysis of existing studies” instead of just “meta analyses”.
Moreover, meta analysis goes much further than just combining p values, considering effect sizes, dependencies, publication bias, etc. For instance, in the dog example, one would report the median fold increase to quantify the effect of the drug, and the only question (addressed by this module) would be whether this is a product of chance. In many meta studies, even providing such a summarising quantity is challenging. As mentioned above, there are huge modules dedicated to meta analysis that do not even contain methods for combining p values.
Most of the existing modules for combining p values are aimed at meta analyses (in the sense of the term I use above) and have specific features dedicated to such applications, which in turn are missing from this module. The paragraph also serves to explain this and throttle respective expectations.


AY19/20 SS1 qn 7

Source
AY19/20 SS1

Description
Hi Everyone, I am abit weak in streams, how would you go about coding this out?
Screenshots (if any):
Insert Images here if necessary

Hi, what I did was I first created a stream of integers from 1 to n. I then map each integer to a point which I will then pass as an argument to a circle. The two points of the circle always add up to n + 1. So the rough idea to create a circle would be new Circle (new Point(x, n  + 1 - x)) where x refers to each integer in the stream. I am not sure if this is the correct method but I could only think of this.

I did this which is the same as what @tzk00 did I think
List getCircles(int n) {
return Stream.iterate(1, x -> x <= n, x -> x + 1).map(x -> new Circle(new Point(x, n + 1 - x)))
.collect(Collectors.toList());
}

List getCircles(int n) {
return Stream.iterate(1.0, x -> x + 1)
.limit(n)
.map(x -> new Circle(new Point(x, n + 1 - x)))
.collect(Collectors.toList());
}

List getCircles(int n) {
return  Stream.iterate(1, i-> i < n +1, i -> i + 1).map(x -> new Circle( new Point((double) x,(double) (n+ 1 - x)))).collect(Collectors.toList());
}


Create contribution guide

It would be nice to have a contribution guide (e.g. CONTRIBUTING.md) for those who want to engage on the project but don't know where to start.
The open-source world is already a bit frightening and this would help lower that barrier. 🎉
Reference: GitHub guidelines.

This was closed, but it was never done, was it? 😅


Rate maps at the end of the game

... if the player hasn't already rated it or disabled this dialog.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

... if he hasn't already rated it or disabled this dialog.

duplicate well only if the map was new I suppose because otherwise this might get spammy


Build docs for all previously tagged versions

It would be really useful to view docs for previously released versions. I don't think it's as simple as iterating through all tags and building the docs for each one. I think the react router routes would need to be modified.
I like the url pattern that redux-form and lodash follow. Those docs redirect to a url that includes the current version of their package. I'd like to aim for something like https://reactstrap.github.io/1.0.0/.

I can take a crack at this one

@woahitsraj go for it! Please post ideas/progress here or in the slack group. thanks!

What's the current status of this issue?

help wanted; PR welcome; up-for-grabs

It is really frustrating (and sad) that reactstrap has so many versions, yet it has docs for the latest version only. You cannot easily know and see  how an older version worked and what features were available.

is this repo still open for contribution or deprecating  ?


Mat Datepicker not able to assign 'startAt' in TS

What are you trying to do?
TypeError: Cannot set properties of undefined (setting 'startAt')
<mat-form-field>
  <mat-label>A:</mat-label>
  <input matInput [matDatepicker]="sectionpicker" [(ngModel)]="selectedSection.date"  (dateChange)="save(true)" readonly [ngModelOptions]="{standalone: true}" />
  <mat-datepicker-toggle matSuffix [for]="sectionpicker"></mat-datepicker-toggle>
  <mat-datepicker #sectionpicker ></mat-datepicker>
</mat-form-field>

TypeScript
import { MatDatepicker } from '@angular/material/datepicker';
@ViewChild('sectionpicker') datePicker: MatDatepicker;
this.datePicker.startAt = new Date("10/10/1996");
What troubleshooting steps have you tried?
Tried to assign values and use [startAt] in HTML but there are rendering issue, it takes time to render in multiple datepicker case.
Reproduction
Steps to reproduce:

Install Angular Material
2.Try to use Datepicker 'startAt'

Environment

Angular:
CDK/Material:
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

If I Try to assign the 'startAt ' value by considering the calendar open event, Only the year and month is set, the date is not getting highlighting for some reason.

startAt only determines which page of the calendar will be shown when the overlay is opened, it doesn't control the highlighted date.


[Ubuntu] Add Firefox for 22.04 from PPA source

Description

Add Firefox browser to ubuntu 22.04 from PPA source.
Update browsers test to be able to validate Firefox installation on Ubuntu 22.04
Include Firefox on Ubuntu 22.04 in the Software Report

Related issue:
https://github.com/actions/runner-images-internal/issues/4573
Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu2204

/azp run ubuntu1804,ubuntu2004,ubuntu2204

/azp run ubuntu1804,ubuntu2004,ubuntu2204

/azp run ubuntu2204


AWS_REGION is no longer optional

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
We updated to Traefik  2.10.5 .
Renewal of certificates was not possible anymore automatically.
What did you see instead?
linnaeus_ng-traefik-1       | time="2023-10-25T11:39:42Z" level=error msg="Unable to obtain ACME certificate for domains \"bseai.dryrun.link,malesianbutterflies.dryrun.link\": unable to generate a certificate for the domains [bseai.dryrun.link malesianbutterflies.dryrun.link]: error: one or more domains had a problem:\n[bseai.dryrun.link] [bseai.dryrun.link] acme: error presenting token: route53: failed to determine hosted zone ID: operation error Route 53: ListHostedZonesByName, failed to resolve service endpoint, an AWS region is required, but was not found\n[malesianbutterflies.dryrun.link] [malesianbutterflies.dryrun.link] acme: error presenting token: route53: failed to determine hosted zone ID: operation error Route 53: ListHostedZonesByName, failed to resolve service endpoint, an AWS region is required, but was not found\n" rule="Method(`GET`, `POST`) && Host(`bseai.dryrun.link`,`malesianbutterflies.dryrun.link`) && PathPrefix(`/`)" routerName=bare@docker providerName=route53.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory"

When adding the environment variable AWS_REGION, it worked again.
What version of Traefik are you using?
/etc # traefik version
Version:      2.10.5
Codename:     saintmarcelin
Go version:   go1.21.3
Built:        2023-10-11T13:54:02Z
OS/Arch:      linux/amd64
What is your environment & configuration?
  traefik:
    image: registry.gitlab.com/naturalis/bii/linnaeus/linnaeus_ng/traefik:${IMAGE_VERSION:?}
    restart: always
    command:
      - --global.sendAnonymousUsage=false
      - --providers.docker.exposedByDefault=false
      - --providers.docker.endpoint=tcp://docker-proxy:2375
      - --providers.docker.network=docker-proxy
      - --entrypoints.web.address=:80
      - --entrypoints.web.http.redirections.entryPoint.to=websecure
      - --entrypoints.web.http.redirections.entrypoint.permanent=true
      - --entrypoints.websecure.address=:443
      - --certificatesresolvers.route53.acme.dnschallenge=true
      - --certificatesresolvers.route53.acme.dnschallenge.provider=route53
      - --certificatesresolvers.route53.acme.storage=/letsencrypt/route53.json
    environment:
      AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:?Variable AWS_ACCESS_KEY_ID is empty}
      AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:?Variable AWS_SECRET_ACCESS_KEY is empty}

If applicable, please paste the log output in DEBUG level
No response

AWS_REGION is an internal env var of the SDK.
The region is required but not the env var.
From my memories, the region was already a requirement with SDKv1.
The region can be provided in several ways, I don't know the exhaustivity of these ways, but I know that some files are read to get this information.

Note that providing the AWS_REGION env var (which wasn't necessary before) just got me past that error - the next problem seems to still be AWS authentication related:

Confirmed that rolling back to traefik 2.10.4 unblocked this problem and allowed my credentials to update.  I'd consider this a pretty significant change in behavior, for a .1 bugfix increment.

Can you try to set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY?

Can you try to set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY?

This worked for me.

Can you try to set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY?
We already (always) did that, before and after the issue. So no solution for us.

Dockerfile:
ARG TRAEFIK_VERSION=2.10
FROM traefik:${TRAEFIK_VERSION}
#10233 ENV AWS_REGION="eu-central-1"
# hadolint ignore=DL3017
RUN apk update && apk upgrade --no-cache

docker buildx build -t traefik:testAWSREGION .
---
version: '3.8'

services:
  traefik:
    image: traefik:testAWSREGION
    container_name: "traefik"
    restart: ${CONTAINER_RESTART:-unless-stopped}
    networks:
      - web
      - docker-socket-proxy
    depends_on:
      - whoami
    ports:
      - "${HOST_IP:-<IP_ADDRESS>}:80:80"
      - "${HOST_IP:-<IP_ADDRESS>}:443:443"
      - "<IP_ADDRESS>:${TRAEFIK_API_PORT:-8079}:8080"
    volumes:
      - "./letsencrypt:/letsencrypt"
    command:
      - "--global.sendAnonymousUsage=false"
      - "--log.level=${TRAEFIK_LOG_LEVEL:-ERROR}"
      - "--api=true"
      - "--api.insecure=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.route53.acme.dnschallenge=true"
      - "--certificatesresolvers.route53.acme.dnschallenge.provider=route53"
      - "--certificatesresolvers.route53.acme.storage=/letsencrypt/route53.json"
      - "--providers.docker=true"
      - "--providers.docker.endpoint=tcp://docker-socket-proxy:2375"
      - "--providers.docker.network=docker-socket-proxy"
      - "--providers.docker.exposedbydefault=false"
    env_file:
      - .env

  docker-socket-proxy:
    image: tecnativa/docker-socket-proxy:${DOCKERPROXY_VERSION:-latest}
    container_name: "docker-socket-proxy"
    restart: unless-stopped
    networks:
      - docker-socket-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro,delegated
    environment:
      CONTAINERS: 1

  whoami:
    image: traefik/whoami
    ports:
      - 2001:2001
    networks:
      -  web
    command:
       # It tells whoami to start listening on 2001 instead of 80
       - --port=2001
       - --name=iamfoo
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=web"
      - "traefik.http.services.homepage.loadbalancer.server.port=2001"
      - "traefik.http.routers.homepage.entrypoints=websecure"
      - "traefik.http.routers.homepage.rule=Host(`whoami.dryrun.link`)"
      - "traefik.http.routers.homepage.tls.certresolver=route53"
networks:
  web:
    name: web
    internal: false
  default:
    internal: false
  docker-socket-proxy:
    internal: true

In the .env I provide the credentials for AWS/ROUTE53 domain dryrun.link
I get
root@dev-huub2:/opt/compose/test/compose# docker compose logs -f traefik
traefik  | time="2023-12-04T14:19:14Z" level=info msg="Configuration loaded from flags."
traefik  | time="2023-12-04T14:19:18Z" level=error msg="Unable to obtain ACME certificate for domains \"whoami.dryrun.link\": unable to generate a certificate for the domains [whoami.dryrun.link]: error: one or more domains had a problem:\n[whoami.dryrun.link] [whoami.dryrun.link] acme: error presenting token: route53: failed to determine hosted zone ID: operation error Route 53: ListHostedZonesByName, failed to resolve service endpoint, an AWS region is required, but was not found\n" routerName=homepage@docker rule="Host(`whoami.dryrun.link`)" providerName=route53.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory"

If I uncomment the ENV AWS_REGION="eu-central-1" , I get a certificate.
Thanks in advance for your time

@ldez The problem must have occured with the v2.10.6 release because I got an email containing

Your certificate (or certificates) for the names listed below will expire in 19 days (on 2023-12-27)

(traefik v2.10.6 was released on 2023-11-28)

Thanks for reporting the bug. I have been able to reproduce it locally.
I dig into the issue and there is indeed a regression in lego v4.14.0 with the upgrade to aws-sdk-go-v2.
The prior version aws-sdk-go v1.39.0 didn't forced us to have an AWS_REGION on some services.            Route53 is part of the list
The new version aws-sdk-go-v2 v1.19.0 is more restrictive on the matter and forces an explicit          AWS_REGION to be set.
I opened an issue on Lego to report the regression. I will keep this issue opened until it's addressed on Lego's side.


Manually deploy the controller

Update Docs on how to deploy the controller
Add a LivenessProbe to check that the controller's ping url is working:
This helps to know if the Controller process stops. (I.e. cannot connect to DB)
Update CI
Update cleanup script

Wops. TravisCI failed because I didn't update the invoker image for Kube v1.6.2. If if it is restarted, the CI should pass.


AEM Layout Spacing Considerations

The problem
There is concern about the amount of whitespace in the current Learn layout and that it is making the page longer than it needs to be.
The solution
The AEM team would like to reduce the spacing on some of these elements.

The AEM team is recommending to update the Leadpace’s top level spacing to 48px top-padding and 64px bottom padding with a max-height of 480px.
The AEM team is recommending to update spacing below section headers from 48px to 32px.
The AEM team is recommending to update 2nd-tier spacing from 96px to 64px.

Additional information
Visual reference of spacing updates
ExperienceGuild-Learn Research.pptx (slide 3)
ExperienceGuild-Learn Template User Testing (slide 6)

Per Wonil:  DDS agreed to these suggested design changes.  These changes can simplify the overall spacing.

The Feb 12 AEM meeting covered the Solutions page MVP.  There was not time to cover this FR.  Olivia will be on an Away mission with AEM.  @kirbyevans  Is this request part of the Solution page template?  Can you respond to the question posed by Olivia in the Feb 9 comments above?  This request may need additional conversation in a meeting to talk about the implementation approach in an existing meeting or separate meeting.  I can set up the meeting, if a separate meeting is preferred.

These changes are needed for the Learn template but also apply to what we are doing for Solution. In regards to Olivia's question, I'm not entirely sure what the distinction between layout and template would be.

Item #1 above is included in the Lead space variation work (#4753).  Removing from scope of this issue.
Work needed for items 2 & 3:

Update the design specs
Dev
Visual PR QA
Prod QA
No web site updates needed.

Create a single spacing epic to manage work.

Website doesn't mention spacing guidance yet. The only part that will be out of date are the example images of larger components. Eg. https://www.ibm.com/standards/web/carbon-for-ibm-dotcom/components/content-block-segmented
Should be part of the website sweep in https://app.zenhub.com/workspaces/carbon-for-ibmcom-5d449f3642eb1962336cbe52/issues/carbon-design-system/carbon-for-ibm-dotcom-website/860


CSS / style in header

Would someone be able to provide a sample of using css styling with Swifter? I have not had luck getting it to work...
            html {
                head {
                    style {
                        bgcolor = "#b51f6a;"
                        background = "#b51f6a;"
                        color = "#b51f6a;"
                    }
                }

Or better yet, an example of using in css file as part of the app resources.
Thanks!

I used this:
style {
    inner = """

body {
    color: pink;
    background-color: red;
}

h1 {
   font-family: "MS Comic Sans";
   font-size: 100px;
}

"""
}

You can also move that into a separate String variable to use it in different page contexts.
-ch


Adds subscribe() to PubSubOperations

Replaces references to PubSubTemplate by PubSubOperations. Adds
JavaDoc to PubSubOperations.
Fixes bits of #92

I believe all comments here were addressed. Let me know if I missed anything.


Email verification should not be required to happen on the same device

Some users will pull the verification email up on their phone rather than the computer they downloaded the desktop application on. The app should not require email verification to happen on the same device that it is installed on.
Instead, when on the email verification screen, the app can poll the API server periodically to see if the user has a verified email. It can then advance past this screen regardless of what device verification happens on.

As I think about this more... why do we require the user to enter the token in the app at all? If the user clicks a link in the email, isn't this everything we need? @liamcardenas

@lyoshenka Does internal api's have everything needed when you click on the email link? Or can we implement that feature? I agree with @kauffj, the process of manually adding the verification code is very cumbersome.

No, we'd need to make some changes on internal-apis side to make this work. I'm guessing to make it work really well, we'd need some way to notify the app that signin has occurred (long-polling? websockets? idk)

Polling wouldn't be hard. Websockets would be nice. I'm not sure what future use case there may be to have a websocket with internal apis.


Regexp match refactor

Hello @gkellogg , as promised in https://github.com/ruby-rdf/rdf/pull/382#issuecomment-422744261 , here is a PR to replace all usages of =~ and .match in the rdf code base with .match? (only when last match results are not used). I did not benchmark but it should result in improvements when running over Ruby 2.4 and higher.

Coverage increased (+0.7%) to 92.949% when pulling c75d98e178c665e60fb43d53a3d0906d97d2d0ce on PerfectMemory:regexp-match-refactor into fda748fd15bd53dc3179ddd88435a9749e2f8587 on ruby-rdf:develop.

Thanks for the improvements!


[Feature Request] Interesting interaction with hide_unflagged

In upcoming-media-card when I set hide_unflagged to false the 5 most recent movies are displayed, when I set it to true nothing is displayed. I played so more with it and set the max to 15 then 2 movies showed up.
It looks like when it queries it grabs the first 5 (max) records and then selects the ones without flags.
I would like the behavior to be grab records until it finds the 5 (max) most recent un-flagged.

I agree this behaviour is unexpected.  This component just provides the data and doesn't handle displaying or limiting results.  I would open an issue with the card here: https://github.com/custom-cards/upcoming-media-card/issues

Actually I did open the case over there first, and they said it was on your end
https://github.com/custom-cards/upcoming-media-card/issues/57

Thanks for pointing this out, the issue there provides more context into what the actual issue is.

This was added in the latest release: https://github.com/boralyl/kodi-recently-added/releases/tag/v1.1.0

@boralyl
i know its not your work, but can you perhaps look over the https://github.com/custom-components/sensor.plex_recently_added/issues/53 and add there the option to only show the unwatched?

I don't have plex to test and assist with this.  From the docs I don't see a watched attribute, but it appears there is a viewCount in the response that could indicate it was watched.  It's just a counter from what I can tell so I don't think it will tell you if you've actually watched the entire movie or tv show, only how many times you've played it.

@boralyl
it gives the watched or unwatched flag in the recently added Plex Entitys, what is missing is the Option to sort the results from plex by this.
flag: true
is unwachted
- airdate: '2022-05-17T18:56:22Z'     aired: '2022-02-04'     release: $day, $date $time     flag: true     title: Moonfall     episode: ''     runtime: 130     studio: Centropolis Entertainment     genres: Action, Adventure     rating: ★ 3.7     poster: >-       /local/upcoming-media-card-images/plex/Plex_Recently_Added_Movies/p10335.jpg     fanart: >-       /local/upcoming-media-card-images/plex/Plex_Recently_Added_Movies/f10335.jpg
flag: false
is watched

airdate: '2022-05-13T06:20:10Z'
aired: '2022-04-22'
release: $day, $date $time
flag: false
title: Die Gangster Gang
episode: ''
runtime: 100
studio: DreamWorks Animation
genres: Animation, Adventure
rating: ★ 8.7
poster: >-
/local/upcoming-media-card-images/plex/Plex_Recently_Added_Movies/p10283.jpg
fanart: >-
/local/upcoming-media-card-images/plex/Plex_Recently_Added_Movies/f10283.jpg

@pimp1310 Oh, I see what you mean.  I had only read the title and not the full description.  So the reason this works with kodi is kodi supports requesting watched/unwatched at the api level so it will do the filtering on it's side and return the exact number of results.
It looks like there isn't a way to filter these out in plex.  So if you request 10 results, the filtering happens in the component which means if you have 5 watched and 5 unwatched, the component will end up showing only 5 results.
The component would have to request more than max results since the filtering is done in the component.  It looks like it's already requesting double the max, so you could try just removing the list slicing here: https://github.com/custom-components/sensor.plex_recently_added/blob/master/custom_components/plex_recently_added/sensor.py#L274-L275  e.g.
self.api_json = sorted(self.api_json, key=lambda i: i['addedAt'],
                               reverse=True)

Obviously if your max is 10, and it fetches 20, but all of them are watched and you only want unwatched the card will end up showing 0 results since they are all watched.  I only took a glance at this, so there might be a better way, but it's not quite as easy to do as what I did with the kodi component.

@boralyl
yeah the api doesnt have this function i think.
that is no problem for me, when no unwatched is there than its empty.
BUT perhaps i missunderstand you,
here is my code in the configuration,yaml for the sensor in HA, you see the MAX is definied.
- platform: plex_recently_added     name: Plex Recently Added Movies     token: XXXXXXXXXXXXXXXX     host: <IP_ADDRESS>     port: 32400     section_types:       - movie     max: 30
when i remove the  "[:self.max_items]" then he doesnt shows only the unwatched or missunderstand you?

@boralyl
okay i get it to work with a workaround
https://github.com/custom-components/sensor.plex_recently_added/issues/53


Improve log formatting  on Glitch

Bug Report
Current Behavior

Expected behavior/code
The logs are more clearly formatted, similar to how they look outside of Glitch:

Environment

Probot version(s): 7.2.0
Node/npm version: Node v8.9.4/NPM 5.6.0
OS: some version of linux? x86_64-pc-linux-gnu

Are there any ways we can improve this?

Weird! This is the relevant code for that:
https://github.com/probot/probot/blob/8663f1b8e683233bc35d1852d4712cfef7ffea04/src/apps/setup.ts#L8-L9
I got that env variable from https://glitch.com/help/project/... any ideas?

This PR should take care of the ANSI color codes: https://github.com/probot/probot/pull/708


Add comments

 Suggestion
It would be helpful if this codeforces comment link is added to the bootstrp.py file as a reference as just by looking at the file, it might be hard to understand what it is ment for.
BTW, is it for all (pypy, pypy3, python2, python3) ?

Please see, https://pyrival.readthedocs.io/
The main repo is intended to be Python 3.


Download the request result into a file.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
I would like to download in a JSON file the response of the request.
Describe alternatives you've considered
I considered adding another button on the side of 'COPY' on response, to just download the request in a JSON file.
Additional context
Add any other context or screenshots about the feature request here.

Thats doable. Considering its complexity, we colud ship ship this feature today itself 👍

I would like to do it. Can I?
In fact, I've already done it. Just need some finish.

Yeah sure! I was going to open my PC. You're free to send a PR ♥

Thanks! I used as base the copy function. Preparing the PR!

Here we go @liyasthomas
https://github.com/liyasthomas/postwoman/pull/280


First professor

Closes #131

Coverage increased (+0.22%) to 81.18% when pulling ca409f51cd7d6ab1e25ff9c2f78d0fbb28551ec0 on first-professor into 85b77ea4538fe85e06da567e68a92515af31467b on master.

Coverage increased (+0.22%) to 81.18% when pulling 0845ddfa35505c8fd0f84fc0b17649a51b5125d6 on first-professor into 85b77ea4538fe85e06da567e68a92515af31467b on master.

:+1:


Scroll bar should be hidden till you hover over the area

Bug Description
Scroll bar should be hidden till you hover over the area. Figma
Note: It was originally covered here
Expected Behaviour

Steps to Reproduce

Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

Duplicate of #1698


'status' and 'raiseStatus' (and 'redirect') overlap in functionality

One could raiseStatus 200 "potato" and it would be thrown as an exception, for example.
Also the redirect mechanism could be improved while we're at this. Eg. if you raiseStatus 308 "/foo/bar" you get redirected.
While a breaking change with the current implementation, the new behaviour would align better with users' expectations.

No please don't do this, because "/foo/bar" is not a response body but a location header. It would be very strange to change the semantics of the second argument depending on the value of the status code.
I think the right direction is to get rid of raiseStatus altogether, and encourage users to use either finish or a user-defined exception

one problem with deprecating raiseStatus is that we use it internally when a request body is too large.

IMO calling raiseStatus from scotty should be avoided because it makes harder to customise the response. How about making ScottyException more semantic, providing a default handler in place of statusErrorHandler? For example it could be data ScottyException = RequestTooLarge | MalformedJSON |...

Hm, I cannot visualize this solution at the moment, but I'll be happy to
review a PR if you have something specific in mind! :)
On Mon, 16 Oct 2023 at 04:56, Fumiaki Kinoshita @.***>
wrote:

IMO calling raiseStatus from scotty should be avoided because it makes
harder to customise the response. How about making ScottyException more
semantic, providing a default handler in place of statusErrorHandler? For
example it could be data ScottyException = RequestTooLarge |
MalformedJSON |...
—
Reply to this email directly, view it on GitHub
https://github.com/scotty-web/scotty/issues/338#issuecomment-1763648529,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNBDKGXQK37QWFSJQ33353X7SO6PAVCNFSM6AAAAAA6A32QEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRTGY2DQNJSHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sure. I'll submit a PR in the coming days


assign separate middleware to each method of a resource in laravel

I know that for limit access to a route group via middlewares and assign a role (or permission) to it, I should do that like this:
Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
    ....
});

But I want to assign separate permission to different routes(methods) of a resource controller.
I know that how can so that for whole resource but I can not implement it for each controller method:
Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
        Route::resource('/post', ['middleware' => ['permission:manage-posts'], 'uses' => 'PostController']);

    });

I want to assing this permission to related method :
'post-create' => public function create ()
'post-edit' => public function edit()

and so on.

@ahmadbadpey ,Same request here, any updates?

Closed why?

Question, I would also like to know the answer


Develop DRB Contracts

[x] Finalize modeling of VDF RNG
[ ] create PoF, PoV (Commit-Reveal-Recover) modes

[x] - modify commit function (add target param, modify valid commit condition) (will not develop)
[ ] modify recover function
[ ] upgrade to support on-demand security level

[ ] Split GetL1Fee Contract

Finalize modeling of VDF RNG (ppt)


Additional auth flows, unit tests, and sample app improvements

This PR

Adds missing auth flows to the library (so now the 3 main auth flows are implemented: authorization, hybrid, resource owner credentials)
Adds unit tests for the new API's.
Improves the sample app to demonstrate all the flows.
Updates readme accordingly.

Put this into additional_samples branch for further review.


Build out the 2023 website roadmap

To-Dos

[x] Attend workshop to determine 2023 goals
[x] #47
[x] Create milestones/issues for 2023 based on the roadmap.
[x] Discuss the timing of remaining pull requests for current jobs page revamp with the dev team

Plan is in place for updating job styles for job lists and posts. Will be handled in other tickets.


Feature Request | To Display Current Balance of Each Account on the  Transaction List

To display the current balance of accounts on the transaction list. Including the display of multiple accounts.
http://host/desktop/#/transaction/list?accountIds=XXXXXXXX,YYYYYYY,ZZZZZZZ

Do you mean to display the account balance next to each transaction?

That is "running balance", different and would be great to have. But it should be user configurable where a user can turn off or turn on.
This issue is meant for the total balance of the Account or multiple accounts in the transactions list.
Comparing it to the transactions list page of the categories there is total income and expense for the month.
Thanks.

I'm afraid I don't understand what the feature is. Can you give me an example?

There should be a total/current balance on the of the transaction page for the accounts.
desktop/#/transaction/list?accountIds=XXXXXXXX

Similar to the transaction page of the categories.
desktop/#/transaction/list?dateType=7

Currently you can only see balances in the accounts list page.
This will be useful when trying adding transactions for the account from inside transactions list of the account. You don't have to go back to the accounts list page to see the updated balances after the the transaction.

There should be a total/current balance on the of the transaction page for the accounts. desktop/#/transaction/list?accountIds=XXXXXXXX

Similar to the transaction page of the categories. desktop/#/transaction/list?dateType=7
Currently you can only see balances in the accounts list page. This will be useful when trying adding transactions for the account from inside transactions list of the account. You don't have to go back to the accounts list page to see the updated balances after the the transaction.

ezbookkeeping will display the total income and expense amount when displaying the transaction data for each month. Because the transactions may use different currencies, so actually the total income and expense amount is calculated in the frontend. That is why the total income and total expense amount are not displayed after selecting All on the desktop version now. Considering that the same area should provide the similar content, I don’t think it’s a good idea to display different content when selecting All date and filtering accounts.


Improve getGroups performance

Summary
Fixes #7773

The general refactor of the side nav is covered by https://github.com/rancher/dashboard/issues/5607

Occurred changes and/or fixed issues

getGroups creates the entries used in the side nav (and the explorer resource search modal)
This previously was triggered often and on large / slow systems can run slowly, both impacting UI performance
This PR improves this performance in two ways

Improve performance of allTypes fn

This consumed the majority of time within getGroups
PR reduces execution time by a half
It does this by

calculating entries for a product given all modes requests... rather than one per product per mode
skip calling the costly labelFor fn unless we actually need to

Reduce the amount of times getGroups is called

don't trigger on changes to counts (which changes often). Instead show counts via the component itself

to do this i added a dashboard store count getter which is now used in a couple of places
note - for explorer search stick them in again, as in that context it negatively impacts performance

only trigger of new / removed schemas, instead of any changes to schemas

this is more costly to calc up front, but saves an even more costly getGroups cal

queue up getGroup calls for namespace and namespaceMode changes... instead of executing immediately

on some change of mode the namespace list changes also, this results in x2 execution. i think we might even be able to remove changes on ns mode change... but chickened out in this PR

Fixed a bug where updateNamespaces used the wrong getters... which meant namespace cache was set to an empty object and then set to the correct value (which caused x2 calls to getGroups)

The PR also

Adds lots of comments
Adds unit tests for the new allTypes fn
set named functions for allTypes and getTree so they show up in performance logs
removed a watch on product, which didn't exist. there is a watch on productId

Technical notes summary

Added unit tests for allTypes
Ensured diff between previous and new allTypes output matched. The only diff is the counts stuff which has now been left out

Tested at scale (7.5k schemas, 2k namespaces)

Different global products (user management, fleet, cluster management, harvester manager)
Different explorer products (cis benchmark, kubewarden, legacy)

Product - Mode
Old
New

Explorer - basic
169.247314453125 ms

Explorer - favorite
162.413330078125 ms

Explorer - used
114.866943359375 ms

Explorer - all modes

150.678955078125 ms

Apps - basic
111.8642578125 ms
63.146728515625 ms

CIS - basic
147.37890625 ms
62.5 ms

Legacy - basic
109.410888671875 ms
60.7373046875 ms

Kubewarden - basic
115.473876953125 ms
61.5009765625 ms

TOTAL (getProductsGroups)
1042.572998046875 ms
509.0517578125 ms

Observations

Explorer product requests three modes

BASIC

returns configured types (probably as per product definition)

FAVORITE

user favs

USED

types that have resources. if a resource has no count at all, it won't be in this list

Non-explorer products just request the BASIC mode
allTypes always used with getTree and vice-versa. These might have been split at some point? Used in extension?
labelFor getter performs much worse when passed number instead of random & invalid counts object.
labelFor with a cold cache is expensive (need to cache strings... create and cache regex)
doesn't scale with more products (though impact is now limited

Areas or cases that should be tested

Side nav content for each burger menu item, including a cluster. Check

same menu items as old
counts are correct, given namespace filter
inline products such as CIS benchmark, kubewarden, legacy
favourites
custom nav entries

Side nav updates given

new/removed resources (made via another browser) changes resource count
namespace/project filter changes (made in same browser) changes resource counts

Cluster explorer search resource modal

same items as old
counts show correctly

@codyrancher Can you review this too, please.
I see this as a tactical improvement on what we have... that nav code is clunky and needs a re-think/re-write.

Favorites aren't updated between tabs for both adding and removing.

I couldn't reproduce this in master. Favourites come from  /v1/userpreference which isn't something we can subscribe for changes to, so this makes sense.

Count update is still slow, I'm not positive that it's a regression. The update time varied on the existing version but I perceived the average as being faster.

Tricky one. I had another look. Both old and new come from count resource.change socket messages. Sometimes the time varies for that to be received. In both cases, once received, the update in side nav was quick. This could be system/env specific though (if you've got high cpu on either upstream or downstream cluster). Would you be able to take another look and see if the time from resource.change received and the change in sidenav is laggy?

It looks like the navigation of at least cluster extensions had their labels changed and counts added.

KubeWarden gaining count and changing to plural... i'm kind of ok with this. If one happened without the other, it would be weirder. The pluralised names align with other menu entries and the count aligns with the number of resources ok. @jordojordo would you be able to confirm it's ok your side?
Elemental not having any counts... i'd like to investigate this further. was this a regression? looking at https://github.com/rancher/elemental-ui/blob/main/pkg/elemental/elemental-config.js it looks like they're geniune resources (not virtual or spoofed) but do have customRoutes. wondering if i broke that. having trouble validating at the moment (element-crd chart doesn't seem to exist)
Users & Auth Section... they're all virtual or spoofed and therefor don't have counts

Would you be able to take another look and see if the time from resource.change received and the change in sidenav is laggy?

It does appear to be quick after we get the message.

KubeWarden gaining count and changing to plural... i'm kind of ok with this.

I'm okay with it too. It just seems like it should be notated somewhere since it affects extensions.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


404 at /go/compose-native-build/

I found a broken link : https://docs.docker.com/go/compose-native-build/

The link now redirects to https://docs.docker.com/compose/reference/build/#native-build-using-the-docker-cli. Closing the issue.


React hooks test case part 3 -- useCallback

The tests are almost as same as #2144 , but for useCallback.
And I saw that shallow renderer doesn't memoize the callback between two rendering even the dependencies not change. So the test in https://github.com/chenesan/enzyme/commit/5cc14bacee8846bb5595936b041b66540528eeae#diff-2e9c9c89f001140a7699819fc2f5d926R1252 will fail and I temporarily skip it. Have opened an issue in react (https://github.com/facebook/react/issues/15774) . If it's confirmed as a bug of shallow renderer then I'll try to fix it in react side.

I just sent a PR for this in https://github.com/facebook/react/pull/15843 ; As for bugfix in enzyme side, I'm not sure what the way is -- inherit ReactShallowRenderer class and override _createDispatcher in https://github.com/facebook/react/blob/master/packages/react-test-renderer/src/ReactShallowRenderer.js#L230 ? That sounds like a big change... but seems a way to fix hooks issue in shallow renderer (for example, useEffect won't work in shallow).

We could stub useCallback in the shallow renderer, perhaps?


Add support for gometalinter

This adds support for https://github.com/alecthomas/gometalinter
if available

@buztard
Is this still a thing?
Please update the PR according to the feedback and rebase it.

Closing this for now.
Please re-open or pick it up into a new PR.


[Bug] Exceptions are swallowed in VS when using Nuget package

Exceptions are swallowed in VS when using Nuget package, e.g. missing service to be injected in Blazor page.
Reproduction steps:

Create new project based on template ( Last blog article )
dotnet new -i Microsoft.MobileBlazorBindings.Templates::0.4.74-preview
dotnet new blazorhybrid -o MyHybridApp
In MyHybridApp\App.cs remove line  services.AddSingleton(); to simulate that a service is missing from DI.
Start the MyHybridApp.Windows application in VS

Expected result:
VS breaks code execution and shows or at least logs the exception with StackTrace.
Current result:
No exception is logged, not visible indication of Error and the Blazor part of the app does not start (remains white).
Notes:
When I try the same change in the sample included in cloned repo, I get exception in NativeComponentRenderer. Not sure if they get swallowed or not.
This makes is very hard to try out exising Blazor projects with MobileBindings. Since there are some services still missing like https://github.com/xamarin/MobileBlazorBindings/issues/150

Hi @mgrman thank you for the report, we'll have a look and try to figure out what's going on here. A mis-configured app should probably end with some fatal exception instead of hiding it.

OK I have a new near-term strategy for handling fatal errors in Mobile Blazor Bindings apps:
All fatal errors (that is, something that would end up killing the app) will show the Mobile Blazor Bindings full-screen error page. This includes these types of exceptions:

Exceptions while creating a component (such as the app's main UI). This includes the type of exception originally reported in this bug where a required service was not available from DI so the component couldn't be created.
Exceptions during rendering/running native UI.
Exceptions during rendering/running web UI (such as in a hybrid app).

I say near-term because right now this exception page will be shown even in a production app, which is clearly something no one would want. But this is an experimental project so I figure it's better to have the errors in-your-face instead of crashing the app. Also, I don't know the best way to "crash" the app in a traditional way, so there's that.
I think eventually maybe this will become a service that will be in the host's DI container and can be different in debug/release mode.


Improve ToolbarButtonStyle

Describe the changes you have made to improve this project
Changed ToolbarButton- Style and added separate Style for ToolbarToggleButton
Unit test
None
Additional context
It should look as in previous MahApps versions with just more options for styling
Closed Issues
#3741

@timunie your changes have been merged, thanks for your contribution 👍


[cinder-csi-plugin] nit: rename SnapshotReadyStatus to snapshotReadyStatus

What this PR does / why we need it:
align with other definitions in the code
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/lgtm
/approve


GH-37938:[Swift] initial impl of C Data interface

This add an initial implementation of the C Data interface for swift. During development it was found that null count was not being properly maintained on the arrow buffers and this change is included as well.  Also some minor refactoring was done to existing sources to enable this feature.
This has been tested from Swift calling into C to import data but not from Swift to C exporting data.  Test is currently ongoing.

Closes: #37938

This is a nice start. At some point, the Swift implementation will have to participate in integration testing, but in the meantime you could exercise this by testing against PyArrow. Two approaches are possible:

write tests in Swift and call into PyArrow from them; this is what C# does
write tests in Python and call into Swift from them (for example by exposing C entrypoints in a DLL); this is what Go does

Added local integration/sanity testing for the c data interface between go and swift.

@pitrou I have made the requested changes.  Please review again when you get a chance.

FTR, it's ok to test with Go Arrow, but it might be easier with PyArrow using for example PythonKit.

Also, your unit tests should ideally ensure that memory lifetime is properly handled. There are certainly ways to do that.

@pitrou I believe the requested changes have been completed.  Please review again when you get a chance.

FTR, it's ok to test with Go Arrow, but it might be easier with PyArrow using for example PythonKit.

I will look to move the testing to PyArrow in a future PR.

@pitrou I believe the requested changes have been completed. Please review again when you get a chance.

It has been a month since I have received any feedback.  Is there anyone who can continue this review (@pitrou, @kou)?

It's not obvious to me, are the Go + C Data tests executed on this build?
https://github.com/apache/arrow/actions/runs/8308445442/job/22738683263?pr=39091#step:4:2446

Thanks for the comments and the time.  Closing PR.


[api] change type representation to string format instead of nested object

#9193 we render Move type as JSON object with nested type objects when there is generic type parameters. For example:
{
   "type": "struct",
   "address": "0x1",
   "module": "DiemAccount",
   "name": "Balance",
   "generic_type_params": [
       { "type": "struct", "address": "0x1", "module": "XDX", "name": "XDX" }
   ]
 }

We started with this representation because it is easier to be deserialized into StructTag type when a client send a request with type field (e.g. ScriptFunctionPayload generic type parameters).
This PR changes the move type representation to string format, for example, above struct definition can be rendered as:
"0x1::DiemAccount::Balance<0x1::XDX::XDX>"

This is much more cleaner and readable format comparing with above JSON object.
I found we have a parser can parse Move type string format into TypeTag (which includes StructTag type) recently,
so parsing the string format is not a problem anymore.
For client language that is not Rust, they may need to build a parser to fully parse out this string, but in general I don't think it is must have.
Client can simply use string split or regex to parse out address, module name and struct name (with generic types), and it is very rare to define a type that has complex generic types (e.g. nested generic types).
Another API in plan is we are going to provide JSON schema API for a Move type, it's likely good enough for a client want to interpreter the Move type without building a parser.

/land


[Localization] View -> Toggle Render Whitespace is not being translated

VSCode Version: 0.10.12-alpha --locale=fr (or any locale)
OS Version: Windows 10

"Toggle Render Whitespace" under the View menu is not being localized in any language even though it is bracketed in --locale=pseudo.

I have it under nls localize here
I guess we do not have newer translations - moving to @dbaeumer

We haven't received translation yet for that string. Closing.


Move getOcClient and checkError to pkg/odo/util.

What is the purpose of this change? What does it change?
Incremental change to make it easier to keep work done for #871 in sync with master by moving some utility functions to pkg/odo/util where they should be according to oc conventions.
Was the change discussed in an issue?
Mentioned in #871.
How to test changes?
make test

Superseded by #893


For Linux only?

Hi and applause for your current up & running project!
I'm also very performance minded and would like to see it running on BSD Systems (especially FreeBSD).
Unfortunately I'm not much into C/C++ and the whole "build process" in general. But for what I have seen in the makefiles, it should not be hard to make it work under BSD Systems.
So are you currently aware of any "Linux specific" stuff that would make it hard to port to a BSD System (like kevent on BSD vs epoll on Linux (not sure if a comparison is correct here ... just read that event handling is different on the systems))? Or is your licensing forbidding porting to BSD?

Hi Chris. Thanks for stopping by. I am not against porting to another platform at all. BSD should be possible. Personally I don't have any experience with BSD but happy for someone to take a look at what would be needed for a port if anyone out there who is willing to help.
One of the main goals for this project is that it should be easy to learn/understand for someone with some JS and a little c/c++ experience. One of the obstacles I find with a lot of cross platform projects is you end with with a really complex and messy codebase that is diificult for new folks to comprehend. And you also end up with leaky, complex abstractions that try to smooth out the differences between the different platforms. I am all ears for any suggestions on how we could start porting to other platform and keep the codebase clean and simple.
One obstacle to BSD as it stands is that I am currently exposing all the epoll primitives: https://github.com/just-js/just/blob/main/just.cc#L1768. There is an abstraction around this in JS-land but it is still using epoll specific constants etc. I really want to keep the c/c++ codebase as small and clean as possible so will have to think on how to reconcile these two things.

One thing I like about it as it currently stands is all you really need to look at to understand the whole platform is one file: https://github.com/just-js/just/blob/main/just.cc. 3000 lines of pretty simple c/c++. A lot of it is boilerplate (but I don't like macros much so happy to leave it in place). I would hope anyone with a basic understanding of c/c++ and a little linux systems knowledge would be able to understand everything going on there in a few days. and, yes, i need to add comments/docs! =)
I have spent too many hours with node.js codebase trying to hunt down weird issues and there are so many layers of abstraction that it becomes a thing only experts can do. Not meaning to be critical of node.js. It has to support a huge array of platforms and use cases. I don't see Just(js) trying to do the same thing.

Hi and thanks for your feedback!
Your current source is in fact very readable and understandable! Having a closer look at your Postgress sources, I'm also thinking about writing a MariaDB module (might be a general MySQL module, not sure which details differ). This might then become my first C Project ... this can't be to difficult (I have no clue what I'm running into here ;-))
I also agree with your approach to keep abstractions layers out. BUT it might be a good idea to abstract the OS specific event system. I just read that libuv (is this needed by V8 anyways?) is/has a general OS specific abstraction.
"Part of Node's runtime is based on libuv, which is a cross platform asynchronous I/O library."
source: https://cfsamson.github.io/book-exploring-async-basics/6_epoll_kqueue_iocp.html
This might even reduce your source code because you might not write your own epoll primitives exposings (don't know what exactly is possible within the C/C++ realm).
So what do you think about the Libuv integration? Does it make sense?

Hi again,
just one more try ... the wrapper from here: (https://reviews.freebsd.org/rS283441) => head/sys/compat/linux/linux_event.c
Seems to be reasonable small ... you know, I would like to leave the Linux Compatibility Layer out of my BSD Installs (-:
But I will try to install Just-Js on BSD including the LinuxCompat Layer. Other issues might arise.

ok chris. i will have a look myself. let me know how you get on. we can also set something up to build/run using docker. i have published a package here but need to update it.

actually it's not going to work for you i think. the v8 lib that is being used is built using docker on debian so would have to figure out a way to build a bsd version of v8 lib also.

@ChrisGitIt i was doing a little experimenting tonight and i discovered VSCode Remote Containers. If you are on a Mac and have VSCode and docker you can install this extension and run everything inside docker. I think this might be best approach for now if you want to get building things.
I put some instructions on the wiki here. If you try it, let me know if it works for you.

Hi again,
just a quick question: Have you thought about any kind of uptime monitoring software? Do you think this should be a "base" thing  for production (so included in Just-Js and maybe integrated into systemD (or something alike)) or do you think that minor changes to, for example pm2, would be sufficient to fullflill the basic need for uptime handling?

@billywhizz Hey! Thanks for putting the docker instructions together @billywhizz. It all seemed to work fine up until building the modules. Following exact instructions, the last build.sh step is giving some errors. I've published the output from vscode container build.sh here:
https://gist.github.com/rw3iss/fabd91a8cf9834a2dce3838867fe038a
For example:
ffi.cc:3:8: error: ‘ffi_type’ does not name a type; did you mean ‘isfdtype’?
pg.h:5:10: fatal error: libpq-fe.h: No such file or directory
rocksdb.h:5:10: fatal error: rocksdb/c.h: No such file or directory
Tried it all twice. Not sure how to fix this. Am mostly building out of curiosity about the basics of the codebase, with not too much familiarity with lower level c libraries and the underlying JS engine internals.

hi @ChrisGitIt. the idea at the moment is to keep everything in the core runtime (i.e. this repo: https://github.com/just-js/just) small and simple. i.e. just wrappers around system calls and some namespacing and helpers. core will expose as much of the low level primitives as possible and more elegant and complex structures can be built around this in userland.
i also see the modules repository as a home for "blessed" modules which would form a broader "standard library" of modules for commonly needed pieces of functionality. these would be vetted and would have to be verified (i.e. have tests, be well maintained, be generally useful etc.) in order to be accepted into the official modules repo.
beyond that, i would see most of the modules being contributed by the community at large (assuming there ever is one - ha!) and  would like to keep the set of official modules and functionality small.
i was involved in node.js in a very small way in the very early days and followed all the discussions in google groups etc. and i was of the opinion at the time that they were putting too much in the core. in many ways i was wrong as having a lot of functionality out of the box has been one of the keys to node.js' broad adoption and amazing success. i don't see this project as being a competitor for node.js in that sense. for me, it would be more of an option for folks who see the benefits of javascript on the server side but want low level access and capability of doing high performace, system level software in JS. also, i favour a small codebase with minimal abstraction and a focus on performance, robustness and security (mostly from being simple and easy to understand for contributors).
does that make sense? i'll see if i can write a bit more coherently about it over next few weeks.
re. process monitoring. it should be reasonably easy to put together a simple example of spawning a child process (or thread) and monitoring it in various ways, recycling it when it dies etc. i'll see if i can put something up in the examples repo over the weekend.

@billywhizz Hey! Thanks for putting the docker instructions together. It all seemed to work fine up until building the modules. Following exact instructions, the last build.sh step is giving some errors. I've published the output from vscode container build.sh here:
https://gist.github.com/rw3iss/fabd91a8cf9834a2dce3838867fe038a
For example:
ffi.cc:3:8: error: ‘ffi_type’ does not name a type; did you mean ‘isfdtype’?
pg.h:5:10: fatal error: libpq-fe.h: No such file or directory
rocksdb.h:5:10: fatal error: rocksdb/c.h: No such file or directory
Tried it all twice. Not sure how to fix these. Am mostly building out of curiosity about the basics of the codebase, with not too much familiarity with lower level c libraries and the underlying JS engine internals.

hi @rw3iss. yes, sorry about that. the interest in the project from you guys has taken me a little by surprise. a number of those modules were broken. i have now fixed most of them. the pg one is still not building correctly but the others should work now. if you have a chance to try again let me know. you will need to do a "make cleanall" in the just repo you checked out do a pull from master again. i have updated the vscode container configs to add some dependencies that were missing for building the modules.
if you have a chance to try again let me know how you get on.

@rw3iss that change has just been pushed now. sorry. am doing 20 different things at once here.

@billywhizz No worries! Thanks... that update seems to have worked. build.sh took almost an hour on my machine (2015 Macbook Pro 3.1Ghz). Anyway, now I just need to figure out how to run it. ./just works, but can't reach http://localhost:3000. Maybe you haven't set that up, or I need to make the endpoints myself, or maybe it's not in any state to do that yet, but a 'Run' section in the readme might be nice, if you have time. I will read through the code and make see what I can figure out :-)

i'll add some docks. the reason the build took so long is mostly rocksdb library. it takes an age to build. also openssl. these are all optional modules that are not required. if you have the thing running in VSCode container than you just need to run
make runtime install

to build the runtime (a binary called "just") and install it to /usr/local/bin inside the docker container. you should be able to run a bunch of the examples then. i'll see if i can put some docs/walkthroughs together over the weekend.

Cool, thank you! It was definitely the rocksdb and openssl that took longest. I thought it was hanging ;-p
I didn't realize there was an examples repo, just found it, thanks, I will play around :-)
Looking forward to hearing more. Have a great weekend!

Re. Libuv. Yes, node.js is based on top of this but there is no dependency on it in v8. I have spent a lot of time with the libuv codebase in the past and it is is a big and complex codebase handling a huge amount of edge cases related to how different platforms deal with things. This is the exact thing I am hoping to avoid here. I want something small, focused and easy for newcomers/bug-hunters to hack on/understand.

libuv is 1 of the main reasons nodejs is slow. Wouldn't use it. Even just replacing it with a different library and optimizing it properly shows enormous gains for nodejs.

Re. Libuv. Yes, node.js is based on top of this but there is no dependency on it in v8. I have spent a lot of time with the libuv codebase in the past and it is is a big and complex codebase handling a huge amount of edge cases related to how different platforms deal with things. This is the exact thing I am hoping to avoid here. I want something small, focused and easy for newcomers/bug-hunters to hack on/understand.

libuv is 1 of the main reasons nodejs is slow. Wouldn't use it. Even just replacing it with a different library and optimizing it properly shows enormous gains for nodejs.

Hi Harry (i think?). I think you being a little harsh there but It is big and complex and whenever i had to investigate issues trying to wade through the codebase in combination with the layers of abstraction in both JS and C++ in the node.js codebase was very painful.
i have been following alex hultman for a while. he has done some very interesting work and has been highly critical of node.js internals for a long time. again, i think he is a little harsh but he makes a lot of valid criticisms.
again, this project is only in early stages of development and is not seen as a rival for node.js. node.js has become a general purpose platform, similar to PHP in many ways. it does many things well, but if you want to get close to the metal, it makes it difficult imho.

and yes, i have no reason to use any higher level async or networking libraries. the goal for this project is to be a very small interface to linux syscalls/v8 internals right now. abstractions can be built on top of that in userland if there is enough interest in it. the core won't ever be much bigger than it currently is the way i see it at the moment.

having said that. uSocket might be something we could use but would prefer to keep dependencies as small as possible for now.

If any of you folks are interested, i put a brief walkthrough of how to get up and running in VSCode using VSCode Remote Containers here. This should in theory work on Mac/Windows as well as Linux. I have tried it locally and works fine on Ubuntu 18.04.

having said that. uSocket might be something we could use but would prefer to keep dependencies as small as possible for now. one of the goals is that it can help a less experienced dev learn linux/posix systems programming. it should be easy for someone with a little c/c++, js and systems experience to pick the codebase up quickly and be able to hack on it or create modules/libraries for it.

There's no http2 support, if that's a thing (in uSocket).

Hey @billywhizz
I've been wanting to try to write a simple user application on top of Just, to benchmark it on my local machine (in comparison with other benchmarks I've done here), but I'd like to run it outside of Docker for a fair comparison. This would also be nice for general development. I know this isn't such a concern for you, but do you know if it is possible to compile Just on the Mac OS, with trivial modifications? If not I will continue to use the Docker setup as is, but I also don't mind helping to get it running on Mac standalone, if you think it might not be that difficult.

hi @rw3iss. that command is just bundling up the source files into a library so they can be loaded from memory at runtime
see here and here. we just use the symbol offsets to read the contents of the files out of memory. there are various ways we could do the same thing, likely more portable than this.
i think it is going to be quite a bit of work to port to mac and will involve a lot of difficult decisions/discussions. i would prefer to put that up on now and focus on a robust implementation in linux first but happy to help in any way i can if you are keen to look at it.
i will have to see if i can get a cross compile setup here so i can do some testing myself. you can have a look at the uSocket source for some pointers. it runs on mac/BSD and linux. https://github.com/uNetworking/uSockets/tree/master/src

you can also see in the builder script i am bundling in all the sources so they can be extracted at runtime for building/bundling static binaries. still a work in progress. i set up a gitter here also. i'll keep an eye on it too. https://gitter.im/just-js/community

@rw3iss you can see i used to do this a different way previously. this is pretty much how node.js does the embedding of the runtime js files too. https://github.com/just-js/just/commit/14c093bdc0672a7a9c0662a3d2ff7fd3bf389429#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R8.
it should be pretty easy to get something similar on mac.

Thanks @billywhizz, I will take a look around and let you know if I have any questions, but no worries on shifting focus at all, for sure keep it lean on linux 👍

Well I setup the Just server on my remote server, and was able to benchmark it there. These are the numbers in comparison to Rust (release mode) and Go, looking very nice (no, it isn't the fastest server in the world :p):
RUST remote/live server:
ab -k -l -c 50 -n 10000 http://<IP_ADDRESS>:8081/
Requests per second:    351.73 [#/sec] (mean)
w/ c=250: Requests per second:    1582.45 [#/sec] (mean)
GO remote/live server:
ab -k -l -c 50 -n 10000 http://<IP_ADDRESS>:8081/
Requests per second:    349.72 [#/sec] (mean)
w/ c=250: Requests per second:    1567.35 [#/sec] (mean)
JustJS remote/live server:
ab -k -l -c 50 -n 10000 http://<IP_ADDRESS>:8888/
Requests per second:    346.26 [#/sec] (mean)
w/ c=250: Requests per second:    1588.87 [#/sec] (mean)
Nice!

closing this for now


TextBuffer.on is deprecated.

Use TextBuffer::onWillSave instead. A TextBuffer instance is no longer provided as a callback argument.
TextBuffer.on (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1179:16)
Object.subscribeWith (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/emissary/lib/subscriber.js:28:32)
Object.subscribe (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/emissary/lib/subscriber.js:63:21)
<unknown> (/Users/damianprus/.atom/packages/atom-beautify/lib/beautify.coffee:297:18)

Duplicate of #289

Published to v0.26.5


AsymmetricMatchersContaining recursively references itself as a base type

Does anyone know why this would suddenly be cropping up as an issue when running the typecheck command?

Same here, haven't found a fix but commented out this line for now.

I'm getting this on an update to testing-library packages, I suspect @testing-library/jest-dom.
I haven't had the need to merge the update yet so holding out for a fix 😁.


Dockerized !

Hi,
It's not an issue, just to say that I'm using a docker container I've made and finally gave it to the community:
https://hub.docker.com/r/metal3d/go-fresh/
You may try, it works like a charm at home. It's nice to work with other containers as linked mongo database by docker-compose. I'm using "Glide" to get "vendor" directory in my project, no need to install them in the container now.

@metal3d Thanks! If you would like to add this to the README you can create a PR to do so.

I should update my docker image before. But right, I'll do it :)
BTW: big thanls for your work


Implement Dark Mode Feature

As a user, I would like to have the option to switch between light and dark modes on the website for improved readability and reduced eye strain, especially during low-light conditions. Implementing a dark mode feature would enhance the user experience and provide greater flexibility in customising the visual appearance of the website.
@Priyaaa1 could you assign me this issue under GSSoC'24.

could you please assign me this issue?

please assign this task to me

please assign this task to me

I would like to work on this issue , please assign this to me.
@Priyaaa1


Integrated payment gateway in premium page

Issue Number
fixes #
ISSUE #359
Describe the changes you've made
Integrated  Razorpay payment gateway in the premium page
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Additional context (OPTIONAL)
Add any other context or screenshots about the feature request here.
Test plan (OPTIONAL)
A good test plan should give instructions that someone else can easily follow.
How someone can test your code?
Checklist

[ ] I have added my name in the contributors list at the end of README.md file.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.
[x] Open Source Program names(OPTIONAL: If you participated in any open-source program then please mention the program name here)

These payments are not real naa?

no they are in test mode

no they are in test mode

Yaa, I clicked on pay with QR and a message popped your payment was received, then I received an email for payment confirmation. I was shocked that my 500 Rs are gone, I was relieved when I checked it on Razorpay and my account balance.
Haha.....
Good work @kshitija-2001.

Haha, thanks a lot!


tensorflow vgg 16 can't inference after convert to xmodel

Hi,
Here is my quantize.model and xmodel
quantize model and xmodel
my environment:

vitis-ai 1.4 cpu
convert model in tensorflow1 container

I had use keras to get vgg 16 pre-trained model and set model like following.

And I had convert the vgg 16 model to xmodel successfully. But when I starting inference with xmodel, I get error message. The message seems like that model get error output layer.

I have several question. Does anyone can help me?

I have use netron to compare the xmodel from vitis-ai model zoo and the xmodel that I convert form tensorflow. It looks very different.
The error message shows that correct output must be [1, 2], but get output [1, 2048].

open your .xmodel, you can see:

there is a cpu-subgraph in the model, the [1, 2048] is the output of the "download" node point to the cpu subgraph.  the output of the 2nd Dpu-subgraph is [1,2],  which is what you really need.
The key problem is : the model is divided by 1 cpu-subgrpah, this is because there's op that dpu doesn't support.
from the structure, it's mainly because of the "add" & "mul" op.

The "add" & "mul" op is "Batchnormalization layer" convert to ".pb" get it. Then, I will remove the "Batchnormalization layer" and training, and convert it to ".pb" & ".xmodel" can run it in KV260. This might not be the best solution, but this works for me.


Missing system fonts cause png's to be missing text

Resvg generates a fontdb at runtime. It searches for a font to satisify any styles in the svg. It if can find it one it falls back to it's default font family, if it finds neither then no text is rendered.
This is evident on Google Colab.
The default sans-serif font is Arial.

We can fix this by shipping the wheel with a backup font(s). Ideally something similar to Arial with an appropriately permission license.


Bars dont respect y axis scaling

What happened?
I was building bar plot with altair. When I add range to y axis, bars dont use provided range. Below is gif with the issue:

The code to reproduce the issue:
import pandas as pd
# read data from csv file
df = pd.read_csv(r"/home/piotr/sandbox/studios/math_4th_grade_2023.csv")
# display data shape
print(df.shape)
# display first rows
df.head()

top_25_countries = df.nlargest(25, '2023_score')

import altair as alt

# Base bar chart with y-axis range specified
bar_chart = alt.Chart(top_25_countries).mark_bar(color='steelblue').encode(
    x=alt.X('Country', sort='-y'),
    y=alt.Y('2023_score', scale=alt.Scale(domain=[500, 650]))
).properties(
    width=1200
)

# Text for the 'Change' value
text = bar_chart.mark_text(
    align='center',
    baseline='middle',
    dy=150,  # Adjust vertical position
    fontSize=24
).encode(
    text='Change',
    color=alt.condition(
        alt.datum.Change > 0,
        alt.value('lightgreen'),
        alt.value('pink')
    ),
)

# Add flags on top of bars
flags = alt.Chart(top_25_countries).mark_image(
    width=30,
    height=20,
).encode(
    x=alt.X('Country', sort='-y'),
    y=alt.Y('2023_score', scale=alt.Scale(domain=[500, 650])), # Consistent y-axis range
    url='flag_url'
)

# Combine bar chart, text, and flags
chart_with_flags = bar_chart + text + flags

chart_with_flags

The code was constructed with ChatGPT and Python notebook in MLJAR Studio editor. BTW, ChatGPT model 4o is very good in providing altair code :) and it is really my favorite library for visualizations, thank you! 🥇
What would you like to happen instead?
I would like to have shorter bars that are in the range.
Which version of Altair are you using?
5.5.0

I just want to add that without y axis range I got good plot:

Thank you @joelostblom! It is working perfectly 👍


Add TransactionFactory, Transaction test cases

Supplement the missing unit test cases for TransactionFactory, Transaction.

coverage: 87.31% (+0.1%) from 87.18%
when pulling e607571702344713128bd3e1582d230821c84bf2 on mawen12:feature-transaction-test
into 2a5fad6507d1443262704599e1ee3b577e8a2db3 on mybatis:master.

Hi, thanks your advice, I have rename base test class.

TransactionTest -> BaseTransactionTest
TransactionFactoryTest -> BaseTransactionFactoryTest

I think you may have misunderstood me.  The class 'BaseTransactionTest', I don't want to see 'Test' in the class name.  That is what surefire uses to tell it to scan for tests.  There are no tests in that class.  Its an interface you are using for your other tests to inherit.  Thus it is a base class, so what I meant was try something like 'TransactionBase' instead of 'TransactionTest'.  Same with the other base class.  Does that make sense?  Basic reason is that there is no reason for surefire to scan those 2 interfaces / abstract classes as nothing in there to process.  Its the real tests that are tested plus naming this way makes it clear.  Otherwise I'd think there were tests in there.

Sorry, i will change the class name as you expcted.
I just have found my other commits exists same problems. Like SqlNodeTest and ObjectWrapperBaseTest.

@hazendaz Hi, I have changed the test class name. If you find more issues, i will fix it. Thanks.

Will be a few days but will get to this.

merge conflicts need to be resolved before this can progress.

merge conflicts need to be resolved before this can progress.

Hi, I have resolved merge conflicts.

@mawen12 coverage provided by this is likely none.  While it shows +0.1% that is within normal bounds for it changing just depending on the build.  Going to merge it otherwise.  There are some formatting issues so those will get applied after.  Next time around, do make sure to run mvn clean install before submitting to ensure all the plugins run.


Get info and limits in isTokenAllowed

Change isTokenAllowed script to also bring information and Limits of the token

Coverage remained the same at 96.48% when pulling 0aef6ebebcd132ad9f9fc96e3a919e03d103fc52 on TBRE-517-tryCall into 36b64ab2e4d00044984a2883b9946bf3f8258ffb on master.


Error: invalid device function

My devices:
GeForce GTX 765M
Ubuntu 1404
Installing is good, and when I run the test:
./ICP ~/rgbd_dataset_freiburg1_desk/ -v
GeForce GTX 765M
Searching for the best thread/block configuration for your GPU...
Best: 224 threads, 96 blocks (3.40282e+38ms)Error: invalid device function
/home/wine/ICPCUDA-master/src/Cuda/pyrdown.cu:90

this error is from:
pyrdown.cu:90:
cudaSafeCall( cudaGetLastError() );
when I cmake it, I got:
-- CUDA NVCC target flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wine/ICPCUDA-master/build

This CUDA arch works well with my ElasticFusion, I don't know how to deal
with this error.

The 765M is 3.0 https://en.wikipedia.org/wiki/CUDA

@mp3guy Thanks for reply, but even I set  CUDA_ARCH_BIN to 30 or 3.0,
the nvcc target flags is still
-- CUDA NVCC target flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52
and I got the same error, maybe I need to set somewhere else ?

Do it via ccmake or cmake-gui, it's not being picked up by cmake and pushed into the makefile.

@mp3guy Cool! it works now ! Thank you very much !


Update README.md

Summary of Changes
This PR adds a section to the README to point to the umbrella repo.
Tests
N/A
Documentation
Covered in summary.
CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.
[x] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[x] PR passes make test
[x] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

Codecov Report

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

@@           Coverage Diff           @@
##           master      #68   +/-   ##
=======================================
  Coverage   74.11%   74.11%
=======================================
  Files          19       19
  Lines         989      989
  Branches       84       84
=======================================
  Hits          733      733
  Misses        234      234
  Partials       22       22

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 ea3cb8d...57e74a1. Read the comment docs.