Use File.join properly and consistently

In a lot of files, we used File.join to describe the path to a file. We didn't use this method correctly, adding bad path, working only on Unix systems (like MacOSX and GNU/Linux).
We should replace
 File.join(File.dirname(__FILE__),'/../blueprints/blueprints')

by
 File.join(File.dirname(__FILE__), '..', 'blueprints', 'blueprints')

I will work on this

I have pretty much changed most of them except I wasn't sure about:
1.)  Markus\app\models\grouping.rb
line 512: assignment_folder = File.join('/', assignment.repository_folder)
I suppose I should add a conditional to have this line run on Unix only. Thoughts?

@hoboman313 This should stay as it is. It's the path inside each SVN repo in which files are residing. I hope SVN knows how to deal with it :)

Please close this. Fix already pushed.
I am curious why this did not close automatically. I thought "Closes #342" was the trick.

FWIW: It's supposed to auto-close. See http://stackoverflow.com/questions/1687262/link-to-github-issue-number-with-commit-message and https://github.com/blog/411-github-issue-tracker
I guess it doesn't always work.


feat: add react-widget to storybook

For: https://app.clubhouse.io/cartoteam/story/141940/storybook-detailed-revision

Pull Request Test Coverage Report for Build 654876316

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

Totals

Change from base Build 643842013:
0.0%

Covered Lines:
583

Relevant Lines:
698

💛  - Coveralls

Pull Request Test Coverage Report for Build 657299563
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build 643842013:
0.0%

Covered Lines:
583

Relevant Lines:
698

💛  - Coveralls


automatically loads timeline on widget id change

Added feature: Loads the timeline automatically when the dataWidgetId is changed. Uses a promise structure to achieve this.

Hi @e111077 and thanks for this PR.
Actually, testing your change, I'm facing a problem: with a single <twitter-timeline> tag, two iframes of the widget are loaded.
Are you not facing the same issue testing it with the demo.html component?

Hmm; I was testing it in my own application. Thanks for the heads up; I'll take a look

It seems as if this is a general issue related to calling loadTimeline() quickly in succession. Creating the timeline is asynchronous, so if loadTimeline() is synchronously called twice then calling removeTimeline (also synchronous) before any timelines have been created results in a noOp

I've just got that this.loadTimeline() is called two times: one in _onTwttLoad listener and another time inside the _dataWidgetIdChanged observer.
Removing the one within the listener seems to solve the problem.
What do you think?

That would be the cleanest way to fix this immediate issue, but this exposes a larger underlying issue of calling loadTimeline too quickly in succession. This can also happen if the databinding to dataWidgetId programmatically changes quickly.

Proposed a change; let me know if you think it is too complex

rebased and refactored

Bumped to v0.1.0.
Thanks again @e111077!


Code of Conduct Page - Content

Brushed up on some grammatical errors on the Code of Conduct page, no change made to the structure. Swapped the term "Elastic Community" to "SLIIT FOSS Community"

Thanks!


Dealing with multiple grids in layout

When dealing with multiple grids (with different gutters), I came into a problem when I want the outer gutters to align.
For example
$default-grid: ( columns: 12, gutter: 20px, media:null, )
$custom-grid: ( columns: 12, gutter: 60px, media: null, )

I do think most common designs that rely on a grid actually align their very first and last column.
What's the best way to approach this? I tried a couple of ways and it doesn't seem to work. I think the best way is not to use the custom grid at all? And add padding to give the illusion of spacing?
Will there be a functionality to consume very specific columns? Currently the grid-collapse doesn't do much.

Grid-collapse basically consumes the gutters. If you wanted to manually do so, you can do it by
scss:
margin left: ($gutter * -1); margin-right: ($gutter *-1); width: calc(100% + #{$gutter * 2});


Local Video Files

Are local video files supported? When I tried to link to local videos the lightbox gets hung up while displaying 'Loading...'

I know this is old, but just encase this is helpful. You can use the Custom content example to get local videos working.
`
var = mp4 = $this.data('mp4') !== 'undefined' ? '' : null ,
webm = $this.data('webm') !== 'undefined' ? '' : null ,
ogg = $this.data('ogg') !== 'undefined' ? '' : null ;
SimpleLightbox.open({
content: '' +
mp4 +
webm +
ogg +
'',
elementClass: 'slbContentEl',
htmlClass: ' v-lightbox-open',
closeBtnClass: ' v-lightbox__close-button',
nextBtnClass: ' v-lightbox__next-button',
prevBtnClass: ' v-lightbox__prev-button',
overlayClass: ' v-lightbox__overlay'
});
`

Nice, it works, but can someone give me some hint how to implement sliding option with this solution.
I have several local video files that I will to show one in lightbox (via next/prev buttons), it would be great to have such possibility.

Well there's a better way which is not documented :
$('.gallery a').simpleLightbox({
  videoRegex: new RegExp(/\.mp4/)
});

Well there's a better way which is not documented :
$('.gallery a').simpleLightbox({
  videoRegex: new RegExp(/\.mp4/)
});

This is amazing. Why it is not documented?

Well there's a better way which is not documented :
$('.gallery a').simpleLightbox({
  videoRegex: new RegExp(/\.mp4/)
});

Thank you Buddy works wonder full
    window.onload = () => {
        new SimpleLightbox({
            elements: '.imageWallContainer a',
            videoRegex: new RegExp(/\.mp4/)
        });
    }

Well there's a better way which is not documented :
$('.gallery a').simpleLightbox({
  videoRegex: new RegExp(/\.mp4/)
});

I managed to get this working, thank you so much. One question, is there a way to set the embedded video's attributes with this method? I'd like the video to loop, but I'm having difficulty figuring out if this is possible. Any help would be appreciated!

Well there's a better way which is not documented :
$('.gallery a').simpleLightbox({
  videoRegex: new RegExp(/\.mp4/)
});

Thank you Buddy works well in vanillaJS
    window.onload = () => {
        new SimpleLightbox({
            elements: '.imageWallContainer a',
            videoRegex: new RegExp(/\.mp4/)
        });
    }

I managed to get this working, thank you so much. One question, is there a way to set the embedded video's attributes with this method? I'd like the video to loop, but I'm having difficulty figuring out if this is possible. Any help would be appreciated!


Dataset is never fully read when caching to disk

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
tf 2.13.1
Custom code
Yes
OS platform and distribution
Windows 11
Mobile device
No response
Python version
Python 3.9.13
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
When displaying the dataset elements for viewing with either train_data.take(1) or train_data.take(1).cache() it always shows the message "The calling iterator did not fully read the dataset being cached...".
The following has already been tried, but the same message always appears:
# train_data = train_data.cache()
# train_data = train_data.take(1)
# train_data = train_data.take(1).cache()
# train_data = train_data.take(1).prefetch(tf.data.experimental.AUTOTUNE)

There is a similar problem but the bot closed it due to inactivity: #60174
Standalone code to reproduce the issue
import tensorflow_datasets as tfds
import matplotlib.pyplot as plt

data, metadata = tfds.load(
    name='fashion_mnist',
    as_supervised=True,
    with_info=True)
train_data = data['train']
categories = metadata.features['label'].names

plt.suptitle('First Item')
for image, label_index in train_data.take(1):
    plt.imshow(image, cmap='binary')
    plt.xlabel(categories[label_index])
    plt.colorbar()
    plt.grid(visible=False)
    plt.show()

Relevant log output
2024-02-21 14:07:32.650452: W tensorflow/core/kernels/data/cache_dataset_ops.cc:854] The calling iterator did not fully read the dataset being cached. In order to avoid unexpected truncation of the dataset, the partially cached contents of the dataset  will be discarded. This can happen if you have an input pipeline similar to `dataset.cache().take(k).repeat()`. You should use `dataset.take(k).cache().repeat()` instead.

@vanskarner,
I tried to execute the mentioned code with train_data.take(1) or train_data.take(1).cache() on both tensorflow v2.15 and v2.13, and observed that the output is intended and also the image is also visible. Kindly find the gist of it here and let me know. Thank you!

@vanskarner, I tried to execute the mentioned code with train_data.take(1) or train_data.take(1).cache() on both tensorflow v2.15 and v2.13, and observed that the output is intended and also the image is also visible. Kindly find the gist of it here and let me know. Thank you!

Hi, when the code is executed in the google colab there are no resulting messages, however based on the template I filled in(OS platform and distribution) for this issue I still get the same message even if I upgrade to tensorflow v2.15, either using train_data.take(1) or train_data.take(1).cache() generate the same message described in Relevant log output.

@vanskarner,
I suspect this is happening only with the Windows OS. When I tried to execute the same code on the other environments like Linux, MacOS and Colab, I don't face any issue/warning with the tensorflow 2.15.
Also the message is the Warning(W) which might not affect the execution of the code. Thank you!


Add VisibleDeprecationWarning for more obvious deprecations

See: #1117

Per https://github.com/stellargraph/stellargraph/issues/1117#issuecomment-616311317, we've decided not to do this because #1144 fixes the major problems.


Ancillary file rationalisation on raijin

keyword_TIWG   |    by<EMAIL_ADDRESS>
There are multiple directories for some resolutions. Some use the Met Office nested structure and some are flat.
E.g. in ~access/data/ancil
ENDGame_768_eg
ENDGame_n512e
ENDGame_n768e
Endgame_n768e -> /projects/access/data/ancil/ENDGame_n768e/
PS34/n768e
N512_PS31
ga6_n512e

