Ability to extend or shape the graphql queries generated by codegen without writing completely new queries/mutations

Is your feature request related to a problem? Please describe.
Codgen is great for getting started, but there's often cases where we need to customize the queries and create new custom queries. Cases where certain fields would be too expensive to resolve, or more nesting depth is required, or including optional variables in nested fields (codegen I believe defaults to only retrieving required variables for nested objects). If there are field resolvers that are slow, or highly relational data, then the default queries codegen generates could degrade performance unnecessarily. One can argue Apollo has a great caching layer so what's wrong with asking for as much info as possible in a query since it's a one time hit but I think you can still run into cases like mutations where the query that is run after a mutation could be more than what you want.
As background, this came out from this discussion here: https://github.com/aws-amplify/amplify-cli/issues/745
Describe the solution you'd like
The current solution is to write your own custom queries, disregarding what codgen produces from the GraphQL schema. I think a better solution at minimum is for the codgen code to use fragments when generating queries (see https://www.apollographql.com/docs/react/advanced/fragments.html). And maybe then during runtime, in different parts of the code if a query needs to be customized, we can just pass in a different fragment instead completely writing the new query.
Another possible solution is some kind of dynamic query generator that works off of a base query codegen generates but then you pass it fields to include or omit (kind of like lodash's pick or omit functionality (https://lodash.com/docs/4.17.11#omit)) and it gives you the customized query back as requested.
Describe alternatives you've considered
The current solution is to write your own custom queries and include them in the dir that codgen scans to generate types and APIs. This works fine but these custom queries have to then be manually updated when the GraphQL schema changes. Also you can run into cases where codgen generates multiple variations of types that all refer to the same object but the compiler or transpiler doesn't recognize them as so and so then you have to re-cast to unknown and then back to the type you want.
Additional context
I am new to graphql and still learning. Above are my suggestions based on what I know and ran into developing a graphql client but the community may have an already established way to to do this. There might be things to learn from the sql world as well since this is very similar, codegen is essentially generating "select *" sql scripts for us when all I need is something similar to Rails' Active Record "select" method to pass in the variables I need (https://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields).

any update? :(

yes, any update?


mesa: switch elfutils in for abandoned libelf

Description of changes
Swapped out libelf for elfutils in glib; as https://github.com/NixOS/nixpkgs/issues/271473 notes:

libelf did not see an update since 2014: https://github.com/Distrotech/libelf. elfutils is a popular API-compatible ELF parser that most users expect.

I targeted staging since mesa is at the base of a lot of packages.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

I'm building this on x86_64-darwin overnight. Hopefully it'll complete.

Darwin will likely never touch any of the libelf code.

Darwin will likely never touch any of the libelf code.

Absolutely. I want to see that it builds successfully, so that it's not blocked on that. Sadly, I ran into #284056 and never got to mesa overnight.

OfBorg ran into https://github.com/NixOS/nixpkgs/pull/292480.

I wonder... has anyone looked into why it was in the steam env?  I thought it was about binary compatibility with some stuff and this changes SONAME of the lib, so if it was about more than mesa, I expect it would break now.


Update to go 1.21

Updated to go 1.21
Updated min supported version to 1.20

@sywhang  could you help rerun the builds/ help fix the builds

@sywhang / @JacobOaks could you help with this?


Issue with k8s.io/docs/tutorials/kubernetes-basics/expose/expose-interactive/

This is a Bug Report
I have tried this interactive tutorial as to how we should expose an application as a service.
I tried deploying a nginx application and eventually open a Nginx GUI.

Problem:
[localhost nginx]$ kubectl describe services/mynginx
Name:                     mynginx
Namespace:                default
Labels:
Annotations:
Selector:                 app=nginx
Type:                     NodePort
IP:                       <IP_ADDRESS>
Port:                       8080/TCP
TargetPort:               8080/TCP
NodePort:                   32137/TCP
Endpoints:                <IP_ADDRESS>:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
[localhost nginx]$ export NODE_PORT=$(kubectl get services/mynginx -o go-template='{{(index .spec.ports 0).nodePort}}')
[localhost nginx]$ echo $NODE_PORT
32137
[localhost nginx]
Now I tried reaching the application using "curl" command:
[localhost nginx]$ curl $(minikube ip):$NODE_PORT
curl: (7) Failed connect to <IP_ADDRESS>:32137; Connection refused
Proposed Solution:
Page to Update:
https://kubernetes.io/...

@kkkarthik Hi did you try at your own machine, when i tried it in interactive tutorial then curl command showed the expected output

/triage needs-information


Use a bit less NonNull::new_unchecked

Using NonNull::cast instead of NonNull::new_unchecked is a bit less unsafe code, and it may provide a small improvement to compile times since https://github.com/rust-lang/rust/pull/120594

This project's CI is broken due to a dependency on a previous version of itself. Well ain't that something.

@bors r+

:pushpin: Commit 46f1afcf817d31de64f9e3ac000325a0c5ff4503 has been approved by Amanieu
It is now in the queue for this repository.

:hourglass: Testing commit 46f1afcf817d31de64f9e3ac000325a0c5ff4503 with merge cf829443bff78862ee597fb0fdfe8d5fadab96bc...

:broken_heart: Test failed - checks-actions

:umbrella: The latest upstream changes (presumably #502) made this pull request unmergeable. Please resolve the merge conflicts.

I fixed the CI separately in #502, can you rebase?

Rebased!

@bors r+

:pushpin: Commit 87d58ecbe9272178d09b329f39ce7fdc1e7afd6f has been approved by Amanieu
It is now in the queue for this repository.

:hourglass: Testing commit 87d58ecbe9272178d09b329f39ce7fdc1e7afd6f with merge d563de118001afa9e97f43f6791e255f5c57e766...

:sunny: Test successful - checks-actions
Approved by: Amanieu
Pushing d563de118001afa9e97f43f6791e255f5c57e766 to master...


Shall we environmentalize the Xata URL?

Current Status
Currently, the Xata production environment is hardcoded and the CLI can only talk to production for authentication.
https://github.com/xataio/client-ts/blob/f8b83c6284d194b1d88bd8a2de0626f2b45a8f83/cli/src/auth-server.ts#L57
Proposal
Shall we make this an environment variable so we can work against a local environment or staging or others?

We're working to improve this with the profiles feature!

There's been some work but it's not finished.
The ~/.config/xata/credentials file is an ini file. You can do XATA_PROFILE=foo xata ... and it will pick up the configuration for that profile. Example:
[default]
apiKey=xau_xxx

[staging]
api=staging
web=http://localhost:3000
apiKey=xau_xyz

With XATA_PROFILE=staging you can use staging for most commands, while running the frontend in localhost.
It's not finished and it's not documented. But that's the idea.

Closing because we support profiles now.


2696: Fix link color and change disposition to inline to view PDFs in…

Resolves #2696
Description
This fixes a bug that caused links not to show up in the correct color. This was due to the AdminLTE rules being overridden by the Tailwind base rules. For now I've simply added a more specific rule for links. I haven't noticed any other obvious weirdness with CSS so this might be the only obvious symptom.
This also changes the download link disposition from "attachment" to "inline". I've verified that this will show PDFs in the browser (where the user can download them if they like) but will still download e.g. MS word documents.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Local testing.
Screenshots

Awesome!


Implement the mentor approval functionality

Is your feature request related to a problem? Please describe.
An admin should be able to approve or reject mentors of a program. Also, the UI should be clear enough to differentiate the difference between an approved mentee and a rejected mentee.

@miluckshan-j

Will look into this.


Support Prometheus format

We should support a Prometheus response format using serde_prometheus. The response Content-Type should be text/plain;version=0.0.4 (as specified). The format should be triggered by an Accept header specifying the same content type. (While I would prefer to use a more explicit, custom type like text/prometheus or text/plain;format=prometheus, there is a standarized registry of MIME types which we should stick to)

On second thought, I don't think this should be handled via content type inference. For each content type, we need to be able to create that type for any response type via serde. This is pretty reasonable for JSON and bincode which are general purpose formats. But serde_prometheus, while it technically works for any T: Serialize, it is a bit janky and only works well for metrics types whose serialization functions have been hand-crafted.
Instead, I think we should create a pseudo-method METRICS for Prometheus endpoints, similar to SOCKET for opening up a WebSockets connection. This allows us to have a separate Api method for registering a handler, and so the handler can have a different type: instead of returning T: Serialize it could return &prometheus::Registry, for example.


TssCacheProvider not working

The problem is that the component <TssCacheProvider> is not setting css classNames at all. My structure is the following taken from the documentation:
import createCache from "@emotion/cache";
import { CacheProvider } from "@emotion/react";
import { TssCacheProvider } from "tss-react";

{ ... }

const muiCache = createCache({
    key: "mui",
    prepend: true,
});

const tssCache = createCache({
    key: "tss",
});

const App: React.FunctionComponent = () => {
       return (
        <ErrorBoundary fallback={
Something went wrong when mounting the root component.
} onError={logError}>
            <LocalizationProvider dateAdapter={AdapterMoment}>
                <CacheProvider value={muiCache}>
                    <TssCacheProvider value={tssCache}>
                        <ThemeProvider theme={theme}>
                          <RootComponent />
                        </ThemeProvider>
                    </TssCacheProvider>
                </CacheProvider>
            </LocalizationProvider>
        </ErrorBoundary>
        );
}

I also have responsiveFontSizes() wrapper around the theme.
Problem is that when I explicitly set a fontSize for a component in makeStyles(), the responsiveFontSizes are overriding the fontSize. When I inspect the DOM I can see that the generated classes for MUI components are correctly prefixed with mui but the classes generated by makeStyles() from tss-react are missing the prefix, thus not taking priority over other styles.
The installed versions are the following:
        "@emotion/react": "11.11.3",
        "@emotion/styled": "11.11.0",
        "react": "~17.0.0",
        "react-dom": "~17.0.0",
        "tss-react": "4.9.13",
        "@mui/styles": "5.15.2",

The node version used is 12.22.12.
Any ideas why this happens and how to resolve it ?

Hello @ZGAlexa,

The problem is that the component  is not setting css classNames at all.

I don't know what you mean by that.

When I inspect the DOM I can see that the generated classes for MUI components are correctly prefixed with mui but the classes generated by makeStyles() from tss-react are missing the prefix

Which prefix? The tss prefix?
I can fix your problem if you can provide a minimal reproduction repo with a clear explaination of what isn't working as you expect.
If there's a bug, Il'll fix it, if this is a configuration issue on your end I'll let you know.


update docs for kafka lookup extension to specify correct extension loading requirements

It's not necessary to load both druid-lookups-cached-global and druid-kafka-extraction-namespace to use kafka lookups. In fact if you happen to load both in the wrong order (global lookups before kafka lookups), it actually breaks kafka lookups (see: https://github.com/apache/druid/issues/3538).
Background
the druid-kafka-extraction-namespace extension has a dependency on druid-lookups-cached-global, so when loading the extension, both modules ( and ) are included.
So when druid-kafka-extraction-namespace is included as a extension, both modules are loaded and the features for both extensions are loaded (kafka lookups and global cached lookups)
There is logic in ExtensionsLoader.tryAdd that checks whether a module has already been loaded during initialization and skips it if it already has been loaded.
This is a problem when both druid-kafka-extraction-namespace and druid-lookups-cached-global are specified because they both load NamespaceExtractionModule.
If druid-kafka-extraction-namespace is specified first, both NamespaceExtractionModule and KafkaExtractionNamespaceModule are loaded by the druid-kafka-extraction-namespace classloader, and the druid-lookups-cached-global classloader doesn't load anything since NamespaceExtractionModule was already loaded. This is fine because the features of druid-lookups-cached-global are served through the module NamespaceExtractionModule being loaded in druid-kafka-extraction-namespace. (this is essentially the same behavior as just loading druid-kafka-extraction-namespace, and this is why loading both extensions in this order works)
If druid-lookups-cached-global is specified first, NamespaceExtractionModule is loaded by the druid-lookups-cached-global class loader. The druid-kafka-extraction-namespace classloader will only load KafkaExtractionNamespaceModule because NamespaceExtractionModule has already been loaded. This is a problem because kafka lookups rely on classes bound in NamespaceExtractionModule that it can't access (because NamespaceExtractionModule is only bound in the druid-lookups-cached-global classloader). this is the cause of the linked bug
Description
IMO the current behavior is a little weird (loading one extension essentially loads two extensions), but to fix this we would have to either move the shared code into druid core or allow first class extension dependencies. For now i think it makes sense to update the documentation to specify that you should only ever load one of the two extensions.
I have tested this behavior in a druid cluster (loading just the kafka extension and trying to create both a kafka lookup and a cachedNamespace lookup)
Release note
Update documentation for enabling kafka and globally cached lookups
Key changed/added classes in this PR

docs/querying/kafka-extraction-namespace.md
docs/querying/lookups-cached-global.md

This PR has:

[X] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[X] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[X] been tested in a test Druid cluster.

Is there a known issues part of the Druid docs? You could also document the error and provide the same explainer there.

i think i found a better way to fix this bug, so i'm gonna close this docs pr


Improving the StreamField documentation with class inheritance information

This also in part addresses this issue #9012 following a long conversation with the docs team on the best solution. Diagrams was overruled in favour of text reference guide due  to the maintenance burden of diagrams. @allcaps can you add to this?
The Streamfield block reference documentation is currently manually written. This pull request adds in some automation to the documentation. This could serve as a base for future auto-documentation. I added in show-inheritance to expose the inheritance for each of the Streamfield block types. This would be useful for developers using the reference.
@gasman, @allcaps and I discussed adding FieldBlock, an internal class, to current documentation. I documented it as part of the current pull request. However, I would need some help adding more content, and perhaps, some structure to follow on documenting internal classes in the reference. Maybe, a note flag to tell developers it is an internal class?
This step also surfaced other internal classes, and in order to ensure consistency, would need to be documented too:

BaseChoiceBlock
ChooserBlock
BaseDocumentChooserBlock
BaseStructBlock
BaseStreamBlock

To documented these block types, some guidance would needed from an internal team member.
@thibaudcolas @gasman  @allcaps please review

Thanks @thibaudcolas. Left you a message on Slack. Have you seen it?


Rename scrollSource to source

As per spec it's source, not scrollSource.
Perhaps it's better not to merge until https://bugs.chromium.org/p/chromium/issues/detail?id=1074059 has been resolved.
Fixes #34

At least let's wait until the wpt tests are updated to source, but sounds good then.

Hey Bramus,
Working on the Blink implementation changes for scrollSource -> source and will take care of updating the WPT tests.  You should be unblocked soon.

https://chromium-review.googlesource.com/c/chromium/src/+/3261899

WPT tests merged upstream in https://github.com/web-platform-tests/wpt/pull/31508.  Should be unblocked now.

@kevers-google I've rebased master onto the branch of this PR. Code should be up-to-date.
When running the tests locally I get this though:
Harness Tests Successfuly Completed: 35/39
Tests failed: 74
Tests passed: 417

Don't know whether that's expected behavior or not.

Those numbers sound about right. The polyfill supports programmatic scroll timelines, but not scroll timelines constructed via CSS rules.  So limiting to tests that don't require supporting CSS scroll timelines, the ratio of passing tests is pretty good.  By my count, it looks like there are still 24 tests that we should be able to fix by addressing unsupported functionality for programmatic animations (e.g. various unsupported edge cases such as null timeline and effect phase at scroll end).   This matches the results of the progress-animation path, so no regressions are being introduced by the scrollSource -> source patch.

Thanks for the patch!


Download for all entries in all folders?

Is it possible to download for every single entry in the database?

The short answer is: right now no...
More info here:
https://github.com/navossoc/KeePass-Yet-Another-Favicon-Downloader/issues/14

Thanks. Made a comment there. Will close this one. Thanks for extremely fast response!


feat: better OpenAPI generation and include zod pathParams

Path params were included from the path itself only and not taking into account any extra zod typings provided through pathParams, so I've added that.
Nullish fields were also being generated as an incorrect
{
  anyOf: [
    {
      not: {},
    },
    {
      type: 'string',
    },
  ],
}

The zod-openapi package fixes that
We are also now correctly using the z.input type for query, body and path params, but z.output for the response types

Codecov Report

Merging #169 (662047d) into main (b3f944b) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #169   +/-   ##
=======================================
  Coverage   62.67%   62.67%
=======================================
  Files          11       11
  Lines         284      284
  Branches       69       69
=======================================
  Hits          178      178
  Misses         94       94
  Partials       12       12

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


Enforce window within merge logic.

Corresponding changes per https://github.com/googlegenomics/utils-java/pull/95
Sending this to a branch for now.  Travis CI will turn green when the next version of utils-java is released.

LGTM
(I assume the build breakage is due to utils-java version not ready yet?)

Yes, that's right.  This won't get merged to master until Travis CI is green.

Hi Nicole,
So just to be sure, after reading through the utils-java and dataflow-java code-bases, how are you merging non-variant segments if the calls for IBS similarity calculation is focused at coordinate-based snp comparisons?  Basically how would the non-variant segments without additional alternate alleles besides <NON_REF> provide any significant information without diluting the IBS score, which is reflected in the scores in the 1000 Genomes analysis for chromosome 22.
If you are getting the call-list from MergeNonVariantSegmentsWithSnps.java via updatedRecord.addAllCalls(blockRecord.getCallsList()); to then perform addAllCalls( java.lang.Iterable<? extends com.google.genomics.v1.VariantCall> values) from v1/Variant.java, what would be the calls used for comparison from a non-variant segment?
Thanks,
~p

Hi Paul!  There are two methods so far for calculating IBS:

https://github.com/googlegenomics/dataflow-java/blob/master/src/main/java/com/google/cloud/genomics/dataflow/functions/ibs/SharedAllelesRatioCalculator.java
https://github.com/googlegenomics/dataflow-java/blob/master/src/main/java/com/google/cloud/genomics/dataflow/functions/ibs/SharedMinorAllelesCalculator.java  <-- this one determines the "minor allele" and therefore needs to take into account reference calls

Hi Nicole!
Wow, not to worry but there are some things that probably we should work through carefully on this one.  So for IBS it probably would be good to go by the actual calls - as well as the genotypes - since we're working on the cloud and folks might attempt to use combined cohorts from separate datasets.  Variants across cohorts might not be matching in alternates.  Another thing is that to match by CallSetName is taking some big assumptions in how people will use IBS:
 public double similarity(VariantCall call1, VariantCall call2) {
    if (call1.getCallSetName().equals(call2.getCallSetName())) {
      return 1.0;
    }
...

If reference has the most counts, then if you are performing any on greater than 1, then you are missing the difference between 1 and 2 which can exist for 1/2 and other scenarios:
private boolean hasMinorAllele(VariantCall call) {
    return Iterables.any(call.getGenotypeList(), new Predicate<Integer>() {

      @Override
      public boolean apply(Integer genotype) {
        if (isReferenceMajor) {
          return genotype > 0;

Please don't take this the wrong way, but I think the minor allele comparison will require a bit more thorough investigation, since some bioinformatician will download the code and might assume some evaluation criteria, when the code could be performing something different.  At the very least the evaluation criteria should probably be detailed in the documentation, so that no surprises arise.
~p

@pgrosu I deleted your comment because it contained code. Due to the rules of this project, you must sign the CLA or refrain from including code in any comments.  We really value your participation and help. I know you put a lot of effort into your comments, and so it wastes your effort when we must delete them. Please help us and sign the CLA or stop including code in your comments.

@deflaux It was all your code that is part of this repository, and I was not contributing.  I just wanted to make you aware there are issues with your approach of calculating IBS, and that the calculation is not always specific to the calls.  I thought that GoogleGenomics wanted to be as scientific and mathematically correct about contributed code.  Isn't that the goal?


[QUERY] Is it possible to handle multiple app registrations for one Spring Boot app?

Query/Question
Hello everyone, I have a Spring Boot app that expose an API which I would like to protect in a manner similar to the one described over here, problem is, I would like to provide access to users from two different Azure apps (both reside in the same tenant, there are two different sets of client-id, app-id and client secret), I couldn't find any info online on wheter it's even doable. Can you please suggest a way it can be done?

Hi @ObakeFilter , we do not have such scenario verification, but according to the source code you can try to support multiple audience verification by customizing bean JwtDecoder.
Please refer to AadResourceServerConfiguration#jwtDecoder
@Bean
public JwtDecoder jwtDecoder(AadAuthenticationProperties aadAuthenticationProperties) {
    AadAuthorizationServerEndpoints identityEndpoints = new AadAuthorizationServerEndpoints(
        aadAuthenticationProperties.getProfile().getEnvironment().getActiveDirectoryEndpoint(), aadAuthenticationProperties.getProfile().getTenantId());
    NimbusJwtDecoder nimbusJwtDecoder = NimbusJwtDecoder
            .withJwkSetUri(identityEndpoints.getJwkSetEndpoint())
            .restOperations(createRestTemplate(restTemplateBuilder))
            .build();
    List<OAuth2TokenValidator<Jwt>> validators = createDefaultValidator(aadAuthenticationProperties);
    nimbusJwtDecoder.setJwtValidator(new DelegatingOAuth2TokenValidator<>(validators));
    return nimbusJwtDecoder;
}

public List<OAuth2TokenValidator<Jwt>> createDefaultValidator(AadAuthenticationProperties aadAuthenticationProperties) {
    List<OAuth2TokenValidator<Jwt>> validators = new ArrayList<>();
    List<String> validAudiences = new ArrayList<>();
    if (StringUtils.hasText(aadAuthenticationProperties.getAppIdUri())) {
        validAudiences.add(aadAuthenticationProperties.getAppIdUri());
    }
    if (StringUtils.hasText(aadAuthenticationProperties.getCredential().getClientId())) {
        validAudiences.add(aadAuthenticationProperties.getCredential().getClientId());
    }

    // add your second group client-id and app-id-url to the validAudiences

    if (!validAudiences.isEmpty()) {
        validators.add(new JwtClaimValidator<List<String>>(AadJwtClaimNames.AUD, validAudiences::containsAll));
    }
    validators.add(new AadJwtIssuerValidator());
    validators.add(new JwtTimestampValidator());
    return validators;
}


Localhost transport is raw tcp

Still be cared even if...

Transported infos are only payload and address
They are both public info that can be seen on exploerer

I confirmed some productions simply use http://.


[Event Request] Codeunit 6620 "Copy Document Mgt." - Procedure CopyPurchCrMemoLinesToDoc - OnCopyPurchCrMemoLinesToDocOnAfterCalcShouldCopyItemTrackingEntries

Please add an Event OnCopyPurchCrMemoLinesToDocOnAfterCalcShouldCopyItemTrackingEntries in Procedure CopyPurchCrMemoLinesToDoc in Codeunit 6620 "Copy Document Mgt."
procedure CopyPurchCrMemoLinesToDoc
    var
        ItemLedgEntryBuf: Record "Item Ledger Entry" temporary;
        TempTrkgItemLedgEntry: Record "Item Ledger Entry" temporary;
        FromPurchHeader: Record "Purchase Header";
        FromPurchLine: Record "Purchase Line";
        FromPurchLine2: Record "Purchase Line";
        ToPurchLine: Record "Purchase Line";
        FromPurchLineBuf: Record "Purchase Line" temporary;
        FromPurchCrMemoHeader: Record "Purch. Cr. Memo Hdr.";
        TempItemTrkgEntry: Record "Reservation Entry" temporary;
        TempDocPurchaseLine: Record "Purchase Line" temporary;
        ItemTrackingMgt: Codeunit "Item Tracking Management";
        OldCrMemoDocNo: Code[20];
        OldReturnShptDocNo: Code[20];
        OldBufDocNo: Code[20];
        NextLineNo: Integer;
        NextItemTrkgEntryNo: Integer;
        FromLineCounter: Integer;
        ToLineCounter: Integer;
        ItemChargeAssgntNextLineNo: Integer;
        CopyItemTrkg: Boolean;
        SplitLine: Boolean;
        FillExactCostRevLink: Boolean;
        ShouldCopyItemTrackingEntries: Boolean
    begin
        MissingExCostRevLink := false;
        InitCurrency(ToPurchHeader."Currency Code");
        FromPurchLineBuf.Reset();
        FromPurchLineBuf.DeleteAll();
        TempItemTrkgEntry.Reset();
        TempItemTrkgEntry.DeleteAll();
        OpenWindow;
            ...
                        // copy item charges
                        if Type = Type::"Charge (Item)" then begin
                            FromPurchLine.TransferFields(FromPurchCrMemoLine);
                            FromPurchLine."Document Type" := FromPurchLine."Document Type"::"Credit Memo";
                            CopyFromPurchLineItemChargeAssign(FromPurchLine, ToPurchLine, FromPurchHeader, ItemChargeAssgntNextLineNo);
                        end;
                        // copy item tracking

                        ShouldCopyItemTrackingEntries := (Type = Type::Item) and (Quantity <> 0) and ("Prod. Order No." = ''); // <-- NEW VARIABLE
                        OnCopyPurchCrMemoLinesToDocOnAfterCalcShouldCopyItemTrackingEntries(ToPurchLine, ShouldCopyItemTrackingEntries); // <-- NEW EVENT
                        if ShouldCopyItemTrackingEntries then begin // <-- NEW CONDITION

                            FromPurchCrMemoLine."Document No." := OldCrMemoDocNo;
            ...

[IntegrationEvent(false, false)]
local procedure OnCopyPurchCrMemoLinesToDocOnAfterCalcShouldCopyItemTrackingEntries(ToPurchLine: Record "Purchase Line"; var ShouldCopyItemTrackingEntries: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 43069.


Add Logo Finder in fronted projects

Describe the project you want to add with tech stack
I want to add logo finder website.
Tech stack:  HTML, Tailwind CSS, JS.
Expected behavior
Here you can enter the URL of website and find logo of the website as well as download the logo.
Screenshots (optional)

hey @pranjay-poddar Please assign this issue to me under GSSoC'23.

please assign me this issue under GSSoC'23.


DataFusion twitter / X account management

Discussed in https://github.com/apache/datafusion/discussions/13094

Originally posted by alamb October 24, 2024
There is a DataFusion twitter account: https://x.com/ApacheDataFusio
(yes I know it doesn't end with n, because of the twitter name limit`
I made this account and use it occasionally to promote / retweet mentions, but don't really spend much time using it.
Recently @SamSynnada offered to help run it more actively (promote DataFusion specific content, etc):

https://github.com/apache/datafusion/discussions/13049

Are there any thoughts about giving @SamSynnada access to the account to help?

I am +1 for this proposal

+1, it'd be great to free up @alamb's time and I'm sure @SamSynnada will do a great job in executing the rules we are trying to converge on in #13049.

I also 100% support this move

+1


Separate Instance and Surface creation in HAL

This allows surfaces to be created independently from instances and devices. The intention is primarily to support dynamic window management, particularly in the context of UI.
The Metal and DX12 changes are straightforward as there are no dependencies between surface and instance/device creation.
Vulkan is a bit tricky. In this case, InstanceFlags has grown a PRESENT bit that directs instance creation to attempt to add the appropriate surface extensions for the target platform. This replaces ash_window::enumerate_required_extensions. Physical device and queue family selection has been modified to require both graphics and compute support. This is necessary to handle images anyway, and the current code operates on the assumption that such a device will also support presentation. This is likely to hold in practice on any device that has a display, but is probably not guaranteed by the spec.
We'll probably want a more sophisticated device selection API at some point, but that is out of scope for this work.
This has been tested on Mac and Windows (both Vulkan and DX12). The Android example has been updated, but not compiled or tested.

As a simplification, I would be in favor of making graphics support non-optional. I don't think it really buys us anything.

As a simplification, I would be in favor of making graphics support non-optional. I don't think it really buys us anything.

This works for me. Vulkan is the outlier here and I assume that speculatively adding the surface extensions doesn't have a significant cost, if any.


[Add Category Page] Presence of an icon on the "Cancel" button

Environment: Google Chrome 118.0.5993.118 (Official build) (64-bit)
Reproducible: always
Build found:
Preconditions

User is logged in as Administrator

'Categories' page is opened

Steps to reproduce

Click on 'Add category' button
Explore the 'Create' and 'Cancel' buttons

Actual result
Buttons of different sizes and an icon present on the "Cancel" button
Expected result
Buttons of the same size without unnecessary elements
User story and test case links
"User story #427
Labels to be added
"Bug", Priority ("Low"), Severity ("Low"), Type ("UI")

Done


S4 [Task] Modify AD according to outbound_queue

Task
Modify AD according to outbound_queue

Task Title
#311

User Story
link associated User Story for this task

Epic
#50

T-shirt size default is S(mall)
S

Story Points - Fibonacci (1,2,3,5)
2

Description
Once Sawtooth data has been imported into outbound_queue, go through the outbound_queue to modify AD according to match data in Sawtooth blockchain.

Business Need (the why):
This will help complete the Outbound LDAP sync to keep data AD match data on the Sawtooth blockchain.

Applications or Systems impacted
AD

Dependencies
if certain tasks must be done in a certain order, note here

Assumptions
if any

Duplicate of issue #315


fix(MockBuilder): respect extention of classes with different decorators #2646

closes #2646

Codecov Report

Merging #2650 (d069a90) into master (c4578dc) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master     #2650   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          222       218    -4
  Lines         4411      4386   -25
  Branches       995       996    +1
=========================================
- Hits          4411      4386   -25

Impacted Files
Coverage Δ

...mocks/src/lib/mock-builder/mock-builder.promise.ts
100.00% <ø> (ø)

...mocks/src/lib/mock-builder/promise/init-modules.ts
100.00% <100.00%> (ø)

...ks/src/lib/mock-builder/promise/init-ng-modules.ts
100.00% <100.00%> (ø)

libs/ng-mocks/src/lib/mock-module/mock-ng-def.ts
100.00% <100.00%> (ø)

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 c4578dc...d069a90. Read the comment docs.

v14.0.0 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Fix: Github Token in global-org pointing to Jarod's account

I notice the codecov hanging. Did we possibly miss a token update somewhere?


Server buttons not available

Issue Type: Bug
In the Connections panel, if only the Servers panel is shown (all others are hidden), the "add Connection" , "Disconnect", etc. buttons are not shows. Showing any other panel (Azure, for example) will make the buttons reappear.
Only Servers Panel:

Unhidden Azure Panel:

Azure Data Studio version: azuredatastudio-insiders 1.30.0-insider (6a7e1dfd270eb6c2239f775f3f75ec8da086a26d, 2021-06-15T05:55:59.647Z)
OS version: Windows_NT x64 10.0.19043

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz (6 x 3000)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.78GB (20.48GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

also the size of the icons is larger than it used to be.
@kburtram I believe this is caused by the recent code merge. I am moving this to July release.

@alanrenmsft This issue occurs even prior to the VS Code merge. This and the size issue aren't related AFAIK.


Sequence number initialization from snapshot

I'm running code from the samples and it constantly reconnects because it's receiving LiveOrderbook.skippedMessage here.
I'm not using any authentication. When I add a log statement here I can see that the snapshot message contains a sequence of 1.
Here is some sample output:
2017-09-29T00:47:16.409Z - info: Creating new Websocket connection to wss://ws-feed.gdax.com
2017-09-29T00:47:16.427Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:16.427Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:16.672Z - debug: Connection to wss://ws-feed.gdax.com  has been established.
2017-09-29T00:47:16.672Z - debug: Sending {"type":"subscribe","product_ids":["BTC-USD"],"channels":["level2","matches","ticker","user","heartbeat"]} message to WS server
2017-09-29T00:47:17.159Z - info: Snapshot received by LiveOrderbook Demo
2017-09-29T00:47:17.160Z - info: Dropped a message. Expected 2 but received<PHONE_NUMBER>.
SKIPPED MESSAGE { expected_sequence: 2, sequence:<PHONE_NUMBER> }
Reconnecting to feed
2017-09-29T00:47:17.162Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:17.162Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:17.163Z - debug: GDAX Feed subscriptions confirmed type=subscriptions, channels=[name=level2, product_ids=[BTC-USD], name=matches, product_ids=[BTC-USD], name=ticker, product_ids=[BTC-USD], name=user, product_ids=[BTC-USD], name=heartbeat, product_ids=[BTC-USD]]
2017-09-29T00:47:17.400Z - debug: Connection to wss://ws-feed.gdax.com  has been established.
2017-09-29T00:47:17.401Z - debug: Resubscribing to BTC-USD...
2017-09-29T00:47:17.401Z - debug: Sending {"type":"subscribe","product_ids":["BTC-USD"],"channels":["level2","matches","ticker","user","heartbeat"]} message to WS server
2017-09-29T00:47:17.401Z - debug: Sending {"type":"subscribe","product_ids":["BTC-USD"],"channels":["level2","matches","ticker","user","heartbeat"]} message to WS server
2017-09-29T00:47:17.402Z - debug: Reconnection to BTC-USD successful
2017-09-29T00:47:17.854Z - info: Snapshot received by LiveOrderbook Demo
2017-09-29T00:47:17.854Z - info: Dropped a message. Expected 12 but received<PHONE_NUMBER>.
SKIPPED MESSAGE { expected_sequence: 12, sequence:<PHONE_NUMBER> }
Reconnecting to feed
2017-09-29T00:47:17.855Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:17.855Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:17.855Z - debug: GDAX Feed subscriptions confirmed type=subscriptions, channels=[name=level2, product_ids=[BTC-USD], name=matches, product_ids=[BTC-USD], name=ticker, product_ids=[BTC-USD], name=user, product_ids=[BTC-USD], name=heartbeat, product_ids=[BTC-USD]]
2017-09-29T00:47:18.154Z - info: Snapshot received by LiveOrderbook Demo
2017-09-29T00:47:18.154Z - info: Dropped a message. Expected 12 but received<PHONE_NUMBER>.
SKIPPED MESSAGE { expected_sequence: 12, sequence:<PHONE_NUMBER> }
Reconnecting to feed
2017-09-29T00:47:18.154Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:18.154Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:18.155Z - debug: GDAX Feed subscriptions confirmed type=subscriptions, channels=[name=level2, product_ids=[BTC-USD], name=matches, product_ids=[BTC-USD], name=ticker, product_ids=[BTC-USD], name=user, product_ids=[BTC-USD], name=heartbeat, product_ids=[BTC-USD]]
2017-09-29T00:47:18.358Z - debug: Connection to wss://ws-feed.gdax.com  has been established.
2017-09-29T00:47:18.358Z - debug: Resubscribing to BTC-USD...
2017-09-29T00:47:18.358Z - debug: Sending {"type":"subscribe","product_ids":["BTC-USD"],"channels":["level2","matches","ticker","user","heartbeat"]} message to WS server
2017-09-29T00:47:18.359Z - debug: Sending {"type":"subscribe","product_ids":["BTC-USD"],"channels":["level2","matches","ticker","user","heartbeat"]} message to WS server
2017-09-29T00:47:18.359Z - debug: Reconnection to BTC-USD successful
2017-09-29T00:47:18.796Z - info: Snapshot received by LiveOrderbook Demo
2017-09-29T00:47:18.796Z - info: Dropped a message. Expected 24 but received<PHONE_NUMBER>.
SKIPPED MESSAGE { expected_sequence: 24, sequence:<PHONE_NUMBER> }
Reconnecting to feed
2017-09-29T00:47:18.797Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:18.797Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:18.797Z - debug: GDAX Feed subscriptions confirmed type=subscriptions, channels=[name=level2, product_ids=[BTC-USD], name=matches, product_ids=[BTC-USD], name=ticker, product_ids=[BTC-USD], name=user, product_ids=[BTC-USD], name=heartbeat, product_ids=[BTC-USD]]
2017-09-29T00:47:19.048Z - info: Snapshot received by LiveOrderbook Demo
2017-09-29T00:47:19.049Z - info: Dropped a message. Expected 24 but received<PHONE_NUMBER>.
SKIPPED MESSAGE { expected_sequence: 24, sequence:<PHONE_NUMBER> }
Reconnecting to feed
2017-09-29T00:47:19.049Z - debug: Reconnecting to wss://ws-feed.gdax.com  in 0 seconds...
2017-09-29T00:47:19.049Z - debug: Closing existing socket prior to reconnecting to wss://ws-feed.gdax.com
2017-09-29T00:47:19.049Z - debug: GDAX Feed subscriptions confirmed type=subscriptions, channels=[name=level2, product_ids=[BTC-USD], name=matches, product_ids=[BTC-USD], name=ticker, product_ids=[BTC-USD], name=user, product_ids=[BTC-USD], name=heartbeat, product_ids=[BTC-USD]]

I'm pretty sure this has been fixed. Which version of the GTT are you using?

I'm just using the version on npm<EMAIL_ADDRESS>

Ok, I've been able to reproduce the issue. This must be a regression. I'll prioritise fixing this.


osd_directories is read although osd_directory is false

Somehow our ceph-ansible installation gets broken when using:
Ubuntu 16.04
ansible v<IP_ADDRESS>
ceph-ansible v2.1.0
I have added some debug tasks to show the variable values:
TASK [ceph-osd : debug] ********************************************************
ok: [blk0001_ssd] => {
    "osd_directory": false
}
ok: [blk0002_ssd] => {
    "osd_directory": false
}
ok: [blk0003_ssd] => {
    "osd_directory": false
}

TASK [ceph-osd : debug] ********************************************************
ok: [blk0001_ssd] => {
    "osd_directories": "VARIABLE IS NOT DEFINED!"
}
ok: [blk0002_ssd] => {
    "osd_directories": "VARIABLE IS NOT DEFINED!"
}
ok: [blk0003_ssd] => {
    "osd_directories": "VARIABLE IS NOT DEFINED!"
}

TASK [ceph-osd : get osd id for directory scenario] ****************************
fatal: [blk0001_ssd]: FAILED! => {"failed": true, "msg": "'osd_directories' is undefined"}
fatal: [blk0002_ssd]: FAILED! => {"failed": true, "msg": "'osd_directories' is undefined"}
fatal: [blk0003_ssd]: FAILED! => {"failed": true, "msg": "'osd_directories' is undefined"}

This is the task  from ceph-osd/tasks/osd_fragment.yml that fails:
- name: get osd id for directory scenario
  command: cat {{ item.stdout }}/whoami
  with_items: "{{ osd_directories }}"
  changed_when: false
  failed_when: false
  always_run: true
  register: osd_id_dir_scenario
  when: osd_directory

I think the intention is clear - skip the task completely, if osd_directory is set to false - , but obviously the when line here is interpreted for each item in osd_directories which is undefined.

My quickfix was to change:
  with_items: "{{ osd_directories }}"
to:
  with_items: "{{ osd_directories|default([]) }}"

@D3N14L I think it'd probably be safe to just default osd_directories in ceph-osd/defaults/main.yml here https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-osd/defaults/main.yml#L136
We do something similar with raw_journal_devices where we leave a commented out example but also default as raw_journal_devices: []. Would you mind making a PR that does the same for osd_directories?


Add OSPO Associate Program Documentation

@anajsana LGTM but you should state how to apply (e.g., PR via landscape)


Validation error when trying to get data from a user with no signature

I got this error when I tried to get data from a user with no signature:
1 validation error for EnkaNetworkResponse\nplayerInfo -> signature\n  field required (type=value_error.missing)
I could temporarily fix this by removing the line signature: str from enkanetwork/model/players.py, but with this change, I can't get signature data from those who have it.

Fixed https://github.com/mrwan200/EnkaNetwork.py/compare/74c59c7b2c98...397f10b8bd35
Please reinstall pip install enkanetwork.py and you new see feature and fixed bug 😊


Fixes pip install with python 3.10 and 3.11

Tested with both python 3.10 and 3.11, install works with this change. Without this change, I get the following error (attempted both with python -m venv --upgrade-deps  .venv; source .venv/bin/activate ; pip install cdx_toolkit. (where the python command used to generate the venv points to the specific version of python for each version)

Please past your actual error. I can fix the error the CI found, my main problem with doing a new release of this package is that setuptools_scm is  misbehaving

Sorry for the delay in answering.
pip install cdx_toolkit
Collecting cdx_toolkit
  Using cached cdx_toolkit-0.9.34.tar.gz (36 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      /home/mtr21pqh/gitlab/scrapy-poc/.venv/lib/python3.11/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
        warnings.warn(
      error in cdx_toolkit setup command: 'python_requires' must be a string containing valid version specifiers; Invalid specifier: '>=3.6.*'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Same error with a fresh venv using Pythons 3.9, 3.10, 3.11 created with:
$python -m venv --ugprade-deps .venv
pip install cdx_toolkit

I'm encountering this problem as well. What is blocking the merge?

Same error here on python 3.11.2 and 3.12.0, pip pip 23.2.1 and 23.3.1
'python_requires' must be a string containing valid version specifiers; Invalid specifier: '>=3.6.*'

❯ python -m pip install cdx_toolkit
Collecting cdx_toolkit
  Using cached cdx_toolkit-0.9.34.tar.gz (36 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in cdx_toolkit setup command: 'python_requires' must be a string containing valid version specifiers; Invalid specifier: '>=3.6.*'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

[notice] A new release of pip is available: 23.2.1 -> 23.3.1
[notice] To update, run: pip3 install --upgrade pip

Macbook M1, python managed by asdf

This is now fixed. Thank you for bringing up the issue and apologies for taking a while to fix it.


Re-enable CircleCI

I noticed that this repository is still pointing to CircleCI version 1 which is not supported anymore and which why CI is broken https://github.com/docker/go-connections/pull/58#issuecomment-495169698
so I migrated this to use CircleCI version 2 and also included build tests for Linux and Windows.

Interesting; doesn't seem to run 🤔

It's running; https://circleci.com/gh/docker/go-connections/126

#!/bin/bash -eo pipefail
test -z "$(golint -min_confidence 0.81 ./... | tee /dev/stderr)"
/bin/bash: golint: command not found


sane default for cookie path

Currently the default cookie path in configuration is an empty string. If the set-cookie header is passed back with an empty path the browser will interpret the path of the cookie as the current page. This will lead to multiple cookies with the same name but different path's. While easily fixable by setting:
cookie.settings:
         path: '/'

Setting / as the default aligns to developer's expected cookie behaviour.

A better (or just additional) option would probably be to make each of the cookie settings optional in src/HTTP/CookieHandler.php.
None of them are actually required, and simply setting them at all can have unintentional effect (like with path).
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

@skluck all the cookie settings are optional in the CookieHandler The issue is not that it was set -- The issue is that the path was not set to anything and the default browser behaviour when the path is not set on the cookie is to use the current page path.

What browser are you using? I cannot duplicate this with the skeletor app: panthor-skeleton.

Did some digging, it looks like with an Expires, and no path, the browser will use the current path. Strange behavior, I wonder if its a bug. Safari seems to behave the same way.

No path, expires = Path set to current page
No path, no expires = Path set to /

I take it back, this doesn't occur in safari or firefox. It appears to be a chrome bug.


Original tones

CedPane
不列顛哥倫比亞 不列颠哥伦比亚 [Bu2 lie4 dian1_Ge1 lun2 bi3 ya4] /British Columbia/Columbia, British/

CEDICT
不列顛哥倫比亞 不列颠哥伦比亚 [Bu4 lie4 dian1 Ge1 lun2 bi3 ya4] /British Columbia, Pacific province of Canada/

While the 不's original tone is kept in CEDICT,  CedPane does not. CedPane applies the tone sandhi for 不. CedPane's 不 is changed to bu4, due to 4-4 to 2-4 tone sandhi of 不列
I think it's better to keep the original tones, as per Chinese Pronunciation Wiki:
Why Tone Changes Are Not Written

Normally the tone changes above are not written in the pinyin; you are supposed to just know the rule and apply it if you say the word(s) aloud. The reason for this is that in many cases if the tone change is written, you will be confused as to what the “normal” tone of a character is actually supposed to be.

For example, you might wonder, “is this a third tone written as a second tone because it’s followed by a third tone, or is this character always a second tone?” Always writing the original tones solves this problem. But it also means that you really need to know your tone change rules. Learn them well!

CEDICT only changes the tone if the spoken syllable is a neutral tone (e.g., 妈妈, CEDICT made it ma1 ma5 not ma1 ma1), otherwise it indicates the original tones

Thanks, yes that is normally the rule used by CedPane, but I missed it in that entry and 15 others.  Will fix.


Review of EA Implementation

Describe the issue
This is a sanity check on the technical aspects of each team is proposing to do in AWS and how they will do it involving the three SMEs for them to bring their lens of expertise to the process so that we don't miss any subtle problems. This will come in useful for when teams ask questions to our 3 SMEs because they will have a basic understanding of what they are doing already. This is to enable CP Compliance to get context of what EA teams are doing.
Which Sprint Priority is this issue related to?
Sprint 16, Goal 1 (?) - learning is for Emily, Ryan and Holly
Additional context

1st version of Early Adopter Onboarding and Training
Support Early Adopters and learn from them
These meetings involve Julian, Emily, Holly and Ryan.

Definition of done

This is a 30 min. verbal review/virtual meeting
Written document for problems that arise (if any)
Book the meeting in the new year after the EA session and aim for the meeting in the end of Jan 2021.

Meeting scheduled for Jan 27.

Closing as done and making another one for Mines.

Closing as done and making another one for Mines.


Using refetchOnWindowFocus when I change it to false it fetches one more time!

I'm using this code to query my players:
export let refetchEnabled: boolean;

$: players = useQuery("/players",
  async () => await getPlayers(),
  { refetchOnWindowFocus: refetchEnabled }
);

but in this way when I switch refetchEnabled to false it refetches my players one more time before stopping.
Am I wrong?

Does this work better for you? Don't know for sure that it will solve your issue but it avoids recreating the entire query when refetchEnabled changes.
export let refetchEnabled: boolean;

let players = useQuery("/players",
  async () => await getPlayers(),
  { refetchOnWindowFocus: refetchEnabled }
);

$: players.updateOptions({ refetchOnWindowFocus: refetchEnabled });

It works! Thanks!

The is no mention in docs about: updateOptions(), or am I wrong?

Can I ask you what's the difference between these code versions, given this one:

	<button on:click={previousPage}>Next</button>
	<button on:click={nextPage}>Previous</button>

{#if $players.isLoading}
	Loading...
{:else if $players.isError}
	$players.error
{:else if $players.data}

		{#each $players.data.players as player (player.id)}

{player.name}

		{:else}
			No players...
		{/each}

{/if}

So what's the difference between the first version:
$: players = useQuery(
  [playerListKey, pagination, condition],
  async () => await service.playerList({ pagination, condition }).response,
  { refetchOnWindowFocus: refetchEnabled }
);

the second one (doesn't work):
const playersQueryFn = async (pagination: Pagination, condition: Condition) =>
  await service.playerList({ pagination, condition }).response;

const players = useQuery([playerListKey, pagination, condition], () =>
  playersQueryFn(pagination, condition)
);

$: players.updateOptions({
  refetchOnWindowFocus: refetchEnabled,
  queryKey: [playerListKey, pagination, condition],
  queryFn: () => playersQueryFn(pagination, condition),
});

and the third one (doesn't work)?:
const playersQueryFn = async (pagination: Pagination, condition: Condition) =>
  await service.playerList({ pagination, condition }).response;

const players = useQuery([playerListKey, pagination, condition], () =>
  playersQueryFn(pagination, condition)
);

$: players.updateOptions({ refetchOnWindowFocus: refetchEnabled });
$: players.updateOptions({ queryKey: [playerListKey, pagination, condition] });
$: players.updateOptions({ queryFn: () => playersQueryFn(pagination, condition) });

Is there any performances difference?
You said for your code:

it avoids recreating the entire query when refetchEnabled changes

Is this a performance problem?
Is using many reactive variables the same as one query only in terms of performances?
Do you know how can we measure difference?

The is no mention in docs about: updateOptions(), or am I wrong?

Not that I've seen. I just found it in the source a while ago when I was looking for similar functionality.

You said for your code:
it avoids recreating the entire query when refetchEnabled changes
Is this a performance problem?

Not really, but my supposition was that recreating the query is causing it to run the fetch again when you didn't want it to.
As for the other questions, I think if you want to change the query key then you do have to actually recreate the whole query object.

if you want to change the query key then you do have to actually recreate the whole query object

@amen-souissi can you please help here? Svelte newbie here. 😄
@amen-souissi are you still interested in keeping the project and helping people use it? I sincerely ask just to understand for the future, no criticism between the lines... 😃

useQuery should always be stored in a const.
There is a bug in the current version when you update the queryKey using updateOptions.
This will be fixed in v1.5.0 (released today).
I closed this because it's mostly a duplicate of #52.


support for ~@ in less file

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[x] Read the docs.
[x] Use Vite >=2.0. (1.x is no longer supported)
[ ] If the issue is related to 1.x -> 2.0 upgrade, read the Migration Guide first.

Describe the bug
When import vant less file like this
import 'vant/lib/index.less'

it seems like ~@ is not supported. Can Vite support this ? Or There's ohter way to fix this problem?
Thks Everyone!
Reproduction
Please provide a link to a repo that can reproduce the problem you ran into.
A reproduction is required unless you are absolutely sure that the the problem is obvious and the information you provided is enough for us to understand what the problem is. If a report has only vague description (e.g. just a generic error message) and has no reproduction, it will be closed immediately.
System Info

vite version:
Operating System:
Node version:
Package manager (npm/yarn/pnpm) and version:

Logs (Optional if provided reproduction)

Run vite or vite build with the --debug flag.
Provide the error log here.

https://github.com/vitejs/vite/issues/2185#issuecomment-784637827

Duplicate of https://github.com/vitejs/vite/issues/2185#issuecomment-784637827


Add new banner to DS as pre-launch

Add new banner to DS as pre-launch. Josh to provide copy.

@siemvaessen please use:
The IATI Datastore is in a pre-launch phase; the date of an official launch will be announced soon. If you find any issues please raise them on Github


Shadowrun: Anarchy Version 1.6 & 5th Edition Version 1.1

Anarchy Version 1.6

CSS Updates for the French translation
Added NONE as an option for rolling attributes for NPCs.
Fixed line endings
Renamed the files & updated sheet .json

5th Edition Version 1.1

issue 2 - Refactor suggestion for attributes, applied to matrix & repeating_vehicle as well

issue 3 - update_soak function

issue 5 - Add toggle for drone initiative

issue 8 - Vehicle intuitive

issue 9 - Used repeating weapon code refactor

Additionally fixed NPC gear not showing up

Roll Template now has a drain option for spells & prep that sets a min to 2

Drain now always displays a min 2 for spells/preps

Added Edge option to the NPC attributes

Agility wasn't translated in the selects

Removed duplicate selected for repeating_active/language/knowledge

Removed unnecessary console logs

Added a version number

Added Primary stars for weapons & armor

Refactored the repeating armor section to toggle off primary flags and update more dynamically

Refactored the repeating weapons to toggle off primary flags and update more dynamically

Updated README

@Kurohyou
This has a lot of files. The Shadowrun5thEdition.html has the bulk of the changes.


avoid err if we can't resolve terminfo for TERM

This patch will hopefully address #59. Unfortunately, I wasn't able to write a test to reproduce the issue, so it is just a blind fix.

Code LGTM. A general question, do we usually do unit tests/regression tests for these kind of fixes?

There probably should be a unit test for this. It's been a minute since I wrote the patch, but I think I tried to write one and ran into some trouble so decided to just punt.


Display (rendering?) issue, Chrome, Samsung device

I'm using the demo at https://mozilla.github.io/pdf.js/web/viewer.html with the provided demo PDF.
Configuration:

Web browser and its version: Chrome 99.0.4844.73
Operating system and its version: Android 12; SM-G981B Build/SP1A.210812.016 (Samsung S20 5G)
PDF.js version: tested on the demo 2.14.95 and on release 2.13.216
Is a browser extension: No

Steps to reproduce the problem:

Open the demo at https://mozilla.github.io/pdf.js/web/viewer.html

What is the expected behavior? (add screenshot)

Reproduced expected behaviour on the same device using the Samsung Internet web browser.
What went wrong? (add screenshot)

Observe how much of the document is missing.
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
n/a
Notes:

Zooming the document causes pop in and out of the missing PDF content
Each time the PDF is loaded (by refreshing the page) results vary. There are almost always entire sections of the document visibly missing.
I have tried clearing my browser cache and resetting the browser with no improvement

hey i hate to just jump in here without any info twords this but anyone looking for a pen pal

Thank you for the input of the pdf.js team.
I think you should know that we have run tests now using lab devices, and the above "actual / what went wrong" behaviour is confirmed/happening on these clean lab devices.
Testing failed on the following devices:

Google Pixel 6 Pro, Android 12, Chrome
Samsung S22 5G, Android 12, Chrome
Samsung S21 5G, Android 12, Chrome

Testing passed on the following devices:

Samsung Tab S8, Android 12, Chrome
Samsung A12, Android 11, Chrome
Samsung Tab A8 (2021), Android 11, Chrome

Please also note that on my personal Samsung S20, the problem is now occurring in Samsung Internet as well. I tested Firefox and that passed.
If this isn't something addressable in pdf.js itself, we all must appreciate that there is a segment of audience here who are going to run into major problems using the pdf.js viewer if they are a chrome user (they likely are) and running on a modern device. How do we escalate this? Who needs to look into it?

I have the same issue on my S20 in all browsers. I tried other online PFD js solutions too. None if them have the same bug. I used pdf.js before as well. This bug appeared after android os update. This rendering bug appers on pdf-es that contain more images. The bug is not presen only when the PDF is a single imgage/a pdf img-a standard. I've tested on other devices too. It looks like this bug is present on all android12 devices.

Hola,
Same problem on Pixel 6A and Realme C35 after update: it's starting to become very disabling: what alternative solutions to PDF.JS would you suggest?

Also experiencing this issue on Pixel 7 and S22 Ultra.

There's nothing we can do here: it's really a Chrome/Android bug.
I can't reproduce this bug on pixel 7 with Firefox.
So please, instead of adding some useless comments, just file a bug: https://bugs.chromium.org/p/chromium/issues/list?q=OS%3Dandroid&can=2
and add a link here in order let people know what's the status of the bug.
Thank you.

Note, there's more detailed information (and a parallel discussion) happening on 14897, it might be worth moving all conversation to that ticket.


TAJO-2025: HBASE_LIB/metrics-core-*.jar should be included in CLASSPATH

When I try to connect HBase client via TAJO, TAJO cannot connect HBase with below logs.
INFO org.apache.hadoop.hbase.client.RpcRetryingCaller: Call exception, tries=10, retries=35, retryTime=68306ms, msg=row 'lineitem,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=<address>,60020,1450062494778, seqNum=0
INFO org.apache.hadoop.hbase.client.RpcRetryingCaller: Call exception, tries=11, retries=35, retryTime=88389ms, msg=row 'lineitem,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=<address>,60020,1450062494778, seqNum=0

...

org.apache.hadoop.hbase.client.RpcRetryingCaller@5b5e2d4c, java.io.IOException: com.google.protobuf.ServiceException: java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge

But, I can connect HBase using TestHBaseTable.
I found out that tsql can connect hbase client with appending HBASE_LIB/HBase-hadoop2-compat-*.jar to classpath in bin/tajo.
But, HBase-hadoop2-compat-*.jar has lots of dependency so I try to find out necessity for TAJO in this jar.
HBASE_LIB/metrics-core-*.jar is answer.
I test hbase <IP_ADDRESS>-hadoop2 version with TAJO, builded with manually-configured Hbase version.

+1 LGTM!
Thanks for your contribution!


Ike sound functions

Created new branch from develop to work on sound functions

Closing Pull Request.
Doesn't appear to be any changes / Think Audio Functions are completed.
Can re-do Pull request if needed in the future.


Fixed Python 3.11 definition in test workflow for full env runs

No review needed.

Coverage: 31.632%. Remained the same when pulling 22b84fe66ebb11dcd0f8110b1ac7f8d27a9cd5c0 on andy/fix-full-run into a4a1e142ace0791bf68946df391a498baeecf085 on master.


perf: optimize miller loop

This PR implements custom gate for sparse_fp12_multiply(). It can optimize miller_loop_circuit by reducing degree.

Merge it for the further release (may have more discussion).


don't read data from github but rather the local server

Currently, the data is read from github when displaying graphs, this has the problem that this project can only ever be used for exactly one repository without forking and changing the code. Instead, the server should provide the data to render.

Earlier the server did provide the data along with it. This was changed so that it would be easier to change and upload your own data files (possibly with an upload button in the future)
The downside of this is that the startup time for the website is now a lot slower than it was before. We should probably add a Loading component to the charts as well for this.

The idea was around but it was to have an option to load data with the goal to let people visualize their own data. And in the end discarded. The state right now is the opposite, it lets no one other than the repository owner visualize their data, loading it from the server would allow people to read using their own data.
The JSON isn't a long-term sustainable solution anyway, it will need to end up in some kind of manageable database so loading from the server is the sensible way to go.
letting people visualize their own data is a nice to have gimmick but it is getting in the way of the service being usable for a feature that no one is and very likely will ever use.


waf: make reproducible

Motivation for this change
Make waf reproducible.
Please test to see if this is reproducible on your system:
grep REVISION= $(nix-build . -A waf )

I hope you get REVISION="492eeeb1294054d82d4520c9c5990db3".

PR upstreamed https://gitlab.com/ita1024/waf/merge_requests/2227

@GrahamcOfBorg eval


Feature Request: Open Replace pane and fill up automatic when text is selected

This feature can be used to bulk modify words in a file, including translate a document.
It can be turn on/off using a command, and enabled by default if configured.
Maybe it is suitable to extension-candidate label.

Doesn't this happen already? When you trigger ctrl+h the selected text will appear in the find textbox.

Request: Open Replace pane automatic when text is selected, as extension-candidate.

This feature request will not be considered in the next 6-12 months roadmap and as such will be closed to keep the number of issues we have to maintain actionable. Thanks for understanding and happy coding!


The linear dendrogram does not label the nodes correctly

In which chart does the bug happen?

Linear Dendrogram

RAWGraphs Version
2.0 Beta
Web browser and version
Brave V1.29.81
Operating System
Win 10 Home, 64 bits
Steps to reproduce this
Create a dendrogram with a depth of 4 levels.
Try to label each subnode with its own label.
This is impossible: The interface does not allow us to label each subnode with its own label.
The GUI requires us to add labels at specific levels of the network.
But no combination of labels gives a satisfactory result.
In fact, each combination gives a different type of undesirable result!

If we add L1, L2 and L3 in "Labels", then subnodes at L4 level are labeled with L3 labels. (see figure-1 below)
If we add L1, L2, L3 and L4 in the "labels" stack, then it creates two side-effects: (see figure-2 below) The subnodes at L3 level show a gap where the L4 level label is supposed to be there. The subnodes at L4 level are labeled with two labels: L3 and L4.
If we add only L4 label in the stack, then the nodes at L3 level are left out without labels.  Exception: If a node at L3 level has subnodes at L4 level, then it will be labeled! Both these behaviors are not expected at all. (see Figure-3 below)

In either case, we do not see subnodes at L4 level with their own labels. [BUG]
Figure-1

Figure-2

Figure-3

Project file
Nodes at all levels cannot be attached with their own labels.zip
Desired feature:
Please provide a check box where all nodes show only their own labels.
Optionally, any additional labels can be added.

If i understood well you want to have labels on the latest level.
For this you should have a column defining a name for each branch.
See the image below if that's the expected outcome:

In case you can look at this project file to see table structure:
fixed_labels.rawgraphs.zip


Retry when save tx or event logs failed

Codecov Report

Merging #65 into develop will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff            @@
##           develop      #65   +/-   ##
========================================
  Coverage    97.87%   97.87%
========================================
  Files           61       61
  Lines         1601     1601
========================================
  Hits          1567     1567
  Misses          34       34

Impacted Files
Coverage Δ

app/models/cita_sync/persist.rb
97.8% <100%> (ø)
:arrow_up:

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 93b784a...3722786. Read the comment docs.


x-ref replace x-target

Hi @imacrayon
Do you think you would have x-ref available to replace x-target in next version, since I may not have id for target element, but I would have x-ref for target element.
Thanks
Eric Xin

And the indicator chapter, how you add the aira-busy class to target table, that is not clear enough. Would you please share?

Hi!

Do you think you would have x-ref available to replace x-target

That’s not likely to happen because we need a unique identifier on the page so that we know what content to merge inside an incoming request. x-ref is only unique per component, but id is required to be unique per page.

how you add the aira-busy class to target table

aria-busy is automatically added to a target when it is updating. You only need to write the CSS to make an indicator show when aria-busy is present.

That means aria-busy this css just prepared there, then indicator would take it if indicator tag is used, that is what you meant?

Then x-target can accept dynamic id, means the target id can be generated after it is being loaded into webpage.

That means aria-busy this css just prepared there, then indicator would take it if indicator tag is used, that is what you meant?

Yes, I think that's about right. There's not an indicator "tag" but you create the indicator by checking if aria-busy is present using a CSS selector.  I made a some quick demos that might help explain it better: https://codepen.io/imacrayon/pen/JjzGeMa

Then x-target can accept dynamic id? I mean the target id can be generated after it is being loaded into webpage.
hi @imacrayon,
I have this concern, thanks. Please help me verify it.

Yes the ID in x-target can be dynamic you can include more than one ID too.

That is great, thanks for your help.

I saw all the examples,  the whole alpine-ajax must be used within a form element? That is a must?

Can you give me more $ajax example, I try to understand it better, and think about how to use it properly.

Sorry, @imacrayon
I have one more question, how to add request header through $ajax to server, not the X-Alpine-Request I am talking about.
Thanks
Eric Xin

No way to customize headers yet. That will probably be coming soon though.

Ok, then how about $ajax, we can use it in any element right?

Yeah, just like any other Alpine magic, you can use it within any event handler on any element.

That is excellent, good news to know.


On OpenSuse + K3S Setup Jupyter-Minimal-Traefik fails to install packages via pip due to internet connection timeout

I recently installed K3ai on following setup

OpenSuse 15.x
K3s - 21.x
VirtualBox on Windows - Bridged Network

Issue
After I install the jupyter-minimal-traefik on K3S, everything works except when I try to install
pip packages using terminal, then  it is not able to connect to internet.
Steps to Reproduce:

Install OpenSuse 15.x on VirtualBox with Bridged Adapter Network
Install K3s 21.x
Install k3ai for k3s
Install k3ai jupyter-minimal-traefik package
Open Jupyter notebook and launch terminal window in web browser
Issue command pip install numpy
You will get internet connection timeout error

This is error message PIP install and WGET command
Error Message
base) jovyan@jupyter-minimal-6565df8f74-6w2cf:~$ pip install numpy
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f9dfc88b520>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by
ERROR: No matching distribution found for numpy

(base) jovyan@jupyter-minimal-6565df8f74-6w2cf:~$ wget https://linux.org
--2021-08-30 11:49:16--  https://linux.org/
Resolving linux.org (linux.org)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘linux.org’
(base) jovyan@jupyter-minimal-6565df8f74-6w2cf:~$ ^C
(base) jovyan@jupyter-minimal-6565df8f74-6w2cf:~$

Troubleshooting

I created a busybox pod in the same cluster in K3s on OpenSuse and it is able to connect to internet, so connectivity with other pods is there.
Checked Proxy settings, but there is none in OpenSuse, also I'm able to browse internet fine from within OpenSuse Firefox browser.
I installed k3ai and K3s on Ubuntu Server 20.x and everything works fine in this setup including installing any packages from pip with same Bridged Adapter Network.

Another busybox pod in the same cluster is able to connect to internet

rebataur@localhost:~> sudo kubectl get pods
NAME         READY   STATUS    RESTARTS   AGE
shell-demo   1/1     Running   1          39h
rebataur@localhost:~> sudo kubectl exec --stdin --tty shell-demo -- /bin/bash
root@localhost:/# curl -Is http://www.google.com | head -n 1
HTTP/1.1 200 OK

So the issue is that why Jupyter-Minimal is not able to connect to internet and install pip packages.

hi @ranjanprj the jupyter-minimal actually should do 2 things:

deploy a standard  jupyter server image from jupyter/minimal-notebook official image running in it
if used in combination with traefik be exposed to the outside world
Said that has no other configurations so it should be able to reach out the internet as any other pod.

I've tested it on my local setup and seems to work fine

just to confirm did you installed with
k3ai apply -g jupyter-minimal-traefik ?

close due inactivty


Minor typo on website

There is a typo on the website: "shoud" instead of "should" here:
https://github.com/silverbulletmd/silverbullet/blob/ff923b87187d6f61e20240a2326ff5980759e0c7/website/Live Queries.md?plain=1#L14
Cheers!

Yep, thanks!

Glad I could help a little. More thanks to you for this great app, though! (;


storage.ReadAt doesn't read with empty arrays

I think the line:
l := int64(len(b))
should be
l := int64(cap(b))
i.e. the length of data copied should be based on the capacity of the array and not how much it has already been filled by other data.

here's the analogous operation in standard library docco:
https://golang.org/pkg/os/#File.ReadAt

ReadAt reads len(b) bytes from the File starting at byte offset off. It returns the number of bytes read and the error, if any. ReadAt always returns a non-nil error when n < len(b). At end of file, that error is io.EOF.

go-billy needs to implement the same behaviour for consistency with standard library filesystem.
if b is an array (not a slice) then len(b) and cap(b) wil be equal, and if b is an empty array it is not possible for ReadAt to read anything without allocating, which is the responsibility of the caller


Add note on case sensitive view lookups to Razor doc

If you're interested in this one ...
This one comes from https://github.com/aspnet/MvcPrecompilation/issues/37. I just hit it when I had a misnamed view file and setup precompiled views for an app.

Hi @GuardRex, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

@GuardRex  nice


[stable/influxdb] No imagePullSecrets for private repository

Hi,
I am using the stable/influxdb chart with a private docker repository and with NO connection to the public repository.
In order to pull the images imagePullSecrets must be supported
p.s. is there a workaround for imagePullSecrets ?
Thanks
Lio

@carrodher can you please respond (if it is in your domain)
Thanks
Lior

@jackzampolin can you please assist
Thanks
Lior


The first request to disambiguate is slow and also memory is growing as more requests are coming in

I am wondering if this is caused by my configuration or something else.
We are testing entity-fishing disambiguate model in Kubernetes 1.24.
Using grobid/entity-fishing:0.0.6 image for testing and we followed the instruction in here
e.g.
curl 'http://localhost:8090/service/disambiguate' -X POST -F "query={ 'text': 'The army, led by general Paul von Hindenburg defeated Russia in a series of battles collectively known as the First Battle of Tannenberg. But the failed Russian invasion, causing the fresh German troops to move to the east, allowed the tactical Allied victory at the First Battle of the Marne.', 'processSentence': [ 1 ], 'sentences': [ { 'offsetStart': 0, 'offsetEnd': 138 }, { 'offsetStart': 138, 'offsetEnd': 293 } ], 'entities': [ { 'rawName': 'Russian', 'type': 'NATIONAL', 'offsetStart': 153, 'offsetEnd': 160 } ] }"

the very first request to the service is talking close to 30 seconds. In this case below, it took 25 seconds.
Any subsequent requests after that take less than 100 ms.
We are hitting the service using readinessProbe to make sure the service is available, but after the pod is ready, the first request either from outside or inside of the docker image is taking a long time.

[0:0:0:0:0:0:0:1] - - [13/Apr/2023:17:03:42 +0000] "POST /service/disambiguate HTTP/1.1" 200 205 "-" "curl/7.74.0" 1699                                                                                │
│ [0:0:0:0:0:0:0:1] - - [13/Apr/2023:17:03:53 +0000] "POST /service/disambiguate HTTP/1.1" 200 2017 "-" "curl/7.74.0" 25135                                                                                │
│ [0:0:0:0:0:0:0:1] - - [13/Apr/2023:17:03:56 +0000] "POST /service/disambiguate HTTP/1.1" 200 203 "-" "curl/7.74.0" 39

the memory of the server is consistently growing as more requests are coming in.
e.g. it is currently 21% but continue to go up and crash.

top - 17:17:59 up 1 day, 0 min,  0 users,  load average: 0.00, 0.01, 0.04
Tasks:   5 total,   1 running,   4 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15432.3 total,    430.2 free,   3694.9 used,  11307.3 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.  11407.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0 9632572 449000  29848 S   0.0   2.8   0:14.44 java
  116 root      20   0   80.4t   3.2g 444440 S   0.0  21.0   1:09.66 java
  145 root      20   0    6348   4116   3304 S   0.0   0.0   0:00.01 bash

Any insight on these two issues would be appreciated!

Hi, I can confirm that over time, the service loses performance.

Any solution?


Add documentation coverage test

A test should be included for making sure all provides have Scribble documentation

Requires a separate tool to install this package with the correct name to make using scribble xref tables work properly


Many people video chat.

Hello, I am also studying this, how to implement the third user to join, which code to modify, please help?

This is designed for 2 people in mind, I'm not entirely sure of all the places in need of a change but you could start looking in the code where there are assumptions that only two peers are connected.


if wrong option passed, then gr1c never returns

In bb292b4a9d9d90527269637b47d99c2e2acf1e86, gr1c --version or gr1c --foo never return.
In contrast, gr1c -foo says Invalid flag given. Try "-h".. Perhaps the -- is understood as signaling that a file name will follow. For example, gr1c --foo boo says gr1c, fopen: No such file or directory. So, it seems that the argument parser hangs, waiting for the next space, and ignores the foo substring.

Thanks for the report. Your proposed explanation is indeed correct.

This behavior also occurs with gr1c rg and gr1c patch.

Note that several arguments are permitted to have trailing text, provided that it is not ambiguous with another switch. E.g., gr1c -hhh has the same effect as gr1c -h. This could be considered a feature, but for the sake of precision, I will modify gr1c to demand exact matches.

Side comment: it would be nice to have --version as the long alternative of -V, because it is a very common option (for one, I always get it wrong with gr1c). For example, pip does so, -V, --version.

I agree. I will add it.


Exclude directories when creating a hub

It seems currently VHA2 can't exclude directories when creating hub. To workaround this, user needs to restructure their existing files (e.g. moving C:\videos\exclude_this out of C:\videos), which is inconvenient. Exclusion is common feature available in many other organizer applications. Suggest to implement this.
Alternatively, VHA2 could consider implement feature that allow multiple directories as source for a hub (e.g. C:\videos\include_this_1 and C:\videos\include_this_2). Both inclusion and exclusion could be useful in certain situations, so why not implement both if you have resource.

Thank you for the suggestion!
I'm currently working on allowing more than one folder as the source of the hub 👍

https://github.com/whyboris/Video-Hub-App/pull/444
https://github.com/whyboris/Video-Hub-App/pull/443

Excluding folders seems like it would be useful to some people. I'll see if I can add that feature with 3.0.0 release 👍

Multi source could serve the same purpose. Thanks.

VHA 3.0.0 will have multiple 'input' / 'source' folders so I'm closing this issue.
Please feel free to comment / create a new issue if you think it's still worthwhile trying to get the "exclude" to work.
ps - it might be a bit tricky to get "exclude" to work 😅

@whyboris I believe excluding a folder is different, and has different results, compared to having multiple input sources.  I think there should be an option to exclude folders.
Let's say I have a directory full of 100 folders, named folder_1, folder_2, folder_3, etc and I want to exclude folder_3, but include any new folders that are created.  When I add new folders named folder_101, folder_102, folder_103, etc, they will be included and only folder_3 is excluded (which is the desired behavior)
If we go with the multiple input approach, when folder_101, folder_102, folder_103, etc are created, then I have to go back in and add those new folders.  Then next month I have to add more new folders (folder_104, folder_105, folder_106), and then the month after that add even more folders, and so on.
So an exclude folder is different than allowing multiple input sources

It's not a bad feature to allow excluding of a folder. But at the moment I have my hands full just getting everything to work.
If this feature were to be added, it would be far in 2021 -- definitely not this year.

Please re-open the issue so it is not lost on the radar

👌 I'll keep this issue open as an invitation for someone to code it up and open a PR for it 👍
I would rather work on the facial recognition feature (that's already 50% functional as of about 1 year ago now -- I just can't find time for it with all the minor features and the version 3.0.0 release 😓 )

Just a comment:
It would clutter the UI (user interface) quite a bit to allow users to exclude folder during the creation of a hub (there are already very many settings that may be overwhelming).
It could make sense to allow users to exclude folders from the "Current hub" tab in the settings, after they have already created a hub.


Picture rotated 180 degrees and rotated -180 degrees should be consistent

Regarding the picture, I think that no matter where the center of rotation is, the result after rotating 180 degrees and rotating -180 degrees should be the same, that is, the obtained two-dimensional matrix should be consistent, but the result does not seem to be the case.
Reproducing code example:

from scipy import ndimage, misc
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 3))
ax1, ax2, ax3 = fig.subplots(1, 3)
img = misc.ascent()

img_180 = ndimage.rotate(img, 180)
img_reverse_180 = ndimage.rotate(img, -180)
ax1.imshow(img, cmap='gray')
ax1.set_axis_off()
ax2.imshow(img_180, cmap='gray')
ax2.set_axis_off()
ax3.imshow(img_reverse_180, cmap='gray')
ax3.set_axis_off()
fig.set_tight_layout(True)
plt.show()
print(img.shape)
print(img_180.shape)
print(img_reverse_180.shape)
print(img_180 == img_reverse_180)

Error message:

(512, 512)
(512, 512)
(512, 512)
[[ True  True  True ... False False False]
 [ True  True  True ...  True  True  True]
 [ True  True  True ...  True  True  True]
 ...
 [False  True  True ...  True  True False]
 [False  True  True ...  True  True False]
 [False  True  True ... False False  True]]
  ...

Scipy/Numpy/Python version information:

import sys, scipy, numpy; print(scipy.version, numpy.version, sys.version_info)
1.5.0 1.18.5 sys.version_info(major=3, minor=7, micro=1, releaselevel='final', serial=0)

Thank you for reporting the issue,
This seems to be a floating point precision issue. Internally, the flip angle is converted to radians and a rotation matrix is formed.  The true value for the sine of 180 (or -180) should be zero, but the internal code converts to radians with finite precision.
np.sin(np.deg2rad(180)) gives a value of 1.22464e-16 for +180 but -1.22464e-16 for -180. I think this precision issue is leading to the small numerical difference in the result.
I think the only way around this would be to add some custom code path for angles that are multiples of 90 degrees, but I'm not sure it is worth complicating this function for that. There is an existing NumPy function called rot90 that implements rotations by multiples of 90 degrees. rot90 is also more efficient than the more general ndimage.rotate because it can rely on only transpose and/or flipping operations without any need for interpolation.
You can verify rot90 gives a consistent result for +180 or -180 by adding the following to your example above:
import numpy as np
assert np.all(np.rot90(img, 2) == np.rot90(img, -2))

If that's the full issue, does switching to using special.sindg and special.cosdg resolve this?
In [1]: import numpy as np

In [2]: from scipy import special

In [3]: np.sin(np.deg2rad([180, -180]))
Out[3]: array([ 1.2246468e-16, -1.2246468e-16])

In [4]: special.sindg([180, -180])
Out[4]: array([-0.,  0.])

In [5]: np.cos(np.deg2rad([90, 270]))
Out[5]: array([ 6.1232340e-17, -1.8369702e-16])

In [6]: special.cosdg([90, 270])
Out[6]: array([-0.,  0.])

See gh-12721.   Using special.sindg seems to work at least for the case here.

Thank you very much!
开 2020年8月15日 在 上午3:57:54, Eric Moore<EMAIL_ADDRESS>写到:
See gh-12721. Using special.sindg seems to work at least for the case here.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you for your detailed explanation and the code just works!
开 2020年8月15日 在 上午1:54:32, Gregory R. Lee<EMAIL_ADDRESS>写到:
Thank you for reporting the issue,
This seems to be a floating point precision issue. Internally, the flip angle is converted to radians and a rotation matrix is formed. The true value for the sine of 180 (or -180) should be zero, but the internal code converts to radians with finite precision.
np.sin(np.deg2rad(180)) gives a value of 1.22464e-16 for +180 but -1.22464e-16 for -180. I think this precision issue is leading to the small numerical difference in the result.
I think the only way around this would be to add some custom code path for angles that are multiples of 90 degrees, but I'm not sure it is worth complicating this function for that. There is an existing NumPy function called rot90 that implements rotations by multiples of 90 degrees. rot90 is also more efficient than the more general ndimage.rotate because it can rely on only transpose and/or flipping operations without any need for interpolation.
You can verify rot90 gives a consistent result for +180 or -180 by adding the following to your example above:
import numpy as np
assert np.all(np.rot90(img, 2) == np.rot90(img, -2))
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Training time

Hi @zaiyan-x ,
I'm running and trying to reproduce your code for my project. But it takes quite a long for training.
I checked the log file and found out that most of the time is for eta optimization, which is around 3 to 5 seconds per one agent training iteration. So I just want to ask that in your experiments, how long did it take you to train one agent (Hopper, HalfCheetah)? And could you have any suggestion to reduce the training time?
Thank you a lot and have a nice day.
Best,
Linh

Hi @zaiyan-x,
I have added the logging time for optimizing the eta network.

I have tried several tricks to optimize the eta training time in each iteration with the main idea being to reduce the total training step required for optimizing eta network at each iteration. But I have no clue whether they work or not. Could you help me with this issue.
Thank you for your time and hope to hear from you soon.
Best,
Linh

Hi Linh,
I apologize for the delayed response. Due to ICML duties, I will come back to this later. Thank you for your understanding.
Zaiyan

Hi @zaiyan-x ,
Yub. Thank you for your respond :3 and have a good day.
Best,
Linh

Hi @zaiyan-x ,
I apologize for interrupting you.
If you have finished your work, could you please help me with this problem?
Thank you so much.
Best,
Linh

Dear Linh,
I apologize for the late reply, and I thank you for the interest in our work.
The eta optimization does take a long time even when we were training RFQI for NeurIPS submission. Currently the scalability of value-based distributionally robust RL algorithm is still an open problem. Unfortunately, there is no way to really circumvent this long training. Before landing on the route where we use g(s,a) as a surrogate function for all etas, we also tried directly solving the dual problem for all (s,a). You can revive this approach if you have time. I apologize that I cannot give you any substantial help in this.
Zaiyan

One thing I would bring up is that you can do early stopping in ETA function training. In many deep learning algorithms with two gradient update loops, the inner loop approximation can be on the looser side. But of course, if you want the optimal performance of RFQI, I suggest you prolong the training of ETA network.

Thank you so much.
I have tried to do early stopping. One thing I saw is that you create a new ETA network at each training iteration. I think it could be better to init the ETA network globally and one time at the init function of the RFQI class because we can hope that ETA could converge faster at a new batch. What do you think about it and have you tried it before?
Thank you again for your time.
Best,
Linh

I read your paper and have one question related to the Lemma 7 in the paper.

I was trying to derive the maximum values for y_i and T_gf, but I encountered some difficulties. Could you share your approach for calculating the maximum of both variables?
Thank you so much.
Best,
Linh

Dear Linh,
Global initialization of ETA seems a promising improvement. My implementation is strongly based on the intuition that every (s,a) needs an inner optimization (independently). But I think your way can potentially save a lot of time, and hopefully the training is stable enough to lead ETA network to a global optimum.
Regarding Lemma 7, this is due to the reward being bounded between [0,1]. You can see this by putting sup norm on everything in y_i and T_gf.
Thank you,
Zaiyan

Yub. I have trained the RFQI with global eta, and I found that it could help reduce the number of iterations required for inner optimization by 2 to 5 times. I also increased the tol param and reduced the learning rate of the eta network. I found that with the small learning rate, and told=5e-3 or 1e-2 instead of 1e-3, I can reduce the time for each interaction from 3s to 0.1s approximately. I will update the evaluation results on the robust benchmarks.

Our algorithm has algorithmic roots in Fitted Q-Iteration which formulates the Q-function estimation problem as a regression problem. I believe the algorithms you mentioned are not of this nature.
Best regards,
Zaiyan

Yub. Thank you for your answer.
I totally agree with it. And do you think the development of offline robust actor-critic methods is feasible?
Best,
Linh

I also want to say thanks a lot for your time, answers, and suggestions.
😄

Robust actor-critic methods are very challenging to design and analyze. Since we only have data, whether it is offline or online, that comes from the nominal model, the gradient will always be biased for the realizing worst model.
I recommend our colleague's work as a starting point: Natural Actor-Critic for Robust Reinforcement Learning with Function Approximation.
You are welcome and good luck on your robust endeavor,
Zaiyan

Thank you for your suggestion, I'll read this paper.
Best,
Linh


chore(main): release 1.4.21

:robot: I have created a release beep boop
1.4.21 (2024-05-28)
Miscellaneous Chores

deps-dev: bump phpstan/phpstan from 1.11.1 to 1.11.2 (#136) (b32c81e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/cedricziel/mattermost-php/releases/tag/v1.4.21 :sunflower:


feat: Tempfile Enhancements

Overview
Uses the tempfile crate to prevent resource leaking on temporary file destruction.

Fixed by 9df89c22ff62cc74b2196c6d04210ab1d9ded313