build: install cypress for testing

Part of Issue #19

Installs Cypress  so we can begin writing tests for the front end

How to run

To get started, open the app with the following command:  yarn run cypress open
Select E2E Testing

TODO

We'll need to write some specs. There are some sample ones that Cypress can install if you select the option. I'll spend some time studying them, but feel free to write specs in the meantime.

@ann-kilzer I thought the .pnp files were generated when I selected the E2E testing. It's hard to say, because running the project results in 1000+ changes due to the linting rules. I'll have a look at it again tonight and will confirm if they should be there or not.

I'm doing cypress e2e at work and this is not part of the basics. Anyway the file size seems really unusual for a hello world

The .pnp files are part of yarn. I fixed our gitignore and yarn config to properly support yarn 2 formats and netlify builds, but it's not merged yet.

The pnp files are a much faster/smaller replacement of node-modules. Like 2gb vs 200mb difference!
However, it's still very experimental so I configured our project to use node-modules for now.

The pnp files are a much faster/smaller replacement of node-modules. Like 2gb vs 200mb difference!
However, it's still very experimental so I configured our project to use node-modules for now.

Interesting.
Should these be in .gitignore in that case? Seeing updates of +44,854 looks like a lot of information. Or is it more like the yarn.lock file where there are just big changes when adding new dependencies

running the project results in 1000+ changes due to the linting rules

Do we need to configure the linter to ignore some things? Running the code should not be trigging the linter...

running the project results in 1000+ changes due to the linting rules

Do we need to configure the linter to ignore some things? Running the code should not be trigging the linter...
we never want to lint:

imported dependencies like node_modules
auto-generated code

yes and yes!

The pnp files are a much faster/smaller replacement of node-modules. Like 2gb vs 200mb difference!
However, it's still very experimental so I configured our project to use node-modules for now.

Interesting.
Should these be in .gitignore in that case? Seeing updates of +44,854 looks like a lot of information. Or is it more like the yarn.lock file where there are just big changes when adding new dependencies

excellent question!
@ann-kilzer @theyokohamalife  I highly recommending just reading this page so you can be yarn masters :)
https://yarnpkg.com/features/pnp#the-node_modules-problem
We have two options: check in the dependencies or not. Here's some key points

Checking them in means your app has everything needed to run (even offline)
Not checking them in means smaller repo, but each person will download separately.
Still unclear how caching works during production builds. This might be better or worse 🤷
I was a little worried on Netlify support and caching, so I .gitignored them for now until this feature has been out a little longer

@theyokohamalife I merged in #30, so you should be able to rebase and get the new yarn configs to solve the pnp file issue


Update control plane certs only if user opts in

Make sure certgen does not update the control plane cert secrets if they already exist. This ensures that if a user creates certs as part of https://github.com/envoyproxy/gateway/issues/866 they are not overriden by certgen.

If overwriteControlPlaneCerts is set in the EnvoyGateway config, certgen can be used to update the secrets with newer certs

Fixes: https://github.com/envoyproxy/gateway/issues/1471

/retest

@AliceProxy I'll add a sub task to add docs and we can use the orig issue to track it to completion

@AliceProxy I'll add a sub task to add docs and we can use the orig issue to track it to completion

Cool, yeah that doesn't need to happen in this PR


Changing TURN server options on Client App instead from Server conf

Hi,
Is that possible to adding options change TURN server that being used on particular session?
this capability will help people that don't want to bother with building and hosting peercalls on their instance, instead they have private TURN server that will handle the calls, and that will lighten some server loads :)
Thanks

Hi @mxvin, that's a very good question. The first thing that comes to mind is that the ICE server configuration would need to be embedded in URL somehow. Usually all turn servers require authentication to prevent unauthorized access, since uncontrolled use could incur large data costs and server load.
The simplest form of TURN server authentication expires after a while. This might not work well for meeting URLs shared in advance, and the meeting creator would have to be aware of this. I'm not exactly sure how to solve this to make it as user friendly as possible at this point, but I'll think about it.


Wrong link for "List of talks for BUILD 2016 that can be watched on Channel9"

