Please link VS docs to VS Code docs

The title of this doc is exactly what I'm looking for, but I need the VS Code version.  Bing brought me to the VS proper version, so it would be great if the docs could have a selector for VS Code (could be similar to selecting .NET Framework API versions).  Thanks!

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

ID: 95bc6d7e-2b58-4755-4411-c5f369011a6c
Version Independent ID: d5710161-bc97-6d33-6c6b-77fc9cfe9c62
Content: Troubleshoot breakpoints in the debugger - Visual Studio
Content Source: docs/debugger/troubleshooting-breakpoints.md
Product: visual-studio-windows
Technology: vs-ide-debug
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@jamescadd This is a docs platform issue. Currently, VS Code docs have their own build/rendering system, so the two can't be easily integrated. It might be addressed in the future through other channels/discussions.


Use this library with react-router v6

Hi,
Could this package be used with react-router v6?
When I am trying to use it I am getting a lot of errors, like:
... is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>

As this issue is not relevant to me, so I mark it as closed.


ha master: kubernetes service has only only one endpoint

I just notice that the kubernetes service only have one endpoint in a multi master architecture.
Name:			kubernetes
Namespace:		default
Labels:			component=apiserver,provider=kubernetes
Selector:		<none>
Type:			ClusterIP
IP:			<IP_ADDRESS>
Port:			<unnamed>	443/TCP
Endpoints:		<IP_ADDRESS>:443
Session Affinity:	None
No events.

Can you ask on slack/SO

I'll do some tests. Actually we don't need to loadbalance, we just need the failover.
In case of failure ensure that there's at least one master to handle the requests.
The endpoint should be updated automatically, i'll check that asap.

Yes but why the service show only one endpoints instead of the N apimaster endpoints?


Missing email notification channel

Hi, thanks for making this free tool.
I would like to know if this package implements an email notification channel. I have not yet found documentation about it.
Regards.

Just click on the "recibe email on exception" checkbox


#115 / Solve the potential Low-Resolution images Problem

solve the thumbnail  in low resolution problem that may occur in some project
replace "self.traitCollection.displayScale"  with  "[[UIScreen mainScreen] scale]"

Thank you for making pull request.
Actually self.traitCollection.displayScale is used in 5 other places.

QBAssetsViewController

updateCachedAssets

QBAlbumsViewController

tableView:cellForRowAtIndexPath:

Can I ask you to fix all of them?

oh ,that 's  OK now ,Thanks ，t's just negligible contribute ， haha

Nice.
Thanks a lot!


mlterm: use new tag versioning scheme

The maintainer decided to change the release tag name after the fact.
The new naming scheme is a lot more sane but I'd rather they didn't change it
after releasing with the old one.
Fixes https://github.com/NixOS/nixpkgs/issues/156856