In ~access/umdir/ancil/atmos, various resolutions mirrored from the TIDS archive (including n512e). At the moment this just has the ones required for our rose stem tests but it could be made more complete (e.g. adding n768e). These all use the Met Office directory structure.
/g/data/dp9/da/access-g/um/ancil/atmos/n512
Similar to the Met Office directory structure but with extra level (bom or ukmo). Location of G2 ancillaries with Fiji (#165).
Recommend that the suites working group decide on a location and directory structure.

Issue migrated from trac:234 at 2024-01-31 18:20:03 +1100

<EMAIL_ADDRESS>edited the issue description

<EMAIL_ADDRESS>commented

This is a good idea, adding to TIWG so we can get updates

<EMAIL_ADDRESS>edited the issue description

<EMAIL_ADDRESS>changed keywords from `` to TIWG

<EMAIL_ADDRESS>changed status from new to assigned

<EMAIL_ADDRESS>changed owner from `` to mrd599

<EMAIL_ADDRESS>changed title from Ancillary file rationalisation on accessdev to Ancillary file rationalisation on raijin

<EMAIL_ADDRESS>commented

Should there be an extra level in ancillary file directory structure that includes site information? APS regional models will have a different name anyway so really only matters for the global model with corrected Australian orog + Fiji. Should we push these files back to the Met Office?


FEATURE: Buttons should increment by one.

Large changes can already be made by touching the "slider". Buttons should increment/decrement by one to provide more flexibility.
My speakers are loud and one is already too much, let alone 3 notches at a time.

duplicate of #28 i guess


Enable USDT and DAI in Mainnet UIs (closed beta tester version)

See spec https://www.notion.so/connext/Spec-Add-USDT-and-DAI-Support-66cc3c232582420e858bdfef98fe5606
Proposed Solution

Create a test version of our current UI that is not for the public, but for our beta tester community.
Add the new asset addresses for USDT and DAI
Add a banner that says "WARNING: This an early alpha release for testing only. Use at your own risk."

Acceptance Criteria
From an end user perspective, the below criteria must be met to consider this done:

[ ] I can bridge USDT between chains
[ ] I can bridge DAI between chains
[ ] I can receive local for both
[ ] I can add USDT and DAI liquidity
[ ] I can remove USDT and DAI liquidity
[ ] I can swap USDT and DAI
[ ] I can see these assets in the Explorer pages
[ ] I can add and remove router liquidity for USDT and DAI

This will enable a future public launch next week

@alexwhte I cannot access the page: https://www.notion.so/connext/Spec-Add-USDT-and-DAI-Support-66cc3c232582420e858bdfef98fe5606

Arbitrum:
nextDAI - https://arbiscan.io/address/0xfde99b3b3fbb69553d7dae105ef34ba4fe971190
nextUSDT - https://arbiscan.io/address/0x2fd7e61033b3904c65aa9a9b83dcd344fa19ffd2
Optimism:
nextDAI - https://optimistic.etherscan.io/address/0xd64bd028b560bbfc732ea18f282c64b86f3468e0
nextUSDT - https://optimistic.etherscan.io/address/0x4cbb28fa12264cd8e87c62f4e1d9f5955ce67d20
Polygon:
nextDAI - https://polygonscan.com/address/0xadce87b14d570665222c1172d18a221bf7690d5a
nextUSDT - https://polygonscan.com/address/0xe221c5a2a8348f12dcb2b0e88693522ebad2690f
Gnosis:
nextDAI - https://gnosisscan.io/address/0x0e1d5bcd2ac5cf2f71841a9667afc1e995caaf4f
nextUSDT - https://gnosisscan.io/address/0xf4d944883d6fddc56d3534986fef82105cadbfa1
BNB:
nextDAI - https://bscscan.com/address/0x86a343bcf17d79c475d300eed35f0145f137d0c9
nextUSDT - https://bscscan.com/address/0xd609f26b5547d5e31562b29150769cb7c774b97a

PR: https://github.com/CoinHippo-Labs/connext-bridge/pull/121. Please test it out at https://connext-bridge-mainnet-git-feat-add-usdt-dai-coinhippo.vercel.app.


Updating env variables to Prepend crda

Prepending Config variables with crda

Codecov Report

Merging #67 (910f355) into main (b91c34b) will not change coverage.
The diff coverage is 20.00%.

@@           Coverage Diff           @@
##             main      #67   +/-   ##
=======================================
  Coverage   35.47%   35.47%
=======================================
  Files          24       24
  Lines         857      857
=======================================
  Hits          304      304
  Misses        524      524
  Partials       29       29

Impacted Files
Coverage Δ

cmd/analyse.go
9.80% <0.00%> (ø)

cmd/auth.go
3.12% <0.00%> (ø)

cmd/root.go
5.95% <0.00%> (ø)

pkg/config/viper_config.go
77.77% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b91c34b...910f355. Read the comment docs.

LGTM. @sawood14012 approve once you are satisfied with the tests


How to assign the parameters during execute your code!!

I have tried to run your code on my computer, but I do not know how to set the networkAll.node().tcontroller.folderName when I run the code of router on omnett++?

I have tried to run your code on my computer, but I do not know how to set the networkAll.node().tcontroller.folderName when I run the code of router on omnett++?

I have tried to run your code on my computer, but I do not know how to set the networkAll.node().tcontroller.folderName when I run the code of router on omnett++?

Excuse me. Do you solve the question?  I also encountered the same problem. Thanks.

The same problem.


Test KlaytnFinder for source code verification

KlaytnFinder is nowhere better than klayscope. Still no verification API, no custom error return. At least it states at the beginning that we need to flatten the code before submitting and verifying.
let's stick with klayscope for now.

@KelvinThai Thank you! We could implement this feature internally, after we take over the Klaytn Finder from April.
cc @haminprk @bryan-bisonai


TTL not returning anything

<IP_ADDRESS>:9851> SET my ufo POINT 33.5123 -112.2693
{"ok":true,"elapsed":"18.71µs"}
<IP_ADDRESS>:9851> expire my ufo 100
{"ok":true,"elapsed":"9.599µs"}
<IP_ADDRESS>:9851> GET my ufo
{"ok":true,"object":{"type":"Point","coordinates":[-112.2693,33.5123]},"elapsed":"49.92µs"}
<IP_ADDRESS>:9851> TTL my ufo
{"ok":true,"elapsed":"5.57µs"}

I was expecting the TTL command to return 100 (or something close to 100), but it doesn't return a TTL value at all. Is this a bug? The expiration does appear to work, 100 seconds after calling expire the object is removed.

thanks Josh. I intentionally set the output format to json because I'm working on a Node driver for Tile38 (essentially a wrapper around node-redis). Working with JSON is more convenient than the redis response format in javascript code...
https://github.com/phulst/node-tile38

I fixed this issue and pushed the update to the master branch. I'll bump a public release by the end of the week.
Your project looks great.
I was working with the node redis library the other day, which is pretty good, and I found a minor limitation with creating live geofences... rather I couldn't find a way to use the FENCE keyword and read continuous messages from the stream.
I'm a little rusty on my node skills, so perhaps I was missing something. FWIW in case you might want this functionality for your client, I wrote a hackish workaround: https://gist.github.com/tidwall/0e7fe116351fb7a9a16c0cbd3e2fb79a

Thanks, that might be very helpful. As I'm sure you noticed I hadn't implemented support for live geofences yet but I'll take a look. Perhaps if node-redis does not support continuous messages well, ioredis might.


how to align the qr code to center?

the qr code stays at the left side of the div. I have tried the css alignment, the style attributes to align it to center. Yet, the qr code still remains on the left side of the screen.
''

<input type="text" id="qr">
<button type="button" id="genqr">generate QR code</button>
<input id="printuqr" type="button" onclick="printDiv('qrcode')" value="print QR"/>

you can use the following:
//create your qrcode
new QRCode(document.getElementById("qrcode"), $('#qr').val());
//then
$("#qrcode > img").css({"margin":"auto"});

The unresponsiveness to normal CSS styling sucks.
Thumbs down 👎 from me.
It amazes me how something so BASIC can be ignored in such a project...

I used CSS grid around it. Using align-items: center on container works for me :)

@WebDevBooster It should not be the responsibility of a QR code generation library to then help you with your CSS to place the output. From the code provided, a simple position: relative & a defined width is probably all @hpabubacar needs to center his QR code.

I didn't try @berserkore's solution, but using standard CSS, I wasn't able to center by just using #qr > img, I also had to center the canvas. It seems this library creates a temporary canvas (at least in Chrome Linux) and there's a few milliseconds where the QR code wouldn't be centered while the img was being constructed. The final CSS that fixed it is:
#qr > canvas {
  display: block; /* Required to allow centering of the canvas */
  margin: 0 auto;
}
#qr > img {
  margin 0 auto;
}

Here is what I did

you can wrap it in a div, set the div's width same as the img, then align the wrapped div center.

    <div class="qrcode"<EMAIL_ADDRESS><EMAIL_ADDRESS>

.qrcode-container {
    text-align: center;
    width: 128px;
    height: 128px;
    margin:  0 auto;
 }