The link "List of talks for BUILD 2016 that can be watched on Channel9" on the projects homepage (https://github.com/Microsoft/WindowsUIDevLabs)
leads to
https://github.com/Microsoft/WindowsUIDevLabs/wiki/Windows-UI-Newsletter---May-Edition#build-sessions
which does not exist.

Thanks for reporting the issue. It looks like we changed the name of the first issue of the newsletter and forgot to update the link in the homepage.
The updated link is this one: https://github.com/Microsoft/WindowsUIDevLabs/wiki/Windows-UI-Newsletter---Volume-1#build-sessions
I will update the link shortly. Until then, feel free to go to the address above.

The link has been updated.


feat: add GetVersion

Thank you for contributing to kube!
Please add a summary of your change
feat: add GetVersion
Does your change fix a particular issue?
Fixes #(issue)
n/a
Check list:

[ ] Mark if documentation changes are required.
[x] Mark if tests were added or updated to cover the changes.

Codecov Report

Merging #26 (7adb121) into main (f4504b2) will increase coverage by 0.14%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #26      +/-   ##
==========================================
+ Coverage   50.98%   51.13%   +0.14%
==========================================
  Files          13       13
  Lines         659      661       +2
==========================================
+ Hits          336      338       +2
  Misses        271      271
  Partials       52       52

Flag
Coverage Δ

unittests
51.13% <100.00%> (+0.14%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

cluster.go
87.50% <100.00%> (+1.78%)
:arrow_up:

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


Minor refactoring of the release build scripts

PR Checklist
Note: Please mark anything not applicable to this PR NA.

[x] PR has a meaningful title

[NA] Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[NA] Update the changelog -- -- This change doesn't need to go in ChangeLog.md, which the subsequent work to enable signing for win-arm and win-arm64 packages needs to.
[NA] User facing Documentation needed

[NA] Issue filed - Issue link:

[x] Change is not breaking
[NA] Make sure you've added a new test, if existing tests do not effectively test the code changed

[NA] Add [feature] if the change is significant or affectes feature tests

PR Summary
Some name changes, comment updates, and random fixes.
This depends on https://github.com/PowerShell/PSRelease/pull/28 to be merged.

@TravisEz13  Can you have another look?


Discourse-Learn Integration

Following the addition of more badges to profiles, this issue discusses the possible integration of the Discourse API with /learn.
As Discourse comes with the API and GUI to create/grant badges, it would be most ideal to seamlessly provide this functionality on a Camper's profile on /learn.
Possible Feature Additions:

[ ] Display all current badges from forum to /learn
[ ] Use Discourse to upload/create i18n badges
[ ] Add forum account metrics to /learn (e.g. Number of hearts, number of question answers)

Implimentation Details:

Use associated email addresses for authentication

Some Campers use a separate email for forum and /learn

Allow Campers to manually associate forum account with /learn?

Which privacy settings to use for feature?

Use an existing setting (e.g. profile)
Automatically associate known email addresses?

Styling

How to display the badges on the profile?

Bonus Discussion:

Cross-integration with donor/top-contributor on forum?

Is this because of some unification?
Shouldn't there be new badges that correlate with the learning platform, if so which?

@Sembauke The main reason for this is the addition of i18n-related badges (once more is finalised, we can share specifics). So, to not re-create the wheel, we thought to use Discourse's API/GUI to create, store, and award the badges, but we also want to include them on the freecodecamp.org domain. So, nothing more than the stats from one to the other.

 Issue: Track Discourse-Learn Integration

 Issue: Track Discourse-Learn Integration


Isaacs/do not break on missing global process

work on machines that don't have curl (or where, like my laptop apparently, curl is somehow borked)
work on node 16, where fs.writeFileSync needs a proper String or Buffer argument.
work on systems where process is unset or null.

me: "What idiot made it look at process.version without any kind of guard anyway!?"
also me: https://github.com/evanw/node-source-map-support/pull/255
😂
(I'm j/k, of course, no hostility about bugs.)

Updated to also not break if process.stderr is missing.

Released as 0.5.20 🚀


Enhanced smoke test

We checked some new cops/significant changes against the repos we're working on to make sure there are no errors.
I thought of adding a couple of well-known OS repos and adding CI steps to test against them.
rubocop has this option:
--fail-level SEVERITY        Minimum severity (A/R/C/W/E/F) for exit with error code.

we could use E to only fail those builds if there's an error in a cop, or Ruby fails to parse.
https://github.com/pirj/real-world-rspec is a good (but not comprehensive) source of usage examples.
~I'm in between testing against the edge or some stable/fixed branch. Maybe edge and make those CI jobs optional?~

Let's keep it simple - make a pre-release check of the codebase against real-world-rspec. It takes 15-20m on my machine. WDYT @bquorning ?

Sounds good. We can maybe start using GitHub Actions for this? That way, we can run the check only on pull requests that change version.rb.


(graphviz) embedded and modernized

https://chocolatey.org/packages/graphviz

Description
Embedded, added shim, made AU updater and modernized.
Motivation and Context

How Has this Been Tested?
locally
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Migrated package (a package have been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this mean usually the notes in the description of a package).
[x] I have updated the documentation accordingly (this mean usually the notes in the description of a package).
[x] All files is up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

Original Location

Original Repository
[ ] Include the link to the opened PR that removes the package from the original location
Not needed, not automatic package
[x] The migration guidelines have been followed

/cc @ForNeVeR

Notified original maintainer @ForNeVeR who agreed to move it here.

That whats the label Push required is for :).

ah, I've seen several uses of it.
Sometimes it's been used when a push is required to get the updated package, but it wasn't made a priority to push it now, but rather having it automatically.


XML  and documentation for factory methods shall start with default phrase

As factory methods are responsible to create things, their documentation shall start with Creates a new instance of the <see cref="..."/> type with

<returns> documentation shall start with  The new created <see cref="..."/>  instance that

Blocked because is currently unclear how to resolve <see cref="..."/> for generic type arguments to be able to propose how to fix them.


Bugfix/drag and drop accepts any file type

Summary

Why is this change needed?
Constraints were present when importing via dialog, but not through the drag feature.

What did you change?
Branch adds in drag and drop feature only accedting the file types specified in the getMediaType function in utils.

Explain things which the reviewers are likely to need explaining. Remember that they didn’t write the code.
Electron 18/ chrome update doesnt allow files to be detected when file is still currently being dragged. So had to add constraint after the file has been dropped.  (https://stackoverflow.com/questions/11065803/determine-what-is-being-dragged-from-dragenter-dragover-events)

OS

[ ] Linux
[ ] MacOS
[ x] Windows

I will add in a toast message if they put in the wrong file type - just have to figure out how notifications on electron work first

Thanks @exquisitebin !! Updated Utils to fix it - drag was detecting audio as mpeg rather than mp4.


Reduce receiver scope for the inline cast() function

to avoid polluting the global namespace.
And fix javadoc references.

Fun fact, I've been importing Xoxo in multiple scripts just for that Any.cast() 😅 . I'm eagerly waiting for https://youtrack.jetbrains.com/issue/KT-8584/ but doesn't look like it's coming any time soon. Maybe cast deserves its own library like padleft on npm 🙈 .
I'd argue this function is very generic and that Any is the correct bound for the receiver. I don't think it's used internally. I'll move it to a separate (one line) library that you can decide to include or not.

It's alive https://github.com/martinbonnin/kotlin-cast!


Loading Toast Image from Memory

Is it possible to load icon from memory bitmap? or all the images?

It seems that there is no apparent workaround for this yet. Most of the time, I end up saving the image into a file and referencing it in the notification:
https://stackoverflow.com/questions/66694454/how-can-i-make-a-notification-in-a-c-sharp-windows-app-with-a-custom-image-and-o


Improve grouping label match logic

Signed-off-by: yeya24<EMAIL_ADDRESS>Grouping and metric are already sorted so we can use two pointer way to match them.

Thanks!


[#2] Setup testing and CI

Closes #47

What happened 👀
Before other feature tickets come up, we have to set up the CI workflow first.
Insight 📝

Setup Jest for Unit testing
Setup Cypress for UI testing
Setup linter
Add test workflow in GitHub action

Proof Of Work 📹

CI on Github Action

Closes #47


New version: LinwoodCloud.Butterfly.Nightly version 2.0.0-rc.1

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Minecarts & Pistons need management

SimpleAdminHacks needs limits for minecarts & pistons. See Thread
Related / Same? https://github.com/CivMC/SimpleAdminHacks/issues/2

In terms of minecarts (and presumably boats), you could do something similar to https://github.com/CivClassic/SimpleAdminHacks/pull/89: storing a timestamp in its PDC of when it was placed / last emptied of passengers, then check every so often if a certain amount of time has passed, and if so, the boat/minecart is broken into an item, which can then despawn.

https://github.com/CivMC/SimpleAdminHacks/pull/39
https://github.com/CivMC/SimpleAdminHacks/pull/33


console.error node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/virtual-console.js:29

During writing of unit testing. i'm facing following warning and error.
`  console.error node_modules/react-dom/cjs/react-dom.development.js:545
Warning: An update to Query inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act
    in Query (at CustomFields/index.js:109)
    in CustomFieldsQyery (at CustomFieldsQyery.test.js:25)
    in ApolloProvider (created by MockedProvider)
    in MockedProvider (created by WrapperComponent)
    in WrapperComponent

console.error node_modules/jest-environment-jsdom/node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Uncaught [TypeError: Cannot read property 'additionalData' of undefined]
`

Same issue!!!

Do you think this error message isn't correct or do you not understand what it means?

Fixed.


training very slowly

i am training zipformer in egs/audioset/AT, using comand:
`export CUDA_VISIBLE_DEVICES="0,1,2,3"
subset=full
python zipformer/train.py
--world-size 4
--num-epochs 50
--num-encoder-layers 2,2,2,2,2,2
--feedforward-dim 512,768,768,768,768,768
--encoder-dim 192,256,256,256,256,256
--encoder-unmasked-dim 192,192,192,192,192,192
--exp-dir zipformer/exp_22M_xiaomi_${subset}
--start-epoch 1
--use-fp16 1
--num-events 527
--audioset-subset $subset
--max-duration 1200
--enable-musan False
--return-cuts False
--manifest-dir data_wulan/fbank_xiaomi
--master-port 13455
--num-workers 24
`
The first question:
My machine has 128 CPUs and only I am using it myself. So I think this setting is not a problem.
The current situation is that every 50 batches takes 8-9 minutes. But i see that the logs you uploaded only take about 1 minute.
A common situation is that 2-3 GPUs have a utilization rate of 100, but the remaining GPUs have a utilization rate of 0.
I think it's caused by GPU waiting for data, because when I set num-worker to 2(by default) it takes more time.
The second question:
What is the use of data augmentation using Musan since the training process uses PrecomputedFeatures?
Thank you and wish your reply!

Hi, are you having the same issue if you only use 1 GPU for training?
Regarding the usage of musan, please have a look at the implementation of CutMix in lhotse. The augmentation is done at the feature level.

Hi, are you having the same issue if you only use 1 GPU for training?

No. Training 50 batchs with only one GPU takes 1 minute

This is a bit strange. Are you training on one node? Also, could you please print the time in the dataloader? 24 is too big for --num-workers, is the default setting slow?

This is a bit strange. Are you training on one node? Also, could you please print the time in the dataloader? 24 is too big for --num-workers, is the default setting slow?

Yes, All operations run in the same environment on the same machine.
I set num-workers=2  and print the time cost of each batch load data. Some times are between 5-6 seconds, while others are within 0.02 seconds.
Then I set num-workers=24  and print the time cost of each batch load data. All the time are within 0.02 seconds.
Maybe my disk reading speed is slow because the data is stored on a network mounted disk.

The first question: My machine has 128 CPUs and only I am using it myself. So I think this setting is not a problem. The current situation is that every 50 batches takes 8-9 minutes. But i see that the logs you uploaded only take about 1 minute. A common situation is that 2-3 GPUs have a utilization rate of 100, but the remaining GPUs have a utilization rate of 0. I think it's caused by GPU waiting for data, because when I set num-worker to 2(by default) it takes more time.

So why does this problem arise during multi GPU training.

Maybe my disk reading speed is slow because the data is stored on a network mounted disk.

That could be the reason. Maybe there is a network bandwidth limit, which causes the slow training in multi GPU mode.
Could you please try using a local disk? You could try the balanced subset to verify this.

Another option is to use the lhotse shar format for faster IO, just keep in mind you might need to slightly adjust the dataloader initialization code. See the example here: https://github.com/lhotse-speech/lhotse/blob/master/examples/04-lhotse-shar.ipynb

Another option is to use the lhotse shar format for faster IO, just keep in mind you might need to slightly adjust the dataloader initialization code. See the example here: https://github.com/lhotse-speech/lhotse/blob/master/examples/04-lhotse-shar.ipynb
You can export your existing data using lhotse shar export --help

I thought training would only read those lca files that store features. My unbalanced dataset feature saved in 100 lca files. I don't think this is a big number. Will this be the reason that affects the speed of the dataloader?
Will the dataloader read the original audio file during the training process? I think the number of original audio maybe large.
According to the setting of max-duration=1200, each batch should have about 120 audio files.

i dont think 100 lca files would be a huge problem on the io end
the dataloader will not read the original audio file if your are not using otf feature extraction.
i would rather suggest you to measure the bandwidth of your file system first, as we dont have much info on the hardware you have been working with.

i dont think 100 lca files would be a huge problem on the io end
the dataloader will not read the original audio file if your are not using otf feature extraction.
i would rather suggest you to measure the bandwidth of your file system first, as we dont have much info on the hardware you have been working with.

My machine's memory can hold the entire training set. Can I load all batches into memory at once and keep it in memory until the training is completed? This may avoid frequent disk IO

i guess so, you can set a super large buffer size and see if it works
best regards
jin

On Jun 20, 2024, at 15:10, zzzzzzk @.***> wrote:
My machine's memory can hold the entire training set. Can I load all batches into memory at once and keep it in memory until the training is completed? This may avoid frequent disk IO

LCA files require random access reading which is typically 5-100x slower than sequential IO from tar files (depending on your setup, SSD/HDD/NFS/etc).

i guess so, you can set a super large buffer size and see if it works

To make that work, you'd need to call cuts = cuts.move_to_memory() to pre-load the features into memory. Otherwise it will only pre-load the manifests.

LCA files require random access reading which is typically 5-100x slower than sequential IO from tar files (depending on your setup, SSD/HDD/NFS/etc).

Thank you for your suggestion.
I  have converted the data to shar format. Using command "lhotse shar export -f lilcom -j 40 xx.jsonl.gz shar_dir"
And loading shar with code
cuts_musan = CutSet.from_shar(fields={     "cuts": glob.glob(f"{self.args.shar_dir}/shar_musan/cuts.*.jsonl.gz"),     "features": glob.glob(f"{self.args.shar_dir}/shar_musan/features.*.tar") })
But this error was reported during the training process.
"AssertionError: Mismatched IDs: cut ID is 'fsWmRuLVIaU' but found data with name 'REeHsSo_LbE.llc' fsor field feature"
File "/opt/conda/lib/python3.10/site-packages/lhotse/shar/readers/lazy.py", line 268, in iter
str(data_path.parent / data_path.stem) == cut.id
I'm not quite sure how to solve this problem. The feature I am currently using is computed from my custom feature extractor.
Is it related to the feature extractor？But I had no problem training with manifest before with the same feature.

Glob returns files in unsorted order. You can either sort the paths or use in_dir arg instead which will auto sort everything for you.

Glob returns files in unsorted order. You can either sort the paths or use in_dir arg instead which will auto sort everything for you.

Thank you, it's very fast now.

To make that work, you'd need to call cuts = cuts.move_to_memory() to pre-load the features into memory. Otherwise it will only pre-load the manifests.

I'm facing AttributeError: 'CutSet' object has no attribute 'move_to_memory', how do I move the cutset with calculated feats to memory?

apparently I didn't add this method to cutset, but you can do
def to_mem(c):
    return c.move_to_memory()
cuts = cuts.map(to_mem)

LCA files require random access reading which is typically 5-100x slower than sequential IO from tar files (depending on your setup, SSD/HDD/NFS/etc).

Thank you for your suggestion.
I have converted the data to shar format. Using command "lhotse shar export -f lilcom -j 40 xx.jsonl.gz shar_dir" And loading shar with code cuts_musan = CutSet.from_shar(fields={ "cuts": glob.glob(f"{self.args.shar_dir}/shar_musan/cuts.*.jsonl.gz"), "features": glob.glob(f"{self.args.shar_dir}/shar_musan/features.*.tar") }) But this error was reported during the training process.
"AssertionError: Mismatched IDs: cut ID is 'fsWmRuLVIaU' but found data with name 'REeHsSo_LbE.llc' fsor field feature"
File "/opt/conda/lib/python3.10/site-packages/lhotse/shar/readers/lazy.py", line 268, in iter str(data_path.parent / data_path.stem) == cut.id
I'm not quite sure how to solve this problem. The feature I am currently using is computed from my custom feature extractor.
Is it related to the feature extractor？But I had no problem training with manifest before with the same feature.

I am trying to run egs/wenetspeech/KWS/zipformer/finetune.py, and I exported shar in the same way and loaded it using CutSet.from_shar. The result was even slower than the original load_manifest_lazy.
50 steps take time：3'40" vs 4'30"
GPU: V100 8*16G
lhotes：1.23.0
Is there something I missed? What could be the reason?

Thanks Reply.
I indeed did not set it up according to the tutorial, but after I set it up, the following problem occurred：
Traceback (most recent call last):
  File "/pathto/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap
    fn(i, *args)
  File "/pathto/icefall/egs/wenetspeech/KWS/zipformer/finetune.py", line 756, in run
    train_dl.sampler.set_epoch(epoch - 1)
AttributeError: '_InfiniteConstantSampler' object has no attribute 'set_epoch'

cuts loading method：
    shar_cuts = CutSet.from_shar(
        fields={
            "cuts": self.load_shar_file('cuts_wenetspeech_L'),
            "features": self.load_shar_file('features_wenetspeech_L'),
        },
        shuffle_shards=True,
        stateful_shuffle=True,
        seed="randomized",
    ).repeat()

other codes, use DynamicBucketingSampler：

Is it a version problem?

You can remove the set_epoch call. It’ll be automatically incremented inside the iterable dataset.

I tried it, and it does improve：
50 steps take time：3'40" -> 2'30"
But I think it is still too slow for a model with 3M parameters model and 8*V100. And often one or two GPUs have 0% utilization.
And I found that it is faster if I use 1 GPU，50 steps take time：40"+

Is the CutSet.mux operation the cause of the slowness?

I don’t think so. It’s good you’re getting good perf on 1GPU, at least we know the issue is related to DDP setup. We’ll probably need a profiler to figure out what’s going wrong in your setup. You can try two approaches

use pip install py-spy and run py-spy record attaching to your process PID. Ideally we want flamegraphs for the main (training loop) process and the data loading subprocess separately. You’ll need to figure out the pids using ps and pstree.

you can obtain a comprehensive profile of your multi GPU training with NVIDIA Nsight systems.

the workflow you generally want is the following:

run some warmup (10-20 batches)
start the profiler
run 3-5 batches, you don't really need more and it will keep the profile small
stop the profiler and script
explore in nsys

You can programmatically define the profiler scope by inserting:
torch.cuda.profiler.cudart().cudaProfilerStart()
code to profile goes here
torch.cuda.profiler.cudart().cudaProfilerStop()
Then the command to start the profiling is the following:
nsys profile -w true -t nvtx,cuda,osrt -s cpu --capture-range=cudaProfilerApi --capture-range-end=stop-shutdown --cudabacktrace=true -x true -o /path/to/profile.nsys-rep --force-overwrite true -- python my-script.py
(there's a bunch of options that make it auto-exit after profiling stops)
You can additionally add NVTX annotations which will add Python call stacks in the profile, super useful for interpreting the results, but it also adds a lot of overhead, so you need to verify all conclusions with a profile without NVTX (or manually insert NVTX only in very select places). You can add NVTX like this:
import nvtx
profile = nvtx.Profile()
profile.enable()  # before profiler start
profile.disable()  # after profiler ends
If you want to insert NVTX manually, use torch.cuda.nvtx.range_push and torch.cuda.nvtx.range_pop.
Typically it’s most useful to create a profile with and without NVTX and then compare the two.


Add config option for db path/name

Add the config option DB_PATH to allow choosing where the database file should be saved.
Having the config option instead of a hardcoded path made it simple for us to save the db on our persistent storage when running a container.

Nice! Can you rebase on or merge master and fix conflicts?


chore(deps): update dependency prettier to v3 + stylelint

What

Update together

prettier from 2.8.8 to 3.0.0
stylelint-prettier from 2.0.0 to 4.0.0
stylelint-config-sass-guidelines from 9.0.1 to 10.0.0

stylelint-config-sass-guidelines was not waiting because it has a dependency on stylelint-order (see Philipp's comment:
https://github.com/bjankord/stylelint-config-sass-guidelines/issues/214)
close: https://github.com/swisspost/design-system/pull/1619
close: https://github.com/swisspost/design-system/pull/1620

There seems to be some issue using Prettier standalone to transform embedded code. In addition, the typing was not updated so it's harder to work with.
https://www.npmjs.com/package/@types/prettier
https://github.com/prettier/prettier/issues/15078

Preview doesn't work with v7 currently.
Here is the error:

Format method from prettier is now async and storybook transform parameter doesn't seem to support it (it's hard to find some doc about it). Prettier recommends to use @prettier/sync if we still need a synchronous method, but it's not the standalone version and therefore the issue above with the path from Node. Adding the following code to package.json doesn't have an impact either:
  "browser": {
    "path": false
  }


Add a wrapper script for FPC

A simple wrapper for FPC, in case one doesn't want to use the whole Lazarus.

Only for Linux. There aren't natives for different OSes, and I don't know windows batch.


Fix autotags config group name

Config name was mismatching the plugin name, so tag overrides were not doing anything.

I would recommend writing a config migration function to ensure this does not effectively "erase" your plugin users' existing settings, as they would not be associated with the new config group.


No support for multiple values in jail.local ini file

Describe the bug
I try to add multiple actions in one section in jail. It is not possible in current role form.
Playbook
Please paste the playbook you are using. (Consider requirements.yml and
optionally the command you've invoked.)
---
    - role: robertdebock.fail2ban
      become: true
      vars:
        fail2ban_filterd_path: "../fail2ban/filters/"
        fail2ban_jail_configuration:
          - section: syslog-sftp
            option: action
            value: |
              iptables-allports[actname=sshd,name=sshd,protocol=all]
                       iptables-allports[actname=sshd-docker,name=sshd-docker,protocol=all,chain=DOCKER]

Output
It will constantly multiple last line (add it with each playbook execution):
 action = iptables-allports[actname=sshd,name=sshd,protocol=all]
          iptables-allports[actname=sshd-docker,name=sshd-docker,protocol=all,chain=DOCKER]

+         iptables-allports[actname=sshd-docker,name=sshd-docker,protocol=all,chain=DOCKER]

Environment

Control node OS: [e.g. Debian 9] (cat /etc/os-release): MacOS on M1
Control node Ansible version: [e.g. 2.9.1] (ansible --version): 2.15.1
Managed node OS: [e.g. CentOS 7] (cat /etc/os-release): "Ubuntu 22.04.2 LTS"

Please consider sponsoring me.

I confirm i get similar issue.
I don't think it's possible to fix this issue with the actual module (ini_file)
I've remove the actual ini_file tasks
- name: Configure jail.local
  community.general.ini_file:
  ...

and replace by a template tasks :
- name: Configure jail.local
  ansible.builtin.template:
    src: jail.local.j2
    dest: /etc/fail2ban/jail.local
    mode: "0640"
  notify:
    - Restart fail2ban

Of course, it's need to create the template file templates/jail.local.j2 :
{# Template to create the jail #}
{% for i in fail2ban_jail_configuration %}
[{{ i.name }}]
{% for k in i if k != 'name' %}
{{ k }} = {{ i[k] }}
{% endfor %}
{% endfor %}

And the configuration change also, please found a exemple :
fail2ban_jail_configuration:
  - name: DEFAULT
    ignoreself: 'true'
    destemail<EMAIL_ADDRESS>    sender: root@{{ inventory_hostname }}.YYY.ZZ
  - name: guacamole
    enabled: 'true'
    port: 8080
    logpath: /var/log/tomcat9/catalina.out
    filter: guacamole_XXXX
    banaction: iptables-multiport
    maxretry: 2
    bantime: 1m
    findtime: 60m
    action: |
      iptables-guacamole[name="guacamole", port="8080", protocol="tcp"]
               smtp.py[host="smtp.XXX.YY:25"<EMAIL_ADDRESS>dest="XXX<EMAIL_ADDRESS>
i removed the tasks assert | Test fail2ban_jail_configuration (in assert.yml ) as the fail2ban_jail_configuration changed but ideally, it's should also be rewriten.
If you think it's the good way for fixing the issue, i can create a PR with these change.


updated README to symlink to ssh key

Fixes issue #61

reverted changes to openshift/gitops/clusters/overlays/byo/bootstrap/redhat-portal-credentials and the documentation around it


Allure annotaions is not passed to report.

There are questions that I would like to have answers. Please help me

Realization @BeforeStep @AfterStep when we can expect?
To test Cucubmer Annotated @Issue @Severity @Description not fall into the report allure. What is the reason?
Example:

@Issue("JIRA-123")
@И("открыто окно идентификации клиента")
    public void openIdentForm() throws Throwable {
        driver.findElement(LocatorElements.processAproveed).click();
        driver.findElement(LocatorElements.identificationClient).click();
    }

Looks like you found the bug :)

When for the time expect fixing this bug ?

As soon as I`ll get some free time.
Another way to get it fixed - is to send PR.

@clicman  Hi. Any update on this?

To use Severity, Issue and TestCaseId you have to add those annotation in the .feature.
Example:

Feature: As agent I want to log out of the webapplication so that i can end the session.
Background:
Given Agent is on webapp
When Agent enters Username as "root" and Password "root"
And Agent clicks on Login button
@SeverityLevel.CRITICAL @Issue("JIRA-1) @TestCaseId("JIRA-642")
Scenario: Verify Logout Functionality
Given Agent is on HomePage
When Agent clicks on Logout button
Then Agent should get logged out

It worked for me.

@ankit-ojha  Whatever you have mentioned is allure cucumber plugin developed by Anton.  This is not allure cucumber plugin, this is allure cucumber jvm adaptor.

Fixed in master. Will available in 1.6 release


Android View blur

Is it working with @Composable AndroidView { }?

This is not an issue. Why not just try?


How to provide full path into image-field

Hi ,
I am having a json data that have only image name and i want concatenate image name with path into image-field.Is there any callback function for this?
Please solve this or provide me any suggestion , i cant put full path into my database so that image-field works directlty.
My code is as below:
<angucomplete-alt id="invite-angucomplete-alt"                     placeholder="Enter email"                     pause="100"                     selected-object="selectedUser"                     remote-url="/api/getUsersByQuery"                     remote-url-request-formatter="remoteUrlRequestFn"                     remote-url-data-field="data"                     title-field="displayName"                     minlength="2"                       image-field="path+imageFile"**                     input-changed="inputChangedFn"                     match-class="highlight"                     input-class="form-control invite-input"/>

Try remote-url-response-formatter.

Hi Hidenari,
Thanks so much for your quick reply. This solved my problem. Here is what i did , it works :
`$scope.searchResponseFormatter=function(response){
if(response.data.length>0){
angular.forEach(response.data,function(value,key){
if(value.imageFile!=''){
					response.data[key].imageFile='companies/'+$scope.authentication.user.folderName+'/'+value.imageFile;
				}else{

					//default image
					response.data[key].imageFile='modules/core/img/user_img.png';
				}

			});
			return item;
		}else{

			return item;

		}

	}`


Get work item field binding info with Multivalue control

Hi, I am using Multivalue control by Microsoft Dev Labs. Is there any way to get which work item field is bound with this multi-value control using process template XML or TFS API? or any other way if it’s not possible with both the mentioned ones? As highlighted in the mentioned image I bind the Reason field with the multi-value control Mobile OS here:

Hi @affansheikh96,
You can make use of layout api to get the backing field name. You can refer: https://learn.microsoft.com/en-us/rest/api/azure/devops/processdefinitions/layout/get?view=azure-devops-rest-4.1&tabs=HTTP


build: update use_cxx11 to use_cxx14

Per abseil support policy, c++11 got dropped, thus updating use_cxx11 to use_cxx14 so that we can build from source with latest abseil
/opt/homebrew/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
 ^

relates to https://github.com/Homebrew/homebrew-core/pull/121718

It is also worth noting that -DCMAKE_CXX_STANDARD=17 and -DCMAKE_CXX_STANDARD_REQUIRED=TRU" are not working

It is also worth noting that -DCMAKE_CXX_STANDARD=17 and -DCMAKE_CXX_STANDARD_REQUIRED=TRUE" are not working

I have add an cmake option which will respect CMAKE_CXX_STANDARD for building. It defaults to C++11, but can be changed by -DCMAKE_CXX_STANDARD=17.

Bump up pr: https://github.com/Homebrew/homebrew-core/pull/122020, FYI.

Thanks @sighingnow!!

See also: #194.


unable to open first attachment? (ics)

Expected behaviour
The attachment should open up with associated application
Actual behaviour
I get this error message: "Unable to find viewer for application/ics"
Steps to reproduce

Receive attachment from Google Calendar
Click Open

Environment
K-9 Mail version: 5.010 and 5.006
Android version: 6.0.1 and 4.4.4
Account type (IMAP, POP3, WebDAV/Exchange):
IMAP
Whenever I get calendar invites from Google Calendar, it comes with two attachments: invite.ics and noname.ics
Whenever I try to open the first invite attachment, K9 says "Unable to find viewer for application/ics"
I can open the 2nd invite without a problem.
This is weird for two reasons:

I can open ics files fine from everywhere else.
I can open the 2nd ics file without a problem.

LMK if any more info is needed

K-9 Mail uses the MIME type in the email when asking the system to open an attachment. If no app is registered to handle that type you'll get an error message like the one you describe.

@cketti
try re-reading my problem.
Thanks

The attachments have different MIME types, hence the different behavior. Files on storage don't have MIME types and the type is derived from the extension. Hence the consistent behavior.
There are no plans to change K-9 Mail's behavior.

To elaborate having just tested it.
One of them is type
Content-Type: text/calendar; charset=UTF-8; method=REQUEST
The other is of type:
Content-Type: application/ics; name="invite.ics"
With Google Calendar installed I can open both with Google Calendar.
Your calendar app is not capable of opening application/ics files but is capable of opening application/calendar files. Hence the behaviour you see.
This is actually why Google provides both.
If you want to be able to use both then you should contact your calendar app.

@philipwhiuk
Thanks.
Interesting, as I'm using Google Calendar as well to open these files. The reason it seems like an issue with K9, is that I can open the files from everywhere else except K9. Is there a reason K9 doesn't have an option to associate with file-extensions instead of mime-types?

We don't make an association at all. The association is made by the OS, not K-9. We just tell the OS what the MIME type is and what the file name is. The application that opens the file registers for certain MIME types and/or paths (which can be used to filter for an extension).
There's literally nothing for us to do here.

That's not entirely true - if we have a filename, we could guess the mimetype by extension and use it as a candidate type. I'm not sure how this is handled, but it's important to remember that a scenario where the user sees a letter.pdf attachment and it won't open because it has an incorrect mimetype is both strictly correct behavior and extremely frustrating to the user.

master already contains some code to fall back to deriving a MIME type from the file extension if no app was found to open the attachment using the MIME type from the email.

@cketti Is it interesting that that isn't applying to my situation then?
I'm not saying you should change the code, it's up to you guys the direction you'd like K9 to take, but it seems to me that you were expecting it to fail-over to use the file-extension, and it didn't.
LMK if I'm mis-understanding.

@CaptSpify The version you're using doesn't contain this code.

(relevant info here is that it will be in the next stable release)

I'm a bit wary about trusting file extensions, but I guess it's not any harder to fake MIME types than file extensions and it's really the receiving app's responsibility to handle bad files it's passed and assume that files it's passed may be designed to be harmful.

I would have agreed about this half a year ago, but ask yourself this: For the case where both content-type and file extension are given, should the information from the content-type be used to determine the file handling over the file extension? It's easy to imagine various scenarios of abuse based on this behavior, but can you think of just a single legitimate one?
I would almost go so far as to say the Content-Type header should in general only be used for a) internal purposes (mime structuring) and b) files where it's available but handling can't be determined from file extension.


Multiple actions matched

Is it possible to have multiple controller actions which has a different signature?
[HttpPatch("items/{id}")]
public IActionResult PatchAsync(string id, [FromBody]JsonPatchDocument<Document1> document1)
{
}

[HttpPatch("items/{id}")]
public IActionResult PatchAsync(string id, [FromBody]JsonPatchDocument<Document2> document2)
{
}

I am getting the "Microsoft.AspNetCore.Mvc.Internal.AmbiguousActionException: Multiple actions matched." exception. Should I use a custom constraint in such case or JsonPatch has something built-in for such scenario?

@zygimantas might be simpler to change your two route templates so they aren't identical e.g. [HttpPatch("items1/{id}")] and [HttpPatch("items2/{id}")].

Well, in my situation I have the endpoint /items/{id} to the document
{
    "a": {
        "b": []
        "c": 1
    }
}

and the first controller action
[HttpPatch("items/{id}")]
public IActionResult PatchAsync(string id, [FromBody]JsonPatchDocument<Document1> document1)
{
}

[{
    "op": "replace",
    "path": "/a",
    "value": {"b": [], "c": 2}
}]

would allow me to replace the "a" property completely, while the second one
[HttpPatch("items/{id}")]
public IActionResult PatchAsync(string id, [FromBody]JsonPatchDocument<Document2> document2)
{
}

[{
    "op": "add",
    "path": "/a/b/-",
    "value": 1
}]

would allow to add new thing into "b" array.
I have asked because I don't see it how a "shared" patch document can be created (because of different paths).

The only option I can think of right now is to have an action method
[HttpPatch("items/{id}/a")]
public IActionResult PatchAsync(string id, [FromBody]JsonPatchDocument<Document2> document2)
{
}

[{
    "op": "add",
    "path": "/b/-",
    "value": 1
}]

but that does not look nice personally, to move "path" from the patch document to the route configuration.

My issue "almost" makes no sense. It is possible to create such "shared" patch document. I am closing this issue.


Smoother multilabel annotation of multiple 3D images and metric generation

Hi @Karol-G ,
This PR improves the 3D annotation workflow for multilabelling of multiple images.
Main changes are:

When user clicks on a labels layer, the SAM output layer is changed to that label (enables smoother multilabel imaging instead of having to press the Activate/Deactivate buttons each time).
Allows for reading in precomputed embeddings which speeds up annotation time and makes using this plugin feasible for large 3D images. (I plan to add bash scripts that I've been using to generate these embeddings from IMARIS files to the readme as an example).
Saves annotations, generates an excel spreadsheet of metrics (area, percentage area based on a selected label's area, minimum distance to a particular label type) and clears viewer ready for next image in one click
Option to read in image metadata from an excel spreadsheet so can add experimental information to the metrics output file.

I've made these changes to the plugin after feedback from my lab group who wanted a better workflow for annotating slices of 3D images with multiple label layers. We're now using it routinely in the lab and I think that these improvements will likely also be useful to other users.
I've made a lot of changes and some of my commits are not very piecemeal so am very happy to respond to feedback on this!

Hey @thanushipeiris,
Thank you for your extensive work. The added features appear to be quite substantial! I am currently in a crunch time phase and won't be able to review this PR for a couple of weeks, as other projects have a higher priority right now. I will definitely take a look at it though and will set a reminder so I don't forget. I hope this is okay with you :)
Best regards,
Karol


TypeError: Cannot read property 'type' of undefined

When I use more flexible middlewares, like redux-thunk, I can return undefined in end of action. Then I have routerMiddleware error in:
if (action.type !== _actions.CALL_HISTORY_METHOD) {

TypeError: Cannot read property 'type' of undefined

I think you need ignoring undefined or different not standard actions returning. Here is example of action:
export function checkStoredUser() {
  const refreshToken = cookie.load('refresh-token');
  const token = cookie.load('token');

  if (token || refreshToken) {
    setDefaultHeader('Authorization', token);

    return async (dispatch) => {
      dispatch(setStored());

      await dispatch(me());
    };
  }

  return undefined;
}

I think is normal for redux, because I don't have the same problems with other soft.
if (action && action.type === _actions.CALL_HISTORY_METHOD) {
...
} else {
  next(action);
}

You just have to order your middleware correctly. Make sure redux-thunk is first.

If I don't use redux-thunk is also throw this error.

You are doing something wrong if you're passing in an action that is not an object with a type field, and you don't have a middleware set up to handle that. We expect a type field, the same as redux does: https://github.com/reactjs/redux/blob/master/src/createStore.js#L157-L162

I'm sorry, you right)


saveAs file exists exception

I can't seem to find a way to overwrite an existing pdf file. the saveAs function will not overwrite an existing file. ColdFusion keep the file open and a simple cffile delete & rename cannot be done.
Error says file is open by Coldfusion.
I'm simply trying to replace the input file after the operation is complete.
       <cfset variables.source = createObject('java','com.adobe.pdfservices.operation.io.FileRef').createFromLocalFile(variables.docPath)>         <cfset variables.destination = variables.docDir & "\COM." & variables.docFile>         <cfset pdfOp = createObject('java', 'com.adobe.pdfservices.operation.pdfops.CompressPDFOperation').createNew()>         <cfset pdfOp.setInput(source)>         <cfset ev = auth()>         <cfset result = pdfOp.execute(ex)>         <cfif IsObject(result)>           <cfset result.saveAs(variables.destination)>           <cfif FileExists(variables.destination)>             <cffile action="delete" file="#variables.docPath#">             <cffile action="rename" source="#variables.destination#" destination="#variables.docPath#">           </cfif>         </cfif>

Interesting. At first glance I don't see anything suggesting the process should be left open, but I also don't see anything in the API to close anything either.
When I get a chance, I can see about reproducing and digging into it more. If anything, may need to ask as a general question regarding these Java classes on the official Adobe repo.

One thing to point out...
Looking here: https://opensource.adobe.com/pdfservices-java-sdk-samples/apidocs/latest/com/adobe/pdfservices/operation/io/FileRef.html
The saveAs method will throw an exception when a file exists in the file/path passed to it.

Throws:
FileAlreadyExistsException - if the file already exists at the target location

Now as to why CF cannot act on the file after, I'm not sure off hand.

After reading a few other posts, it appears there is another method saveASFile, that may overcome this issue, but it doesn't appear to be included in your library...

https://community.adobe.com/t5/document-services-apis-discussions/unable-to-delete-pdf-file-after-pdf-to-docx-conversion-in-the-same-function-call/m-p/12417079
clearly a different operation, but the OP is having the exact same problem.

Hmm ok. That function is being referenced from the Node SDK. But from what I can tell, the flow of logic works similar in that if the file exists, it will throw an error.
https://opensource.adobe.com/pdfservices-node-sdk-samples/apidocs/latest/FileRef.html#saveAsFile
It does mention the following, and I believe the Java API method works similar - "If this FileRef instance refers to a temporary local file created by the SDK, that temporary file is deleted.". I'm not sure what qualifies as a temporary file in this case, though. That's something I'd have to look into more.


bots.setVariable is not a function

I did everything as per as your tutorial, but the console says:
bots.setVariable is not a function [line 113: bots.js]

Oh. Pesky silly bug! Thanks a lot friend.
On Mon, Apr 9, 2018, 13:52 Tom Barham<EMAIL_ADDRESS>wrote:

Please read your code again, specifically this line:
var r = Bots.sendMessage("MyBot", input.val(), { "USER": username });
You've registered a bot called "Wireless", the name you've passed in here
("MyBot") isn't valid.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mrfishie/js-chatbot/issues/1#issuecomment-379673197,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AfDeEqp5ogE5G6VMAjk1_OwyLNPO-t4Hks5tmxo6gaJpZM4TITVW
.


"hw 3" not "hw-3"

When creating my new directory I used a space instead of the dash "hw 3" not "hw-3". So when creating the url it wont come up with my page. Is there any way to fix this? It wont allow me to rename the file in atom..

@TylerTheCreat0r try just going to the location of the file in explorer and renaming it. Assuming you are on Windows. After you have renamed it you should see a change in Atom open recent projects if you have to. Then you can re-push through Github Desktop.

Bless you. Closed atom, changed the name and opened again in atom, pushed through and the url works now. Thanks!


Add support for LTI Dynamic Registration

Spec available at https://www.imsglobal.org/spec/lti-dr/v1p0

Defines a way to automate the exchange of registration information between platforms and tools that use the OpenId Connect and oAuth 2 registration flows, allowing platform administrators to automate tool registrations and avoid tedious and possibly error prone manual configuration while remaining in control of granting or denying tools access to the platform.

An article from Unicon describing how dynamic registration works.

Work happening upstream at https://github.com/dmitry-viskov/pylti1.3/pull/114

I built out a (very rough) implementation of Dynamic Registration for a django-lti sample app that we have. I avoided using pylti1p3 functionality since it's not clear whether changes will ever be merged there.  Here's a Gist with a clip of the relevant code: https://gist.github.com/cmurtaugh/6a08cc2d3c717e2570ce7ca47d2ba9aa

Here's a Gist with a clip of the relevant code: https://gist.github.com/cmurtaugh/6a08cc2d3c717e2570ce7ca47d2ba9aa

Thanks for sharing @cmurtaugh. Really excited to check this out!


update copyright notice

On the .io site,

© Copyright 2017-2018 DSG Bielefeld, 2019 CL Potsdam.

should be replaced with

© Copyright 2017--2018 DSG Bielefeld, 2019-- CL Potsdam.

fixed in https://github.com/clp-research/slurk/pull/228


ViewComponent enhancement

Hi,
I want rounded corners, but I don’t know the specific height of this Text component. Is there any way to set it?
It is possible to increase a similar SwiftUI.clipShape(Capsule())modified it? Because rounded corners are often used
this my code
Text("Round Style").textColor(.white).inset(h: 20, v: 10).background(SimpleViewComponent<UIView>().backgroundColor(.black))
actual

expect

Hi @wwdc14.
There are multiple ways to apply a corner radius.
For ViewComponent, you can assign properties of the UIView representation via the .with(_ keyPath: _ value:) modifier. Something like:
Text("Round Style").textColor(.white).inset(h: 20, v: 10)
  .background(SimpleViewComponent<UIView>().backgroundColor(.black).with(\.layer.cornerRadius, 20))

But if you have the following extension on UIView, you can simplify it further to
extension UIView {
  @objc open var cornerRadius: CGFloat {
    get { layer.cornerRadius }
    set { layer.cornerRadius = newValue }
  }
}
Text("Round Style").textColor(.white).inset(h: 20, v: 10)
  .background(SimpleViewComponent<UIView>().backgroundColor(.black).cornerRadius(20))

This is because ViewComponent supports dynamicMemberLookup, and any UIView properties will become a modifier automatically.
Another important concept that I would like to point out is the difference between a normal Component and a ViewComponent.
A ViewComponent represent a view that is going to be display on screen. And a normal Component can be anything including views, layouts, insets, etc...
In your example, the Text component is a ViewComponent representing a UILabel. So you can actually do
Text("Round Style").textColor(.white).backgroundColor(.black).cornerRadius(20)

However, once you applied the modifier .inset, you will see that it becomes a normal Component and you can no longer apply the cornerRadius modifier, or any other view property modifiers. This is because the inset modifier is similar to a layout. It is handled not by rendering a view to the screen, but calculated before the view is actually rendered. This is an optimization done by the framework so that we don't need to render a UIView when it is not necessary.
There is a trick though, you can actually turn any Component into a ViewComponent using one of the following 3 modifiers:

.view()
.scrollView()
.tappableView()

These 3 modifiers will wrap the component and give you back a ViewComponent. You can then do something like this:
Text("Round Style").textColor(.white).inset(h: 20, v: 10).view().backgroundColor(.black).cornerRadius(20)

It will result in a UIView hierarchy like this:
<UIView backgroundColor=.black cornerRadius=20 frame=(0, 0, 120, 40)>
    <UILabel textColor=.white text="Round Style" frame=(20, 10, 80, 20) />
</UIView>

Compare to the previous example:
Text("Round Style").textColor(.white).inset(h: 20, v: 10)
  .background(SimpleViewComponent<UIView>().backgroundColor(.black).cornerRadius(20))

which will result:
<UIView backgroundColor=.black cornerRadius=20 frame=(0, 0, 120, 40) />
<UILabel textColor=.white text="Round Style" frame=(20, 10, 80, 20) />

Fix hardcoded cornerRadius
You might already noticed that the above examples are all using hardcoded value for the cornerRadius. This is probably not be desirable in your situation because you wanted a capsule style button with dynamic height. You can actually implement a custom modifier that update the view when it is being rendered:
extension ViewComponent {
  func capsule() -> ViewUpdateComponent<Self> {
    update {
      $0.layer.cornerRadius = min($0.frame.height, $0.frame.width) / 2
    }
  }
}

Then you can just do:
Text("Round Style").textColor(.white).inset(h: 20, v: 10).view().backgroundColor(.black).capsule()

Thank you very much for answering my doubts, this library is awesome.


VerifyOtp (6digit) fails with pkce enabled.

Bug report

[x ] I confirm this is a bug with Supabase, not with my own application.
[x ] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Testing the new pkce feature on an instance with it enabled.
With no flowType, verifyOtp ({email,6digitoken,type:'magiclink'}) works.
Enabling flowType:'pkce' fails with "code":401,"msg":"Token has expired or is invalid".
I see code verifier in local storage and the magic link comes back as
https://ugccccccccccccccbq.supabase.co/auth/v1/verify?token=pkce_2e1exxxxxxxxxx2f1&type=magiclink&redirect_to=http://mytestsite
I also have a 6 digit Token in the email template with {{.Token}}.
Tried 3 times toggling flowType on and off and consistent fails with flowtype:'pkce' so not a timing or bad token issue.
Note:  I'm not sure how this is supposed to work as there is a pkce token in the URL and not clear if that is required with the flow.  If so the 6 digit token method will not work for magiclink.
To Reproduce
Set the tokenFlow:'pkce' option.
Do signInWithOtp with a 6digit token in the template.
Get email with correct looking redirect link but use the 6 digit token.
Use verifyOtp with the 6 digit token.
Expected behavior
The OTP code should work either with or without pkce enabled even if it is not supposed to support pkce as users may have a variety of log in methods.
At a minimum it should be documented this will break.
Screenshots
System information
Instance with pkce on.
Supabase 2.20.0
Additional context

I can confirm on same system the magic link with pkce works with clicking the link in the email.

Hey @GaryAustin1,
Thanks for flagging this and also for taking the time to test the pkce flows 🙏 We're looking into this and will get back to you with a fix soon

Hey, I'm just helping test and learn enough to answer early dev questions.
So no worries from me as far as my project goes.

@GaryAustin1 can you confirm this is now fixed on your project please? I've tested it on mine and its now working as intended. Sorry for this issue being auto-closed.

It is fixed.

@GaryAustin1 thanks for catching this gary!


Missing Tag on modrinth

Harvest Scythes 2.5.6 - MC1.20 i missing the 1.20.1 tag on modrinth, so you cant find it (easily) on the Modrinth app. Mod wont show up on 1.20.1+ unless you override the version in the managers search parameters

Updated


[Transformed Queries]: make them match Operation.queryDocument() exactly

See https://github.com/apollographql/apollo-android/issues/1748#issuecomment-552508744 for the background info.
Also, this Pull Request enables the incubating plugin in the composite build by default (samples + integration tests)

Not sure that this PR addresses the original issue, as the actual query sent to the server will be minified by QueryDocumentMinifier.minify, where TransformedQueryOutput uses original query source with fragments, without minification.
https://github.com/apollographql/apollo-android/blob/master/apollo-compiler/src/test/graphql/com/example/hero_name/TestQuery.kt#L98
If we want to have exact query that is been sent to the server we need to do the same in TransformedQueryOutput as well, minify sourceWithFragments.

@sav007 minification should be done there: https://github.com/apollographql/apollo-android/pull/1763/files#diff-a5ec6e9e52d3c16ef3c048d1ed8cac12R31

Agh, my bad missed that.


Notification uses a single <vaadin-notification-overlay> (<vaadin-overlay> extension)
Opening a notification closes any currently open notification

Store a reference to currently open notification element as a private property in Vaadin.NotificationElement
If there is an open notification, wait a while before opening a new one so any closing animation of the previous one has a chance to finish

Default style doesn't need to animate

Should be animatable (by Valo)
Set verticalAlign and horizontalAlign values as attributes to <vaadin-notification-overlay> element
Use similar positioning as <vaadin-dialog> (full size flexbox <vaadin-notification-overlay>)

Document pointer-events must not be overridden so you can access page content while the notification is open

MVP properties:

text
duration default 3000
horizontalAlign default “start”
verticalAlign default “end”
opened

MVP functions:

open()
close()

Generic MVP requirements in https://sites.google.com/a/vaadin.com/elements-wiki/workflow

Well well well, position-bound API values like left are not RTL-compatible. How about start, end, center, stretch instead? Note that these align property values are is even easier to implement with <vaadin-overlay>, as it uses flexbox around the overlay part.

Updated the description

Here are some more additional and detailed specs:
Behavior
Animations
Notifications should allow enter and exit animations. This would a great generic addition to vaadin-overlay.
Ideally, here’s what I would like to write in a theme:
selector-for-the-visible-notification-element[enter] {
  animation: fade-in 300ms;
}

selector-for-the-visible-notification-element[exit] {
  animation: fade-out 600ms;
}

Duration
The notification stays open for this duration (start counting after the enter animation has finished).
Clicking the notification does not close it by default (developer can add a click listener that does it if needed).

This behavior differs from the Vaadin Framework Notification component, where this is called “delay”, and the notification will only start counting that time after the user makes some action (mouse move, click/tap/keypress or clicking the notification itself).

Setting the duration to 0 or a negative number the notification stays on screen permanently, or until it’s closed by a script or another notification is shown (unless the notification is “persistent”, see below).
“Persistent” notifications
An additional attribute/property to make a notification keep itself visible even if other notifications are displayed (persist, priority, important or something like that). The duration still affects these notifications as usual.
This makes it possible to show multiple notifications at once.
Multiple notifications
Contrary to the current description, it should be possible (at least eventually) to have multiple notifications opened simultaneously, not just one.
Here’s a CSS proto how multiple notifications should appear and stack: http://jsbin.com/tanegiqasa
Notice, that the idea is to place all notifications inside the same “overlay container” which makes stacking work nicely with CSS. Not sure if this is possible somehow with vaadin-overlay.
(Ignore the content inside the notifications, the layout for that is just a dummy for illustration purposes.)
HTML content
The notification should accept HTML content, not just text.
Content overflow
Notifications should have a max-width and allow the content to wrap.
Some users want to show long error messages in the notifications (such as full stack traces), so the notifications need to have a max height as well and allow scrolling in those situations.
API considerations
I assume the primary API we offer is declarative, something like:
<vaadin-notification duration="0" persist>

Content

  <vaadin-button slot="action">Dismiss</vaadin-button>
</vaadin-notification>

Using from JavaScript should also work:
// Can we have constructor parameters?
// This is possibly overkill, as `textContent/innerText` and `innerHTML` are also available
const notify = new Vaadin.NotificationElement('Content'); // or document.createElement('vaadin-notification');
notify.innerHTML = '
Content
';
document.body.appendChild(notify);
notify.show();

Will these work with the idea that all notifications should be placed inside a single “overlay container”?
Should we offer a “close all” method? Something like Vaadin.NotificationElement.closeAll()

If we accept HTML content, a <template> is required as the content will not be slotted but stamped inside <vaadin-overlay>

Right, the same as with all overlay contents. Acceptable tradeoff. I’ll update the examples.

I’m reconsidering the need to support scrolling content – perhaps we should not encourage that kind of use cases, for which notifications are really not a good fit. Notifications should show the minimum amount of information to convey the most important info, and if the user can have more details about it, they should be able to click the notification to view more (like a full stack trace log for example).
So let’s skip scrolling content for now.
Also, I’m thinking we should reverse the default for the “persist” feature so that notifications are by default persistent (won’t go away when another notification is shown). Instead, the developer can mark a notification “transient” which means the notification will go away when any other notification is shown.


Species count discrepancies in user_stats

'Species count' in user_stats, e.g.
http://www.inaturalist.org/observations/user_stats?d1=2015-04-25T06%3A00%3A00-07%3A00&d2=2015-04-25T20%3A00%3A00-07%3A00&place_id=77154
displays counts using hrank=species but links don't contain a rank param e.g. http://www.inaturalist.org/observations/taxa?d1=2015-04-25T06%3A00%3A00-07%3A00&d2=2015-04-25T20%3A00%3A00-07%3A00&place_id=77154&user_id=kewright

change displays to use rank=species rather than hrank

add rank=users param to links from the display

Ended up just fixing the link to link to hrank=species as per our discussion at #555


Ensure that the models logger has a handler.

Came up when generating some data regarding https://github.com/epigen/looper/issues/79
There are two problems with the way that the current models logger behaves when models or one of its classes is imported (say, in iPython) rather than by an invocation of looper itself:

The 'no handlers' message from logging (annoying, not so bad)
No log messages are printed from the module in the iPython session (sort of bad)

This solves those problems.

If this isn't really critical, I think we should rather just call 0.5 done and merge this into dev to start 0.6 ...

Yep sounds good


Extends 'spo user get' command with support for more options. Closes #5516

Extends spo user get command with support for specifying more options including userName, entraGroupId, and entraGroupName. Closes #5516

Thank you @SmitaNachan, we'll try to review it ASAP!


React 17.0.2 Peer dependency

Base install of...
Base install of...
"dependencies": {
    "@strapi/strapi": "4.12.5",
    "@strapi/plugin-users-permissions": "4.12.5",
    "@strapi/plugin-i18n": "4.12.5",
    "better-sqlite3": "8.5.0"
  },

Running...
npm i strapi-plugin-preview-button@latest
Then...
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@strapi/design-system
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>...
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/strapi-plugin-preview-button
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

I think bumping the React version should solve the error, but not sure if there are any side effects,

Same issue here

Hi, I have the same problem. When trying to install the plugin it gives me errors regarding React:
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@strapi/design-system npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/strapi-plugin-preview-button npm ERR!       strapi-plugin-preview-button@"*" from the root project npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@strapi/helper-plugin npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/strapi-plugin-preview-button npm ERR!         strapi-plugin-preview-button@"*" from the root project npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@strapi/icons npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/strapi-plugin-preview-button npm ERR!       strapi-plugin-preview-button@"*" from the root project npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@strapi/design-system npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/strapi-plugin-preview-button npm ERR!         strapi-plugin-preview-button@"*" from the root project npm ERR!       1 more (@strapi/helper-plugin) npm ERR!     1 more (@strapi/helper-plugin) npm ERR!   4 more (react-dom, react-router-dom, styled-components, @strapi/helper-plugin) npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/strapi-plugin-preview-button npm ERR!   strapi-plugin-preview-button@"*" from the root project
Does anybody know how I can fix it?

Hi @mattmilburn, are you planning on merging one of the open PRs updating the peer dependency? If not, is there a workaround? We would like to use your preview buttons in a current project.

Hi @cherring07 @LucasLavallee @joserangel25 @heichel, this should be fixed in the latest release v2.1.0. For the record, I was never able to reproduce this but it doesn't hurt to add the support, which was inevitable anyway.
If you continue to have issues, please post about it here and include as much of your package.json as possible and maybe screenshots/errors if you have them.


SKShader to apply to a video in spritekit

Hi! I'm working on trying to display a video with alpha. Which is the best approach to achieve this in a shader? I'm creating a sprite kit scene and adding an effect node which has a shader. This is working but I think that the shader is not well defined.
return SKShader(source: """
                                void main() {
                                vec2 texCoords = v_tex_coord;
                                vec2 colorCoords = vec2(texCoords.x, texCoords.y);
                                vec2 alphaCoords = vec2(texCoords.x, texCoords.y);
                                vec4 color = texture2D(u_texture, colorCoords);
                                //float alpha = texture2D(u_texture, alphaCoords).r;

                                float squared_threshold = (0.01 * 0.01);
                                float squared_distance = dot(color.rgb, color.rgb);

                                if (squared_distance < squared_threshold)
                                {
                                    gl_FragColor = vec4(color.rgb, 0);
                                }
                                else
                                {
                                    gl_FragColor = vec4(color.rgb, 1);
                                }
                                }
                        """)

Any hints? Thanks in advance!

This is best posted on Stack Overflow, where you can get a range of answers.


Added "GNOME Internship"

Added GNOME internship in index.html

@KBhushan07 There is a confflicts, please resolve it.

@iriteshmishra conflict resolved

NOT Resolved yet @KBhushan07


sendRequest() RequestException (ConflictException 409)

GotoWebinar returns JSON data when createRegistrant() is called.
However, they throw a 409/Conflict response status code, which causes sendRequest() to return false, if the registrant already exists, while simultaneously returning valid JSON data.
Example Response:
{     "registrantKey": "938012401734043178374829",     "joinUrl": "https://global.gotowebinar.com/join/{organizerKey}/{webinarKey}",     "status": "APPROVED",     "description": "The user is already registered.",     "asset": true }
Coupled with the fact that the GotoWebinar::$statusCode and GotoWebinar::$reasonPhrase variables are private, there is no way to gracefully handle this exception outside the scope of the object.
Suggestion: instead of 'return false;' on line 257, perhaps something similar to:
return array("status_code"=>$this->statusCode,"description"=>$this->reasonPhrase);
This would at least allow for graceful exception handling/detection outside the scope of the object itself (for say, an API client that uses this object).
Anyhow, thank you for the working object. I've tried other composer packages that were really bad, but aside from this minor exception issue, this works great!
-Sean

Nevermind, I see the public functions. #derp ;-P
Cheers!


calc is not recognised as a valid value

I had already contacted the original dev about this issue but have received no response (I hope he is alright) so I am raising an issue here as this is the most active fork.
Here is the picture:

It can be reproduced with ease, just place calc anywhere in your parsed css.
I am currently using the workaround which is setting tolerateInvalidValues when initializing the parser to true.

Also there is no out of the box comparer for the nodes, I am not sure if this is intentional or not.

Hi @rvnlord . Thanks for adding this.
In order to keep the project running, I ask for people to propose a fix. Please could you create a PR and I will happily review/ merge/ update the nuget package.


Add default resources for all containers in Redpanda Statefulset

For Redpanda Pods being deployed in the Guaranteed QoS by default all resources are now defined. Each Redpanda chart user needs to adjust values to the actual demands.
Fixes #1141

This is a pretty hefty change to the defaults, I wonder if we should go ahead and bump the minor version of the chart to indicate that something is changing?

After more thinking I will revert must changes to the defaults. I will only guide user how to achieve Guaranteed QoS.

To clarify, to get Guaranteed Pods (for Redpanda), do users have to provide resource requests and limits for all containers mentioned in the values.yaml as well as set resources.cpu.cores to an even integer?

Guaranteed -> provide resource requests and limits for all containers and limits needs to match (be equal to) requests
Using static CPU assignment -> set resources.cpu.cores to number (integer) not string (the difference between 1 vs 1100m).

Or, is resources.cpu.cores being an even integer not required but recommended?

It's always recommended, because even CFS (completely fair scheduler or better https://docs.kernel.org/scheduler/sched-design-CFS.html and CFS Bandwidth Control) given number of CPU (not string wich might be part of CPU) will take Redpanda Pod cgroup assign enough bandwidth to particular CPU. There shouldn't be interruption/eviction of the seastar thread (shard) out of CPU.
In Kubernetes there is additional step at the Kubelet configuration level to enable Static CPU policy, which might not be available to all customers (developers which doesn't have access to K8S node pool/Kubelet).

If so, what happens if you do/don't do this part?

The part of setting resources.cpu.cores to number is always recommended to not be interrupted by Linux scheduler (CFS). In the production mode Redpanda will maximise CPU utilization which might fight with CFS Bandwidth Quota.
It always come from K8S CPU resource declaration then at the cgroup creation container runtime would inform CFS what is the Bandwidth Quota.
Example how to control cgroups to control CPU time: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/using-cgroups-v2-to-control-distribution-of-cpu-time-for-applications_managing-monitoring-and-updating-the-kernel

I feel like maybe we could have a resources.guaranteed setting or something that sets the required max/min CPU and memory using our defaults. Then users can fine-tune those max/min settings if they want. There are currently a lot of places that need editing to get the desired QoS.

I would like to merge this fix as is. Definitely I will open Github issue to find better UX for Guaranteed settings.
The reference docs on cgroup v2 CPU.


lib: rewrite in TypeScript

This is a major rewrite of the entire codebase into TypeScript. Where the code was overly complex, I have attempted to simplify things. A few things remain before it can land.

[x] Modify linting rules to work better with TS project
[x] Document the user facing API with ts-doc comments
[x] Update the README.md with new examples
[x] Update the example projects in /examples to work with the new API
[x] Convert remainder of JavaScript tests to TypeScript
[x] Normalize the use of constants
[x] Add a test for custom headers (see https://github.com/cloudevents/sdk-javascript/issues/223)
[x] Add a test for binary data, encoded to base64
[x] Review CloudEvent#extensions and how they are mapped to https://github.com/cloudevents/spec/blob/v1.0/json-format.md
[x] Lowercase all CloudEvent property names per spec
[x] Make HTTP transport mode an enum

Some notes about the changes...

The generated JS now is written to ./dist
The lib folder has been removed and everything under it was pulled up into src
The lib/bindings folder has been moved to src/transport

Fixes: https://github.com/cloudevents/sdk-javascript/issues/223
Fixes: https://github.com/cloudevents/sdk-javascript/issues/219
Fixes: https://github.com/cloudevents/sdk-javascript/issues/203
Fixes: https://github.com/cloudevents/sdk-javascript/issues/195
Signed-off-by: Lance Ball<EMAIL_ADDRESS>

I noticed a _bundles directory getting created that is not .gitignored,  should it be?

@lholmquist good catch! That's actually a bug on master. :bug:

@cloudevents/sdk-javascript-maintainers I have completed all of the items on the checklist and addressed about 95% of the comments/nits. Please have a look. This is ready for final review and landing. :airplane:

Looks good! 👍 A few comments.

Deep breaths.... landing this.


Loading pretrained tensorflow model

Using DIGITS-6.0-rc, with the new tensorflow support, I am trying to port nets from TF-slim into DIGITS. I have implemented InceptionV1, and it trains from scratch in DIGITS, however when trying to load a pretrained model I get the following error.
2017-08-22 11:22:00 [INFO] Train batch size is 16 and validation batch size is 16
2017-08-22 11:22:00 [INFO] Training epochs to be completed for each validation : 1
2017-08-22 11:22:00 [INFO] Training epochs to be completed before taking a snapshot : 1.0
2017-08-22 11:22:00 [INFO] Model weights will be saved as snapshot_<EPOCH>_Model.ckpt
2017-08-22 11:22:00 [INFO] Loading mean tensor from /jobs/20170613-080203-895a/mean.binaryproto file
2017-08-22 11:22:00 [INFO] Loading label definitions from /jobs/20170613-080203-895a/labels.txt file
2017-08-22 11:22:00 [INFO] Found 69 classes
2017-08-22 11:22:00 [INFO] Found 4189 images in db /jobs/20170613-080203-895a/train_db
2017-08-22 11:22:00.593158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-22 11:22:00.593188: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-22 11:22:00.593201: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-08-22 11:22:00.593213: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-22 11:22:00.593226: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
2017-08-22 11:22:00.836922: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties:
name: GeForce GTX 970
major: 5 minor: 2 memoryClockRate (GHz) 1.253
pciBusID 0000:04:00.0
Total memory: 3.94GiB
Free memory: 3.88GiB
2017-08-22 11:22:00.836979: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0
2017-08-22 11:22:00.836997: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0:   Y
2017-08-22 11:22:00.837029: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:04:00.0)
2017-08-22 11:22:02 [INFO] Optimizer:sgd
2017-08-22 11:22:03 [INFO] Found 1429 images in db /jobs/20170613-080203-895a/val_db
2017-08-22 11:22:03.471877: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:04:00.0)
2017-08-22 11:22:03.973740: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:04:00.0)
2017-08-22 11:22:04 [INFO] Loading weights from pretrained model - /path/to/ckpt/inception_v1.ckpt
2017-08-22 11:22:05 [INFO] NOT restoring global_step -> global_step:0
2017-08-22 11:22:05 [INFO] Restoring 0 variable ops.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/digits/tools/tensorflow/main.py", line 707, in <module>
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "/usr/local/lib/python2.7/dist-packages/digits/tools/tensorflow/main.py", line 544, in main
load_snapshot(sess, FLAGS.weights, tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES))
File "/usr/local/lib/python2.7/dist-packages/digits/tools/tensorflow/main.py", line 264, in load_snapshot
tf.train.Saver(vars_restore, max_to_keep=0, sharded=FLAGS.serving_export).restore(sess, weight_path)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1139, in __init__
self.build()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1161, in build
raise ValueError("No variables to save")
ValueError: No variables to save

Would it be possible to add support for restoring from non-DIGITS checkpoints?

Tensorflow is a bit finnicky like that in a way that the weights are saved not in 1 but in 3 files. The latest commit on the master branch now takes in account of that and when you upload, it will process all the .ckpt files (data, index, meta). But by reference, it will still refer to .ckpt. Basically when you are loading a pre trained weight, ensure that the extension is just .ckpt and the backend will search for all those 3 files.

Does this still stand for the released v6? I see only options to upload Torch or Caffe pre-trained models.

You should be able to upload Tensorflow pre-trained models now in V6

If it's meant to be alongside the options for Torch and Caffe, it doesn't seem to be there. Attached is a screenshot of my options under "Pretrained models" > "Upload...", for Digits v6.0.0 (installed from the docker hub image: nvidia/digits:latest, which currently points to :6.0.0).
I'd expect a third "Tensorflow" option to enable loading a checkpoint. Is this incorrect? (And if so, how should one load the tensorflow pre-trained model?)

Thanks for your help!

Hi. I am uploading a pretrained network on DIGITS .

And I am getting this error

Can I get some help on this

Hi. I am uploading a pretrained network on DIGITS .

And I am getting this error

Can I get some help on this

you should add a lables.txt files. the file can be empty, but must have. this can solve you problem

If it's meant to be alongside the options for Torch and Caffe, it doesn't seem to be there. Here's a screenshot of my options under "Pretrained models" > "Upload...", for Digits v6.0.0 (installed from the docker hub image: nvidia/digits:latest, which currently points to :6.0.0).

I'd expect a third "Tensorflow" option to enable loading a checkpoint. Is this incorrect? (And if so, how should one load the tensorflow pre-trained model?)
Thanks for your help!

Any updates to this? I am seeing the same two options when trying to manually upload a pretrained Tensorflow model.


Manually open the preferences modal

Hi,
Thank you for this library, it's amazing! I just have a question regarding the manually opening of the preferences modal. It requires a "CookieConsentService" object, which can be declared with a new statement. This new statement requires IJSRuntime which can be injected, but I don't seem to be able to figure out how I should declare the options tag. Could you add an examle of this to the readme please?
Thanks!

Hello,
glad you're finding the library useful! The CookieConsentService is part of the dependency container, so you can simply inject it where required e.g. with the [Inject] attribute.

Hi,
Thank you for the fast reply! I got it working!
And what about the "Show cookie policy" link? Now it links to nowhere. Can I assign a link to it? Or delete that link?
Thanks again

Hi,
glad it's working!
You can change the cookie policy link with the options:
https://github.com/BytexDigital/BytexDigital.Blazor.Components.CookieConsent/blob/master/BytexDigital.Blazor.Components.CookieConsent/CookieConsentOptions.cs#L27
The options are configured inside the AddCookieConsent lambda inside your Program.cs.

Hi,
Thanks for the fast reposonse! It's working great!

No problem. May I ask how you found this library?

Hi,
I found it through a Reddit-post after a Google search for cookie consent in Blazor.


Fixes 3274: Hides RH repo when snapshots not enabled

Summary

Makes it so that Red hat repositories will not be accessible without feature.snapshot permissions.

Testing steps

Turn off snapshotting in the backend config
Run the ui, the toggle button for redhat repositories should no longer be accessible
Deeplinking to content?origin=redhat will also not work.

https://issues.redhat.com/browse/HMS-3274

verified the components are hidden in the ephemeral, and its tied to FEATURES_SNAPSHOTS_ENABLED on the backend.


decide what day to launch

check w/ cj & others for any dates to launch

proposed may 27 (day after memorial day)


Cleanup and fixes for the OSS data flow engine

Refactoring of code for DDG creation
METHOD_PARAMETER_OUT nodes are now correctly placed in the DDG
Test cases added for the ReachingDefFlowGraph (the CFG from the perspective of the DDG generator)
Cleanup and fixes for the query engine

This should fix https://github.com/joernio/joern/issues/1009


Bring clippy-check up to date with modern APIs

Use the integrated way of emitting annotations, removing the need for token, solves this Gitter question
Fix the issue of duplicated annotations, fixes https://github.com/actions-rs/clippy/issues/1 (also an issue here)
Posts summary with the summary API, closes #164
Update packages to latest version

FWIW, this works great, but I'll note two things as a bystander:

Your changes didn't update README.md
Not sure whether this applies to the original version, because I only tried it briefly and I don't remember how it was, but warning annotations for dependencies from crates.io are showing up on the github actions summary.

Would be great to merge this, but I'd also note https://github.com/actions-rs/clippy-check/issues/162

might be time to fork this repo...

Looks like @kristof-mattei already did that: https://github.com/actions-rs-plus/clippy-check


Fix wrong default value when setting index.number_of_routing_shards to null on index creation

Description
When creating an index with setting index.number_of_routing_shards to null, it fallbacks to a wrong default value which equals to the number_of_shards, the default value should be same to the value when the setting is not set when creating index.
Related Issues
https://github.com/opensearch-project/OpenSearch/issues/16327
Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[x] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thank you @dbwiddis !


added link to go (golang) libraries and utilities

Maybe it would be better to link to specific libraries instead of this index?

@mattcode55 yes, you are right. i originally wanted to link to the index as there are a few implementations out there. i changed it now to the most recent lib.

can we merge this?

Everything gets merged in a big batch whenever fp has time. Just wait :)


Status View - Wrong "Needs Configuration" icon

Describe the bug
On Control center, Status View, a component is in "Not Healthy" status and its enabled functionality refers to "Needs Configuration".
To Reproduce
Steps to reproduce the behavior:

login on Control Center
View on Status view " enterprise-salesforce-contacts-ingestion" component
See error of having a dependent service, in Not healthy status, and the enabled functionality refers to "Not Configured"

Expected behavior

When "enterprise-salesforce-contacts-ingestion" component shows a dependent service, it means that this component has been previously configured in order to be able to connect to services/connectors.

The "Not Configured" reference is wrongly places, it should contain and enable/disable button.

ANOTHER EXPECTED BEHAVIOUR : if the component needs configuration, the component's status should be = " Disabled".

Clicking on "Not Configured" you will notice that the component has lost its configuration's values.

Screenshots
FIG.1. :

Environment

Browser: [e.g. Chrome]
Version: [Version 0.50.0]

Additional context
Same for the following components:

sources-google
sources-twilio
sources-viber

We are closing this ticket, as this has already been solved. Find below a screenshot of the latest staging:


Berserk emerg cutoff

The change solves issue #80 by halving the emergCutoff of a player if he goes berserk.

Seems like there's an antichess patch also in here...

I forked the repo. Then I made the antichess patch. To solve the next issue I switched to a new branch.
Making the patch in a fresh copy will fix the issue. Should I close the pull request?

We'll keep the emerg cutoff as it is.


Update README.md

Description
The original docs didn't make sense to me and the CSS part still does not make sense to me. All modd does is watch scripts/** and then call build.py. Why would that be CSS related but not the original instructions to manually call build.py?
Maybe you can clear that up :shrug:

Ah, yes. The current version is confusing/wrong. The upper section initially didn't mention the need for the extended version of Hugo, the CSS section then explicitly pointed out that you need to install that one to edit styles. Then I recently merged #4560 (which looked good from the diff), but didn't realize that this makes the second section superfluous/confusing.
Let's take out modd from the README. It's one of my favorite tools that I constantly use, but we don't really need to mention it here and it adds friction for new editors.

Let's take out modd from the README. It's one of my favorite tools that I constantly use, but we don't really need to mention it here and it adds friction for new editors.

To clarify, you use modd when editing the "meta" Python scripts, something that "normal" editing of the docs doesn't require?

To clarify, you use modd when editing the "meta" Python scripts, something that "normal" editing of the docs doesn't require?

@mhils :eyes:

@Prinzhorn: missed your question, thanks for the heads-up.
modd is basically just providing "recompile-on-change" functionality. Most of my projects have modd.conf files, so I just enter the directory and type modd, without having to remember the particular setup. It doesn't bring much to the table here except consistency (for modd users).

@mhils I'm aware what modd does and already had it installed. I was just making sure I understood what you are using it for in this particular case. So for a regular contributor that just wants to fix a spelling mistake for example it is irrelevant, but when you personally are editing some of the Python scripts it is just convenient to not ./build.py manually, correct? But these scripts are not something that needs to be touched in general?

Yes, correct. (missed the reply here, but better late than never :) )


python: can't open file '/usr/local/anaconda3/bin/python': [Errno 2] No such file or directory

🐛 Bug Description

To Reproduce
Steps to reproduce the behavior:
Expected Behavior

Screenshot

Environment
Note: User could run cd scripts && python collect_info.py all under project directory to get system information
and paste them here directly.

Qbot version:
Python version:
OS (Windows, Linux, MacOS):
Commit number (optional, please provide it if you are using the dev version):

Additional Notes

运行main.py报的错

修改一下
os.popen(
#     "python /usr/local/anaconda3/bin/python /Users/charmve/Qbot/auto_monitor.py"
# )

script_name = "auto_monitor.py"
script_path = os.path.join(os.path.dirname(__file__), script_name)
os.popen(f"{sys.executable} {script_path}")


Add basic type structure and unit tests to the metadata module

Update the metadata module with basic type structure and unit tests/ValidateBasic.  Port existing business logic from private Figure implementation
This issue depends on #26

Closing this issue as the unit test structure and breakdown for types are all broken out in separate tickets now.  #53, #54, #55, #56, and #57


CLI should be updated to use latest branca version 0.4.0

Currently using previous version of branca-js.
https://github.com/tuupola/branca-cli/blob/master/package.json#L12
The README.md file should also be updated to reflect the change in key structure.

Updated to 0.5.0 via https://github.com/tuupola/branca-cli/pull/7.


[BUG] Can't delete nodes: Kubernetes node missing: node has been removed from the cluster and there is no manager pod running on it

Describe the bug (🐛 if you encounter this issue)
If a node is removed from the Kubernetes cluster while Longhorn is not running, when Longhorn comes back it is unable to remove the now-missing node:
The node.longhorn.io will stay in a NotReady state with the status message

Kubernetes node missing: node [...] has been removed from the cluster and there is no manager pod running on it

To Reproduce
Steps to reproduce the behavior:

Scale Longhorn deployments to 0.
Remove a node from the Kubernetes cluster.
Scale Longhorn back to normal.
Attempt to delete the corresponding node.longhorn.io.

Expected behavior
The Longhorn node should be deletable.
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version: 1.4.0-rc2
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: k3s 1.25.4

Number of management node in the cluster:
Number of worker node in the cluster:

Node config

OS type and version:
CPU per node:
Memory per node:
Disk type(e.g. SSD/NVMe):
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster:

Additional context
Add any other context about the problem here.

@longhorn/qa is this a potential regression in 1.4?

The related code is for a while, and it looks like the node should be deleted after the next reconciling (30 seconds).
https://github.com/longhorn/longhorn-manager/blob/9d57b4cdd29b7997eee65b7cea2ad8d6f0f3a19b/controller/node_controller.go#L355-L358
Don't think we have any delete validation hook currently. cc @derekbit

Don't think we have any delete validation hook currently. cc @derekbit

Right. We don't have node deletion validatoin https://github.com/longhorn/longhorn-manager/blob/v1.4.0-rc2/webhook/resources/node/validator.go#L36.

This scenario is part of QA's release testing, we didn't observe the mentioned issue. Also, I once again tried deletion of node with Longhorn v1.4.0-rc2, things are looking fine.

Kubernetes node missing: node has been removed from the cluster and there is no manager pod running on it.

This could be an intermittent error shown on UI page, this will go after sometime and the node will get deleted successfully from Longhorn.
Also, answers of https://github.com/longhorn/longhorn/issues/5151#issuecomment-1366321254 questions can help to understand this better.

Scale Longhorn deployments to 0.. What deployment in the step?

I had drained the nodes LH usually runs on, so LH was not running at the time.

How did you delete the longhorn node? by UI or by kubectl?

kubectl
The issue only resolved after I manually removed nodes/UPDATE from the validating & mutating LH webhooks.