[Ingress] Service/Upstream name in the log

Is there a way to get the service (or upstream) name logged in the NGINX log_format ?
We are trying to export the NGINX logs into Elasticsearch, but we are only interested by the logs of particular applications. Right now, it's all mixed, there's no way to differentiate which pod/service is targeted. Sure, the targeted upstream address gets logged, but that does not help to process the log.

@edouardKaiser no because nginx does not provide a variable with that information.
Please use a custom template with this changes:
diff --git a/ingress/controllers/nginx/nginx.tmpl b/ingress/controllers/nginx/nginx.tmpl
index f88d559..ccedb7d 100644
--- a/ingress/controllers/nginx/nginx.tmpl
+++ b/ingress/controllers/nginx/nginx.tmpl
@@ -75,7 +75,7 @@ http {

     log_format upstreaminfo '{{ if $cfg.useProxyProtocol }}$proxy_protocol_addr{{ else }}$remote_addr{{ end }} - '
         '[$proxy_add_x_forwarded_for] - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" '
-        '$request_length $request_time $upstream_addr $upstream_response_length $upstream_response_time $upstream_status';
+        '$request_length $request_time [$proxy_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status';

     {{/* map urls that should not appear in access.log */}}
     {{/* http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log */}}
@@ -262,6 +262,7 @@ http {
             {{- end }}

             {{- buildProxyPass $location }}
+            set $proxy_upstream_name "{{ $location.Upstream.Name }}";
         }
         {{ end }}

Works like a charm, thanks. I'm surprised no one was missing that information in the logs.

@edouardKaiser awesome. This change will be included in the next release.


Workaround for #427

Give users the option to specify a non-NFS temp dir. Then if a db lock error occurs, copy the db file to this temp dir, do all sqlite queries there, and then copy the db back.

Formerly know as https://github.com/arq5x/gemini/pull/434

fantastic, thanks @bw2


[incubator/sparkoperator] Upgrade version to v1beta1-0.9.0

What this PR does / why we need it:
Upgrade the operator version to v1beta1-0.9.0. It also combines the creation of all RBAC related objects under the same control flag, instead of separating creation of the service accounts from that of the rest of RBAC configuration.

The changes to move the service accounts from their dedicated YAML files to the RBAC YAML files seem unnecessary. And we shouldn't delete the create option for service accounts in values.yaml. The names should be empty by default too. These are recommended in the Helm chart best practices.

All right, reverted all changes but the ones to upgrade the version.

/lgtm


System start does not work

The instructions say :
sudo systemctl enable roomberry.service
system roomberry start
2nd command "system roomberry start" results in :
pi@raspberrypi:~ $ system roomberry start
bash: system: command not found

Shouldn't this be :
sudo systemctl start roomberry

It depends on your user. You are using the default user pi. I run and configured the service with root user.

Ok, I was logged in as pi …. Maybe add this to the documentation ?
From: Daniel Macías<EMAIL_ADDRESS>Sent: 04 September 2018 13:48
To: danimaciasperea/Roomberry<EMAIL_ADDRESS>Cc: Tokn59<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [danimaciasperea/Roomberry] System start does not work (#3)
It depends on your user. You are using the default user pi. I run and configured the service with root user.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdanimaciasperea%2FRoomberry%2Fissues%2F3%23issuecomment-418337743&data=02|01||daaaec04a9ce4a349d1608d6125c521b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636716585047354373&sdata=rhVSHOqv3fYEYp8vU6lzFISVgE2rKl1Ldeyhnv85dsA%3D&reserved=0, or mute the threadhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIyc_9HaseHsxT5BBvSKY0upJqHJBafiks5uXmiHgaJpZM4WY0Q4&data=02|01||daaaec04a9ce4a349d1608d6125c521b|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636716585047354373&sdata=ykxP1M5h55O9u7vUhqFyDMu5Q1lSzhRzs98F4RRYhFE%3D&reserved=0.


{@link} not working to same name import that is both a class and a namespace

Search terms
same name class namespace link
Expected Behavior
Given NamespaceClass.ts:
declare namespace NamespaceClass {

}

/**
 * NamespaceClass documentation...
 */
class NamespaceClass {

}

/**
 * My docs
 */
export class UnambiguousClass {

}

export default NamespaceClass;

And index.ts:
import NamespaceClass from "./NamespaceClass";

/**
 * See {@link NamespaceClass}
 * See {@link NamespaceClass:class}
 */
export const MySymbol = new NamespaceClass();

Actual Behavior
A warning occurs and the link is not created:
warning Failed to resolve {@link NamespaceClass} in MySymbol with declaration references. This link will break in v0.24.
warning Failed to resolve {@link NamespaceClass:class} in MySymbol with declaration references. This link will break in v0.24.

Steps to reproduce the bug
See: https://github.com/TypeStrong/typedoc-repros/pull/14

Environment

Typedoc version: 0.23.7
TypeScript version: 4.7.3
Node.js version: v16.14.0
OS: macOS 12.2.1

There's a few things here:

NamespaceClass isn't exported from an entry point: https://github.com/frank-weindel/typedoc-repros/blob/namespace-class-link/typedoc.json#L3, so there's no way to link to either the class or the namespace since they aren't included in the documentation. If you add export { NamespaceClass } to index.ts, the links will resolve as expected
TypeDoc resolves links after creating reflections, using what's exported. It does not take into account what symbols you have in scope.

Thanks! I'll give your advice a shot


Extend the API of ExcelService to allow the import/export of multiple domain objects (ie one list per sheet).

Currently the module only allows one list of domain objects to be imported/exported, that being on a single sheet.
This ticket is to extend the API so that
(a) a list of list of domain objects could be exported, each list on a different sheet, and
(b) conversely, a workbook with multiple sheets could be imported, returning the list of list of domain objects.


training: Remove unnecessary const qualifiers

This fixes several gcc warnings:
warning:
type qualifiers ignored on function return type [-Wignored-qualifiers]
Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

true


Implement move_tag_to in TagSVG

prerequisite for features like drag and drop

If you want to take a shot at implementing this, you should use the tags_moved_to signal and make it work with the possibility of selecting multiple tags (e.g. with Ctrl+Click). You'd also need to have the Indications signleton listen for this signal and update those selections. This is why I left it for later, it's a really difficult task not just from a UI standpoint. I wouldn't try to tackle it until I have the UI to check various tricky scenarios with tag nesting, selections at different depths and and such, to make sure they all work.

am not sure if I completely understand you but  I have switched to tags_moved_to

If you want to take a shot at implementing this, you should use the tags_moved_to signal and make it work with the possibility of selecting multiple tags (e.g. with Ctrl+Click). You'd also need to have the Indications signleton listen for this signal and update those selections. This is why I left it for later, it's a really difficult task not just from a UI standpoint. I wouldn't try to tackle it until I have the UI to check various tricky scenarios with tag nesting, selections at different depths and and such, to make sure they all work.

ohh, allow multiple tags

You'd also need to have the Indications singleton listen for this signal and update those selections. This is why I left it for later, it's a really difficult task not just from a UI standpoint. I wouldn't try to tackle it until I have the UI to check various tricky scenarios with tag nesting, selections at different depths and and such, to make sure they all work.

You must still update Indications.gd to connect to this signal and update the selections. I'm also almost certain this won't work, for one, you don't take into consideration that a tag you're moving might have child tags, which should also have their Tag IDs updated, also you're using add_tag() which should only be used when you actually add tags.

<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g><g><circle cx="4" cy="4" r="1"/></g><circle cx="7" cy="8" r="1"/></g><circle cx="2.5" cy="12.5" r="1"/><circle cx="10.5" cy="2.5" r="1"/></svg>
Basic example of a SVG with nesting that can be used for testing a UI.

You'd also need to have the Indications singleton listen for this signal and update those selections. This is why I left it for later, it's a really difficult task not just from a UI standpoint. I wouldn't try to tackle it until I have the UI to check various tricky scenarios with tag nesting, selections at different depths and and such, to make sure they all work.

You must still update Indications.gd to connect to this signal and update the selections. I'm also almost certain this won't work, for one, you don't take into consideration that a tag you're moving might have child tags, which should also have their Tag IDs updated, also you're using add_tag() which should only be used when you actually add tags. You also need to take into consideration that if a tag and its child tag is selected, only the parent needs to move. Check out how this logic is implemented in the above functions.
this isn't really testable without some kind of UI that implements the ability to move tags

the tag child are considered since am pop the tag it self it will move with its children, am working on drag and drop currently and child tag move with there parent tag

implemented in #224


Bookstore

Create a bookstore environment where users can browser and search books.

Should be accessed through the URL /search

completed


JSX type errors caused by multiple versions of @types/react

Please list the package(s) involved in the issue, and include the version you are using

@shopify/checkout-ui-extensions-react 0.15.0
@shopify/shopify-cli-extensions 0.2.1

Describe the bug
A new projected created by our CLI with the typescript-react template has type errors.

Steps to reproduce the behavior:

Run shopify extension create and follow instructions (pick the ´typescript-react` template
Navigate to the generated extension folder
Open src/index.tsx in your editor -> Type ERROR

Expected behavior
There should be no type errors when creating a brand new extension. This doesn't make for a good first time impression.
Screenshots

Additional context
Did some digging and the issue is caused by multiple versions of @types/react being present at the same time. One version v17.0.45 is installed by being a direct dependency of @remote-ui/react and the other one is coming from @types/react-reconciler which just has "@types/react": "*" listed in its dependencies. This leads to that package installing @types/react v18.0.9 on top of the already existing 17.0.45. Because both packages define the same types globally, there is a conflict and we'll end up with type errors in our editor as pictured above.

@kumar303 I'm not sure which board we use to track issues for this repository. Which project board would be appropriate to add this one to?

Thanks for filing this, Marvin. We are tracking this in a few places, scattered across various repos 😅
Here's the upstream issue in remote-ui and here's a patch in progress to fix the extension template which is fixing the template issue.

Still getting this issue with CLI. 3.0 when trying to use the Banner component:
Unreachable code detected.ts(7027) 'Banner' cannot be used as a JSX component.


colorschemes/base16: add settings + refactor to fix #1675

Removed the enum restriction on the colorscheme option, allowing anything to be passed through, including raw lua. This fixes #1675
Settings
Added support for the plugin's "advanced" config settings and simplified the extraConfig implementation.
As some of their API is undocumented, I've opened https://github.com/RRethy/base16-nvim/pull/102. Should we wait for acknowledgement?
Enum
Previously, we listed all builtin base16 colorschemes in theme-list.nix, however this means we have to maintain that list, ensuring it tracks any upstream changes.
Also worth noting that upstream don't always have their docs up to date. I've opened a PR to hopefully address this: https://github.com/RRethy/base16-nvim/pull/103.
Having a ~240 value enum type wasn't particularly readable though, anyway...
Current documentation (screenshot)

Refactor
I've cleaned up some of the implementation. In particular, I found a more readable way to define customColorschemeType using stringToCharacters and genAttrs mapAttrs on the example attrs.
Rename
EDIT: this section is irrelevant now that we know the lua API (setup) doesn't use the base16- prefix.
Details

I toyed with renaming the option to colors to match upstream's internal name, and to allow automatically apply the prefix to be done only when the old name was used.
In the end I decided the rename wasn't worth it. Let me know if you disagree.

vimPackages/start/base16-nvim/lua/base16-colorscheme.lua:705: module 'colors.base16-gruvbox-dark-hard' not found:

Turns out the base16- prefix only applies when using the vimscript api (:colorscheme), the lua implementation has no prefix.
This is good, because we don't need any new warnings or changed behaviour!

@mergifyio queue

@mergifyio queue

@mergifyio queue

@mergifyio queue

@mergifyio queue


added note about backing up old license key

#5102

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@MaratMussabekov Please resolve conflicts within your branch to move forward with the review.

Just to help you out with the merge conflict, the change was made in commit https://github.com/MicrosoftDocs/windows-itpro-docs/commit/445e27a7effaddc04c6c024178d2dc9a0e0c7110 with your PR file getting changed as follows:

https://github.com/MicrosoftDocs/windows-itpro-docs/commit/445e27a7effaddc04c6c024178d2dc9a0e0c7110#diff-25e9ae4d3f7d961ecfb448a1215ad0cf

The relevant change in line 8 of the source document:
- audience:
+ audience: itpro

(One of my own PRs was affected by the same commit, so I found this change after getting a merge issue, adding an extra file, after performing a local merge in the source on my local computer.)


TGP-1061: new url for no records

A new url has been proposed by design for traders without records.
Tested in local and works fine

Nice and simple, LGTM


How to resolve provider initialization dependencies

Is it conceivable to automatically resolve provider dependencies at initialization time?
See https://github.com/open-quantum-safe/oqs-provider/issues/159 for the concrete problem.
Background: oqsprovider depends on liboqs which in turn uses openssl for some classic crypto operations (SHA,SHAKE,AES). Now, if for some reason oqsprovider is initialized first (e.g., if passed first on the command line via -provider option), initialization fails as the default provider is not yet available to permit liboqs to initialize openssl's classic crypto code (due to resolving an "OpenSSL3 anti-pattern" https://github.com/open-quantum-safe/liboqs/issues/1427). Just turning around the parameters on the command line resolves the issue: -provider default -provider oqsprovider guarantees proper system startup. It may be pretty surprising to users that the order of providers listed on the command line decides whether or not the command works.
Also see discussion in https://github.com/open-quantum-safe/liboqs/issues/1462.

Responded in the linked issue.

Thanks @paulidale @t8m for feedback and suggestions. The acute issue for oqsprovider is thus resolved.
But the nagging feeling remains (whether order of provider initialization should have a reading on their proper functioning)? Might it be an idea to add a "provider prerequisite" facility to OpenSSL? Along the lines "this provider requires these algorithms" -- such that OpenSSL itself can issue a warning if such dependencies are not met -- or can meet them by changing the initialization order suitably if all required providers are configured (possibly just in the wrong order)?
But then again, this seems too much effort for a corner case. Maybe all that's needed is some documented warning to provider implementers....

I am not sure making a list of algorithms a provider requires and provides makes that much sense as providing one algorithm might require one set of algorithms but providing another algorithm could imply requirement of completely different set. In other cases the required algorithms might be even depending on parameters of an algorithm.
I think documenting that provider initialization should not depend on another provider being initialized should be sufficient.

as providing one algorithm might require one set of algorithms but providing another algorithm could imply requirement of completely different set

Good point.

documenting that provider initialization should not depend on another provider being initialized should be sufficient.

OK ... stating rather "...provider initialization should not depend on another provider having been initialized..."?

marking as inactive, will be closed at the completion of 3.4 dev without further input

@nhorman Please note #24884 closing this issue for good. If this "inactive" label disables notifications/requests for review(?), please also remove that. Thanks.

@baentsch thanks for the heads up, the inactive label does nothing here regarding notifications.  It only serves as a marker for issue cleanup  later in the dev cycle.


Removed getDerivedState -> componentDidUpdate

Tries to resolve the issue brought in #155

@FrikkieSnyman does this resolve your use-case mentioned

Can you try the branch out @FrikkieSnyman so I can move on and release the changes
Thanks !

Sorry, busy week! Will try get to it this week!

Thanks !

Just tried it out, looks good! Thanks!

Thanks for helping out! Will make a release


Verify updated HoloPy dependencies

HoloPy 3.3 introduces new dependencies of packages and versions (incl. python >= 3.7) and removes some others. We want to make sure this is properly reflected in the distribution. We need to be a bit smart about things like emcee, since it's not a strict dependency but easy to install the wrong version by mistake if doing it manually.

See also this HoloPy issue for a list of current dependencies on Travis that may need to be enforced here as well.

Fixed in #24


Using  inside

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
Hi!
I need translate some select <options>  with the  component. For example:

          <Translate id="hero__subtitle" description="home page subtitle">
            Other subtitle
          </Translate>

          <select>
            <option value="left">
              <Translate id="test.left">Left</Translate>
            </option>
            <option value="right">
              <Translate id="test.left">Right</Translate>
            </option>
          </select>

This renders an [object Object] string

This is a fork from  https://docusaurus.new --> https://github.com/luisamor/docusaurus-options-issue
And you can test it in:
https://stackblitz.com/edit/github-zuuia5-wgx6mj?file=src/pages/index.js
Reproducible demo
https://stackblitz.com/edit/github-zuuia5-wgx6mj?file=src/pages/index.js
Steps to reproduce
Simply look at the  in the main page.
Expected behavior
I wanna see the text or the translated text, not an object.
Actual behavior
 inside a HTML  renders an Object.
Your environment

Public source code: https://github.com/luisamor/docusaurus-options-issue
Public site URL: https://stackblitz.com/edit/github-zuuia5-wgx6mj?file=src/pages/index.js
Docusaurus version used: 2.1.0
Environment name and version (e.g. Chrome 89, Node.js 16.4): Chrome 105.0.5195.125 & node >=16.14
Operating system and version (e.g. Ubuntu 20.04.2 LTS): macOS Monterey 12.2.1

Self-service

[X] I'd be willing to fix this bug myself.

Hi—Translate is a JSX.Element, which is an object. If you want to use a string (which option accepts as its children), you need to use translate(). This is already mentioned in the docs: https://docusaurus.io/docs/i18n/tutorial#translate-your-react-code

Use the one that better fits the context semantically. For example, the <Translate> can be used as React children, while for props that expect a string, the callback can be used.

Docs updated in https://github.com/facebook/docusaurus/pull/8115 to make it more explicit


use the same topic convention as the console

in the console of the DSH, you can add a topic as a environment variable. please use that convention as well in the example

Do you mean the hardcoded topic in the produce_consume.rs example?


Umbrella Helm Chart

Description

The purpose of this Feature is to built an umbrella helm chart including seeding data, so that it is possible to have an easy entrance point for new developer, or tech leads, e2e testing, validation of services and to get to know how catena-x works.
It will include:

an highly configurable umbrella helm chart
seeding data for various purposes (E2E-Testing, Tutorials,...)

Link
IRS

parent of https://github.com/eclipse-tractusx/item-relationship-service/issues/312

Impact

Newcomers have an easy entrypoint to learn what catena-x is about and how it can be used.
With the tutorials #430 built upon this it will be a good way of providing one structured documented way of deploying and testing the FOSS services and applications.
Additional information

https://github.com/eclipse-tractusx/e2e-testing/blob/main/plan.md

was presented in open planning -> contributors and committer are involved

Hello @jzbmw, @mkanal
Since the feature is a 24.08 feature and the development phase is coming to an end, we need a status on the feature.

[ ] Currently you are assigned (Responsible) → Is this correct? If not, please assign the correct contact person
[ ] Please check whether the status (backlog, work in progress ...) is set correctly
[ ] Please check whether there is an assignment to a committee or expert group (supported-by) to be found on the board
[ ] Please comment on the current status of the feature
[ ] Are all SubTasks (issues from other repositories that deal with the feature) linked? → The easiest way is to mention the feature here in the issue (via the ID) so we can see which teams/repositories are involved.

If you need any clarification, please get in touch, thank you very much.
Stephan

Hello @jjeroch ,
if you agree, I would close the ticket as all work is done and Umbrella HELM is ready and could be used.
Thank you very much
Martin

Status
The currently integrated components are following (state R24.03):

portal
centralidp
sharedidp
bpndiscovery
discoveryfinder
sdfactory
managed-identity-wallet
semantic-hub
dataconsumerOne (tractusx-edc, vault)
tx-data-provider (tractusx-edc, digital-twin-registry, vault, simple-data-backend)
dataconsumerTwo (tractusx-edc, vault)

Enabled subsets: Data exchange and Portal
Please have look at the README.md for a more detailed overview.
As the integration works to enable a sandbox environment (to have an easy entrance point for developers and adopters to experience our developments hands on but also to enable e2e testing) is a continuous effort, I created the following follow up issue: https://github.com/eclipse-tractusx/sig-release/issues/710


swagger2tsclient: parameters not parsed

I see the following exception:
---> (Inner Exception #0) Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[NSwag.SwaggerParameter]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.

It seems to be a problem when using the parameters definition object, as it has the same name as the path item object:
http://swagger.io/specification/#parametersDefinitionsObject
Example JSON:
https://dl.dropboxusercontent.com/u/6239/Keep/swagger.json

Parameter refs are currently not supported, but ill see how we can implement a more generic ref handling..

... for now you have to preprocess the swagger spec and inline those param refs..

Fixed in https://github.com/NSwag/NSwag/commit/9cc992c88492e269430cb6753eeee36c12dfdb12

Try v4.2... you should use MultipleClientsFromPathSegments as OperationGenerationMode because the operation IDs are missing in your Swagger spec...

Please report if everything works fine with this update...


cert-manager tries to follow CNAME while "cnameStrategy" is set to "None"

Describe the bug:
I have the same issue as seen in #3460, which should be fixed by setting "cnameStrategy" to "None" (the default).
My domain example.tld has the following record:
*.example.tld.        86400   IN      CNAME   otherdomain.tld.

I'm using RFC2136, here is my solver config:
  solvers:
    - dns01:
        cnameStrategy: None
        rfc2136:
          nameserver: 192.168.XX.YY:53
          tsigAlgorithm: HMACSHA512
          tsigKeyName: letsencrypt
          tsigSecretSecretRef:
            key: tsig-secret-key
            name: tsig-secret

cert-manager tries to follow the CNAME for the propagation check:
wait.go:73] Updating FQDN: _acme-challenge.example.tld. with its CNAME: otherdomain.tld.
sync.go:183] cert-manager/controller/challenges "msg"="propagation check failed" "error"="DNS record for \"example.tld\" not yet propagated" "dnsName"="example.tld" "resource_kind"="Challenge" "resource_name"="example.tld-tls-vgdn6-4168607700-2268725162" "resource_namespace"="example" "type"="dns-01"

When I try to set cnameStrategy to "Follow" I get another error:
controller.go:158] cert-manager/controller/challenges "msg"="re-queuing item  due to error processing" "error"="DNS update failed: dns: bad authentication" "key"="example/example.tld-tls-vgdn6-4168607700-294454543"

So it may be just an issue with the propagation check.
Expected behaviour:
cert-manager should not follow the CNAME for the propagation check.
Steps to reproduce the bug:
Configure rfc2136 issuer and domain with Wildcard CNAME Record.
Anything else we need to know?:
Environment details::

Kubernetes version: v1.18.10
Cloud-provider/provisioner: bare metall
cert-manager version: 0.16.1
Install method: https://github.com/bitnami/kube-prod-runtime/blob/master/docs/quickstart-generic.md

/kind bug

Seems to be related to the rfc2136 issuer not having access to otherdomain.tld in the 2nd case. Could you check that?
/triage needs-information

Seems to be related to the rfc2136 issuer not having access to otherdomain.tld in the 2nd case. Could you check that?
/triage needs-information

Yes, the issuer has no access to otherdomain.tld. But I expected him to add A-Records to example.tld and not to try to follow the CNAME.

Yes, the issuer has no access to otherdomain.tld. But I expected him to add A-Records to example.tld and not to try to follow the CNAME.

The same happens with the route53 issuer.
I think its caused by that change: https://github.com/cert-manager/cert-manager/pull/670
it makes it follow the CNAME to find the SOA domain in which the challenge is created.
In our example, we have a CNAME to WAF, and when following the CNAME for SOA we get:
$ dig @<IP_ADDRESS> app.example.com. SOA
(...)

;; ANSWER SECTION:
app.example.com.	300 IN	CNAME	foobar.x.incapdns.net.

;; AUTHORITY SECTION:
x.incapdns.net.		300	IN	SOA	ns1.x.incapdns.net. hostmaster.incapsula.com. 5 3600 600 604800 60

And our route53 issuer fails as it cannot find hosted zone for x.incapdns.net.
A working workaround is to enable the Delegated Domains for DNS01
      dns01:
        cnameStrategy: Follow

and create a CNAME record _acme-challenge.app.example.com -> _acme-challenge.app-acme.example.com
That makes it use _acme-challenge.app-acme.example.com for the TXT challenge, which is in the same hosted zone where the app.example.com CNAME record is.
Maybe we could have a flag to disable that CNAME following for SOA?


Adds Naota outfit.

About the PR
Adds a turquoise hoodie and dark brown pants to the Autodrobe. Wearable on the inner clothing slot.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:Hyenh

add: Added fun!
remove: Removed fun!

The YAML linter's report is valid. Have a look at your meta json. You specify OUTERCLOTHING when you should specify INNERCLOTHING.

The YAML linter's report is valid. Have a look at your meta json. You specify OUTERCLOTHING when you should specify INNERCLOTHING.

Ah, got it.


Do not set environment variables

I have found 3 instances of ISOFIT settings environment variables inside the Python library. This is generally not acceptable because users employing ISOFIT combined with other tooling will see behavior changes caused by ISOFIT setting these variables. For example, just importing isofit.core.luts will disable HDF5 locking for ANY h5py code operating in the same scope. In code terms, the h5py.File() call will have locking disabled:
import isofit.core.luts
import h5py

# Not actually interacting with 'isofit', but locking is disabled for the line below.
with h5py.File('data.h5', 'r') as f:
    ...

HDF5_USE_FILE_LOCKING
MKL_NUM_THREADS
OMP_NUM_THREADS

Thanks for opening this.
@jammont, I believe we can use the locking parameter instead of the environment variable for HDF5_USE_FILE_LOCKING (see https://docs.h5py.org/en/stable/high/file.html#reference).
MKL and OMP num threads are trickier because of the number of modules that may using threading under the hood.  Here are some viable options:

Purge entirely and require users to set these parameters - but most users will want these set and would have to thoroughly read documentation to know they need to be set
Migrate the MKL and OMP environment changes to apply_oe.  The idea being anyone using apply_oe will want this, and it is less likely - thought not impossible - for apply_oe to be called in the same scope as other code.  However, this wouldn't satisfy individual inversions....so for example, most tests would now need multiple environment calls to operate efficiently.
Leave these two as-are and make their being set more explicit in documentation, understanding that these impact only performance.
Comb through and attempt to set every packages thread limit on load.  From experience, this is hard to do.

Open to thoughts and suggestions!

Ray has a mechanism for defining environment variables within the worker environment. I suspect that Ray is effectively doing something like:

I believe we can remove HDF5_USE_FILE_LOCKING. This was implemented back when we were trying to stream multiple writers to the single netcdf in parallel which needed to disable the locking, but now that we lock the file anyways it is no longer relevant.

HDF5_USE_FILE_LOCKING is now removed.
Suggestion is to check OMP / MKL environment values and raise a very strong warning.


For some pdf file, some pages shows nothing

http://cocosci.berkeley.edu/tom/papers/features1.pdf
The page 3,5,6 shows blank instead of contents
The page 4, the formula broken

The following PDF has a similar blank page problem on page 8: http://arxiv.org/pdf/1010.2822v1

Please close this, the blank pages are fixed in newest version.


Added the dancing bars animation

#4808

Close #4808 >

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

@MohitGupta121  @TusharKesarwani  please review it

@MohitGupta121 @TusharKesarwani please review it

@MohitGupta121  @TusharKesarwani  please review it


CI for Node.

game.test

Sets the current player to be whoever it is not

Initializes with two players

Initializes with two players

Starts the game with a random player

Starts the game with a random player


Rest swagger specification : Deal with modules in CARMIN 0.2

We're currently targeting CARMIN 0.2 for the first swagger specification release.
One issue is to decide what to do with the "Data", "Management" and "Commercial" modules still in discussion in CARMIN 0.2 (so I gather they are not a part of it) but mentioned at different places.
In fact, only the Management module is mentioned via "studyIdentifier" in several places in the Processing module. And I reckon studies are important in CATIDB because one is mandatory  to launch an execution (which does not seem valid relative to the CARMIN spec).
I propose to keep the various studyIdentifier throughout the Processing module with an optional status everywhere and to not include any study related method (like those present in the current develop swagger file).
The second question is whether to include these modules in the module enum returned in the platform properties. I think we should keep what was specified in the CARMIN 0.2 and done in the SOAP API, ie keep "Processing", "Data", "Management" and "Commercial".
Even though these aren't well specified the platform could declare it supports methods relative to those notions. In particular, declaring the module "Management" could inform that the platform support study and user related stuff and deal with the optional studyIdentifier present in the base Processing module (CATIDB for instance).

Modules Data, Management and Commercial are not in 0.2.
I agree for keeping the studyId optional everywhere (that's how it is in the spec) and not including the study management methods in version 0.2.
I also agree that the platform could support unspecified modules. The list doesn't even have to be limited to Data, Management and Commercial I think.

After a meeting, the following decisions have been accepted :

swagger file shall not contain study related methods
studyIdentifier will be kept and optional everywhere in the processing base module
The module enum remains and is the same as in CARMIN and SOAP : "Processing", "Data", "Management" and "Commercial"


How can I run the video module to achieve real-time detection?

Hello I want to know the speed of deeplabv3+ ,and I try to run that:
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from matplotlib import pyplot as plt
import cv2 # used for resize. if you dont have it, use anything else
import numpy as np
from model import Deeplabv3
deeplab_model = Deeplabv3()
def detect_video(deeplab_model):
import cv2
vid = cv2.VideoCapture(0)
if not vid.isOpened():
raise IOError("Couldn't open webcam or video")
accum_time = 10
curr_fps = 10
fps = "20"
prev_time = timer()
while True:
return_value, frame = vid.read()
res = deeplab_model.predict(frame)
	result = array_to_img(res)
    curr_time = timer()
    exec_time = curr_time - prev_time
    prev_time = curr_time
    accum_time = accum_time + exec_time
    curr_fps = curr_fps + 1
    if accum_time > 1:
        accum_time = accum_time - 1
        fps = "FPS: " + str(curr_fps)
        curr_fps = 0
    cv2.putText(result, text=fps, org=(3, 15), fontFace=cv2.FONT_HERSHEY_SIMPLEX,
                fontScale=0.50, color=(255, 0, 0), thickness=2)
    cv2.namedWindow("result", cv2.WINDOW_NORMAL)
    cv2.imshow("result", result)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
deeplab_model.close_session()

detect_video(deeplab_model)
but it doesn't work!
I thank I need your help thanks.

If you want to get useful help, you need to make everything as clear as you can.
I can't help you, because "It doesn't work" can mean nearly everything.

Thank you for your warm reply. I'm sorry, there's no specific information. I read your test code, knowing that I first read a picture and scale the length and width of the image. Finally, the prediction function is used. So I changed it on your code, changed it to a camera to catch a picture, predict the picture, and finally show the prediction in a window. However, the result of window detection is not the result of prediction, but the capture of the camera in real time, and there is no corresponding file in the folder.
And my computer's GPU was not working at that time. I don't know what's the reason.

And I want to ask how fast deeplabv3+ real-time detection speed, I want to use yolov3 and deeplabv3+ for real-time detection to achieve the effect of instance detection, do you think it is feasible?

@ll1214  i'm not sure it can work real-time due to big size, you will need some hacks to make it work

@ll1214 from my experiments, deeplabv3+ with mobilenetv2 running on K80, batchsize=2 imagesize 512x512, achieves ~0.5-0.6 sec per frame.

@bonlimeYes, this is because of the size of the picture, I just solved it, but my problem now is that I can't display the predicted results in OpenCV. The picture is 21 dimensional.  and my code is
''  resized2 = np.pad(resized,((0,pad_x),(0,0),(0,0)),mode='constant')
    res = deeplab_model.predict(np.expand_dims(resized2,0))

    labels = np.argmax(res.squeeze(),-1)
    cv2.namedWindow("result", cv2.WINDOW_NORMAL)
    cv2.imshow("result", labels[:-pad_x])

''
and have this error:
cv2.imshow("result", labels[:-pad_x])
error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:331: error: (-215) size.width>0 && size.height>0 in function cv::imshow
I hope you can help me.Thank you very much!


Make channels field optional within an AsyncAPI file.

Context
This is part of the RFC https://github.com/asyncapi/spec/issues/618#issuecomment-980093487.
In an effort around reducing the scope of such RFC, it has been split into several proposals so they can move forward independently.
The problem
From https://github.com/asyncapi/spec/issues/628#issuecomment-968050476:

One way we have seen the specification being used is in a Dictionary type of AsyncAPI document, which is a type of pattern for defining definitions for the common information, shared by each separate application.

However, users have been forced to declare an empty object as a value for the channels field since this is not optional.
Suggestion
To make channels field optional.
It depends on https://github.com/asyncapi/spec/issues/660, because without it perhaps it won't make a lot of sense.

I think this one is pretty easy to push for January 2022 release. Change is small, and I know people use AsyncAPI just to list messages in components, and they do not need channels object and just leave it empty.
@Fannon not sure if you are the one that uses AsyncAPI this way or someone else from SAP? don't remember 😅

@derberg : What do you mean with "this way" excactly?
In the case of using CloudEvents, having channels with topic names may not  bean ideal fit because with CloudEvents you would subscribe via "type" or "source" properties. A topic / channel then becomes an implementation detail or may not fit very well.
However, channels still make sense to indicate which events from messages are actually subscribable / actively sent (as opposed to events which are technically supported, but not "active").
If you need any more background, I can get in contact with my colleagues. I'm not working on this directory, but I'm in contact with the colleagues who do.

oh sorry, so I meant that someone from SAP uses AsyncAPI in a way that channels are just channels: {} and then just messages are listed in components. But yeah, I forgot how big SAP is and that probably it was someone not related to the work that you are doing 😆
this is the case I was talking about https://github.com/asyncapi/parser-js/issues/210

PR's has been created:

https://github.com/asyncapi/spec/pull/682
https://github.com/asyncapi/spec-json-schemas/pull/146

As per asyncapi/spec-json-schemas#146 (comment), we won't include this change in 2.3.0 but rather in 3.0.0.

@dalelane @fmvilas @derberg would you mind removing the stale label? thanks

We can close this one as it was introduced in https://github.com/asyncapi/spec/pull/827
cc @derberg @fmvilas @dalelane

Moving to RFC 1. It's still missing JSON Schema and Parser implementations. I'll update the label once it's ready.
I know an RFC 1 should be a pull request but I think we can just make an exception here for now.

This issue is still relevant. Should be marked as completed once AsyncAPI v3 gets released.

https://github.com/asyncapi/spec/issues/661#issuecomment-1509415056


File not found while compiling dcn module.

There are some missing files, such as deform_conv_cuda_kernel.cu. More details can be found here, https://github.com/open-mmlab/mmdetection/tree/master/mmdet/ops/dcn/src, copy this into src directory can be fixed.

Thanks, we have uploaded this file.


Full support for history navigation

At the moment you can only go back one history element. Every "back" navigation after the first one just reloads the current page. History forward needs implementation as well.

Could you explain why you closed this?

https://github.com/frickegroup/repguide/commit/692a484909c3fc4599f86e0396d0596f633af5e8


Advisory on how to deal with Loading Errors

Hi there,
we currently experience Cases, where the Player works fine as always, but suddenly, one or two Chunks are not available (for what Reason ever and return 404). I am not sure, how this is handled correctly. Currently, I get an Error Event, which is probably fine. Is there a Way to tell SHAKA to ignore this and "just continue" or at least, try the next 3-5 Chunks and see, if it works then? And will the Error Event reflect this somehow?
I am sorry, if this is documented somehow, but I couldnt find it (is this jumpGaps maybe?).
Thank you,
Christoph

If the event's severity is shaka.util.Error.Severity.RECOVERABLE, then playback may be able to continue.  To continue playback, you can call player.retryStreaming(), either from the configurable streaming.failureCallback, which accepts an Error object, or from an error event handler on the player.  The default behavior for an unconfigured streaming.failureCallback is to retry automatically on certain error codes for live streams, but not on VOD.  See defaultStreamingFailureCallback_ in lib/player.js.
Does this help?

After I wrote this Ticket, I also remembered the failureCallback Handler (which we use already in LIVE Cases). So, if this is the suggested best Way to handle "inaccessable Chunks", I will go with that, thanks.
And - excuse me, if I missed something, but what are these smallGaps/largeGaps und Limits for?

The idea of gap jumping is not to handle missing segments, but gaps between segments or periods in the presentation timeline.  When a gap is encountered during playback, a "small" gap is automatically jumped.
You can configure the limit of what is considered "small" with player.configure('streaming.smallGapLimit', ...), and you can also override the behavior for "large" gaps.
To change large gap behavior, you can set player.configure('streaming.jumpLargeGaps', true) to jump all gaps by default.  Then you can also listen to 'largegap' events from the player and call event.preventDefault() to stop any particular gap from being jumped.

Okay, thanks for the Clarification.
I will handle it with failureCallback for now.
Thanks!


Added Interactive AI Voice and Text Chat Assistant

This pull request adds an interactive voice and text assistant to the Devsin Tech website, enhancing user experience by providing seamless navigation and answering frequently asked questions (FAQs).
Fixes Issue #402
Changes proposed
Features Added

Voice Assistant Integration: Users can now interact with the website using voice commands, making it more accessible and hands-free.

Text Assistant Integration: In addition to voice, the text assistant allows users to communicate through text inputs, providing flexibility in how users interact with the website.

FAQ Answering: The assistant is trained on a comprehensive set of frequently asked questions (FAQs) related to Devsin Tech, enabling it to provide quick and accurate responses to user queries.

Navigation Support: Users can ask the assistant to guide them through various sections and pages of the website, providing an intuitive and user-friendly experience.

Screenshots
Video
Note to reviewers

@Susmita-Dey  @prnvtripathi ,please review and merge my pull request

@prnvtripathi ,please review and merge my pull request

@prnvtripathi ,please assign appropriate label and level  to this pull request

@prnvtripathi ,please assign the appropriate gssoc label and level to this pull request


100% CPU usage after file close

Recently js-hyperclick package began to require hyperclick to be installed.
I'm not who to blame but if hyperclick is enabled then atom-ternjs-server-worker.js's CPU utilization goes to 100%
I'd like to profile it, but am not sure how to specify exec flags to run it with --inspect so I can attach DevTools

My initial assumption regarding hyperclick was incorrect.
Example .tern-project:
{
  "ecmaVersion": "7",
  "libs": [],
  "loadEagerly": [],
  "dontLoad": [],
  "plugins": {
    "doc_comment": true,
    "node": {
      "dontLoad": "",
      "load": "",
      "modules": ""
    },
    "node_resolve": {},
    "modules": {
      "dontLoad": "",
      "load": "",
      "modules": ""
    },
    "commonjs": {}
  }
}

Steps to reproduce:

open Atom
open any js file
require a lib and try to see it's autocompletions
close opened file
look at cpu load

After just a few seconds of profiling the worker you can see that process._fatalException @internal/bootstrap/node.js:444 eats around 45% of process time because it gets bombarded with errors.
Error stack:
Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at process.target.send (internal/child_process.js:627:16)
    at process.<anonymous> (/home/qwelias/.atom/packages/atom-ternjs/lib/atom-ternjs-server-worker.js:119:11)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:451:27)

I'd suggest adding a process.exit(1) in<EMAIL_ADDRESS>in case err.code is ERR_IPC_CHANNEL_CLOSED, but I have no idea if worker is supposed to global or there's multiple per client js file.

So what happens is on disconnect worker does process.kill() but does not specifies pid which is mandatory, then it just goes into infinite recursion

+1 here


In algoirthms implement a quickSort instead of selectionSort

I am newbie in open source contribution but I am very much interested in this issue. can you please assign this issue to me?

Good Evening @John4064 , I am a newbie in open-source contribution, but I am well versed in C++. So could you please assign this issue to me?

Hello @John4064, I have some experience in coding in C++ and am interested in open-source contribution. Could I be assigned to this code as a participant?

Hey @John4064,
Isn't c++ std::sort already implementing a version of quicksort?
According to this page std::sort implements introsort, which is implements quicksort and other algorithms to have O(nlog(n)) worst case performance.

@cboyce376 I created this issue while using a different sorting solution and never went back and cleaned up and closed it. Thank you for bringing to my attn!


Add more images into spanish contribute guide

Describe your changes
This change add two screenshots to the Spanish contribution guide. These images facilitate the translation process for contributors who don't use the git command-line.
Related issue number or link (ex: resolves #issue-number)
NA
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

/cc @valeriahhdez

@seokho-son @jihoon-seo could you review this PR, please? We need one approval from the general maintainers

@jihoon-seo could you review this PR again, please?

@jihoon-seo do you have additional comments?

Sorry for late response. I have no additional comments. This guide seems comprehensive.

@seokho-son @jihoon-seo any additional change that restricts this PR to move it forward?

Hi there, any final touch on this? @seokho-son @jihoon-seo


Allow project members to create technical users

This is a prerequisite to implement https://github.com/gardener/dashboard/issues/85

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


asciidoctor: WARNING: conversion missing in backend pdf for stem

I installed asciidoctor and asciidoctor-mathematical successfully, but get the following warnings:
$ asciidoctor-pdf -r asciidoctor-mathematical /documents/main.adoc
asciidoctor: WARNING: conversion missing in backend pdf for stem
asciidoctor: WARNING: conversion missing in backend pdf for stem

More info:
$ asciidoctor-pdf -v
Asciidoctor PDF 1.5.0.beta.8 using Asciidoctor 2.0.10 [https://asciidoctor.org]
Runtime Environment (ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]) (lc:US-ASCII fs:US-ASCII in:US-ASCII ex:US-ASCII)

and:
asciidoctor-mathematical is of version 0.3.1
Any idea what I did wrong?

This is an indication you are missing the required stem attribute in the document header to active stem support.
:stem: latexmath

[stem]
++++
sig = enc(H(D), s)
++++

Please try again with this attribute set. (You can also set it via the CLI).

Thanks for the reply, regrettably I have this setting :stem: latexmath already in my document.

Can you please provide a reproducible example?
My guess is that where you are setting stem is not in the header. The warning only happens if asciidoctor-mathematical isn't activated. And the way it is activated is by setting the stem attribute to latexmath.
You might also try:
asciidoctor-pdf -a stem=latexmath -r asciidoctor-mathematical /documents/main.adoc

Here is my minimal example:
=== Example
:doctype: book
:stem: latexmath

[latexmath]
++++
\sqrt{4} = 2
++++

As I suspected, you aren't setting stem in the document header. A level-2 heading does not create a document header. Here's how you would express it instead:
:doctype: book
:stem: latexmath

=== Example

[latexmath]
++++
\sqrt{4} = 2
++++

But setting the stem attribute from the CLI would also work.

Thanks for clarifying this!


"The IPE extension requires Jupyter to be installed. Install now?" when using a virtualenv

I've created a virtualenvironment and using venvwrapper and installed jupyter into it via pip.  I've picked that environment as my interpreter to use in VS Code, but whenever I execute the "IPE: Open output pane" command, I get: "The IPE extension requires Jupyter to be installed. Install now?"
As an advanced user I'd like to control how Jupyter gets installed and where, as I'm assuming that clicking the "yes install now" on the dialog will install to my system Python rather than my venv Python.
How can I use the extension with the Jupyter installed in my venv?

This is a duplicate of issue #161 and #162. This issue will be addressed as soon as the repo ownership has been transferred to @neuron-team


Sci sharp master

Sorry, meant to PR within my own repo -- didn't see that it was going to the master repo. It was rejected automatically, anyway.


Model updates from 3d-tiles

Merged in Model and ModelSpec changes from 3d-tiles, including promise handling and other small fixes.
CC #3259

Looks good, thanks @lilleyse!


Add support for the unstable f16 and f128 types

Also extend unsafe_impl with support for adding arbitrary attributes to the impls.
Closes #1999

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.64%. Comparing base (e3b2ec1) to head (9e04925).

Additional details and impacted files
@@           Coverage Diff           @@
##           v0.8.x    #2042   +/-   ##
=======================================
  Coverage   87.64%   87.64%
=======================================
  Files          16       16
  Lines        6016     6016
=======================================
  Hits         5273     5273
  Misses        743      743

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Backporting in #2058.


fix: Regression setcellwidths with GUI

A regression has occurred since version 9.1.0344.
(ID-Call as patch authors: @mikoto2000 @zeertzjq)
Related: #14539 #14540
Step to repro.

Start GUI Vim with few parameters.

$ vim -g -Nu NONE +'call setcellwidths([[0x2502, 0x2502, 2]])' +'call setline(1, ["abc\u2502def"])'

Behavior of GUI Vim 9.1.0344
There is an extra space before d.

After type fd, The cursor will move to the extra space and d will appear.

Expected behavior

Behavior of GUI Vim before version 9.1.0343 or with this PR patch applied.
There is no extra space before d.

After type fd.

thanks. Can you please turn that into a regression test?

@chrisbra This problem only occurs in the GUI, testing using VerifyScreenDump() (term_dumpdiff()) will not show the difference before and after the fix.
Is there any better way?

no sure, okay let me include it then.

@chrisbra This problem only occurs in the GUI, testing using VerifyScreenDump() (term_dumpdiff()) will not show the difference before and after the fix. Is there any better way?

Sometime ago I added the test_gui_event() function to test GUI specific events.  We should
add a similar function to test GUI specific rendering of characters.


Clarify dds-failed-delivery.json information on error

1. This PR contains the following changes...
When there's an error during upload, the CLI currently says 'see this file for more information'. This message does not make it clear enough that we may ask them to send it. Therefore this PR changes the message and clarifies that they should not be deleting it.
2. The following additional changes are required for this to work
X
3. The PR fixes the following GitHub issue / Jira task

[ ] GitHub issue (link):
[x] Jira task (ID, DDS-xxxx): DDS-1483
[ ] The PR does not fix a specific GitHub issue or Jira task

4. What type of change(s) does the PR contain?

[x] New feature

[ ] Breaking: Please describe the reason for the break and how we can fix it.
[x] Non-breaking

[ ] Bug fix

[ ] Breaking: Please describe the reason for the break and how we can fix it.
[ ] Non-breaking

[ ] Security Alert fix
[x] Documentation
[ ] Tests (only)
[ ] Workflow

5. Checklist

Always

Changelog

[x] Added
[ ] Not needed (E.g. PR contains only tests)

Rebase / Update / Merge from base branch (the branch from which the current is forked)

[x] Done - Waiting for https://github.com/ScilifelabDataCentre/dds_cli/pull/615
[ ] Not needed

Blocking PRs

[x] Merged - https://github.com/ScilifelabDataCentre/dds_cli/pull/615
[ ] No blocking PRs

PR to master branch

[ ] Yes: Go to the section PR to master
[x] No

If PR consists of code change(s)

Self review

[x] Done

Comments, docstrings, etc

[x] Added / Updated

Documentation

[ ] Updated
[x] Update not needed

6. Actions / Scans

Black: Python code formatter. Does not execute. Only tests.
Run black . locally to execute formatting.

[x] Passed

Prettier: General code formatter. Our use case: MD and yaml mainly.
Run npx prettier --write . locally to execute formatting.

[x] Passed

Yamllint: Linting of yaml files.

[x] Passed

Tests: Pytest to verify that functionality works as expected.

[ ] New tests added
[x] No new tests
[ ] Passed

TestPyPi: Build CLI and publish to TestPyPi in order to verify before release.

[x] Passed

CodeQL: Scan for security vulnerabilities, bugs, errors

[ ] New alerts: Go through them and either fix, dismiss och ignore. Add reasoning in items below.
[ ] Alerts fixed: What?
[ ] Alerts ignored / dismissed: Why?
[x] Passed

Trivy: Security scanner

[ ] New alerts: Go through them and either fix, dismiss och ignore. Add reasoning in items below.
[ ] Alerts fixed: What?
[ ] Alerts ignored / dismissed: Why?
[x] Passed

Snyk: Security scanner

[ ] New alerts: Go through them and either fix, dismiss och ignore. Add reasoning in items below.
[ ] Alerts fixed: What?
[ ] Alerts ignored / dismissed: Why?
[x] Passed

How to test manually:

Partial uploads
a) dds data put --source [file / directory 1] --project [project ID]
b) The printout should be

Upload completed!

c) echo $? should return 0
d) dds data put --source [file / directory 1] --source [file / directory 2] --project [project ID]
e) The printout should be

WARNING     X files were already uploaded.
Upload partially completed!

f) echo $? should return 1

True failed
a) Change line 202 in base.py from if true_failed: to if not true_failed:
b) dds data put --source [file / directory 3] --project [project ID]
c) The printout should be

Errors occurred during upload.
If you wish to retry the upload, re-run the dds data put command again,
specifying the same options as you did now. To also overwrite the files
that were uploaded, also add the --overwrite flag at the end of the command.
Please verify that the following error log has been generated: dds_failed_delivery.json
Do not delete this file; The Data Centre may need it during DDS support.

d) echo $? should return 1


Update annotations for PawsX, Opusparcus and SummEval

This PR updates metadata for PawsX, Opusparcus and SummEval (en/fr).
Checklist

[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.

Looks good!


Take Fee on withdraw

Hey @3s3s I have tried following the code back as far as i can to see where the coin.info.hold is taken and given back but im struggling to find it. when i make a withdraw i see 3 transactions

the last one as you can see is the coin hold fee being given back but instead of going back into the users account i am wanting it to go into the root account, any idea where that would be?

@3s3s Yes provide a option on admin page in the coins section Fee Address: so that we can provide our own coin address. All the fee can be moved to the provided address.

@jonn4y
Its from this line - https://github.com/3s3s/opentrade/blob/master/server/modules/users/wallet.js#L847
to the end

@coinnetworkpw Did you make changes in your exchange? If so can create a pull request with those changes or can you share your source code with us email me<EMAIL_ADDRESS>

No I didnt make a changes, I dont need that feature on my exchange

I have it now giving the fee to the specified account from within the constants file (in my case userid1 gets the fees) and it is doing it on the wallets just need to get it doing it via the database now to reflect in the users accounts then I will share the code

@jonn4y Ok.

@jonn4y mind sharing your changes?

@3s3s in latest commit fee is deducted from clients balance, but not written in DB

Yes I just need to write the fee to my root accounts dB entry so my userID1 takes all the fees I will get round to this maybe today

@jonn4y any progress on this modification? if you don't have time it would be great if you can publish what you did so far so i can take a look. tnx.

Hey,
I added my code to my live exchange and it caused issued when people were sending deposits it was also crediting the root account which messed up the balances so i removed them.
but this is sort of where i was looking
in constants.js i added:
exports.ExchangeFeeAccountID = 1;
as thats the account i wanted all fees to goto
then
https://github.com/3s3s/opentrade/blob/master/server/modules/users/wallet.js#L401
i changed to:
MoveBalance(userID, g_constants.ExchangeFeeAccountID, coin, ret.data, err => {
that would add the fee to my account userid 1 as specified in the constants.js
but that wouldn't save to the DB
the DB stuff is from
https://github.com/3s3s/opentrade/blob/master/server/modules/users/wallet.js#L847
as mentioned by @coinnetworkpw above
my stuff was deleted when i panicked that all of a sudden the root account was filling up with 1000's of coins so i revered

@jonn4y, If it's works correctly, please add a pull request

Didn’t you read my message lol the extra code caused all deposits go into my root acc
The dirt but works moving the fee to root account but then it automatically moves everything back to the main account

Hey @hashbook did you manage to take a look at it?

@jonn4y
I haven't studied this code deeply but i have tested this code on server.
Adding of following in constants.js
exports.ExchangeFeeAccountID = 1;
and changing of following
MoveBalance(userID, g_constants.ExchangeFeeAccountID, coin, ret.data, err => {
above changes will obviously send all balances to UserID1=admin.
You have to define in code that upon withdraw success blocked amount for fee moves to UserID1=admin or contants.js default ExchangeBalanceAccountID=0.
Try to fix code to move fee amount to default exchange account first, that will take fee amount from user and move to account 0, fee will not go to UserID1=admin but fee will be taken from users withdraws and will remain in wallet main account.
When I'll have time I will try again on test server changing lines in server/modules/users/wallet.js for fees to move to default exchange account upon success of withdraw.
Meanwhile if you find solution please post here that will save my time and efforts.


Fix: account for minutes affecting hour hand position; return smallest angle

Account for minutes (partial hours) when determining position of hour hand (fixes #1)
Return the smallest angle made by the hands (<= 180 deg) (addresses #2)
Updated / added additional tests
Updated README to reflect fixes

great work @nikulis !


Change lx-icons to clay-icons when upgrading from 7.0 to 7.1

Reference #359 https://github.com/liferay/clay/commit/850eb0582d1ea808771d9578e195e91f3115e1c0
When upgrading a theme from 7.0 to 7.1, should the upgrade process also update or notify the user about the changes from lx-icon and get-lx-icon to clay-icon and get-clay-icon?
Let me know if more information is needed.
Thank you.

That sounds reasonable to me @fortunatomaldonado. To be honest, I am surprised we aren't doing that already.
We already have some upgrade code here — at least, I think that's the directory with the logic for 7.0-to-7.1 upgrades — where we do similar things. That would probably be the right place to implement your suggestion (ideally, automatically updating, and if that isn't practical, at least notifying).

Sounds good @wincent!


Windows line endings break #! parsing on Linux

Although the git repo has unix-style line endings, the version of obj2gltf on npm has Windows line endings. When running the command line tool the extra \r confuses the Linux #! parser:
$ lsb_release -d
Description:    Ubuntu 16.04.1 LTS

$ npm install -g obj2gltf
[...]

$ obj2gltf
/usr/bin/env: ‘node\r’: No such file or directory

$ dos2unix ~/.local/node/lib/node_modules/obj2gltf/bin/obj2gltf.js
dos2unix: converting file /home/josh/.local/node/lib/node_modules/obj2gltf/bin/obj2gltf.js to Unix format ...

$ obj2gltf
Usage: ./bin/obj2gltf.js [INPUT] [OPTIONS]
[...]

Thanks for letting me know! A new version should published to npm soon.

The new version 0.1.6 is now published.


how to get download of uploaded file

Hello sir Your Api is working great for me but i stuck at get download link uploaded file sorry for my bad english

In order to get a download link of an uploaded resource you must have the ticket first.
The ticket shows you the captcha info. You have to retrieve the captcha from the tiket, go to the captcha url and see the captcha code.
After that you have to pass the captcha code and ticket to the getDownloadLink method.

thanks bro
i get it without any ticket
[image: Inline image 1]
On Tue, Jan 3, 2017 at 2:41 PM, Daniele Pedone<EMAIL_ADDRESS>wrote:

Closed #3 https://github.com/Ideneal/OpenLoad/issues/3.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Ideneal/OpenLoad/issues/3#event-909531802, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AI-sGFKLOWJlfFpD_awYii05bbrIM0eZks5rOhCmgaJpZM4LZHOv
.

thanks bro
i get it without any ticket


Privileges escalate by default for Windows on CI

Checklist

[X] I added a descriptive title
[X] I searched open reports and couldn't find a duplicate

What happened?
@jaimergp, when testing the Windows installers for Spyder, menuinst creates the shortcut for _mode=system rather than _mode=user, but only on CI. This does not occur for macOS or Linux.

The installer appears to build correctly, but when testing the install, it creates the shortcut in the wrong place when run on CI. (I'm using /InstallationType=JustMe /NoRegistry=1 flags). See this run. When I ssh into the workflow, I see that .nonadmin is present in both the base and target prefixes.
When I bypass the install test on CI, the workflow succeeds and I can download the artifact and test the install on my local machine. This works perfectly: shortcut is created for the user, not system. I've tried both the GUI and and the command prompt (even using /NoRegistry=1) with the same successful result. See this run without test.

What could be causing the problem on CI?
Conda Info
See https://github.com/spyder-ide/spyder/actions/runs/7589583691/job/20674537112
Conda Config
See https://github.com/spyder-ide/spyder/actions/runs/7589583691/job/20674537112
Conda list
See https://github.com/spyder-ide/spyder/actions/runs/7589583691/job/20674537112
Additional Context
No response

@jaimergp, also, do you know of a way to display or save the install log from NSIS when executing the installer from the command line?

GHA on Windows runs as an administrator account, so constructor, conda-standalone and menuinst will run in sudo mode, believing it's an all-users install. I've observed the same behavior in napari and gave up because it does work locally. Maybe we can allow overrides at some point but for now that's the known behavior.
For the logs, you need to build your installers with the logging build of nsis. See https://github.com/conda/constructor/blob/d934f13d103359d0d208108fa53ccf529d143cd7/dev/extra-requirements-windows.txt#L1.

GHA on Windows runs as an administrator account, so constructor, conda-standalone and menuinst will run in sudo mode, believing it's an all-users install. I've observed the same behavior in napari and gave up because it does work locally. Maybe we can allow overrides at some point but for now that's the known behavior.

I see, thank you. So menuinst will install the shortcut based on its current privileges; .nonadmin only tells menuinst whether or not to elevate those privileges. I'll update our workflow accordingly. I'm just glad to know that there wasn't a bug 😁.

For the logs, you need to build your installers with the logging build of nsis. See https://github.com/conda/constructor/blob/d934f13d103359d0d208108fa53ccf529d143cd7/dev/extra-requirements-windows.txt#L1.

Thank you! 🙏 😊 I was not aware of that! Is there a flag I need to use on the command line? Or will it automatically send logs to stdout? to log file?

You will find a install.log file in the target location. It's not perfect but it's something. This is how we use it in the constructor test suite.

You will find a install.log file in the target location. You don't have to do anything else.

start /wait Spyder-6.0.0a4.dev150-Windows-x86_64.exe /S

Hmm... I can't find the log file... What am I missing?
Installer Build Environment
# packages in environment at C:\Users\rclary\.conda\envs\spy-inst:
#
# Name                    Version                   Build  Channel
anyio                     3.7.1              pyhd8ed1ab_0    conda-forge
archspec                  0.2.2              pyhd8ed1ab_0    conda-forge
attrs                     23.2.0             pyh71513ae_0    conda-forge
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
boa                       0.16.0             pyhd8ed1ab_1    conda-forge
boltons                   23.1.1             pyhd8ed1ab_0    conda-forge
brotli-python             1.1.0           py310h00ffb61_1    conda-forge
bzip2                     1.0.8                hcfcfb64_5    conda-forge
ca-certificates           2023.11.17           h56e8100_0    conda-forge
certifi                   2023.11.17         pyhd8ed1ab_0    conda-forge
cffi                      1.16.0          py310h8d17308_0    conda-forge
chardet                   5.2.0           py310h5588dad_1    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
click                     8.1.7           win_pyh7428d3b_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
conda                     23.11.0         py310h5588dad_1    conda-forge
conda-build               3.28.4          py310h5588dad_0    conda-forge
conda-index               0.3.0              pyhd8ed1ab_1    conda-forge
conda-libmamba-solver     23.12.0            pyhd8ed1ab_0    conda-forge
conda-package-handling    2.2.0              pyh38be061_0    conda-forge
conda-package-streaming   0.9.0              pyhd8ed1ab_0    conda-forge
conda-standalone          23.11.0              h57928b3_1    conda-forge
constructor               3.6.0              pyh31a35d3_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
filelock                  3.13.1             pyhd8ed1ab_0    conda-forge
fmt                       10.2.1               h181d51b_0    conda-forge
freetype                  2.12.1               hdaf720e_2    conda-forge
gitdb                     4.0.11             pyhd8ed1ab_0    conda-forge
gitpython                 3.1.41             pyhd8ed1ab_0    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
importlib_resources       6.1.1              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.3              pyhd8ed1ab_0    conda-forge
joblib                    1.3.2              pyhd8ed1ab_0    conda-forge
json5                     0.9.14             pyhd8ed1ab_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_0    conda-forge
jsonpointer               2.4             py310h5588dad_3    conda-forge
jsonschema                4.21.1             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
krb5                      1.21.2               heb0366b_0    conda-forge
lcms2                     2.16                 h67d730c_0    conda-forge
lerc                      4.0.0                h63175ca_0    conda-forge
libarchive                3.7.2                h313118b_1    conda-forge
libcurl                   8.5.0                hd5e4a3a_0    conda-forge
libdeflate                1.19                 hcfcfb64_0    conda-forge
libffi                    3.4.2                h8ffe710_5    conda-forge
libiconv                  1.17                 hcfcfb64_2    conda-forge
libjpeg-turbo             3.0.0                hcfcfb64_1    conda-forge
liblief                   0.12.3               h63175ca_0    conda-forge
libmamba                  1.5.6                h3f09ed1_0    conda-forge
libmambapy                1.5.6           py310h04f2035_0    conda-forge
libpng                    1.6.39               h19919ed_0    conda-forge
libsolv                   0.7.27               h12be248_0    conda-forge
libsqlite                 3.44.2               hcfcfb64_0    conda-forge
libssh2                   1.11.0               h7dfc565_0    conda-forge
libtiff                   4.6.0                h6e2ebb7_2    conda-forge
libwebp-base              1.3.2                hcfcfb64_0    conda-forge
libxcb                    1.15                 hcd874cb_0    conda-forge
libxml2                   2.12.4               hc3477c8_1    conda-forge
libzlib                   1.2.13               hcfcfb64_5    conda-forge
lz4-c                     1.9.4                hcfcfb64_0    conda-forge
lzo                       2.10              he774522_1000    conda-forge
m2-msys2-runtime          <IP_ADDRESS>80.65c939c               3    conda-forge
m2-patch                  2.7.5                         2    conda-forge
m2w64-gcc-libgfortran     5.3.0                         6    conda-forge
m2w64-gcc-libs            5.3.0                         7    conda-forge
m2w64-gcc-libs-core       5.3.0                         7    conda-forge
m2w64-gmp                 6.1.0                         2    conda-forge
m2w64-libwinpthread-git   <IP_ADDRESS>34.697f757               2    conda-forge
mamba                     1.5.6           py310hd9d798f_0    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                2.1.4           py310h8d17308_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_0    conda-forge
menuinst                  2.0.2           py310h00ffb61_0    conda-forge
more-itertools            10.2.0             pyhd8ed1ab_0    conda-forge
msys2-conda-epoch         20160418                      1    conda-forge
nsis                      3.08             h9ead6bc_log_2    conda-forge
openjpeg                  2.5.0                h3d672ee_3    conda-forge
openssl                   3.2.0                hcfcfb64_1    conda-forge
packaging                 23.2               pyhd8ed1ab_0    conda-forge
pillow                    10.2.0          py310h1e6a543_0    conda-forge
pip                       23.3.2             pyhd8ed1ab_0    conda-forge
pkginfo                   1.9.6              pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.1.0              pyhd8ed1ab_0    conda-forge
pluggy                    1.4.0              pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
prompt_toolkit            3.0.42               hd8ed1ab_0    conda-forge
psutil                    5.9.8           py310h8d17308_0    conda-forge
pthread-stubs             0.4               hcd874cb_1001    conda-forge
py-lief                   0.12.3          py310h00ffb61_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py310h8d17308_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyh0701188_6    conda-forge
python                    3.10.13         h4de0772_1_cpython    conda-forge
python-libarchive-c       5.0             py310h5588dad_2    conda-forge
python_abi                3.10                    4_cp310    conda-forge
pytz                      2023.3.post1       pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.1           py310h8d17308_1    conda-forge
referencing               0.32.1             pyhd8ed1ab_0    conda-forge
reproc                    14.2.4.post0         hcfcfb64_1    conda-forge
reproc-cpp                14.2.4.post0         h63175ca_1    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
rich                      13.7.0             pyhd8ed1ab_0    conda-forge
ripgrep                   14.1.0               h7f3b576_0    conda-forge
rpds-py                   0.17.1          py310h87d50f1_0    conda-forge
ruamel.yaml               0.18.5          py310h8d17308_0    conda-forge
ruamel.yaml.clib          0.2.7           py310h8d17308_2    conda-forge
ruamel.yaml.jinja2        0.2.4                      py_1    conda-forge
setuptools                69.0.3             pyhd8ed1ab_0    conda-forge
setuptools-scm            8.0.4              pyhd8ed1ab_0    conda-forge
setuptools_scm            8.0.4                hd8ed1ab_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
sniffio                   1.3.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
tk                        8.6.13               h5226925_1    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
truststore                0.8.0              pyhd8ed1ab_0    conda-forge
typing-extensions         4.9.0                hd8ed1ab_0    conda-forge
typing_extensions         4.9.0              pyha770c72_0    conda-forge
tzdata                    2023d                h0c530f3_0    conda-forge
ucrt                      10.0.22621.0         h57928b3_0    conda-forge
urllib3                   2.1.0              pyhd8ed1ab_0    conda-forge
vc                        14.3                hcf57466_18    conda-forge
vc14_runtime              14.38.33130         h82b7239_18    conda-forge
vs2015_runtime            14.38.33130         hcb4865c_18    conda-forge
watchgod                  0.8.2              pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
win_inet_pton             1.1.0              pyhd8ed1ab_6    conda-forge
xorg-libxau               1.0.11               hcd874cb_0    conda-forge
xorg-libxdmcp             1.1.3                hcd874cb_0    conda-forge
xz                        5.2.6                h8d14728_0    conda-forge
yaml                      0.2.5                h8ffe710_2    conda-forge
yaml-cpp                  0.8.0                h63175ca_0    conda-forge
zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
zstandard                 0.22.0          py310h0009e47_0    conda-forge
zstd                      1.5.5                h12be248_0    conda-forge

construct.yaml
name: Spyder
company: Spyder-IDE
reverse_domain_identifier: org.spyder-ide.Spyder
version: 6.0.0a4.dev150
channels:
  - local
  - conda-forge/label/spyder_kernels_rc
  - conda-forge
conda_default_channels:
  - conda-forge
  - defaults
specs:
  - python=3.10.13
  - conda >=23.11.0
  - menuinst >=2.0.2
  - mamba
installer_filename: Spyder-6.0.0a4.dev150-Windows-x86_64.exe
installer_type: exe
initialize_by_default: false
initialize_conda: false
register_python: false
register_envs: false
extra_envs:
  spyder-runtime:
    specs:
      - python=3.10.13
      - spyder=6.0.0a4.dev150
      - cython
      - matplotlib
      - numpy
      - openpyxl
      - pandas
      - scipy
      - sympy
      - python-lsp-server=1.9.1.dev6
      - qtconsole=5.5.1.dev1
      - spyder-kernels=3.0.0b4.dev3
extra_files:
  - C:\Users\rclary\Documents\Repos\spyder\installers-conda\resources\bundle_readme.md: README.txt
  - C:\Users\rclary\Documents\Repos\spyder\installers-conda\build\condarc: .condarc
license_file:
  C:\Users\rclary\Documents\Repos\spyder\installers-conda\resources\bundle_license.rtf
welcome_image:
  C:\Users\rclary\Documents\Repos\spyder\installers-conda\build\welcome_img_win.png
header_image: C:\Users\rclary\Documents\Repos\spyder\installers-conda\build\header_img_win.png
icon_image: C:\Users\rclary\Documents\Repos\spyder\img_src\spyder.ico
default_prefix: '%LOCALAPPDATA%\spyder-6'
default_prefix_domain_user: '%LOCALAPPDATA%\spyder-6'
default_prefix_all_users: '%ALLUSERSPROFILE%\spyder-6'
check_path_length: false
pre_install:
  C:\Users\rclary\Documents\Repos\spyder\installers-conda\resources\pre-install.bat
post_install:
  C:\Users\rclary\Documents\Repos\spyder\installers-conda\resources\post-install.bat

That should be enough, I think?
This is how we run it in CI, in case it helps. Maybe specify /D=some-path to make sure where to expect the file.

This is how we run it in CI, in case it helps. Maybe specify /D=some-path to make sure where to expect the file.

I tried that as well. However, I'm running it locally right now, so maybe it needs admin privileges for some reason? I'll test that also...

That should be enough, I think?

Found the issue. The environment variable NSIS_USING_LOG_BUILD=1 also needs to be set prior to the build.
https://github.com/conda/constructor/blob/d934f13d103359d0d208108fa53ccf529d143cd7/constructor/winexe.py#L352
@jaimergp, thanks for all your help on this! I really appreciate all the work you and others have done on upgrading constructor and menuinst. It is a great help to the Spyder project.

Aaah, yes, I remember now. Sorry about that obscure detail 😬 I'll add it to the documentation.

@jaimergp, when uninstalling, the uninstaller requests the user to restart now or later. This seems to be a result of failing to remove the install.log from the base environment directory. Is this a bug?

I can add some more perspective about that log file and why we (on the Anaconda side) don't use it in production:

If you install into an empty directory (which the current implementation of constructor allows), it will write the log file before the installer checks if the directory is empty, which makes the installer fail. That can of course be fixed by excluding that file.
When you hit "Browse" in the GUI to change the destination path, the installer will write the log file into %USERPROFILE%, which is not ideal (and would be a red flag for me as a user).

@jaimergp, when uninstalling, the uninstaller requests the user to restart now or later. This seems to be a result of failing to remove the install.log from the base environment directory. Is this a bug?

This is not a bug. NSIS, which is the backend of the installers, calls all logs install.log. So, this is the log of the uninstaller. It is marked for deletion and should be removed on reboot.

I can add some more perspective about that log file and why we (on the Anaconda side) don't use it in production:

If you install into an empty directory (which the current implementation of constructor allows), it will write the log file before the installer checks if the directory is empty, which makes the installer fail. That can of course be fixed by excluding that file.
When you hit "Browse" in the GUI to change the destination path, the installer will write the log file into %USERPROFILE%, which is not ideal (and would be a red flag for me as a user).

@jaimergp, when uninstalling, the uninstaller requests the user to restart now or later. This seems to be a result of failing to remove the install.log from the base environment directory. Is this a bug?

This is not a bug. NSIS, which is the backend of the installers, calls all logs install.log. So, this is the log of the uninstaller. It is marked for deletion and should be removed on reboot.

Hmm...thanks @marcoesters, I will reconsider using the NSIS log version. My motivation was to provide some debugging information for developers, but if it will cause more problems for end users it may be counterproductive.

For CIs, enabling logging could be okay because these corner cases don't apply there/are easily fixable.
What I do is enable logging for dev builds of installers and integration testing. I only disable logging for production.


Add a SQL agent for interacting with SQL Databases and JSON Agent for interacting with large JSON blobs

This PR adds

ZeroShotAgent.as_sql_agent, which returns an agent for interacting with a sql database. This builds off of SQLDatabaseChain. The main advantages are 1) answering general questions about the db, 2) access to a tool for double checking queries, and 3) recovering from errors
ZeroShotAgent.as_json_agent which returns an agent for interacting with json blobs.
Several examples in notebooks

Awesome work!
Been trying out, have two suggestions that I would add to the prompt:

"When possible, don't query exactly but use 'LIKE' to make your queries more robust."
"Query for only as many columns you need to answer the question, not more. When possible, avoid using 'SELECT *' and instead specify which columns you need."

I can commit them myself afterwards though if you agree.

@fpingham thanks for the suggestions! I'll add them in to this PR

@fpingham -- I didn't have much luck with "When possible, don't query exactly but use 'LIKE' to make your queries more robust." but feel free to experiment and add in a follow up PR!

@agola11 I missed this message, that's fine! Actually @jzluo added a better way to limit the number of rows that works cross-dialect so I might add it later to the agent as well.


NO_GFX fixes for VirtualPanel and width/height

When Building with NO_GFX neither VirtualMatrixPanel nor MatrixPanel_I2S_DMA have a height or width function. In the basic one, you could get the information with getCfg, but functions are the better way.
In VirtualMatrixPanel::setRotation  'rotation' is undeclared if build with NO_GFX

Thank you kindly for this contribution.


No createdAt when inserting

Hi,
I'm trying to insert a new instance of a model in my DB, but due to an id field I was forced to use {method: insert} on save. When I look into my DB, the updatedAt field is updated, but not the createdAt.
Here's my model:
// Knex
knex.schema.createTable('payment', function(table){
    table.string('id');
    table.enu('state', ['pending', 'valid', 'canceled']);
    table.json('data');
    table.datetime('createdAt').nullable();
    table.datetime('updatedAt').nullable();
    table.datetime('deleted_at').nullable();
    table.datetime('restored_at').nullable();
  });

// Bookshelf
var Payment = Bookshelf.Model.extend({
    tableName: 'payment',
    soft: true,
    hasTimestamps: ['createdAt', 'updatedAt']
  });

And this is how I insert it:
new Payment({
    id: data.uuid,
    state: 'pending',
    data: data
  }).save({}, {method: 'insert'})
  .then(function(pay) {
    console.log(pay);
  });

If I look at the timestamps() documentation

The default implementation is to check if the model isNew or if {method: 'insert'} is provided as an option and set the created_at and updated_at attributes to the current date if it is being inserted, and just the updated_at attribute if it's being updated

this should update the createdAt, but when I look into the code it won't because of the  second &&.
Is there a other way to do so or should I modify this if statement?

Thanks for the report. That looks like a bug to me. It would be great if you could add some test coverage for this as well.


Other advantages of moving the migrations to a library?

Hello, what are the other advantages of moving the migrations to a separate project/library? Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b545eeff-6c33-3cc0-09ce-a3ad342d7438
Version Independent ID: 34bc1bac-7338-d8ab-390d-8c5e88a48c10
Content: Using a Separate Migrations Project - EF Core
Content Source: entity-framework/core/managing-schemas/migrations/projects.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @bricelam
Microsoft Alias: bricelam

@gojanpaolo Advantages other than what?

@ajcvickers The docs say one advantage is the ability to have multiple sets of migrations for multiple environmets (dev, prod, etc)

You may want to store your migrations in a different assembly than the one containing your DbContext. You can also use this strategy to maintain multiple sets of migrations, for example, one for development and another for release-to-release upgrades.

You can also maintain different migration sets for different providers
The main assembly size would be smaller

Thanks @AndriySvyryd! If the migration project is separate, does it still need to be deployed to the server for the app to work?

does it still need to be deployed

Not if you apply migrations as part of publishing. Yes if you call dbContext.Database.Migrate()

Thanks @bricelam!