Motivation for this change
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.05 Release Notes (or backporting 21.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build mlterm


gau: 2.2.1 -> 2.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/lc/gau/releases.
meta.description for gau is: Tool to fetch known URLs
meta.homepage for gau is: https://github.com/lc/gau
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.2.3 with grep in /nix/store/zlgwp740q1ks2hq127rf72azfrhq917h-gau-2.2.3
found 2.2.3 in filename of file in /nix/store/zlgwp740q1ks2hq127rf72azfrhq917h-gau-2.2.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

gau

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zlgwp740q1ks2hq127rf72azfrhq917h-gau-2.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gau https://github.com/r-ryantm/nixpkgs/archive/377899940e6665c0fe4dff90bf458d9a61badd96.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/377899940e6665c0fe4dff90bf458d9a61badd96#gau

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zlgwp740q1ks2hq127rf72azfrhq917h-gau-2.2.3
ls -la /nix/store/zlgwp740q1ks2hq127rf72azfrhq917h-gau-2.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

gau

Maintainer pings
cc @fabaff for testing.

Result of nixpkgs-review pr 311821 run on x86_64-linux 1

1 package built:

gau


Maintain Scroll Position: Firefox

Maintain scroll position doesn't work on firefox

Which version of Firefox and can you provide a jsfiddle please?
I'm using the latest Firefox and I don't actually even need to use _maintainScroll as it already appears to work fine for my test case, although I'm sure there will be other cases where the problem can appear.


Pulling in base numpy instead of numpy with openblas

See https://github.com/tskit-dev/msprime/issues/629
Hopefully resolved in current head, but some builds may not have completed.

Nope, not fixed. It seems pretty mysterious which version of GSL gets pulled in; depending on the context we either get the default GSL or the conda-forge GSL. We need the conda-forge version.

This is still an issue. If we install msprime we pull in GSL/numpy from defaults. No idea why.

Should be resolved now we're explicitly pulling in openblas.


So many errors need help

Plz see this log i am getting som many errors. Thank You so much for thi amazing template
C:\Users\gamer\try-ghost>gatsby develop
success open and validate gatsby-configs - 0.456s
warning Plugin @draftbox-co/gatsby-plugin-css-variables is not compatible with your gatsby version 2.21.1 - It requires<EMAIL_ADDRESS>error Your plugins must export known APIs from their gatsby-node.js.
See https://www.gatsbyjs.org/docs/node-apis/ for the list of Gatsby node APIs.

The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "unstable_shouldOnCreateNode" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "unstable_shouldOnCreateNode" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>The plugin<EMAIL_ADDRESS>is using the API "pluginOptionsSchema" which was introduced in<EMAIL_ADDRESS>
Some of the following may help fix the error(s):

npm install<EMAIL_ADDRESS>Rename "unstable_shouldOnCreateNode" -> "onCreateNode"
Rename "unstable_shouldOnCreateNode" -> "onCreateNode"
success load plugins - 4.329s
success onPreInit - 0.141s
success initialize cache - 0.012s
success copy gatsby files - 0.253s
success onPreBootstrap - 0.067s
success createSchemaCustomization - 0.024s
warning The gatsby-plugin-mdx plugin has generated no Gatsby nodes. Do you need it?
success source and transform nodes - 2.551s
warning Plugin @draftbox-co/gatsby-ghost-novela-theme tried to define the GraphQL type GhostPost, which has already been defined by the plugin gatsby-source-ghost.
warning Plugin @draftbox-co/gatsby-ghost-novela-theme tried to define the GraphQL type GhostPage, which has already been defined by the plugin gatsby-source-ghost.
success building schema - 1.203s

Config rootPath not set, using basePath instead => /
Config basePath /
Config authorsPath /authors
error There was an error in your GraphQL query:
Cannot query field "readingTime" on type "GhostPost".
If you don't expect "readingTime" to exist on the type "GhostPost" it is most likely a typo.
However, if you expect "readingTime" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "readingTime" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPost":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
error There was an error in your GraphQL query:
Cannot query field "mdx" on type "GhostPost".
If you don't expect "mdx" to exist on the type "GhostPost" it is most likely a typo.
However, if you expect "mdx" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "mdx" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPost":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
error There was an error in your GraphQL query:
Cannot query field "readingTime" on type "GhostPage".
If you don't expect "readingTime" to exist on the type "GhostPage" it is most likely a typo.
However, if you expect "readingTime" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "readingTime" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPage":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
error There was an error in your GraphQL query:
Cannot query field "mdx" on type "GhostPage".
If you don't expect "mdx" to exist on the type "GhostPage" it is most likely a typo.
However, if you expect "mdx" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "mdx" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPage":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
error There was an error in your GraphQL query:
Cannot query field "localFeatureImage" on type "GhostPage".
If you don't expect "localFeatureImage" to exist on the type "GhostPage" it is most likely a typo.
However, if you expect "localFeatureImage" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "localFeatureImage" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPage":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
error There was an error in your GraphQL query:
Cannot query field "localFeatureImage" on type "GhostPage".
If you don't expect "localFeatureImage" to exist on the type "GhostPage" it is most likely a typo.
However, if you expect "localFeatureImage" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "localFeatureImage" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPage":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
TypeError: Cannot read property 'articles' of undefined
at Object.module.exports [as createPages] (C:\Users\gamer\try-ghost\node_modules@draftbox-co\gatsby-ghost-novela-theme\src\gatsby\node\createPages.js:108:53)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Creating articles page
success createPages - 0.153s
warning Warning: Empty string transition configs (e.g., { on: { '': ... }}) for transient transitions are deprecated. Specify the transition in the { always: ... } property instead. Please check the on configuration for "#pageComponents.inactive".
warning Warning: Empty string transition configs (e.g., { on: { '': ... }}) for transient transitions are deprecated. Specify the transition in the { always: ... } property instead. Please check the on configuration for "#pageComponents.inactive".
warning Warning: Empty string transition configs (e.g., { on: { '': ... }}) for transient transitions are deprecated. Specify the transition in the { always: ... } property instead. Please check the on configuration for "#pageComponents.inactive".
warning Warning: Empty string transition configs (e.g., { on: { '': ... }}) for transient transitions are deprecated. Specify the transition in the { always: ... } property instead. Please check the on configuration for "#pageComponents.inactive".
success createPagesStatefully - 0.287s
success onPreExtractQueries - 0.002s
success update schema - 0.058s
success extract queries from components - 2.217s
warning The GraphQL query in the non-page component<EMAIL_ADDRESS>will not be run.
Exported queries are only executed for Page components. It's possible you're
trying to create pages in your gatsby-node.js and that's failing for some
reason.
If the failing component(s) is a regular component and not intended to be a page
component, you generally want to use a  (https://gatsbyjs.org/docs/static-query)
instead of exporting a page query.
If you're more experienced with GraphQL, you can also export GraphQL
fragments from components and compose the fragments in the Page component
query and pass data down into the child component — https://graphql.org/learn/queries/#fragments
success write out requires - 0.383s
success write out redirect data - 0.113s
success onPostBootstrap - 0.195s

info bootstrap finished - 19.626 s

success run queries - 0.191s - 5/5 26.24/s
Warning: Each child in a list should have a unique "key" prop.
Check the top-level render call using . See https://fb.me/react-warning-keys for more information.
in style
in HTML

You can now view gatsby-ghost-novela-starter in the browser.

http://localhost:8000/

View GraphiQL, an in-browser IDE, to explore your site's data and schema

http://localhost:8000/___graphql

Note that the development build is not optimized.
To create a production build, use gatsby build

success Building development bundle - 8.329s

Hi @rahxuls,
This starter should work out-of-box without any modifications. Can you send us a minimal reproducible repo to help us understand the issue.

As ghost CMS is paid. Is there any way i can use this template?
On Sun, Dec 13, 2020 at 9:55 AM Keyur Raval<EMAIL_ADDRESS>wrote:

Hi @rahxuls https://github.com/rahxuls,
This starter should work out-of-box without any modifications. Can you
send us a minimal reproducible repo to help us understand the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/draftbox-co/gatsby-ghost-novela-starter/issues/2#issuecomment-743947148,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APAIO3O63TX7QLTY6U7FCM3SUQ64NANCNFSM4USAM4MQ
.

I will know the issue about this ASAP. But can you plz tell me the above
thing.
On Sun, Dec 13, 2020 at 10:51 AM Rahul Kumar<EMAIL_ADDRESS>wrote:

As ghost CMS is paid. Is there any way i can use this template?
On Sun, Dec 13, 2020 at 9:55 AM Keyur Raval<EMAIL_ADDRESS>wrote:

Hi @rahxuls https://github.com/rahxuls,
This starter should work out-of-box without any modifications. Can you
send us a minimal reproducible repo to help us understand the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/draftbox-co/gatsby-ghost-novela-starter/issues/2#issuecomment-743947148,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APAIO3O63TX7QLTY6U7FCM3SUQ64NANCNFSM4USAM4MQ
.

Hi @rahxuls,
You can use the https://www.digitalpress.blog/ for free Ghost hosting or if you want to try out Draftbox CMS - you can visit us at https://draftbox.co


Ensure the reporter module is not loaded multiple times.

Ensure the reporter module is not loaded multiple times when before(:suite) is run multiple times because of calling RSpec::Core::Runner more than once.
Related issue: https://github.com/buildkite/docs/pull/99
This PR fix problem with capybara-screenshot not working with gem knapsack_pro

This fixes it for me!

I noticed the tests failed for ruby 2.0.0 on travis. But it's a separate issue: https://github.com/mattheworiordan/capybara-screenshot/issues/206

Excellent, thanks for this contribution.


Add as_dict method to bbopgraph for serializing to json

Copied over the changes from https://github.com/biolink/biolink-api/pull/299
Added as_dict method to bbop graph for serializing to json
Some linting

It works!  🎉

Thanks for bringing in the previous changes 👍


Global styles are leaky

In styles.css, global elements like a, button, and input have styling that leak into any custom components supplied:
a,
summary,
button,
input,
[tabindex]:not([tabindex='-1']) {
  @apply nx-outline-none;
  &:focus-visible {
    @apply nx-ring-2 nx-ring-primary-200 nx-ring-offset-1 nx-ring-offset-primary-300 dark:nx-ring-primary-800 dark:nx-ring-offset-primary-700;
  }
}

This imposes 2 problems:

I have to provide Nextra-specific style overrides for my components (in my case I’m showcasing a design system, and don’t want to have Nextra-specific code shipped to all consumers)
For the styles I’m declaring anyway, the Nextra docs have a 0 2 0 specificity that wins out over my 0 1 0 styles (note this only happens in dark mode with :is(html[class~="dark"] input:focus-visible), but our docs/site are all in dark mode)

If we fix this, it will fix issues for anyone writing docs in Nextra for their design system.

This is also a problem that I'm running into with Nextra and is fairly frustrating. The global button style is really breaking my integration with NextUI as a component library

closed by https://github.com/shuding/nextra/pull/3220 and https://github.com/shuding/nextra/pull/3248, use https://github.com/shuding/nextra/releases/tag/nextra-theme-docs%403.0.0-alpha.39


#dscience-mir

Hi, as you might know by now I went ahead and created #dscience and #dscience on freenode.
While I don't want to push IRC hard (I am fine with communication purely through Github), but I just wanted to know what your preferred communication channel is?

I will try to register

Did this work for you?

do you use OS X or linux?

Linux

Don't worry - as said we can still use Gitter or Github ;-)

Closing as gitter and github seems to work well for now :)


Pretraining on USPTO dataset

Congrats for the great work! I got questions about the model pretraining.
I found that although this work emphasize the importance of how R-SMILES can boost the retrosynthesis prediction performance, I doubt the main contribution of the performance boost seems to come from the pretraining on USPTO-full dataset.
I had this assumption after seeing Figure S2, where the top-1 accuracy without pretraining is ~54% after 30K training steps, which is slightly higher than AT (53.5%) but lower than the reported accuracy (56.3%). Even Chemformer (pretrained on 100M SMILES) only shows ~1% improvement at top-1 accuracy but a huge drop (>10%) at top-10 accuracy. With that being said, does the author consider the improvement comes from R-SMILES or more from the choose of pretraining dataset?
In addition, I couldn't find where the script removes the molecules in USPTO-50K and USPTO_MIT datasets during model pretraining as claimed in the paper. If this step is missing, using the ground truth to pretrain the model could lead to a serious data leakage issue.

In addition, I couldn't find where the script removes the molecules in USPTO-50K and USPTO_MIT datasets during model pretraining as claimed in the paper. If this step is missing, using the ground truth to pretrain the model could lead to a serious data leakage issue.

I believe that this cannot cause a leak, since at the pre-training stage the model is trained not on the task of retrosynthesis, but on the translation of masked molecules into original ones.

If the model is pre-trained to generate the molecules that are included in the answer, the model is more likely to generate the SMILES that the model has seen before when predicting the synthesis route. I assume this is the reason why model pretrained on 1M molecules from USPTO dataset works better than 100M molecules from ZINC database (Chemformer). Of course, this assumption should be verified by further experiment.
Nonetheless, this issue won't be raised if the ground truth molecules were totally removed during pretraining (as claimed in the paper). Since I could not find the line where those molecules are removed, could you tell me where that process is done in this repo?
Thank you.

Thanks for updating the code to exclude the data in USPTO-50K and USPTO-MIT datasets. I learned that you did exclude USPTO-50K and USPTO-MIT data when you trained the model, but this part was mistakenly removed during code cleaning. Just to check the results again, I tried to reproduce the pretrain-finetune results by following the instructions on the README.md file. However, I got three bugs and I fixed them by myself:

No averaged model generated:
FileNotFoundError: [Errno 2] No such file or directory: 'exp/USPTO_50K_PtoR_aug20/average_model_56-60.pt'
It seems that the file average_model_56-60.pt was expected to be generated but not generated by the code. Therefore, I simply replace this model path with the last checkpoint exp/USPTO_50K_PtoR_aug20/finetune_model.product-reactants_step_300000.pt

Typo of "augmentation"
score.py: error: unrecognized arguments: -augmenation 20 ./dataset/USPTO_50K_PtoR_aug20/test/src-test.txt
The argument augmentation was mistyped as augmenation in the README.md. I fixed it manually.

Not defined argument in function canonicalize_smiles_clear_map
NameError: name 'opt' is not defined
The function Chem.MolFromSmiles(smiles,sanitize=not opt.synthon) caused error because the argument opt is not defined in the canonicalize_smiles_clear_map. I modified the code to Chem.MolFromSmiles(smiles,sanitize=True) since the default value is of opt.synthon is True.

Other than these 3 modifications, I followed the exact procedure of your instructions and got the following results after running score.py:

Top-1 accuracy is 16.976% and Top-10 accuracy is 25.384%, which is different from the results shown in the paper. Could you explain the difference?

Thanks for updating the code to exclude the data in USPTO-50K and USPTO-MIT datasets. I learned that you did exclude USPTO-50K and USPTO-MIT data when you trained the model, but this part was mistakenly removed during code cleaning. Just to check the results again, I tried to reproduce the pretrain-finetune results by following the instructions on the README.md file. However, I got three bugs and I fixed them by myself:

No averaged model generated:
FileNotFoundError: [Errno 2] No such file or directory: 'exp/USPTO_50K_PtoR_aug20/average_model_56-60.pt'
It seems that the file average_model_56-60.pt was expected to be generated but not generated by the code. Therefore, I simply replace this model path with the last checkpoint exp/USPTO_50K_PtoR_aug20/finetune_model.product-reactants_step_300000.pt
Typo of "augmentation"
score.py: error: unrecognized arguments: -augmenation 20 ./dataset/USPTO_50K_PtoR_aug20/test/src-test.txt
The argument augmentation was mistyped as augmenation in the README.md. I fixed it manually.
Not defined argument in function canonicalize_smiles_clear_map
NameError: name 'opt' is not defined
The function Chem.MolFromSmiles(smiles,sanitize=not opt.synthon) caused error because the argument opt is not defined in the canonicalize_smiles_clear_map. I modified the code to Chem.MolFromSmiles(smiles,sanitize=True) since the default value is of opt.synthon is True.

Other than these 3 modifications, I followed the exact procedure of your instructions and got the following results after running score.py:
Top-1 accuracy is 16.976% and Top-10 accuracy is 25.384%, which is different from the results shown in the paper. Could you explain the difference?

I am not one of authors of the paper, but I recreated results from this paper with new code, that I wrote by myself. I trained models with huggingface libraries without using pretrain step (just train from scratch) and results are pretty similar (with proper scoring - slightly better than chemformer).
There is certainly something wrong with your setup or/and new bugs introduced in repository or Python dependencies.

I have pretrained the model again and fine-tuned it for retrosynthesis by strictly following the instructions in the README.md. This time, I averaged the models using the script pretrain_finetune/finetune/PtoR/PtoR-50K-aug20-average.sh and scored the predictions with opt.synthon set to True. The results are similar to my previous attempts:

@4r33x, I understand that you can achieve good results by reproducing them with your new code. However, the original question I raised in this issue was about the inconsistency between the data preparation code before the last update and the claims in the paper. Following the provided instructions did not yield the expected results. Therefore, I believe it would be best to wait for a reply from the original authors.

I have pretrained the model again and fine-tuned it for retrosynthesis by strictly following the instructions in the README.md. This time, I averaged the models using the script pretrain_finetune/finetune/PtoR/PtoR-50K-aug20-average.sh and scored the predictions with opt.synthon set to True. The results are similar to my previous attempts:

@4r33x, I understand that you can achieve good results by reproducing them with your new code. However, the original question I raised in this issue was about the inconsistency between the data preparation code before the last update and the claims in the paper. Following the provided instructions did not yield the expected results. Therefore, I believe it would be best to wait for a reply from the original authors.

Thanks for your attention to our work. As far as i see,  you are training a P2R model that should only be used for predicting the desired reactants with the product. In this case, the option opt.synthon  should not be used if you are not predicting the synthons. You could score the results with opt.synthon set to False

Thanks for updating the code to exclude the data in USPTO-50K and USPTO-MIT datasets. I learned that you did exclude USPTO-50K and USPTO-MIT data when you trained the model, but this part was mistakenly removed during code cleaning. Just to check the results again, I tried to reproduce the pretrain-finetune results by following the instructions on the README.md file. However, I got three bugs and I fixed them by myself:

No averaged model generated:
FileNotFoundError: [Errno 2] No such file or directory: 'exp/USPTO_50K_PtoR_aug20/average_model_56-60.pt'
It seems that the file average_model_56-60.pt was expected to be generated but not generated by the code. Therefore, I simply replace this model path with the last checkpoint exp/USPTO_50K_PtoR_aug20/finetune_model.product-reactants_step_300000.pt
Typo of "augmentation"
score.py: error: unrecognized arguments: -augmenation 20 ./dataset/USPTO_50K_PtoR_aug20/test/src-test.txt
The argument augmentation was mistyped as augmenation in the README.md. I fixed it manually.
Not defined argument in function canonicalize_smiles_clear_map
NameError: name 'opt' is not defined
The function Chem.MolFromSmiles(smiles,sanitize=not opt.synthon) caused error because the argument opt is not defined in the canonicalize_smiles_clear_map. I modified the code to Chem.MolFromSmiles(smiles,sanitize=True) since the default value is of opt.synthon is True.

Other than these 3 modifications, I followed the exact procedure of your instructions and got the following results after running score.py:
Top-1 accuracy is 16.976% and Top-10 accuracy is 25.384%, which is different from the results shown in the paper. Could you explain the difference?

Thanks for your detailed report.  It's really valuable and we will fix these problems in next update.
For the problem 3, your understanding is basically correct. Chem.MolFromSmiles(smiles,sanitize=True) is the default setting for rdkit and should be used for most cases. However, it can not recognize the synthon correctly. So the sanitize should be False when it is used for scoring the accuracy of synthons.

I actually used sanitize=False at my second trail, the previous reply was a typo. The accuracy shown in the screenshot is obtained by the correct settings.

I actually used sanitize=False at my second trail, the previous reply was a typo. The accuracy shown in the screenshot is obtained by the correct settings.

If you score the reactants with the correct setting and cannot get the desired results, which means the option opt.synthon is set to to be False, here is my advice:

Check your performance without pretraining on the USPTO-full dataset to make sure there is no mistake in the P2R training step. You can use the train-from-scratch scripts.
In your screenshot, I found huge percentage of invalid SMILES, which is quite strange. According to the research of Zheng et al.(Predicting Retrosynthetic Reactions Using Self-Corrected Transformer Neural Networks),  the invalid rate of top-10 accuracy of the P2R model trained with vanilia transformer and canonical SMILES  is about 22%. You should check why it happens.

Looking forward to your further result.

I set the opt.synthon to False and sanitize to True. I also found the reason of the high invalid SMILES rate:
Because I only use the pretraining molecules to build the vocabularies to prevent any possible leakage during pretraining, the token . was not in the vocabularies of the pretrained model. Therefore, the predictions look like the following:
C C ( = O ) c 1 c c c 2 [nH] c c c 2 c 1 <unk> C ( = O ) ( O C ( = O ) O C ( C ) ( C ) C ) O C ( C ) ( C ) C
After replacing <unk> to ., I got a much better result:

Now the results look much closer to the ones shown in the paper. Now it's clear to me that the results are not significantly improved due to the pretraining on test set.
Thanks and again congrats to the team for the great work. Really impressive.


COPY TO/FROM is overly restrictive on options

Current parsing of COPY TO/FROM options is too restrictive on the how the keys & values can be provided.
https://github.com/sqlparser-rs/sqlparser-rs/blob/ce498864dc705f72e9f85d4dc5f7eba3d17b9ef6/src/parser/mod.rs#L5157-L5180
Given this parsing code, the expected format is:
COPY (SELECT 1 AS a, 2 AS b) TO 'file'
WITH (
  FORMAT 'text',
  FREEZE true,
  DELIMITER 'd',
  NULL 'null',
  HEADER true,
  QUOTE 'q',
  ESCAPE 'e',
  FORCE_QUOTE (a, b),
  FORCE_NOT_NULL (a, b),
  FORCE_NULL (a, b),
  ENCODING 'encoding'
)

The problems:

Key must be a keyword and cannot be a quoted string, even though postgres allows this, i.e. WITH ("format" 'text', ...)
It strictly limits the key set at parsing time, leading to further problems:

Need to update this parser whenever postgres supports a new key, e.g. DEFAULT (supported in postgres 16: https://www.postgresql.org/docs/16/sql-copy.html)
We can't use this code for other databases/engines with a similar copy statement as they may have different supported keys (e.g. duckdb and datafusion, see #1080)

Some values are too strict in their format:

FORMAT expects an identifier, which disallows escaped strings (format e'csv'), but this is allowed by postgres
FREEZE expects keywords true or false but postgres allows these to be passed as string literals (single quoted, double quoted, escaped), e.g. freeze 'true'

Same for HEADER

Solutions
We could fix these problems for Postgres specifically to make it more permissive, but I was hoping to also fix it to allow usage by other engine dialects (e.g. duckdb and datafusion). This might involve removing the CopyOption enum entirely:
https://github.com/sqlparser-rs/sqlparser-rs/blob/ce498864dc705f72e9f85d4dc5f7eba3d17b9ef6/src/ast/mod.rs#L4707-L4736
And replacing its usage in Statement::Copy with a more generic version that allows any string key with a new value enum to represent different values (e.g. string value, parenthesized column list value, number value):
https://github.com/sqlparser-rs/sqlparser-rs/blob/ce498864dc705f72e9f85d4dc5f7eba3d17b9ef6/src/ast/mod.rs#L1466-L1478
I'm not sure how the legacy options will fit into this, it could just be left as is and probably tackled as part of another ticket (as the original reason here was for interop with datafusion copy statement)

I'm currently working on this, but I wanted to gather opinions on how to properly tackle this, especially in regards to how much backward compatibility (if any) we should strive to preserve. I was initially thinking of removing CopyOption enum entirely as it feels problematic, but it would be a breaking change.
Thoughts @alamb ?

Rather than removing CopyOption entirely, what about making an extension or other variant in CopyOption that is like CopyOption::Other(Name, Value) or soemthing?
Any changes like this will be a breaking change -- I think a key requirement is that sqlparser continues to be able to parse queries it is currently able to (doens't start rejecting queries it used to parse)
I think a very valuable property is that the AST that comes out is as typed as possible -- e.g. Copy options probably shouldn't just be a generic set of key/value pairs

Another potential thought might be to keep the current postgres specific copy options but rename it to PostgresCopy and only parse with the postgres dialect, and then make a more generic node for the Generic dialect (and we can add a DuckDB specific one too if we wanted)

I think a key requirement is that sqlparser continues to be able to parse queries it is currently able to (doens't start rejecting queries it used to parse)

This should be fine. In fact, it should be more permissive now. It's more about library API breaking changes.

Rather than removing CopyOption entirely, what about making an extension or other variant in CopyOption that is like CopyOption::Other(Name, Value) or soemthing?

Yeah this is a possibility, as downstream users can then ignore the Postgres specific enum variants (though might be undesirable to have this baggage).

I think a very valuable property is that the AST that comes out is as typed as possible -- e.g. Copy options probably shouldn't just be a generic set of key/value pairs

I agree that more typing is better, but in this case the option keyset seems less part of the SQL syntax and more part of engine semantics. Although, postgres does throw an error when it doesn't recognize an option with the error pointing to the SQL so maybe I'm wrong on that:
postgres=# copy (select 1 as a, 2 as b, 3 as c) to '/tmp/123' with (format e'csv', delimiter a, freeze e'true', null test, test123 test);
ERROR:  option "test123" not recognized
LINE 1: ...t e'csv', delimiter a, freeze e'true', null test, test123 te...

Also having the keyset be unrestricted/generic and not typed to enum might make it easier for downstream users to support more/new keys (since they can implement the key/value parsing themselves), but perhaps this doesn't change often enough to warrant being a high priority

Another potential thought might be to keep the current postgres specific copy options but rename it to PostgresCopy and only parse with the postgres dialect, and then make a more generic node for the Generic dialect (and we can add a DuckDB specific one too if we wanted)

This is probably the better approach, so users won't have to consider postgres specific options when they are checking the copy options. I'll probably explore in this direction.


Storing Secrets Safely

https://fluxcd.io/flux/guides/mozilla-sops/

Also, review https://github.com/1Password/connect


Open not correct source of function if two or more function have the same name in one schema

I have schema. In this schema define two function with the same name but different parameters list. By attempt open function to edit not correct work. If I open first function it's all right. But if I open second function for edit it's open definition parameters all right but source code is code of first function.
Correct function

Incorrect function

Looks like you are using "PostgreSQL Generic" driver. It doesn't support functions override.
Use standard PostgreSQL driver. In 99% cases it doesn't make sense to use Generic driver unless you are on PostgreSQL 8 or earlier.


Storage: Refine the snapshot creation on DeltaValueSpace

What problem does this PR solve?
Issue Number: ref #6233
Problem Summary:
In the previous code, DeltaValueSnapshot and ColumnFileSetSnapshot instances will be created then set belonging members. This is not a good code practice may lead to some fields missing to be assign when implementing "clone" and "deserialize". It led to unexpected bug likes https://github.com/pingcap/tiflash/pull/9530
What is changed and how it works?

Make the members of DeltaValueSnapshot and ColumnFileSetSnapshot "const" as possible
Refine the include header of RSOperator

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/retest


Incompatible instance typing while assigning to express-session's store

Got an incompatible instance typing while assigning to express-session's store with the 3.1.10 release as follows:
src/main.ts:48:7 - error TS2740: Type 'PrismaSessionStore<"session">' is missing the following properties from type 'Store': regenerate, load, createSession, addListener, and 14 more.

48       store: new PrismaSessionStore(prismaService, {
         ~~~~~

  node_modules/@types/express-session/index.d.ts:94:9
    94         store?: Store | undefined;
               ~~~~~
    The expected type comes from property 'store' which is declared here on type 'SessionOptions'

src/main.ts:
app.use(
  expressSession({
    secret: 'very-confidential-secret',
    resave: false,
    saveUninitialized: false,
    store: new PrismaSessionStore(prismaService, {
      checkPeriod: 2 * 60 * 1000, //ms
      dbRecordIdIsSessionId: true,
      dbRecordIdFunction: undefined,
    }),
  })
);

package.json:
{
  "dependencies": {
    "@quixo3/prisma-session-store": "^3.1.9",
    "express-session": "^1.17.3",
  }
}

These configurations work just fine before with the 3.1.9 release. Is there anything needs to be done or are there any migration steps should be followed in order to make it works with the latest release?

Hi @rahadi23 - Sorry for the late reply, here.
Is prismaService an instance of PrismaClient? E.g, new PrismaClient(), or prisma imported from context.ts (if you're doing something similar to Prisma's examples on github?)

Hi @kleydon - thank you for the reply.
Sorry for the lack of context. prismaService I used here is a result of extending PrismaClient, since I use NestJS. It is exactly the same as explained here.
Again, this only happen when I upgrade to 3.1.10 (works flawlessly with 3.1.9 with the exactly the same configuration).

Hmmm... Not sure what is going on.
Here's the diff between 3.1.10 and 3.1.9 on GitHub, in case that helps get to the bottom of this.
In prisma-session-store (v3.1.9 and v3.1.10), the class definition begins with:
`export class PrismaSessionStore<M extends string = 'session'> extends Store`,

...where Store (imported from express-session) includes all the properties that the error message above suggests are not included (e.g. regenerate, load, createSession, addListener). PrismaSessionStore's constructor (for both v3.1.9 and v3.1.10) doesn't remove or alter these properties, so they should still be included.
Is it possible that in your testing, the version of express-session is changing with the version of prisma-session-store? (If express-session's Store were changing - this might account for the error message...)
Alternatively: Perhaps although there is an error, the error message is misleading - and the issue is really something else?
Another thought: In v3.1.10, two new properties were added to PrismaSessionStore: isSetting and isTouching (see diff above). Maybe typescript is for some reason complaining about this change? One way to quickly test - instead of using:
store: new PrismaSessionStore(...)

You could try:
let altStore = new PrismaSessionStore()
//Remove the recently added properties for testing
delete altStore.isSetting
delete altStore.isTouching
...
store: altStore

This wouldn't work as a final solution - but perhaps it could help with narrowing down whether or not the problem has to do the addition of these two new properties or not?
Also - if you could post a buildable minimal reproduction of what you are seeing, so others could build it and experience the issue directly, this might make it easier for people to debug this in parallel... My time over the near term is a bit limited, but - hopefully this will get solved! I suspect you aren't the only one using this lib with Prisma with NestJS - seems like a really useful/powerful web stack to me.

I'm getting a similar error, this is my setup:
app.use(session({
  secret: 'this-should-be-very-random',
  resave: true,
  saveUninitialized: false,
  store: new PrismaSessionStore(
    new PrismaClient(),
    {
      checkPeriod: 2 * 60 * 1000,  //ms
      dbRecordIdIsSessionId: true,
      dbRecordIdFunction: undefined,
    }
  )
}));

and TypeScript is throwing this error:
Argument of type 'PrismaClient<PrismaClientOptions, never, RejectOnNotFound | RejectPerOperation | undefined>' is not assignable to parameter of type 'IPrisma<"session">'.

  Property 'session' is missing in type 'PrismaClient<PrismaClientOptions, never, RejectOnNotFound | RejectPerOperation | undefined>' but required in type 'Record<"session", { create(args: ICreateArgs): Promise<IPrismaSession>; delete(args: IDeleteArgs): Promise<IPrismaSession>; deleteMany(args?: unknown): Promise<...>; findMany(args?: IFindManyArgs | undefined): Promise<...>; findUnique(args: IFindUniqueArgs): Promise<...>; update(args: IUpdateArgs): Promise<...>; }>'.ts(2345)

@owensj-basis - thanks for the report.
Any chance you might be willing to post a minimal reproduction and link to it here, so its easier to problem-solve?

@owensj-basis I'm facing exactly the same problem. For now, I have fixed it by casting PrismaClient to any. It's not the solution, and I wished I could help, but I'm not particularly good with Typescript.

Thanks @owensj-basis!
It is people "weighing in" as they can that enables open source projects like these to keep moving forward.
Any type-script aficionados out there who rely on this library up for taking a look at this?
Thanks,
-K

@owensj-basis I'm facing exactly the same problem. For now, I have fixed it by casting PrismaClient to any. It's not the solution, and I wished I could help, but I'm not particularly good with Typescript.

This was my workaround as well
@kleydon I'll see if I can get a minimal reproduction in a separate repo and post if successful

@owensj-basis Appreciate it!
(Hope you don't feel obliged; I'm just trying to "lean on" the whole community that uses this lib, to distribute the workload a bit... :)

Hi, I have the same problem with NestJS, any news?

@IonVillarreal, not yet; I've not used NestJS, myself thusfar.
PR's welcome!

Hi @andremarcondesteixeira, sorry this lib has been less than helpful for you, at least so far. Curious: If you happen to be using VSCode, and you hover over your own session store implementation, what is the typing that you see for it? (Just wondering if this info might yield clues that suggest a fix for NestJS users...)

For now, for NestJS, for now I'm using [connect-pg-simple] (https://www.npmjs.com/package/connect-pg-simple)
with a similar setup:
app.use(
    session({
      secret: configService.get('SESSION_SECRET') || '',
      resave: false,
      saveUninitialized: false,
      rolling: true,
      name: 'base.sid',
      cookie: {
        maxAge: 30 * 60 * 1000,
        httpOnly: true,
      },
      store: new (connectPgSimple(session))({
        createTableIfMissing: true,
        schemaName: 'project',
      }),
    })
  )

Also getting weird type errors in my editor.

Hi @olalonde,
For context, are you using NestJs? What version of Express / Express Session are you seeing this with?
Thanks for posting,
-K

Using Express v5
    "express": "^5.0.0-beta.1",
    "@types/express": "^4.17.17",
    "express-session": "^1.17.3",
    "@types/express-session": "^1.17.6",

Hi @kleydon , Thank you for taking out time to build this library and making it open source! You are saving tons of time for others!
I am facing the same issue as above, and I have a very simple REST API with express and express-session. The TS issue goes away by using as any

I have followed this code snippet (thanks to @ansemjo) https://github.com/prisma/prisma/issues/10306#issuecomment-1476328622
My session.ts file
import Session from 'express-session';
import { PrismaSessionStore } from "@quixo3/prisma-session-store";
import prisma from '../lib/prisma';
import { SECRETS } from './settings';
// return a session middleware for express
export function getSessionConfig() {
    return Session({
        name: "sfwtid", // name of the cookie
        cookie: {
            maxAge: 7 * 24 * 60 * 60 * 1000, // ms, 7 days
            sameSite: "strict",
            secure: "auto",
        },
        secret: SECRETS.expressSessionSecret!,
        resave: false,
        saveUninitialized: false,
        unset: "destroy",
        store: new PrismaSessionStore(prisma as any, {
            checkPeriod: 10 * 60 * 1000, // ms, 10 minutes
            dbRecordIdIsSessionId: true,
            dbRecordIdFunction: undefined,
        }),
    });
}

My prisma.ts file
import { PrismaClient } from "@prisma/client";
const globalForPrisma = global as unknown as { prisma: PrismaClient };
export const prisma = globalForPrisma.prisma || new PrismaClient();
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
export default prisma;

Hi Shridhar,
I'm traveling, but will check this out when I can - probably early next week.
Thanks for posting this!
-Krispin

On Jun 18, 2023, at 10:54 AM, Shridhar Puntambekar @.***> wrote:

Hi @kleydon , Thank you for taking out time to build this library and making it open source! You are saving tons of time for others!
I am facing the same issue as above, and I have a very simple REST API with express and express-session. The TS issue goes away by using as any
I have followed this code snippet (thanks to @ansemjo) prisma/prisma#10306 (comment)
My session.ts file
import Session from 'express-session';
import { PrismaSessionStore } from @.***/prisma-session-store";
import prisma from '../lib/prisma';
import { SECRETS } from './settings';
// return a session middleware for express
export function getSessionConfig() {
return Session({
name: "sfwtid", // name of the cookie
cookie: {
maxAge: 7 * 24 * 60 * 60 * 1000, // ms, 7 days
sameSite: "strict",
secure: "auto",
},
secret: SECRETS.expressSessionSecret!,
resave: false,
saveUninitialized: false,
unset: "destroy",
store: new PrismaSessionStore(prisma as any, {
checkPeriod: 10 * 60 * 1000, // ms, 10 minutes
dbRecordIdIsSessionId: true,
dbRecordIdFunction: undefined,
}),
});
}
My prisma.ts file
import { PrismaClient } from @.***/client";
const globalForPrisma = global as unknown as { prisma: PrismaClient };
export const prisma = globalForPrisma.prisma || new PrismaClient();
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
export default prisma;
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

@ShriPunta
I've just tried the code above (changing ../lib/prisma to ./prisma, to point to prisma.ts in my test project), and I'm able to compile & run (with no vs code errors) without including as any.

Is it possible that running prisma generate (to generate the prisma client) will fix the issue?
Does import prisma from '../lib/prisma'; point to your prisma.ts file - or does it point to something else?
What version of express & express-session are you using? Can you post your package.json file?

I only have the issue with the typing error and "session" when the schema is missing the "Session" type or the client has not been generated properly npx prisma generate.
Anyone having this issue I would check the generated "PrismaClient" from the node_modules folder (or wherever you put it) has the the "session" property from the Session model.
all of your models should be a property on the client
const prisma = new PrismaClient();
prisma.session.findOne();
prisma.myOtherType.findAll();

Of course check this is in your schema
model Session {
  id        String   @id
  sid       String   @unique
  data      String
  expiresAt DateTime
}


export docker images for client and server

to ease the use of Zally :-)
this could be done at the end of the CI pipe maybe

Would be particularly awesome if, via #560, a custom jar of rules could be mounted into the server.

@vadeg no, but there is the Zalando open-source Docker registry :)

hello do we have a news about this issue ?
it's could be more easy to maintain

hello do we have a news about this issue ?
it's could be more easy to maintain


Links in 'Govern' section of CoE Starter Kit Dashboard Introduction Page do not open Apps (Deep Dive) or Cloud Flows (Deep Dive)

The links in the Govern section of the Introduction Page in the August CoE Starter Kit Dashboard Power BI Report do not link to the corresponding App or Cloud Flow Deep Dive page.

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

ID: b3d9f529-ccac-c9f5-8133-a3c31f1a6f3e
Version Independent ID: 099d9362-d7be-3df2-cab2-0f68e3f28dfd
Content: Govern with the CoE Power BI dashboard - Power Platform
Content Source: power-platform/guidance/coe/power-bi-govern.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Hello,
thank you for letting us know! I've raised this as an issue in the GitHub project that we use to track our development work
https://github.com/microsoft/coe-starter-kit/issues/6401 and we'll address it with the next release.
I'm closing this issue here, as we only track documentation issues here and this is a dev issue.
Thank you,
Manuela


Refactoring xHostsFile & Tests

Refactoring Get-TargetResource for performance.
Added logic to ignore inline comments on host files
Adding remove and modify integration tests to cover more surface area.
Perf:
Get-TargetResource had a bit of a code smell to it, lots of piping and modifying of objects that just didn't look like it was needed. I refactored this to use a foreach loop and added an early out once it found whatever it was we were looking for.
To test this I pulled in an old hosts file from StevenBlack/hosts which has about 38,000 lines in it.
Using measure-command I found it took about 4 seconds to locate a line at the bottom of the file using the existing logic.
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 4
Milliseconds      : 899
Ticks             : 48990607
TotalDays         : 5.67020914351852E-05
TotalHours        : 0.00136085019444444
TotalMinutes      : 0.0816510116666667
TotalSeconds      : 4.8990607
TotalMilliseconds : 4899.0607

Using my refactored code this drops to 907 milliseconds finding the same domain (again at the end of the file so this isn't just leveraging the early out).
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 907
Ticks             : 9076952
TotalDays         : 1.05057314814815E-05
TotalHours        : 0.000252137555555556
TotalMinutes      : 0.0151282533333333
TotalSeconds      : 0.9076952
TotalMilliseconds : 907.6952

Inline Comments:
In my testing I found the host file to contain inline comments such as:

<IP_ADDRESS> s.gateway.messenger.live.com # breaks Skype GH-183

I added some logic to strip the comments allowing us to only look for the domain.
Integration tests:
I added two more tests to test modifying and removing the host file.
I also removed the 30 second sleep because it should be unneeded and just slowed down the tests.

@tysonjhayes - Wow! That is awesome dude!
I'll give this a review tomorrow though because I've run out of steam for tonight. Been a bit of a long day at the office.

@tysonjhayes - fantastic job there pal! I really couldn't find fault except for the utterly trivial nitpicks. Let me know if they're not worth fixing and I'll merge.

Reviewed 8 of 8 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 212 at r1 (raw file):

    )

    $allHosts = Get-Content -Path "$env:windir\System32\drivers\etc\hosts" | `

You don't need to end the line with a backtick if it already ends with a | - so backtick is not required.

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 239 at r1 (raw file):

            $result = @{
                Host = $array

Nitpick: Could you align the = signs?

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 246 at r1 (raw file):

        {
            $result = @{
                Host = $data[1]

Nitpick: Could you align the = signs?

Comments from Reviewable

Review status: 7 of 8 files reviewed at latest revision, 3 unresolved discussions.

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 212 at r1 (raw file):
Previously, PlagueHO (Daniel Scott-Raynsford) wrote…
You don't need to end the line with a backtick if it already ends with a | - so backtick is not required.

fixed.

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 239 at r1 (raw file):
Previously, PlagueHO (Daniel Scott-Raynsford) wrote…
Nitpick: Could you align the = signs?

Fixed.

Modules/xNetworking/DSCResources/MSFT_xHostsFile/MSFT_xHostsFile.psm1, line 246 at r1 (raw file):
Previously, PlagueHO (Daniel Scott-Raynsford) wrote…
Nitpick: Could you align the = signs?

Done.

Comments from Reviewable

Nice job! Thanks @tysonjhayes

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


[App Configuration] Update App Configuration tasks description

Task name: App Configuration Tasks [App Configuration Import task, App Configuration Export task]
Description:  Update tasks description and help url
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) N
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

We should also update the user-agent name - https://github.com/microsoft/azure-pipelines-tasks/blob/cb801a211298e4f4aae4127ddd232412a055cbb6/Tasks/AzureAppConfigurationImportV10/utils.ts#L9

We should update the third party notices text https://github.com/microsoft/azure-pipelines-tasks/blob/cb801a211298e4f4aae4127ddd232412a055cbb6/Tasks/AzureAppConfigurationImportV10/ThirdPartyNotices.txt#L4

We should also update the user-agent name -
https://github.com/microsoft/azure-pipelines-tasks/blob/cb801a211298e4f4aae4127ddd232412a055cbb6/Tasks/AzureAppConfigurationImportV10/utils.ts#L9

@ChristineWanjau nice catch this has been updated, thanks

We should update the third party notices text
https://github.com/microsoft/azure-pipelines-tasks/blob/cb801a211298e4f4aae4127ddd232412a055cbb6/Tasks/AzureAppConfigurationImportV10/ThirdPartyNotices.txt#L4

@ChristineWanjau  thanks for catching this has been updated


UV Coordinates are flipped when object is rotated

###what:
UV Coords are not calculated correctly when object is rotated or has a slope.

fixed with commit-393ff9a


Diff: metadata file part of patch

When generating a patch using dfetch diff, the metadata file (.dfetch_data.yaml) can be part of the patch:

This leads to unexpected behavior:
Given a project is fetched and checked in
And it has local changes
When a patch is created with dfetch diff
Then the metadata is part of patch
When this patch is added to the project entry in the manifest
Then dfetch update ignores the patch


Add Hombrew as install method on MacOS

Hi,
The aim of it is to update iamb's documentation to include the Hombrew repository link and the command to install iamb on MacOS.
Also, I alphabetically sorted the install instructions for each platform.

Thank you for updating the docs and alphabetizing the install instructions! It's wonderful to see so many platforms in the README! I'll add Homebrew instructions to the site, too.


cask/quarantine: avoid xcrun when executing Swift

Fixes things breaking when people put broken stuff into /usr/local/include:

https://github.com/orgs/Homebrew/discussions/5170
https://github.com/orgs/Homebrew/discussions/5109
https://github.com/orgs/Homebrew/discussions/422#discussioncomment-257413

We were using /usr/bin/swift which is the same as /usr/bin/xcrun swift. This has a weird documented behaviour:
ENVIRONMENT
       CPATH
          This environment variable is modified by xcrun to include
          /usr/local/include when an explicit SDK is not requested via
          environment variable nor command line argument and neither -nostdinc
          nor -nostdsysteminc are present.

We can avoid this by using xcrun -find to find the underlying Swift executable and invoking that directly.

Do you have any idea why they added this unusual behavior to xcurn?

My guess would be the transition from /usr/include to SDKs. Before it was very simple in that we had /usr/include and /usr/local/include. SDKs uses the sysroot system so that all these paths were prefixed with an SDK now, e.g. <sdk>/usr/include and <sdk>/usr/local/include. For compatiblity reasons it could make sense they made it so /usr/bin/clang worked like it did before with /usr/local/include.
That's just a theory though.
In any case, it hasn't scaled well with modules being introduced and generally with Swift. It makes some sense when working with Clang etc directly, but does raise a point that maybe this is something we want to avoid in the superenv, particularly on /opt/homebrew installs.


ESP32: Add RPC service to lock-app.

Problem

Lighting example is not present for esp32.
Lighting example in CHIP is equivalent to lock-app example.
Lighting example has RPC communication.
Hence in order to avoid redundancy by replicating the example, just add RPC communication feature to lock-app esp32.

Change overview
Added the necessary changes for pigweed in lock-app esp32.
Testing

Using a pigweed RPC console, perform actions on device_service, locking_service, and button_service.

Using a pigweed RPC console, perform actions on device_service, locking_service, and button_service.

@sweetymhaiske  Will it be possible to edit the description and actually add the commands/responses you've tested. This will help the users to try it out when the support is merged

@sweetymhaiske  Do you want to update the lock-app README.md with these changes?

@sweetymhaiske Do you want to update the lock-app README.md with these changes?

@dhrishi  Yes I will update it.

Using a pigweed RPC console, perform actions on device_service, locking_service, and button_service.

@sweetymhaiske Will it be possible to edit the description and actually add the commands/responses you've tested. This will help the users to try it out when the support is merged

@dhrishi

@sweetymhaiske Do you want to update the lock-app README.md with these changes?

@dhrishi I will add README once lock-app console is added for this example. Once this PR gets merge then Rob will work upon that.

@rgoliver

/rebase

/rebase

Done

/rebase

@sweetymhaiske Is anything pending in this PR?

@sweetymhaiske Is anything pending in this PR?

Nope.

@woody-apple @andy31415 Can you guys please help? I think one group is pending to review.

Pullapprove says @dhrishi rejected. that seems at odds with the comments, so I assume it is actually passing. Will manually merge.


Fixed Issue #10002

Issue Reference
#10002

Checked and Found that the issue has been fixed and working fine, now no 404 error is appearing. Please check video for reference.
Video
https://github.com/user-attachments/assets/0a483e5c-5fcd-45e8-a027-f2340cd6a184


24-hours show Nan

Hi,
i try this code $('.timepicker-24-hr').wickedpicker({twentyFour: true}); .
When i click into the input is shows me NaN.
What reason can it be?
thanks fors help

Try-
twentyFour: 1
In their library I had seen somewhere that they had written something like
if (twentyFour != 1) ...


TIM-106 feat(feed): add post fetching

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#48  👈
#47
#46
#45
#44
#43
#42
#41
#40
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xdjeremy and the rest of your teammates on  Graphite


⚠ Bofrost.be has degraded performance

In 0926e59, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1974 ms

Resolved: Bofrost.be performance has improved in b4b88c7 after 6 minutes.


Raising exception when using with setInterval

Objective: Trying to pretty-ms the seconds received. I am calling a function inside setInterval. Due to this exception is being raised.
IsFinite check is there from what i understand. Can anything be done for this?

Submit a pull request with a failing test and I'll take a closer look. I'm requesting this as most issues like these are just users using the module incorrectly or an unrelated problem.


⚠ Bofrost.nl has degraded performance

In 1657144, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 812 ms

Resolved: Bofrost.nl performance has improved in dad8bb4.


SyntaxError: invalid syntax

Traceback (most recent call last):
File "main.py", line 1, in
from run import Bot
File "C:\Users\WOODcraft\Desktop\text\op\Vinod Pal vps 14.11.2022\0 spotyfY m
usic bot\MusicDownloader-Telegram-Bot-master\MusicDownloader-Telegram-Bot-master
\run_init_.py", line 7, in
from .buttons import Buttons
File "C:\Users\WOODcraft\Desktop\text\op\Vinod Pal vps 14.11.2022\0 spotyfY m
usic bot\MusicDownloader-Telegram-Bot-master\MusicDownloader-Telegram-Bot-master
\run\buttons.py", line 49
match mode:
^
SyntaxError: invalid syntax

Thank you for reporting this issue.
The error you're encountering is due to the use of the match statement in the buttons.py file. This feature was introduced in Python 3.10, and it seems you might be using an earlier version.
To resolve this, you have two options:

Upgrade your Python installation to version 3.10 or later.
If upgrading isn't possible, I can modify the code to use traditional if-elif-else statements instead of the match statement.

You can download the modified buttons.py file right here :
buttons.zip
This should resolve the SyntaxError you were experiencing.
Let me know if this works for you.


[Android][IOS] SelectorExtensions.PipsPager does not work with ItemsSource

Current behavior

the pipsPager only detects items added manually from the xaml

Expected behavior

should work like on WinUI

pispager works and detects both items from item source and items added from the xaml.
How to reproduce it (as minimally and precisely as possible)
Open app, notice that one side gets the pipspager and the other does not.

App5.zip
Environment

Nuget Package:
Package Version(s):
uno.toolkit.winui 2.4.0-dev.115
uno.toolkit.winui.Material 2.4.0-dev.115
Affected platform(s):

[X] iOS
[X] Android
[ ] WebAssembly
[ ] WebAssembly renders for Xamarin.Forms
[ ] Windows
[ ] Build tasks

Visual Studio:

[ ] 2017 (version: )
[x] 2022 (version: 17.4.1)
[ ] for Mac (version: )

Relevant plugins:

[ ] Resharper (version: )

Anything else we need to know?

Any updates on this?

@pictos is this expected?

I'm going to take a look.


Add links to specs

High Level Overview of Change
Add links to PayID Protocol and Verifiable PayID Protocol specs
Context of Change
Links had not been added to new specs
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[x] Documentation Updates
[ ] Release

Thanks for noticing that!


add LEMP with wordpress installation to project

Hi
thanks for useful examples of your project
i added wordpress installation via vagrant and LEMP to your project

@parhamzardoshti - Thanks for the PR! For this particular repository, I'm only maintaining examples that are part of the book itself. I would encourage you to set up a new GitHub repository of your own where you can maintain this example and expand it to fit whatever needs you have.


FSMIntegerField transition fails when target state value is 0

I spent some time debugging a state transition issue where everything seemed to b correct, except the state is not updated after executing the handler.
It seems the issue is with the target state value being 0. In this case the state transition is not performed. Changing the target state value to anything different than 0 fixes this.
Is this expected behavior? Looks like a bug to me.

I should upgrade to latest version - https://github.com/kmmbvnr/django-fsm/blob/master/django_fsm/init.py#L297

indeed thanks, missed the release


Sync new goal criteria & deps forms

new goal criteria form - https://github.com/taskany-inc/issues/pull/1964
new goal deps form - https://github.com/taskany-inc/issues/pull/1939

they should look and work the same, no copy-paste

Should create a new base component for both forms.
NB: should be an option for the form not to show radio buttons at all (ex. when adding new dependency from "dependent" block)


The sliding item should take the full list width

Steps to reproduce:

Use ion-item-sliding with VirtualScroll

    <ion-list [virtualScroll]="items">
      <ion-item-sliding *virtualItem="let item">
        <ion-item>
          {{ item }}
        </ion-item>
        <ion-item-options>
          <button primary>
            <ion-icon name="check"></ion-icon>
            Done
          </button>
        </ion-item-options>
      </ion-item-sliding>
    </ion-list>

Which Ionic Version? 1.x or 2.x
2.0.0-beta.8
Plunker that shows an example of your issue
http://plnkr.co/edit/oXf11zC0Aadb02podyCG?p=preview
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.0.0
Ionic Framework Version: 2.0.0-beta.8
Ionic CLI Version: 2.0.0-beta.24
Ionic App Lib Version: 2.0.0-beta.14
OS: Distributor ID:	Ubuntu Description:	Ubuntu 16.04 LTS
Node Version: v5.8.0

This is related and reported in #6239

@mpaland Thanks for pointing that out! Not sure how I missed that. I'll copy over the new plunkr on beta8 and close this ticket.


Update catppuccin-theme.el

Added colours to the menu bar visible in terminals. The actual colours should probably be reviewed.

I will review in a few mins ❤

Sorry completely forgot about this, looks good 👍


Missing dependencies in my create-react-app project

when I tape yarn check in my react.js project it appears this error
yarn check v1.16.0
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
warning<EMAIL_ADDRESS>could be deduped from "24.8.0" to<EMAIL_ADDRESS>warning "react-scripts#babel-preset-react-app#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "react-scripts#babel-preset-react-app#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "react-scripts#babel-preset-react-app#<EMAIL_ADDRESS>could be deduped from "7.0.0" to "<EMAIL_ADDRESS>warning "react-scripts#babel-jest#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "react-scripts#babel-loader#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "react-scripts#babel-plugin-named-asset-import#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "jest-resolve#jest-pnp-resolver#jest-resolve@*" could be deduped from "24.8.0" to<EMAIL_ADDRESS>warning<EMAIL_ADDRESS>could be deduped from "1.10.0" to<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-proposal-class-properties#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-proposal-decorators#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-proposal-object-rest-spread#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-syntax-dynamic-import#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-classes#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-destructuring#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-flow-strip-types#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-react-display-name#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-runtime#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.2" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-react#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-react#<EMAIL_ADDRESS>could be deduped from "7.3.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-react#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-react#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-typescript#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "react-scripts#babel-jest#babel-preset-jest#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "<EMAIL_ADDRESS>could be deduped from "1.10.0" to<EMAIL_ADDRESS>warning<EMAIL_ADDRESS>could be deduped from "1.10.0" to<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-proposal-class-properties#@babel/helper-create-class-features-plugin#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/preset-env#@babel/plugin-proposal-async-generator-functions#<EMAIL_ADDRESS>could be deduped from "7.2.0" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-proposal-decorators#@babel/plugin-syntax-decorators#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-flow-strip-types#@babel/plugin-syntax-flow#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "@babel/preset-react#@babel/plugin-transform-react-display-name#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>error "babel-preset-react-app#@babel/preset-react#@babel/plugin-transform-react-jsx-self" not installed
error "babel-preset-react-app#@babel/preset-react#@babel/plugin-transform-react-jsx-source" not installed
warning "babel-preset-react-app#@babel/preset-typescript#@babel/plugin-transform-typescript#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "babel-preset-react-app#@babel/plugin-transform-typescript#@babel/plugin-syntax-typescript#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>warning "jest-config#babel-jest#<EMAIL_ADDRESS>could be deduped from "7.4.4" to "<EMAIL_ADDRESS>error "babel-jest#babel-preset-jest" not installed
info Found 68 warnings.
error Found 3 errors.
info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.

I attempted to fix it with yarn install but nothing change and show that they all up-to-date
yarn install v1.16.0
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.85s.

I can't understand what's the reason that causes this and how to fix it.

Have you tried removing your yarn.lock and rm -rf node_modules/ followed by a yarn?

Delete the whole node_modules and re-run yarn to make it work.
rm -R node_modules/
rm yarn.lock
yarn install

Have you tried removing your yarn.lock and rm -rf node_modules/ followed by a yarn?

Delete the whole node_modules and re-run yarn to make it work.
rm -R node_modules/
rm yarn.lock
yarn install

Thanks, the warnings are gone, but still this few errors.
yarn check v1.16.0
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
error "react-scripts#<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error "react-scripts#<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error Found 2 errors.
info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.

You can ignore the remaining messages for now. fsevents is expected as it is only used on macOS. the typescript-eslint messages are harmless. They will release 2.0 with an updated peerDependency, but their current version seems to work fine on ESLint 6.

@ianschmitz Thank u soo much


Can't create a repo in an organization

I'm trying to create a repo in my org's space but I'm getting an error:

git create orgname/reponame
unexpected argument: sfu/ca_sfu_icat_calscheduler
usage: …

This was added in fc0e05c437ad9d0cd2b8ec23d16004c3d2efe45e but is yet unreleased. You can install hub from master with OS X Homebrew: brew upgrade hub --HEAD
Or you can get the source and rake install


Support post job phase

Support using github-script with post phase and shared prelude.

I think either we should make this patch to upstream

I don't think that would be accepted in upstream, which has a very simple API. prelude, for instance, might look too weird for them, even though I believe it's important to avoid code duplication and improve maintainability.

change it so instead of having support for post GitHub Script, we have support for post Bash Script.

That's actually how I started. But there are some special auxiliary functions provided by github-script that are very helpful, like the file globber, to describe files in a standard way for GitHub Actions workflows.


Authorization Failure on /things/bulk Endpoint with Bearer Token

BUG REPORT

What were you trying to achieve?

I was attempting to create a 'thing' using the /things/bulk API endpoint after generating a bearer authentication token using the users/tokens/issue endpoint.

What are the expected results?

The expected result was the successful creation of a 'thing' using the provided bearer authentication token without any authorization errors.

What are the received results?

Instead of successful creation, I received an error message:{
    "error": "failed to perform authorization over the domain",
    "message": "failed to perform authorization over the entity"
}

What are the steps to reproduce the issue?

Step 1: Generate a bearer authentication token using the users/tokens/issue endpoint.
Step 2: Attempt to create a 'thing' using the /things/bulk API endpoint with the generated token.

In what environment did you encounter the issue?

Docker version: 24.0.7, build afdd53b
-Operating System: Ubuntu 22.04.3 LTS (GNU/Linux 6.2.0-1012-aws x86_64)

Additional information you deem important:

Server logs for the things service showed the following:{"level":"warn","message":"Method create_things 0 things using token [token redacted] took 874.37µs to complete with error: failed to perform authorization over the entity : failed to perform authorization over the domain.","ts":"2023-11-27T21:49:42.429995648Z"}

my best guess is that the jwt tokenizer is not working properly because both the userField and domainField claims are missing in the AccessToken I received

Hello @ahmmkh
Things can be created only under a domain , i.e. JWT with domain field
To do operations like view, update domain ,CRUD things, groups,channels, share ,etc. , a token with domain claim is needed
Here I will write cURL request for creating a thing
Step 1 : Get User Token
curl --location 'http://localhost/users/tokens/issue' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
        "identity"<EMAIL_ADDRESS>        "secret": "12345678",
        "domain_id": ""
}'

In response you will get a access and refresh token
In that response jwt token domain claim will be empty
This token can be use to create and list domain
To do operations like view, update domain ,CRUD things, groups,channels, share ,etc. , a token with domain claim is needed
Step 2:  Create New Domain
curl --location 'http://localhost/domains' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN> ' \
--data '{
    "name" :"Domain 1",
    "alias":"domain_1"
}
'

Step 3: Try to List Domain with same token (without domain, as mentioned earlier this token can be used create and list domain )
curl --location 'http://localhost/domains' \
--header 'Authorization: Bearer <TOKEN>'

Copy the domain ID
Step 4:  Get New Token with Domain claim ,
There are two ways to get token with Domain claim
Way 1 :
This way can be used if refresh token is expired
curl --location 'http://localhost/users/tokens/issue' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
       "identity"<EMAIL_ADDRESS>       "secret": "12345678",
       "domain_id": "copied_domain_id_in_step_3"
}'

way 2 :
This way can be used if refresh token is not expired
curl --location 'http://localhost/users/tokens/refresh' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <REFRESH_TOKEN>' \
--data '{
        "domain_id": "copied_domain_id_in_step_3"
}'

This way also use to switch from one domain to another domain
send request to users/token/refresh with empty json body , to get same domain access_token / to renew access_token after its expiry
curl --location 'http://localhost/users/tokens/refresh' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <REFRESH_TOKEN>' \
--data '{}'

Step 5: Create Things with new access token got in previous step

Hello @ahmmkh
Domains are present in Auth Servvice
Auth service is running and port 8189 is exposed
Auth HTTP on 8189 and GRPC on 8181
In docker/nginx
This part of code forward http://localhost/domains to auth service

Hello @ahmmkh
Domains are present in Auth Service
Auth HTTP server is running on port 8189 and GRPC server on port 8181
If Magistrala is started using command make run from repo root directory.
Then Nginx will be configured with  docker/nginx/nginx-key.conf
Nginx reverse proxy traffic all traffic comes to this endpoint http://localhost/domains to auth service port 8189
Please make sure Nginx , Auth , and other magistrala service running properly
If you still have problem, then try out the below command to create Domain
Make sure you have started Magistrala with make run command and auth service container port 8189 is exposed by docker
curl --location 'http://localhost:8189/domains' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN> ' \
--data '{
    "name" :"Domain 1",
    "alias":"domain_1"
}

Still if you face the same problem with creation of domain
Please send here the create domain request, response and service logs If any available for future investigation.

I initiated Magistrala by executing the provided command: docker compose --profile nats_nats -f docker/docker-compose.yml up -d. However, I encountered the "404 not found" error again, and there were no visible logs within the authentication service container, despite confirming that the auth service was up and running, and I also verified that the container was exposing port 8189.
In an attempt to address this issue, I decided to install Docker Compose version 1.29 and run the project using the make run command as an alternative to using the new Docker Compose plugin. Unfortunately, this approach resulted in the following error message: ERROR: Invalid interpolation format for the "environment" option within the "auth" service: "${MG_AUTH_GRPC_SERVER_CERT:+/auth-grpc-server.crt}". @arvindh123

@ahmmkh
make run was build for docker-compose v2 version which are having support for parameter-expansion
Could you please try the make run with docker-compose v2.23.3


adding bower and gitignore keys, fixes #20

adding main and dependencies to bower

Thanks.

No problem, any chance you can make a new tag so bower picks this up?

Sorry - I meant to do this straight away, then, well, I didn’t! :)
Chris


User being null upon start

Upon start, there is a user logged in according to FirebaseAuth but iam is null.
To recreate error:

Start App
Login to App
Stop App
Start App
Check if iam is null.

iam cannot be null since it is the instance of UserService.
Need more details of your issue.


[Docs Site] Added footer links that can be specific to the area of the docs

PCX-4714

Need to finish adding values for our other products, but this seems to be what you were asking for earlier, @irvinebroque with the specific links (if available).

Nice one @kodster28!


Email to warn candidates about EoC deadlines

Context
We need to warn candidates who've started an application about their upcoming deadlines.
This will send an email 2 months and 1 month before the deadline relevant to those candidates.
Changes proposed in this pull request

Query to get all unsubmitted applications at the date of the the two deadlines
New worker to send the reminder email
New email copy:

Guidance to review

Link to Trello card
https://trello.com/c/QjNQUe5G
Things to check

[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] Required environment variables have been updated added to the Azure KeyVault

Struggling to get a line break to appear here:

<% if @application_form.phase == 'apply_1' %>
    The deadline to submit your application is <%= EndOfCycleTimetable.apply_1_deadline.to_s(:govuk_date) %> but courses may fill up before then.
<% else %>
    The deadline to submit your application is <%= EndOfCycleTimetable.apply_2_deadline.to_s(:govuk_date) %> but courses may fill up before then.
<% end %>

# Get help to complete your application

Any ideas?

Struggling to get a line break to appear here:

<% if @application_form.phase == 'apply_1' %>
    The deadline to submit your application is <%= EndOfCycleTimetable.apply_1_deadline.to_s(:govuk_date) %> but courses may fill up before then.
<% else %>
    The deadline to submit your application is <%= EndOfCycleTimetable.apply_2_deadline.to_s(:govuk_date) %> but courses may fill up before then.
<% end %>

# Get help to complete your application

Any ideas?

Looks like it's caused by the dodgy indentation in the if statement (4 spaces vs 2), which seems to be messing with the markdown processing. My editor also defaults to this spacing for erb, although it's not clear to me atm why.
You could fix this by changing to two spaces, but there's the possibility of someone (or rather, their editor) inadvertently breaking the spacing next time they make an edit.
It's ugly, but something like this would be resilient to that kind of change:
<% apply_1_copy =  "The deadline to submit your application is #{EndOfCycleTimetable.apply_1_deadline.to_s(:govuk_date)} but courses may fill up before then." %>
<% apply_2_copy =  "The deadline to submit your application is #{EndOfCycleTimetable.apply_2_deadline.to_s(:govuk_date)} but courses may fill up before then." %>
<%= apply_1_copy if @application_form.phase == 'apply_1' %>
<%= apply_2_copy if @application_form.phase == 'apply_2' %>