I prefer to use this (bcs css doesn't work):
document.querySelector(    '#qrcode > img' ).setAttribute(    'style',    'display: block; margin: 0 auto' )

https://github.com/lindseymysse/qr-code-element
Hi. I wrote a little web component wrapper for this library that might solve your problem. It creates a div that you can access via css with qr-code. So, you would include my library above, then create your QR Code like you would a regular div:
  const qr_code =  document.createElemetn('qr-code')
  qr_code.setAttribute('value', 'Your address here')
  .setAttribute('style',`
  display:block;
  margin: 0 auto
`)

This repo doesn't seemed maintained, but I am maintaining my repo and will respond to bug reports.


Running CI for a branch on a fork does not have access to ENV or SECRETS

Describe the bug
From some initial research it looks like this might only be possible on private repos?
We need this option mentioned in the docs for private repos but I cannot find it on a public repo:
"Send secrets to workflows from pull requests - Makes all secrets available to the pull request."
Screenshots
No response
Reproduction
See current open PRs from a fork.
Logs
No response
Have you checked if this issue has already been raised?

[X] I did not find any similar issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Looks like the option on private repos might be called "Send secrets to workflows from pull requests" - referenced from here

Confirmed. In the github actions / secrets settings of the repo it mentions:

Anyone with collaborator access to this repository can use these secrets and variables for actions. They are not passed to workflows that are triggered by a pull request from a fork.


Repository not provided

When you add the plugin to your build.gradle and build, it couln't found it.
I tryed with maven { url "https://repo.grails.org/grails/core" } but no success
Could not find org.grails.plugins:grails-cxf:3.1.2.
Searched in the following locations:
    file:/C:/Users/.../.m2/repository/org/grails/plugins/grails-cxf/3.1.2/grails-cxf-3.1.2.pom
    file:/C:/Users/.../.m2/repository/org/grails/plugins/grails-cxf/3.1.2/grails-cxf-3.1.2.jar
    https://repo.grails.org/grails/core/org/grails/plugins/grails-cxf/3.1.2/grails-cxf-3.1.2.pom
    https://repo.grails.org/grails/core/org/grails/plugins/grails-cxf/3.1.2/grails-cxf-3.1.2.jar
Required by:
    project :AppCore

You may want org.grails.plugins:cxf:3.1.2, not org.grails.plugins:grails-cxf:3.1.2.

You can see several versions of the plugin have been published with that artifact id at repo.grails.org/grails/core/org/grails/plugins/cxf/.


ValueError: operands could not be broadcast together with shapes (224,224,4) (3,) (224,224,4)

ValueError: operands could not be broadcast together with shapes (224,224,4) (3,) (224,224,4)   加载自己模型的报错，修改了get_net(net_name, weight_path=None)部分

Traceback (most recent call last):
File "E:/chrome下载/Grad-CAM.pytorch-master/Grad-CAM.pytorch-master/main.py", line 198, in
main(arguments)
File "E:/chrome下载/Grad-CAM.pytorch-master/Grad-CAM.pytorch-master/main.py", line 151, in main
inputs = prepare_input(img)
File "E:/chrome下载/Grad-CAM.pytorch-master/Grad-CAM.pytorch-master/main.py", line 90, in prepare_input
image -= means
ValueError: operands could not be broadcast together with shapes (224,224,4) (3,) (224,224,4)

已经修改好了，主要是原图是采用的png格式存储。全部修改成jpg，就可以了。感谢大佬


More than one on a network, second is stuck on "Web Interface on"

I liked the first one so much, I set up a second for the workshop, but it appears that the second one won't show anything past "Web interface On, You May Connect to IP (local IP address) Port 80. No weather, no printer status, no clock, nothing. Just seems frozen. Anybody run into issues with more than one on a network?

What pins did you connect the OLED to?   Also, did you enable 1M SPIFFS?

Yup that's my issue. Good call, thanks for the quick reply!


gotron-builder fails on windows

Hello
gotron-builder failes on windows with the following error:
npm WARN mosaicpresentation No description
npm WARN mosaicpresentation No repository field.
npm WARN mosaicpresentation No README data
npm WARN mosaicpresentation No license field.

+<EMAIL_ADDRESS>updated 1 package and audited 3259 packages in 3.517s
found 16 vulnerabilities (2 low, 10 moderate, 4 high)
  run `npm audit fix` to fix them, or `npm audit` for details
1553614107 FTL home/equa/repos/gotron/cmd/gotron-builder/main.go:64 > : : exec: ".gotron-builder\\node_modules\\.bin\\electron-builder": file does not exist: exec: ".gotron-builder\\node_modules\\.bin\\electron-builder": file does not exist: : exec: ".gotron-builder\\node_modules\\.bin\\electron-builder": file does not exist: exec: ".gotron-builder\\node_modules\\.bin\\electron-builder": file does not exist

Hello @forepick
Can you specify which parameters you used for gotron-builder?
Do you by chance have an empty .gotron-builder directory after running gotron-builder? If yes please try if the fix mentioned in #33 fixes your problem.
Thanks

Hi @puengel
Thanks for the quick response. This project is a great deal for us!
On the Windows machine, I run gotron-builder with no extra parameters, from CMD in administrator mode.
After running this, I do get an empty .gotron-builder folder under my project.
I'll go ahead and check this fix now.

OK, just rebuilt gotron-builder and still the same issue.

Are you on branch gotron-builder-fix?

Sorry. My bad. It did resolved this problem!
Now there is another one (Not sure if it's related):
The resulted exe file cannot run independently without the electronjs folder next to it. Is it a part of the same issue?

No this is meant to be.
Inside the electronjs folder there is everything you need for the electron fronted (including your UI folder).

Great! got it
Is there anyway to pack a single self-contained exe file?

Currently not, sorry.
But this seems to be a good idea for future developments.

OK.
Thanks for the help!


Bharat5604 patch 1

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Hi I am not able to see my profile on linkfree


Re-save UI files to convert old properties to new ones to fix Rojo issues

DO THIS ONE FIRST: https://github.com/Epix-Incorporated/Adonis/pull/1177
Re-save UI files to convert old properties to new ones to fix Rojo issues
Same as this https://github.com/Epix-Incorporated/Adonis/pull/1173
but this time I re-saved the correct ones
@Sceleratis merge it in a few minutes I'll add the other files
sorry

why do you need to mention scelly bones on every pull request smh

why do you need to mention scelly bones on every pull request smh

I need merge
he the only one left

Welp, we've got conflicts now. Trying to figure out what's going on here.

Obviously this is your fault smh

I manually fixed the issues just to see that all I had to do is to merge master into the patch.

I manually resolved all the conflicts just to see that all I had to do is to merge master into the patch.

it's fine now @Expertcoderz

@Expertcoderz


RSA PSS verify problem

I want to use NIST's test vector to test mbedtls lib. and I don’t know if the following program is wrong.
Description

Type: Bug
Priority:  Major

mbed TLS build:
Configuration:
/* System support */
#define MBEDTLS_PLATFORM_C
/* mbed TLS modules */
#define MBEDTLS_AES_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_MD_C
#define MBEDTLS_OID_C
#define MBEDTLS_BIGNUM_C
#define MBEDTLS_RSA_C
#define MBEDTLS_PKCS1_V15
#define MBEDTLS_PKCS1_V21
#define MBEDTLS_AES_ROM_TABLES

TEST vector
SHAAlg =SHA256
[mod = 2048]
n = c6e0ed537a2d85cf1c4effad6419884d824ceabf5200e755691cb7328acd6a755fe85798502ccaec9e55d47afd0cf3258ebe920b50c5fd9d72897462bd0e459bbdf902b63d17195b2ef54908980be12aa7489f8af274b92c0cbc16aed2fa46f782d5517b666edfb2e5e5efeaff7e24965e26472e51980b0cfe457d297e6aa5dacb8e728dc6f58130f925a13275c3cace62f820db1e13cc5274c58ff4d7837671a1bf5f80d6ad8699c568df8d24dd0f152ded36ef4861f59b354bba96a076913a25facf4722737e6deed95b69a00fb2bced0feeedea4ff01a92605cfe26a6b39553d0c74e5650eb3779705e135c4b2fa518a8d4339c53efab4bb0058238def555
p = e2f7ceb13ea5385ad7659d7bbf0ad4a517c697b70c9d2af7a2193d62b14014412cc3e5fda97882341e0a370ce9f0f6c8149bb199d6f408b65d0524aecaf6e3fd7e3c35de940dc661ae17ddbdf57184e75bd2e9642401045ba48c7aee4abdc1caddca85fd064e80ab82ce58537848d9e9b8a477b4dfd04b9be496baec79cfa4c5
q = e0515147b6e596b7e5140e81365ad698dbeddd874642510f42d357123c20ffb0e1f377afefe97f20442e1c3f3c88919c39978b78835b9c7253f6ea632ab329866748c6dc195865ce123c8e153d03a3d731b7161205e2d83e6651152ee8181e389ad7a795dd3ce6ba44c753b4c7774fafbfa9c6606f89c08eec37632ba607b751
e =<PHONE_NUMBER>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001
d = 03ac73787e325992a96749d5ef8500e2ccf99e96214dbc22df2c6fde3538aaa8578e1b3cc871af5f940ed4a6df46438bdf240f896478fd2090fffa2af9c034a7cb684e5fc491f3940987c537d80128d6b37230ba4314c60d3580ad9aeb46ed6929dcf1629f6784667c547fec48c3112a1d9144f1802c82bb1476544e757e9853819185949352b92411adabd0f76efafe72c3b3fce88c5895b0bc4ac1ad36ec8d5be4adb89e72519850c6fc8c4076b658a2e554a37b5aa76aef7293a1ec256ccdc0c93c60aa528596a44ad72c76ed55726206d4bfd2f431745cc1c7dc399213051275fcfd2757552cef855be7bf23a5480688032bb4f322669a3e7d2fbff31c91
Msg = 81eaf473d40896dbf4deac0f35c63bd1e129147c76e7aa8d0ef921631f55a7436411079f1bcc7b98714ac2c13b5e7326e60d918db1f05ffb19da767a95bb141a84c4b73664ccebf844f3601f7c853f009b21becba11af3106f1de5827b14e9fac84b2cbf16d18c045622acb260024768e8acc4c0ae2c0bd5f60a98023828cdec
S = 40d59ebc6cb7b960cbda0db353f9b85d77e7c03f84447fb8e91b96a5a7377abc329d1f55c85e0dbedbc2886ce191d9e2cf3be05b33d6bbd2ba92b85eee2ff89cd6ee29cd531e42016e6aba1d620fe55e44480c033e8a59c0852dd1caffbc2ce82969e3a9f44ceff79f89993b9ebf3741b2ccab0b9516f2e128656a5b2ad5251e20c6ce0c26a14eef7ee86458942ddbe95ccc1f67b253e43e72117f49595dab5ba423496ece12825435661112666dbae71aaffd5a8f1d58db9dc02e0d70fe3ac36a87b8eeed4f20c00fd4303f9f767d03bca1a619bbe4b08e4e53b5cb69d2ba0235063e04ca392334d9979a41c42a66ca8b9721edcf76989ba89f3a170bb2e485
SaltVal =<PHONE_NUMBER>5432167890
Result = P

code
   unsigned char Msg[] = "81eaf473d40896dbf4deac0f35c63bd1e129147c76e7aa8d0ef921631f55a7436411079f1bcc7b98714ac2c13b5e7326e60d918db1f05ffb19da767a95bb141a84c4b73664ccebf844f3601f7c853f009b21becba11af3106f1de5827b14e9fac84b2cbf16d18c045622acb260024768e8acc4c0ae2c0bd5f60a98023828cdec";
    unsigned char Sig[] = "40d59ebc6cb7b960cbda0db353f9b85d77e7c03f84447fb8e91b96a5a7377abc329d1f55c85e0dbedbc2886ce191d9e2cf3be05b33d6bbd2ba92b85eee2ff89cd6ee29cd531e42016e6aba1d620fe55e44480c033e8a59c0852dd1caffbc2ce82969e3a9f44ceff79f89993b9ebf3741b2ccab0b9516f2e128656a5b2ad5251e20c6ce0c26a14eef7ee86458942ddbe95ccc1f67b253e43e72117f49595dab5ba423496ece12825435661112666dbae71aaffd5a8f1d58db9dc02e0d70fe3ac36a87b8eeed4f20c00fd4303f9f767d03bca1a619bbe4b08e4e53b5cb69d2ba0235063e04ca392334d9979a41c42a66ca8b9721edcf76989ba89f3a170bb2e485";

    unsigned char n[] = "c6e0ed537a2d85cf1c4effad6419884d824ceabf5200e755691cb7328acd6a755fe85798502ccaec9e55d47afd0cf3258ebe920b50c5fd9d72897462bd0e459bbdf902b63d17195b2ef54908980be12aa7489f8af274b92c0cbc16aed2fa46f782d5517b666edfb2e5e5efeaff7e24965e26472e51980b0cfe457d297e6aa5dacb8e728dc6f58130f925a13275c3cace62f820db1e13cc5274c58ff4d7837671a1bf5f80d6ad8699c568df8d24dd0f152ded36ef4861f59b354bba96a076913a25facf4722737e6deed95b69a00fb2bced0feeedea4ff01a92605cfe26a6b39553d0c74e5650eb3779705e135c4b2fa518a8d4339c53efab4bb0058238def555";
    unsigned char e[] = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001";
    unsigned char d_Pkcsv21[] = "03ac73787e325992a96749d5ef8500e2ccf99e96214dbc22df2c6fde3538aaa8578e1b3cc871af5f940ed4a6df46438bdf240f896478fd2090fffa2af9c034a7cb684e5fc491f3940987c537d80128d6b37230ba4314c60d3580ad9aeb46ed6929dcf1629f6784667c547fec48c3112a1d9144f1802c82bb1476544e757e9853819185949352b92411adabd0f76efafe72c3b3fce88c5895b0bc4ac1ad36ec8d5be4adb89e72519850c6fc8c4076b658a2e554a37b5aa76aef7293a1ec256ccdc0c93c60aa528596a44ad72c76ed55726206d4bfd2f431745cc1c7dc399213051275fcfd2757552cef855be7bf23a5480688032bb4f322669a3e7d2fbff31c91";
    unsigned char p_Pkcsv21[] = "e2f7ceb13ea5385ad7659d7bbf0ad4a517c697b70c9d2af7a2193d62b14014412cc3e5fda97882341e0a370ce9f0f6c8149bb199d6f408b65d0524aecaf6e3fd7e3c35de940dc661ae17ddbdf57184e75bd2e9642401045ba48c7aee4abdc1caddca85fd064e80ab82ce58537848d9e9b8a477b4dfd04b9be496baec79cfa4c5";
    unsigned char q_Pkcsv21[] = "e0515147b6e596b7e5140e81365ad698dbeddd874642510f42d357123c20ffb0e1f377afefe97f20442e1c3f3c88919c39978b78835b9c7253f6ea632ab329866748c6dc195865ce123c8e153d03a3d731b7161205e2d83e6651152ee8181e389ad7a795dd3ce6ba44c753b4c7774fafbfa9c6606f89c08eec37632ba607b751";
    static unsigned char Msg_Hex[128] = { 0 };
    static unsigned char Sig_Hex[256] = { 0 };

    static unsigned char n_Hex[256] = { 0 };
    static unsigned char e_Hex[256] = { 0 };
    unsigned char d_Hex[256] = { 0 };
    unsigned char p_Hex[128] = { 0 };
    unsigned char q_Hex[128] = { 0 };
    int result=0;
    /*----------------------------------------*/
    TranslateACSIItoByte(Msg, Msg_Hex, 128);//convert string to Hex   example: "81eaf473d40" -> 0x81,0xea,0xf4,0x73....
    TranslateACSIItoByte(Sig, Sig_Hex, 256);
    TranslateACSIItoByte(n, n_Hex, 256);
    TranslateACSIItoByte(e, e_Hex, 256);
    TranslateACSIItoByte(d_Pkcsv21, d_Hex, 256);
    TranslateACSIItoByte(p_Pkcsv21, p_Hex, 128);
    TranslateACSIItoByte(q_Pkcsv21, q_Hex, 128);
    mbedtls_rsa_context rsa;
    mbedtls_rsa_init(&rsa, MBEDTLS_RSA_PKCS_V21, MBEDTLS_MD_SHA256);
    mbedtls_rsa_import_raw(&rsa, n_Hex, 256, p_Hex, 128, q_Hex, 128, d_Hex, 256, e_Hex, 256);
    unsigned char Msg_SHA256[256];
    SHA_256_plaintext(Msg_Hex, Msg_SHA256);// Plain text is SHA processing.
    result=mbedtls_rsa_rsassa_pss_verify_ext(&rsa, NULL, NULL, MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA256,
        sizeof(Msg_SHA256), Msg_SHA256, MBEDTLS_MD_SHA256, MBEDTLS_RSA_SALT_LEN_ANY, Sig_Hex);

void TranslateACSIItoByte(char* u8Datain, char* u8Dataout, int u32length)
{
    int i;
    char u8temp1 = 0;
    char u8temp2 = 0;
    for (i = 0; i < u32length; i++)
    {
        //0~9
        if (u8Datain[i * 2 + 0] >= 0x30 && u8Datain[i * 2 + 0] <= 0x39)
        {
            u8temp1 = u8Datain[i * 2 + 0] - 0x30;
        }
        //A~F
        if (u8Datain[i * 2 + 0] >= 0x41 && u8Datain[i * 2 + 0] <= 0x46)
        {
            u8temp1 = u8Datain[i * 2 + 0] - 0x37;
        }
        //a~f
        if (u8Datain[i * 2 + 0] >= 0x61 && u8Datain[i * 2 + 0] <= 0x66)
        {
            u8temp1 = u8Datain[i * 2 + 0] - 0x57;
        }

        //0~9
        if (u8Datain[i * 2 + 1] >= 0x30 && u8Datain[i * 2 + 1] <= 0x39)
        {
            u8temp2 = u8Datain[i * 2 + 1] - 0x30;
        }
        //A~F
        if (u8Datain[i * 2 + 1] >= 0x41 && u8Datain[i * 2 + 1] <= 0x46)
        {
            u8temp2 = u8Datain[i * 2 + 1] - 0x37;
        }
        //a~f
        if (u8Datain[i * 2 + 1] >= 0x61 && u8Datain[i * 2 + 1] <= 0x66)
        {
            u8temp2 = u8Datain[i * 2 + 1] - 0x57;
        }

        u8Dataout[i] = ((u8temp1 & 0xf) << 4) | (u8temp2 & 0xf);
    }
}
void SHA_256_plaintext(unsigned char* MSG_real, unsigned char* res)
{
    printf("\nSHA256 Example:\n");
    unsigned char encrypt_Sha256[] = { 0 };
    unsigned char decrypt_Sha256[256];

    mbedtls_sha256_context sha256_context;
    mbedtls_sha256_init(&sha256_context);
    mbedtls_sha256_starts(&sha256_context, 0);
    mbedtls_sha256_update(&sha256_context, MSG_real, 128);
    mbedtls_sha256_finish(&sha256_context, decrypt_Sha256);

    for (int i = 0; i < 256; i++)
    {
        res[i] = decrypt_Sha256[i];
    }

    mbedtls_sha256_free(&sha256_context); //clear context
}

Question
I have found that PSS has salt values, but I did not import them when I did verify.
Although the result value from verify is equal to 0, I still want to confirm again.
Thanks.

A PSS signature uses a random salt. To obtain exactly the same signature, you need to pass not only the same parameters (hash algorithm(s)), the same key and the same input message, but also the same salt. Most signature APIs, including the one in Mbed TLS, generate the random salt internally and don't have a parameter allowing the caller to use a specific salt. NIST test vectors have the salt spelled out so that the output is not randomized, but doing a known-answer test is not possible with implementations that aren't specifically designed for it (and that's why NIST allows compliance to only use sign-verify tests, or at least that was the case the last time I checked).
PSS verification decodes the salt from the signature, so it isn't necessary to pass it as an input. The verification could allow the caller to pass an expected salt value, and check that the expected salt value matches the value that is decoded from the signature. But this check would have very little benefit (I'm not aware of any known attack that it would defend against), so most implementation, including Mbed TLS, don't implement such a check. Since the salt is normally unique, you'd have to transmit the salt value with the signature, which is usually not done, and would be subject to modification by a man-in-the-middle anyway.
Verifying the length of the salt might increase the robustness somewhat (because the security proof for PSS requires a minimum salt size, so a signature made with a salt that's too short would be outside the scope of the proof), which is why it's moderately common for PSS verification implementations to allow the caller to specify the expected salt length. The salt length is normally a configuration parameter of the key, so it would be stored with the public key.
In summary, it's normal that the salt value is not useful to verify a PSS signature. This does not indicate either a defect in Mbed TLS or a defect in your code.

A PSS signature uses a random salt. To obtain exactly the same signature, you need to pass not only the same parameters (hash algorithm(s)), the same key and the same input message, but also the same salt. Most signature APIs, including the one in Mbed TLS, generate the random salt internally and don't have a parameter allowing the caller to use a specific salt. NIST test vectors have the salt spelled out so that the output is not randomized, but doing a known-answer test is not possible with implementations that aren't specifically designed for it (and that's why NIST allows compliance to only use sign-verify tests, or at least that was the case the last time I checked).
PSS verification decodes the salt from the signature, so it isn't necessary to pass it as an input. The verification could allow the caller to pass an expected salt value, and check that the expected salt value matches the value that is decoded from the signature. But this check would have very little benefit (I'm not aware of any known attack that it would defend against), so most implementation, including Mbed TLS, don't implement such a check. Since the salt is normally unique, you'd have to transmit the salt value with the signature, which is usually not done, and would be subject to modification by a man-in-the-middle anyway.
Verifying the length of the salt might increase the robustness somewhat (because the security proof for PSS requires a minimum salt size, so a signature made with a salt that's too short would be outside the scope of the proof), which is why it's moderately common for PSS verification implementations to allow the caller to specify the expected salt length. The salt length is normally a configuration parameter of the key, so it would be stored with the public key.
In summary, it's normal that the salt value is not useful to verify a PSS signature. This does not indicate either a defect in Mbed TLS or a defect in your code.

This is not a bug report, but a support request, so I'm closing this issue.
If you think that Mbed TLS should offer a way to verify that an RSA PSS signature has a specific salt value (and not just a specific salt length), please explain why, and we can reopen this issue. I'm not aware of any security reason or any protocol that requires it.

This is not a bug report, but a support request, so I'm closing this issue.
If you think that Mbed TLS should offer a way to verify that an RSA PSS signature has a specific salt value (and not just a specific salt length), please explain why, and we can reopen this issue. I'm not aware of any security reason or any protocol that requires it.


Docker Image

I'd like to propose an official docker image as a PR.  I have something running fine locally and I can modify it to make it a good general purpose image.
My proposal for the official docker image would be

Base Image:  Node docker image
1.1. Since postgraphql is mostly a node app this base image probably provides the most up to date and correct base
Installation commands:  npm install -g postgraphql  OR  git pull + build + install
1.1. The difference here is the first one is tied only to npm releases while the other will build whatever is in master.   Looking for guidance here :question:
EntryPoint:  postgraphql -n <IP_ADDRESS>
1.1.  The -n is needed to expose connections outside of the docker container and by using an entrypoint users of the docker image can just pass options to the command line like this

docker run -p 5000:5000 postgraphql --connection postgres://someUser:somePassword@myserver.com:5432/mygraphqlDB --cors --jwt-audiences postgraphql,mycustomaud --jwt-role https://some_app/app_metadata,user

I can also setup an account on dockerhub for this so people can pull without building locally.  I have setup automated builds on docker hub/docker cloud before.
Any interest in me doing this - and should I tie it to the npm released version or to master?

Please make sure you've read through #52, #75, #109 and #113 before commencing any work on this. Anything Caleb says there overrides what I say below (as I have not read through those issues for a while).
Can we tie the docker image generation and upload into CI?

Node base ✅
Can we use the compiled code from CI? If not then using postgraphql from npm seems wise (so long as the node_modules cache is cleared each time - we've had issues with this in the past) - could we use tags with this, e.g. npm install postgraphql@next?
Listen on every interface ✅

I'm all for ease of deployment (PostGraphQL is all about getting stuff started quickly!) so I think if people want to install it from Dockerhub we should enable that.

I looked through those issues and I guess what I am proposing first is a production (end-user) docker image.
A developer one is a nice goal to add in the future but it ends up making some assumptions about how each developer will develop and you end up going down the path of do we check-in the eclipse or intellij project file...(IMHO)
On a separate PR I will propose an example docker-compose in the examples directory that basically will be a single command postgres + postgraphql environment.
Regarding question 2:  we can use the tags from git to perform actions as part of the docker image build; however I don't think we can use the results of the travisCI builds directly.
That leaves us with two options:

Install from npm
re-build on docker's build image after the CI and install locally.

Installing from npm seems like a good idea, But the issue is I don't think we are pushing all of the builds automatically to npm currently.  Looking at the one that is currently there its published 3 months ago.
I guess my question is this - is there any plan to automate the release to NPM?

If there is then we can curl an endpoint after it pushes the package to npm and that endpoint will start the docker build.
If pushing every build result to NPM is something we are not interested in the best plan is simply re-execute the build step as part of the docker build.  The other advantage here is we can create docker images of every tag and latest pretty easily - but they will be GitHub tag aligned not necessarily npm aligned...

@benjie @calebmer let me know the direction to go here if you have a preference (and modify the build script to push to npm if thats what you want) o.w. I think I will have to go with the re-build on docker for now.

For now a rebuild on docker would be fine; but I would love to have master builds auto-pushed to npm (using an npm tag) because it's not currently possible to install the git version of postgraphql due to needing to compile all the typescript.

I'm closing this in favour of #496


Broken link in documentation

On the following page:
https://websockets.readthedocs.io/en/stable/design.html
The Public APIs hyperlink in the Warning section on top of the page points to an invalid url:
https://websockets.readthedocs.io/en/stable/api/index
I suppose the URL should instead be:
https://websockets.readthedocs.io/en/stable/api/index.html

Good catch, thanks!


Don't render way too many points

This doesn’t actually trigger on any of the data sets in the crunched
FRED, only the uncrunched one.
@mmailhot

:+1:


Edit task modal: valid done or cancelled date input should set status to done or cancelled respectively

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description
Sometimes I input the done or cancelled date and forget to switch status to done or cancelled, so I need to reopen the edit task modal and change the status. I find this cumbersome.
In the current version a change of status to done or cancelled changes the done or cancelled date. I suggest to do the same the other way around too.
✔ Solution
In the edit task modal when done or cancelled date is set and is valid, change the status to done or cancelled
❓ Alternatives
Hide/show done and cancelled date based on status, this would force the user to set the status first to access the date:

if status is todo, do not show either
if status is done, show only done date
if status is cancelled, show only cancelled date

📝 Additional Context
No response

Thanks for the suggestion.
I think it assumes that the user only has one Done or Cancelled status? Otherwise, the code could pick the "wrong" one, for the user perspective.
Also, I sometimes accidentally type in the wrong date field - having that trigger a date change could be rather irritating, if I notice it, or worse, if a status is changed to Done and I don't notice, the task would no longer be found by searches.
I wonder whether it might be better to handle this via more checks - to not allow "Apply" if there are dates inconsistent with status.

I think it assumes that the user only has one Done or Cancelled status? Otherwise, the code could pick the "wrong" one, for the user perspective.

Ah, right, I haven't thought about that as I'm using only the default statuses.

I wonder whether it might be better to handle this via more checks - to not allow "Apply" if there are dates inconsistent with status.

Indeed, this is a good compromise! I would go for that =)

Indeed, this is a good compromise! I would go for that =)

Brilliant - I'll close this one then.
Feel free to create a bug report saying the modal should prevent saving incompatible date combinations.


Fix dockerfile

Add && \ in RUN

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@chivee, thank you


Fix/float

Issue #, if available:
Description of changes:
In Chrome (and perhaps other browsers), form will be blocked from submitting if input has type=number and no step but user enters floats (e.g. 20.349). This sets step=any for those fields).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #704 (172d33d) into tagged-release/forms-and-views (4837706) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@                        Coverage Diff                         @@
##           tagged-release/forms-and-views     #704      +/-   ##
==================================================================
- Coverage                           91.50%   91.50%   -0.01%
==================================================================
  Files                                 102      102
  Lines                                3897     3896       -1
  Branches                             1078     1078
==================================================================
- Hits                                 3566     3565       -1
  Misses                                310      310
  Partials                               21       21

Impacted Files
Coverage Δ

...codegen-ui-react/lib/forms/form-renderer-helper.ts
98.19% <100.00%> (-0.03%)
:arrow_down:

...es/codegen-ui/lib/utils/form-component-metadata.ts
86.04% <100.00%> (+0.33%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4837706...172d33d. Read the comment docs.


d-sm-none not working in ull

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
d-sm-none not working inside the ul or even if it is put on the ul itself I have tried it in an empty HTML still no changes
Reduced test cases

Bootstrap demo

Hello, world!

Item 1
Item 2
Item 3

Item 4

What operating system(s) are you seeing the problem on?
Windows, Android, iOS
What browser(s) are you seeing the problem on?
Chrome, Firefox, Microsoft Edge
What version of Bootstrap are you using?
5.3.0

Hello @Maryamdeveloper
Tried quickly your code in a CodePen, it seems to work as expected

Before 576px, nothing is set, so the list is displayed
Between 576px and 768px, .d-sm-none (so display: none) is applied, so the list is not displayed
After 768px, .d-sm-block (so display: block) is applied, so the list is displayed


start your teacher training landing page

Trello card
https://trello.com/c/wgIFGONm/6215-support-post-offer-engagement-test
Changes proposed in this pull request
add landing page to support post offer engagement

Reviewed by policy


Shared source package publishing locations?

What are the recommended locations for publishing a shared source package if not to nuget.org? Only private repositories? Providing support for older frameworks has always been a pain for developers so I was thinking a shared source package for adding missing commonly used API's could be helpful for library authors. Eg. https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Utilities/LinqBridge.cs

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

ID: 33821846-a525-de11-06a3-ac4552d6421f
Version Independent ID: 30297ee3-b24d-9fd2-f007-6d381d125282
Content: Dependencies and .NET libraries
Content Source: docs/standard/library-guidance/dependencies.md
Product: dotnet
GitHub Login: @JamesNK
Microsoft Alias: mairaw

Do you have any plans to provide tooling to help creating shared source packages? I do agree that it can help a lot managing dependencies but they're currently not much used at all. nuget.exe or dotnet.exe should allow to create such packages automatically: generate .nuspec, check that everything is internal, maybe set a specific flag in the metadata to indicate it is a source package and MsBuild should always import them as private.

Why can't we have language specific packages on nuget.org? I mean if the package is properly flagged as a C# package, toolings from other languages could easily report an error when referenced and NuGet gallery can display them in a special category with proper dicsclaimers displayed.

What are the recommended locations for publishing a shared source package if not to nuget.org?

MyGet, or Azure DevOps's package feature.

Why can't we have language specific packages on nuget.org?

You can if you want to, it just isn't recommended. A shared source library excludes everyone that doesn't use the same language as you.

You can if you want to, it just isn't recommended. A shared source library excludes everyone that doesn't use the same language as you.

By reading the doc I feel like we're encouraged to make shared source packages but asking not to publish on nuget.org is like the opposite, like "do that but keep them hidden to the rest of the community".


Run on single GPU

can I run the code using single GPU ?

Yes, you can. The code will use all your available GPU(s) by default.

I got error like this :
Traceback (most recent call last):
  File "flexmatch.py", line 351, in <module>
    main(args)
  File "flexmatch.py", line 66, in main
    main_worker(args.gpu, ngpus_per_node, args)
  File "flexmatch.py", line 199, in main_worker
    torch.distributed.barrier()
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\distributed_c10d.py", line 1946, in barrier
    _check_default_pg()
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\distributed_c10d.py", line 211, in _check_default_pg
    "Default process group is not initialized"
AssertionError: Default process group is not initialized

I change multiprocessing_distributed to False and GPU to 0 in config file. any idea ?
thank you

Could you try directly running the project on your single GPU without
changing the default argument and see if this error still exists?
On Sat, Dec 4, 2021, 10:32 Rariwa @.***> wrote:

I got error like this :
Traceback (most recent call last):
File "flexmatch.py", line 351, in
main(args)
File "flexmatch.py", line 66, in main
main_worker(args.gpu, ngpus_per_node, args)
File "flexmatch.py", line 199, in main_worker
torch.distributed.barrier()
File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\distributed_c10d.py", line 1946, in barrier
_check_default_pg()
File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\distributed_c10d.py", line 211, in _check_default_pg
"Default process group is not initialized"
AssertionError: Default process group is not initialized
I change multiprocessing_distributed to False and GPU to 0 in config file.
any idea ?
thank you
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/TorchSSL/TorchSSL/issues/16#issuecomment-985951422,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKSICDQBWTTMRWHXGODPLGTUPF4T3ANCNFSM5I5HP3MQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

This is if I change multiprocessing_distributed to True (default)
flexmatch.py:42: UserWarning: You have chosen to seed training. This will turn on the CUDNN deterministic setting, which can slow down your training considerably! You may see unexpected behavior when restarting from checkpoints.
  warnings.warn('You have chosen to seed training. '
flexmatch.py:49: UserWarning: You have chosen a specific GPU. This will completely disable data parallelism.
  warnings.warn('You have chosen a specific GPU. This will completely '
Traceback (most recent call last):
  File "flexmatch.py", line 351, in <module>
    main(args)
  File "flexmatch.py", line 64, in main
    mp.spawn(main_worker, nprocs=ngpus_per_node, args=(ngpus_per_node, args))
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\multiprocessing\spawn.py", line 199, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\multiprocessing\spawn.py", line 157, in start_processes
    while not context.join():
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\multiprocessing\spawn.py", line 118, in join
    raise Exception(msg)
Exception:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\multiprocessing\spawn.py", line 19, in _wrap
    fn(i, *args)
  File "D:\Ramdhan\dynocard\TorchSSL-main\flexmatch.py", line 93, in main_worker
    world_size=args.world_size, rank=args.rank)
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\distributed_c10d.py", line 421, in init_process_group
    init_method, rank, world_size, timeout=timeout
  File "C:\Users\Owner\Anaconda3\envs\nlp\lib\site-packages\torch\distributed\rendezvous.py", line 82, in rendezvous
    raise RuntimeError("No rendezvous handler for {}://".format(result.scheme))
RuntimeError: No rendezvous handler for tcp://

I will re-open it if you still have questions


showing text cursor at wrong place.

What is the bug*
A clear and concise description of what the bug is.
showing text cursor in between social logos in about page card
Expected behavior
A clear and concise description of what you expected to happen.
should not show text cursor
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

@Devrajsinh03 Go ahead
Nice changes
Show your support by stargazing the repo 🌟


fix: grammar mistake in rate limiting documentation

Fixed grammar mistake in rate limiting documentation

Internal previews

📄 File
🔗 Preview link

aspnetcore/performance/rate-limit.md
Rate limiting middleware in ASP.NET Core

Thanks for the contribution. Be sure to check out your name as a contributor about the 3rd of next month on the What's new page in the Community contributors section at the bottom.


fix: do not force starting ble advertising on initialization

Related:

https://github.com/project-chip/connectedhomeip/pull/30482

I have proposed to make CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART configurable via menuconfig as shown above. Even if this proposal is accepted, esp-matter forces to start ble advertising on ble initialization. This should be removed and delegated to the user configuration about CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART.

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

@hideakitai can you please rebase to latest main branch?

@shubhamdp I think there is no conflict with the latest main branch, right?

@shubhamdp I think there is no conflict with the latest main branch, right?

There is none, but the CI pipelines fails when building light example.

@shubhamdp rebased (merged)

@shubhamdp rebased ~(merged)~

Thank you!


add attribution to about page

bump version to 1.2.3
I know this isn't exactly the same as the Figma design, but the dimensions of the about screen aren't as flexible as we'd like and I don't want to have to deconstruct the whole screen for this.

I can do that... how's this size?


Feature request: Add front matter option to Markdown pages to hide them from the navbar

I think this could be something to add as a public property in the Markdown page models added upon parsing the source files. They can then be filtered when creating the navigation menu. See https://github.com/hydephp/develop/issues/179

Upcoming release will add the following front matter option to exclude a page from the navigation menu
hidden: true


MSID: 94616 Version: 1 DOI: 10.1101/2<IP_ADDRESS>6992

MSID: 94616
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>6992
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=94616
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>6992

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/94616v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>6992
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/94616/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

@fred-atherden Julien Ochala's ORCID goes to Sylvain Giroud's ORCID instead, otherwise fine to QC for Tuesday.


Fix maven repo declaring in README

It should be dependencyResolutionManagement instead of pluginManagement cause this lib is not a Gradle plugin.


Change title of skip button

It would be great to be possible to change the title of the skip button for localization

The skip button is an exposed property on OnboardingViewController, can you use that?


[Feature] Hamburger menu not toggling to an X on-click

Problem
This issue is mostly related to improving the user experience on the Creative Common website. As for now the hamburger  on click behave same as when `not-clicked. Illustration available below.

Description
An appropriate effect to sort out this situation is toggling to an X on click. This will:

Improve Ux
Enable the user to be aware when the menu is open or not.

The effect in real life looks like this:

Implementation
On scrolling on the content of this repo, I notice, this project has a dependency on Bulma CSS at the level
 and from some quick reference, this implementation is easily possible in bulma too.
Reference:

https://adminhacks.com/bulma-burger-interactive.html

          Home

          Documentation

            More

              About

              Jobs

              Contact

              Report an issue

              Sign up

              Log in

I'm on it!

Are any one work on this task? because I want to take .. let me know please

Are any one work on this task? because I want to take .. let me know please

@Rubadel Welcome to the community, Please read out the contribution guidelines.

If someone is not on it can I fix it


Set width of glyphs with GDEF class 3 (mark) to zero?

James opened a similar issue on ufo2ft repo:
https://github.com/googlei18n/ufo2ft/issues/55

I noticed that in fonts output by Glyphs, any glyph with GDEF class 3 has a width of zero. Should ufo2ft do the same? If so, we have to go back and change widths the compiled OTF/TTFs after the GDEF table has been compiled by feaLib.

I think it should be the job of glyphsLib to set the width of such mark glyphs to zero when building the UFO.

on second thought... I we use glyphsLib to generate UFO source files and we wish to be able to recreate the original .glyphs source back from them, maybe this zeroing-out of mark glyph advance widths/heights should not happen in here. Those generated UFOs may be considered source files to be further edited in another font editor, rather than simply a temporary byproduct of fontmake for the sake of generating binary OTFs.
So maybe this should be done in ufo2ft, as originally suggested in https://github.com/googlei18n/ufo2ft/issues/55
We could check if a tabke GDEF {...} with class definition is present in the features.fea (glyphsLib generates one automatically when building the UFOs), and if a glyph is a mark enforce its advance in the {h,v}mtx to be 0?
/cc @brawer @behdad

/cc @punchcutter (who said was working on a PR)

Aha, I see your point about dealing with the zeroing in ufo2ft. Even then it's possible that we don't want to zero. We also need to make sure we check the Glyphs custom parameter DisableAllAutomaticBehaviour before we do it.

I wonder, is there a specific custom parameter to disable this behaviour (i.e. zeroing out the advances of combining mark glyphs) as opposed to the general DisableAllAutomaticBehaviour one?
/cc @schriftgestalt

There is no custom parameter. It sets all marks with subCategory == "Nonspacing" to zero. If you need a spacing mark that still attaches, the subCategory needs to be set to Spacing Combining.

About the zeroing: I suspect that most people dealing with .ufo would expect the width of nonspacing marks set to zero. Last time I checked, other tools could not to the zeroing on export automatically. So doing it in the glyphsLib would make it easier to export the files. I don't expect to many people use glyphsLib to write .ufos and then like them to import back to Glyphs. That could be done with the build in UFO support. But if you like to ensure round tripping, then we could agree on a lib key that stores the original width.

I like the idea of storing the original width in a private key inside the UFO glyph's lib for the sake of roundtripping.
What about com.schriftgestaltung.originalWidth?

Sounds good. One problem with this. What happens if the user changes the width in the UFO? Maybe only apply the value when the width is zero?

I think may be we are overthinking it? Just zero the width and be done with it (for some OpenType implementations, e.g. MS’s and HarfBuzz it does not really matter most of time as any glyph with GDEF mark class will be zerod by the engine). If it is really necessary the reverse can be done in the future UFO to Glyphs converter as even regular UFO’s will benefit from such treatment.

I agree but and automatic expanding of metrics is a bit dangerous, too. It might shift the placement of some components.

It seems the variants of nonspacing marks are not processed by this logic. E.g. dieresiscomb is renamed to uni0308 and its width is set to 0, but dieresiscomb.case keeps its name and width.
This will lead to an extra space after composed letters on macOS, cf. https://github.com/jenskutilek/FiraSystemFontReplacement/issues/49

@jenskutilek glyphsLib simply applies the rules from the GlyphsData.xml. If a glyph name is marked with category "Mark" and subCategory "Nonspacing", then it sets the width to 0.
The glyph "dieresiscomb" is in that list, whereas "dieresiscomb.case" is not.
Can you confirm, does Glyphs.app automatically set the width of dieresiscomb.case to 0?
You can also override/extend the definitions from the GlyphsData.xml for selected glyphs and store their category/subCategory directly inside the .glyphs file: see  https://github.com/googlei18n/glyphsLib/issues/190#issuecomment-304280521

Yes, I can confirm, that Glyphs.app sets all .case glyphs related to the main combining diacritics to 0 advance width. E.g. dieresiscomb.case. But other related variants keep their widths, such as dieresiscomb.sc.
@schriftgestalt, maybe you can clarify?
In addition to setting the width to 0, the outlines are also moved to the left, so the former RSB is now negative. But I think it’s not necessary to replicate this:

That the .sc accents are not set to zero width is a mistake. The others are correct and are controlled by the subCategory="NonSpacing". (that is actually the problem with the .sc as it gets a subcategory of "Smallcap".

I don't understand.. I only see "dieresiscomb" in the GlyphData.xml. What's exactly the logic with .<suffix> glyph names? Do they all inherit the category/subCategory of their base glyph (i.e. without the suffix)?

There is an algorithm that tries to get glyphData for Glyphs with suffixes and ligatures.


Arrowhead

Good work so far.  Take a look at the comments and refactor where needed.  No need for a resubmission.


iroh-ctl p2p / store / gateway version

Would it be make sense to subsume these in #268 ? For iroh one these probably wouldn't be included fields.

We extend the iroh status #271 command with this information instead. We may get back to the individual commands later. We have to take into account we may have multiple peers running which affects how we report p2p versions.

how about we pull this out of the list in #284 and repurpose it to cover adding -v --version flags to {iroh-p2p, iroh-store, iroh-gateway}?

I'm interested in the first step. My understanding is that the only --version flag we were going for is for the iroh binary. The other version information will be subsumed by the status command. Are you referring to  future iroh-p2p, iroh-store etc binaries here? I can see why they'd have version flags themselves once we get them.
I've retitled the issue to better reflect the short term goal.


Improvements to the project browser

[ ] filter
[x] refresh

for refresh:
in handler preOpenStack of revprojectbrowserbehavior.livecodescript add this line to the "footer" section:
addFrameItem "refresh", "footer", "action", "Refresh PB", "refresh", "", "doRefresh", the long id of me
Then add handler doRefresh e.g. at the bottom of the script
on doRefresh
lock screen
setUpProjectView
buildProjectView true
unlock screen
end doRefresh
This will add a "refresh" icon to the footer of PB

Why not propose a QR to LC, since you did the work on it?

There is a pull-request on GitHub with my code by Mark Wieder  (not merged) and also a bit burried in a QCC uploaded attachement by me.
On the other hand I am absolutely convinced that the PB will be fixed to the point where it will never fail again... :)

really.
huh.
i don't believe you, Bernd.
you could always contribute more of these great ideas to a new repo for hacking LiveCode, so at least people who are interested can find them, easier.

probably moving the filter to https://github.com/macMikey/LC-HACK/issues/5


Potential default Hash implementation for Py<T>

I recently had cause to want to track unique Py<T> pointers in a hashset, which led me to do something such as
let item: Py<PyAny> = ...;
let map = HashMap::<*mut ::pyo3::ffi::PyObject, Py<PyAny>>::new();
map.insert(item.as_ptr(), item);

or cast the pointer to an integer - it's largely irrelevant to me since I was just using it as a temporary set-like collection and wasn't going to touch the keys again anyway.
Would this pointer-identity based hashing be a suitable blanket implementation of Hash (plus corresponding Eq) for Py<T>?
I saw some discussion in #2999 that pointed out that one might also have intended hashing and equality based on the underlying Python concepts of hash and equality (which hadn't occurred to me).  ~I imagine that there could also be user confusion with an Eq implementation given the Python-space PyAny::eq that most Py<T> will have access to.~ edit: actually, that was a mistake - Py<PyAny> of course doesn't directly deref to PyAny, and there's no eq already on Py.

IMO I don't think it makes sense, given the exact point you make in #2999.
The easiest thing to do is wrap the Py<PyAny> in a struct that provides hash() based on the semantics you want.

Sure, I'm fine with that as an answer - in my case, the use of it in a hash set is so simple and localised that even the struct encapsulation is overkill for me.

As well as the concerns in #2999, it's worth pointing out that the underlying Python implementations are fallible, whereas the Rust traits aren't.
If there Rust traits could handle fallibility I probably would have wanted to have Bound<'py, PyAny> implement the Python analytics.
As it is, I think it's best not to offer these traits and leave it to users to wrap as needed. Though the documentation on this could have an example, I guess.

No trouble - I'll close this issue as "complete" and thanks for the fast responses!


Attempt at breaking up the documentation

Fixes #274.

@oreoshake, how's this looking now?

@rcaught I think the "main" readme is still too thin on content. Please move docs/configuration.md back into the main readme.

Hey @rcaught, will have a chance to update this sometime soon? If not, I'm happy to take it from here.


What do you think about it?

Hi @jedrzejchalubek ,
What do you think about to collaborate with @antonreshetov for create an official package?
Check it out:
https://github.com/antonreshetov/vue-glide
:)

Hi @coderdiaz and @antonreshetov,
Why you don't officialize your vue-glide project ?

Hi @adrienbkr,
What do you mean by officialize?
Only @jedrzejchalubek as the author of glidejs library can create the wrapper over glidejs for vue and call it official.
Other projects will be considered as developed by the community.


Datepicker min changed dynamically error

Description
seems to be that when i change min attribute in runtime, the datepicker just crash

Link to Reproduction (or Detailed Explanation)
not provided
Steps to Reproduce
add a datepicker with a min date, and in runtime change it, and should crash, tested with days in september 2024
Ark UI Version
3.10.0
Framework

[X] React
[ ] Solid
[ ] Vue

Browser
No response
Additional Information
No response

Please share a reproduction

was trying to make a codesandbox but is too slow

is pretty hard to reproduce, but will add another screenshot


How can my backend discover the issuer URL for access tokens acquired using<EMAIL_ADDRESS>

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description
How can I set up a process to discover the issuer URL for access tokens that are acquired using the<EMAIL_ADDRESS>library?
I'm familiar with using a .well-known/openid-configuration endpoint to discover this value while using<EMAIL_ADDRESS>but the issuer URL of access tokens acquired using<EMAIL_ADDRESS>have a value that doesn't seem to appear in my tenant's .well-known/openid-configuration metadata document. (It's a https://sts.windows.net/... value, but my metadata document only contains https://login.microsoftonline.com/... values). Is it OK to hard-code the https://sts.windows.net/ value I find in tokens acquired using msal-browser? Am I using the wrong discovery endpoint?
Thanks!

@dylan-hart The issuer listed in the metadata endpoint is the default issuer. The issuer included in your token is the actual issuer of the token and can vary depending on which cloud is issuing the token. Are you trying to verify whether the token issued came from a trusted source? If so, msal has mechanisms in place to do this, you should not need to do this validation yourself.

@dylan-hart Here is some additional context around the issuer field: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/560#issuecomment-620133340

Ah! Thanks very much both. This clears it up pretty well for me, I think.
@tnorling That's basically what I was attempting I suppose, just probably even more niavely than expected lol. I'm assuming I can't use msal in my backend application, which is a Node.js app running on a remote server, so I'm using the jws and jsonwebtoken NPM packages to decode and verify access tokens sent to it by browser clients. Because my jwks_uri endpoint returns an issuer field and the jsonwebtoken NPM package accepts an issuer value when verifying tokens, it seemed like a natural fit to use it in the verification process. This 'works' for<EMAIL_ADDRESS>but your response and the issue that @jasonnutter linked seems to make it clear that the values just happen to align in some scenarios.
I guess I can either ignore the issuer field in my backend while I wait for the Node.js library preview, or maybe take a look at msal's mechanisms for doing this?
Thanks again!

@dylan-hart I suppose you could check if the issuer field contains your tenant id. May be better than nothing in the interim until we get msal-node pushed out? Closing this but let us know if you have additional questions.


License file

I don't see a license (open source or otherwise) in this repo.

Thank you for reminding me. I added an MIT LICENSE. Here is the commit.


Conversion matrix from RGB to XYZ is a little imprecise

sRGB 0xFFFFFF should map to (X, Y, Z = 95.05, 100.00, 108.90). Right now it's mapping to XYZ(95.047, 100.000, 108.883).
This can be achieved by using the matrix given in the sRGB specifications (e.g. formula F.7 of https://www.sis.se/api/document/preview/562720/ ).
It looks like https://github.com/vinaypillai/ac-colors/blob/2933744e6b7cec221ef02d0e7673a5ce93b1df37/index.js#L249-L251 is a popular (but slightly imprecise) approximation of this matrix and that's leading to the slightly off XYZ values. (The matrix on Wikipedia's sRGB article also comes close but doesn't quite nail it either...)

Thanks for the reference, latest release should fix the problem


API URL is non SSL

I just tried ofxclient and it bombed out as soon as my firewall said that the program was not allowed to connect to HTTP URLs.  Please fix the constant API_URL so that it points to a proper, SSL-validating, HTTPS URL.  HTTPS is no longer a luxury and there are tons of exploits that could be leveraged against the code reading the easily-MitM'ed HTTP data being downloaded from the URL.  Thanks.

ofxhome.com API is non-ssl and is outside the scope of this project

How about instead of closing the bug without information I can act upon, you tell me at least whom I should contact, in order to fix this security problem?
MITM can intercept data requests and alter them maliciously, this is for banking stuff so it's critical.

The metadata provider used to download configuration information for a bank (no usernames/passwords are transmitted it just gets bank information like their API endpoint urls, OFX version, FI ID etc) is http://ofxhome.com (as mentioned in my previous comment).  I presume any contact details can be found there.
Dangerous/sensitive information is transmitted over https for the actual banks. http is only used to auto-discover publicly available bank connection details.
Hope that helps.

Look, I don't think you've understood me.  I'll explain in more detail.
The lack of SSL in ofxhome.com means that said information, such as API endpoind URLs, and stuff like that, can be modified in transit by a malicious person, resulting in the disclosure of (not just) the banking institution the user is using, but also in the subversion of that information during the login process at the client side.
If you control ofxhome.com, then I am happy to pay for the SSL certificate and do the necessary work to get it SSL'd.  If you do not, then please tell me whom I can talk to.
If this conversation is going to continue leading nowhere, maybe because you still don't believe there's a problem (perhaps you haven't yet used Firesheep or some other similar tool that allows you to intercept and subvert non-SSL traffic), then let me know now so I can file for a CVE against this project, and then produce a proper proof of concept exploit against your software.

I understand now.  I do not control ofxhome.com.  I am sorry; you will have to contact them.

By the way, I had not previously considered ofxhome.com as as weak point in this chain so thank you.  The opportunity for exploit is minimal (since it is only called during setup -- and not for every login) but the chance is non-zero.
For what it is worth, I would match your $$ donation for the SSL cert on ofxhome.com if it gets to that point.

I will add a "SECURITY" section to the README.md outlining the information about the storage, retrieval, and transmission of financial information.
I will add some warnings in the CLI during the initial setup process:

prompting the user to search for a bank (hey! make sure you go to 3rd party ofxhome.com and feel comfortable telling them what bank you bank with.)
prompting the user to enter credentials to verify the bank (hey! this is the url that you are about to send your login details to.  Are you sure?)

Security during initial setup of band information
The only place OFXHome is being leveraged, is during the setup process of the "cli". I double checked and ofxhome.com is never leveraged during subsequent requests -- only as a helper on initial configuration.
This means that the window of opportunity of the URL being tampered with from ofxhome.com dns cache poisoning etc is during the initial setup only.  Of course someone could also tamper with the ofxclient.ini file but if they have root on your machine you have other issues.
How your bank information is stored after initial configuration
Bank details are stored in ~/ofxclient.ini
Your bank name is stored in the clear as is the nickname of your account.  Someone with access to this file would be able to see that you bank at "Wells Fargo" and have named one of your accounts "Bobs Checking Account".
The username and password themselves are stored in the recommended 'keyring' for your particular OS.  For example, OSX, it would be your Keychain.  Thus your username and password are only as secure as the keychain implementation for your own OS.  See the python 'keyring' module for more details: https://pypi.python.org/pypi/keyring

Oh, wow, I apologize if I came across as too harsh.
I really need to talk to the fellow who controls ofxhome.com and I am pledging to pony up whatever cash is necessary to set up the certificate initially (it will be a long'term cert, not a LetsEncrypt one), and whatever operations work is necessary to get it set up.
Again, my apologies.

It was silly of my to overreact and assign sentiment to an email message which conveys almost no sentiment.  I am sorry for sounding dismissive and terse.
I am thankful you brought security concerns to light.  I've rolled in a few security clarifications into master along with python 3 support.

No problem and thank you!

I had an idea.  It looks like ofxhome.com API has a "dump all" feature.  I am considering doing a dump of their DB locally in the python "ofxhome" library that I maintain and have all searches and interactions be local.
This would allow several things:

no network dependence on ofxhome.com
ability to easily add your own bank tweaks

To me this sounds slightly more secure presuming you trust the original DB dump in the first place.

That seems sensible to me.  One would have to do the dumps from several
locations.
TBH, it may be a good idea just to contact the person running ofxhome to
have that fixed.
But yes, if we could get that thing into a library, that seems safer
because the opportunity for interception is reduced to the creation of
the dump, rather than every time someone attempts to set up ofxhome.
--
Rudd-O
http://rudd-o.com/


CanvasTileLayerRenderer does not always clear TileCache on source changes (setSource)

Describe the bug
In the tiled canvas renderer the tilecache is only cleared if the the source revision and the source key changed. See here. This is problematic because it does not properly handle cases in which the source is changed to a new source, but the revision remains the same.
To Reproduce
Create a tiled layer with a TileWMS Source, create a new source with a different gutter size. Both sources will have the same revision since no change was made on them. Setting the source does thus not clear the tilecache and results in some very corrupt tiles.
Expected behavior
The tilecache should be cleared in this scenario. Using just the revision to determine if it needs to be cleared is not sufficient since two very different sources may have the same revision.
Workaround
The user has to check if the new source and the old source have the same revision and artificially change one of them in order to make the revision comparison fail and thus clear the tile cache.

I created a reproducer for OpenLayer 10.3.1 that shows the problem:
https://stackblitz.com/edit/8t1y9wr7?file=src%2FApp.vue

That is a good point, i can attempt a PR for this later today. As discussed i would add the source uid as an additional check in CanvasTileLayerRenderer::prepareFrame and CanvasTileLayerRenderer::prepareFrameInternal.
Actually while i took a look at the code of the WebGl renderer just now i noticed something weird ... it does not have any of the revision checks for the source at all. Did i miss them or is this for some reason not required with the WebGl renderer? Sorry if my question is a bit stupid, since we only use the canvas renderer i only studied that on in depth.

It is included in the cache key https://github.com/openlayers/openlayers/blob/main/src/ol/renderer/webgl/TileLayerBase.js#L129


CSS File not emitted on watch

See issue:
https://github.com/webpack-contrib/mini-css-extract-plugin/issues/23#issuecomment-373939895

For now, I've disabled caching so it only runs when Webpack in production mode.
I'm hoping that @evilebottnawi or someone else from the mini-css-extract-plugin team is working on a fix for their plugin.

@kevinweber in this week i take care about this :+1:

Fixed with #28.


Minor issues in Website Pages

1. Left and top headings text for table needs to be in white color. Also, Table is not appearing properly.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/our-services/plasmid-dna-production/nanoplasmid
2. Learn more button in Table is having difference in font size.
Please refer to screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/platforms/mrna-production
3. Difference in font-size is there for text in Aldevron.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/service/custom-protein-services
4. No margin for columns block.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/platforms/plasmid-dna-production
5. After applying Italic style to hyperlinks starting in a fresh line are having font-size and alignment issues.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/resources/references
6. Italic text is not appearing properly in Hero banner.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/products/cas9/spyfi-nuclease
7. Spacing issues for Column Images component.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/resources/product-guides
8. Alignment issue for columns block
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/campus/advance-campus-fargo
9. Bullets are aligned in a different manner in Aldevron.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/aldevron-california-consumer-rights-notice
10. Text is aligned to right in Aldevron
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/terms
11. Text is not coming full width for RTE.
Please refer to the screenshots below and reference link:
Preview:

In Aldevron:

reference link: https://www.aldevron.com/terms

All these observations have been taken care of. Hence closing the ticket.


Service monitors for cloud-controller-manager-app

Motivation
There are still some leftover apps (although not a lot) that still need to use a service monitor. Without this, we will not be able to tear down our Prometheus stack.
To easily find out what is not monitored via service monitors, you can connect to a MC and WC prometheus using opsctl open -i -a prometheus --workload-cluster=<cluster_id> and check out the targets page. We already identified and resolved most of the service monitors missing, but identified one turtles app that's not done yet.
TODO

[ ] https://github.com/giantswarm/azure-cloud-controller-manager-app needs a service/pod monitor
[ ] https://github.com/giantswarm/aws-cloud-controller-manager-app needs a service/pod monitor

Service monitors here are only relevant for CAPI
Outcome

All missing apps have a service monitor

I believe someone else from @giantswarm/team-atlas might be of more help when it comes to that question :)

It seems that this app is required in the bootstrap of a cluster so unless you can create the cluster and have it dependent on the prometheus-operator-crds, you should consider making it another app yes :(

@giantswarm/team-atlas how were these components being monitoring up until now? I can't find a metrics endpoint for them

Could it be because bind-address is not set?

These apps are not exposing any metrics port AFAIK. So I'm not sure what needs to be done.

Then I would say that the 1st thing to do would be to expose the metrics endpoints in those apps

I don't think they have one, that's what I meant.

I'm confused because the main.go files of the aws cloud controller manager does register metrics 🤔 I Can check in 2 weeks :)

Yes but I don't see any http handler to expose those metrics.

I decided to investigate aws-cloud-controller-manager more in detail.
Reading the source code, I could see how the controller was collecting metrics https://github.com/search?q=repo%3Akubernetes%2Fcloud-provider-aws+%2Fcloudprovider_aws%2F&type=code
But in the code I couldn't see any http endpoint being exposed for the metrics. I searched github, forums, and asked on Kubernetes Slack but I did not get any answers .
I checked the parameters that we currently pass to the aws-cloud-controller-manager container, and one says --secure-port=10267. So I port-forwarded using that port and hit the /metrics endpoint.
Internal Server Error: "/metrics": subjectaccessreviews.authorization.k8s.io is forbidden: User "system:serviceaccount:kube-system:aws-cloud-controller-manager" cannot create resource "subjectaccessreviews" in API group "authorization.k8s.io" at the cluster scope
Apparently this is a k8s resource used to determine whether a given user or service account has permission to perform a specific action on a resource. So I tried updating the ClusterRole for aws-cloud-controller-manager adding the SAR resource, and hitting the endpoint again.
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",
  "reason": "Forbidden",
  "details": {},
  "code": 403
}```

I need to pass a `serviceaccount` token. So I created a new token for the `aws-cloud-controller-manager` SA with `kubectl create token aws-cloud-controller-manager -n kube-system --duration 10m`. Used it in my request and

```{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",
  "reason": "Forbidden",
  "details": {},
  "code": 403
}```

Let's check the logs in the controller
```E0808 14:51:04.851806       1 authentication.go:73] "Unable to authenticate the request" err="[invalid bearer token, tokenreviews.authentication.k8s.io is forbidden: User \"system:serviceaccount:kube-system:aws-cloud-controller-manager\" cannot create resource \"tokenreviews\" in API group \"authentication.k8s.io\" at the cluster scope]"```

The `tokenreviews` API is used by Kubernetes components to verify the validity of bearer tokens, which are often used for authentication. So I added that to the `aws-cloud-controller-manager` `ClusterRole` and tried again.

{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
}

I added this new permissions to the `aws-cloud-controller-manager` ClusterRole

rules:

nonResourceURLs: ["/metrics"]
verbs: ["get"]

Try hitting the metrics endpoint again:

```# HELP apiserver_audit_event_total [ALPHA] Counter of audit events generated and sent to the audit backend.
# TYPE apiserver_audit_event_total counter
apiserver_audit_event_total 0
# HELP apiserver_audit_requests_rejected_total [ALPHA] Counter of apiserver requests rejected due to an error in audit logging backend.
# TYPE apiserver_audit_requests_rejected_total counter
apiserver_audit_requests_rejected_total 0
# HELP apiserver_client_certificate_expiration_seconds [ALPHA] Distribution of the remaining lifetime on the certificate used to authenticate a request.
# TYPE apiserver_client_certificate_expiration_seconds histogram
apiserver_client_certificate_expiration_seconds_bucket{le="0"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="1800"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="3600"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="7200"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="21600"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="43200"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="86400"} 0
apiserver_client_certificate_expiration_seconds_bucket{le="172800"} 0
...
..
.```

I finally got the metrics.

I guess we need
- the component that scrapes the metrics needs the `nonResourceURLs: ["/metrics"]` permissions on its `role`/`clusterrole`
- add `subjectaccessreviews` and `tokenreviews` permissions to `aws-cloud-controller-manager`.

That's something.really thorough investigation. Kudos to you Jose

After discussing it internally, we've decided that scrapping these metrics would add a lot of new time series to our monitoring platform for little gain. We could monitor the state of the DaemonSet instead of relying on the up metric exposed by the application itself. All the other metrics exposed by the application seem to be too "low level", and I don't think we would use them for our alerting.
What do you think?

It's up to you if you don't think the metrics are not relevant then so bé it ;)

It seems that these components are already covered by these rules, so we should get alerted when they are not available. We can close this one.


dynamic imports fix  for non-webpack environments.

Added issue description in #3345 .
Featured detection condition comes handy rather than typeof window because of webpack specific methods require.resolveWeak and resolve.ensure fails in non-webpack environments.
Issue was not with window object but with require.resolveWeak and require.ensure methods used in next handle-import.js file. Both these methods are specific to webpack and would not be available in node/commonjs environment.  Jest runs in Node environment and does not recognize require.resolveWeak and require.ensure methods.
TC39 dynamic import proposal works pretty well with Jest testing. Please refer to the repo. But Nextjs implementation of dynamic imports fails in jest because of above two methods repo.
@arunoda already mentioned that should not use process.env.NODE_ENV === 'test' in #3405. Assuming this would be the appropriate way of handling this issue #3345 .

Oh! I didn't see this: https://github.com/zeit/next.js/pull/3414
(Was thinking it's something else)
Sorry for that.
Looks interesting.

@arunoda No problem. I should have added documentation in the first place.
Anyhow added the requested changes.

@PrudviGali this looks great.
Thanks.

@arunoda Cool. Thanks.

Very nice, thanks @PrudviGali!