The next tutorials

From our README.md

torchao is a library to create and integrate high-performance custom data types layouts into your PyTorch workflows

And so far we've done a good job building out the primitive data types along with their corresponding transformed Linear Layers so for example given a new ExoticDtype() we have a playbook to create ExoticDtypeLinear() and indeed for weight only transformations this is a perfectly fine workflow and how the majority of quantization libraries operate.
For example
m = DownloadModelFromHuggingFace()
m = quantize(m, int4_weight_only()) # This will swap out all torch.nn.Linear with a 4 bit Linear

We can make the above shine with more accessible blogs and performance benchmarks and integrations with more partners
However, this is doing somewhat of a disservice at explaining the ao value proposition. For example, we're a dtype library and not a dtype Linear library so given a dtype it should be easy for us to do a lot more. So some examples I'd like to see next are

[ ] Quantized Optimizers with the most obvious additions being 8 bit and 4 bit ADAM
[ ] Quantized KV cache
[ ] Quantization Aware training with an exotic dtype

None of the above is "research", this is very much the way engineering is moving for inference https://blog.character.ai/optimizing-ai-inference-at-character-ai/
Also given an exotic quantization schema I'd like to be more proactive in helping people benchmark their models so this should include

[ ] Flop utilization
[ ] Memory bandwidth
[ ] Cache hit rate (for kv cache only)
[ ] Roofline analysis

8-bit Adam from bitsandbytes. Resources for reference

Paper: https://arxiv.org/abs/2110.02861
Kernel: https://github.com/TimDettmers/bitsandbytes/blob/main/csrc/kernels.cu

@msaroufim
Would love to work on this.

Regarding 4-bit and 8-bit ADAM is this already done?  I'd been working on a triton-only version of AdamW8-bit which could potentially serve as a drop-in replacement for the original CUDA version that would work more seamlessly with torch.compile and the rest of torchao primitives.  Or are you thinking of integrating the original 8-bit version as a custom cuda op?
Quantized KV-cache - lots of research in this area, given the importance of efficient (long-context) inference.  Would this include methods that require training-time architectural changes (per the character.ai blog) or post-training (dynamic) methods?  For the latter, I think some of the major buckets are KV cache offloading, compression / quantization, and eviction (i.e. token pruning).  Could further categorize by methods that compress at the layer, head, token, and hidden dim level.
Regarding profiling, happy to help here as well.  Pretty familiar with torch.profiler as well as extending it for even more fine-grained metrics.

Regarding 8 bit ADAM. I was thinking we'd try to code-generate this using int8_weight_only or the dynamically quantized version. So generally I want us to follow the heuristic of first try compile() and if that doesn't work then Triton and if that doesn't work then integrate the original as a custom op. I'd be fine if you need to integrate the original bnb kernel as a custom op if it makes testing in CI easier
For the quantized KV cache I was specifically thinking about inference however we're starting to do more with quantization aware training in collaboration with the tune team so you can chat with @andrewor14 https://github.com/pytorch/ao/pull/383 generally for these cross repo PRs I'd like to see them work in standalone examples in ao and we can refer to a more prod ready version in tune
Yeah regarding profiling that'd be very helpful, I think people are having trouble figuring out how far they are away from roofline so some simple benchmark utils in torchao.utils or torchao.benchmark would do wonders

@msaroufim
RE: profiling

what is the ideal set of metrics for this analysis?
do you have some sample workloads that I could use as test cases while developing these utils

For metrics the most important ones are memory bandwidth and flop utilization. A good representative workload for now is probably llama2 and llama3 https://github.com/pytorch/ao/blob/main/torchao/_models/llama/generate.py and this script has good metric instrumentation already so extending it feels natural
And for specific algorithms to test out I'd be most curious about testing out

@gau-nernst fpx work https://github.com/pytorch/ao/pull/399
@vayuda intx work https://github.com/pytorch/ao/blob/main/torchao/prototype/common/bitpacking.py


Fix some minor typos

This PR fixes some minor typos:
"retun" => "return"
"exeucte" => "execute"

Thx!


Improving a link in D3D12 documentation

The struct that this doc page is describing is used only for a specific function on a specific COM interface, but the existing link doesn't lead to that function's documentation (despite the text implying that) and also spells the interface's name wrong.

@hannes-harnisch : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Reply while busy gets unknown area

🐞 bug report
Describe the bug
When i replay to a player that i am busy, it always says that i am in unknown area. probably an issue with @zone comand
🌍  Your Environment

Version: 1.0
PoE 3.12.1

Hi, thanks for creating an issue. Yes, this is related to the @zone command. The used Overwolf events were under a downtime after the new PoE update. The latest Overwolf update should have fixed this tho. Can you test if restarting PoE fixes it?

Restarting poe does not fix the issue. And my overwolf client is the
latest version. Thx for the quick response.
On Mon, Sep 21, 2020, 23:08 Nicklas<EMAIL_ADDRESS>wrote:

Hi, thanks for creating an issue. Yes, this is related to the @zone
command. The used Overwolf events were under a downtime after the new PoE
update. The latest Overwolf update should have fixed this tho. Can you test
if restarting PoE fixes it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Kyusung4698/PoE-Overlay/issues/834#issuecomment-696377948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBXT45D7WMKQR6QCKIJ3X3SG66GBANCNFSM4RU7PPRA
.

Hi, sorry I've misread a Overwolf announcement. They changes weren't live then but they should be now. You can also check the event statuses here:
https://overwolf.github.io/docs/status/path-of-exile


[PDI-15690] Deprecated variable replaced by actual

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  ui/src/org/pentaho/di/ui/job/entries/job/JobEntryJobDialog.java
  ui/test-src/org/pentaho/di/ui/job/entries/job/JobEntryJobDialogTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.job.entries.job.JobEntryJobDialog

Complexity Change:  + 1.90%
Instruction Change:  + .73%
Line Change:  + .64%
Method Change:  + 11.11%

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/ui/src/org/pentaho/di/ui/job/entries/job/JobEntryJobDialog.java

:heavy_exclamation_mark: File does not end with a newline. at Line: 0

:heavy_exclamation_mark: Using the '.' form of import should be avoided - org.eclipse.swt.events.. at Line: 31

:heavy_exclamation_mark: Using the '.' form of import should be avoided - org.eclipse.swt.widgets.. at Line: 37

:heavy_exclamation_mark: Using the '.' form of import should be avoided - org.pentaho.di.repository.. at Line: 51

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 1,246 Column: 80

/home/buildguy/project/ui/test-src/org/pentaho/di/ui/job/entries/job/JobEntryJobDialogTest.java

:heavy_exclamation_mark: File does not end with a newline. at Line: 0

:heavy_exclamation_mark: '(' is preceded with whitespace. at Line: 43 Column: 19


Theme upload not working

Can't use theme:

Snapshot not displaying
Preview display the current (default) theme
Template, show empty page

GEMS
gem 'sprockets-helpers', '~> 1.2.1'
gem 'spree', '~> 3.3.0'
gem 'spree_auth_devise', '~> 3.3'
gem 'spree_gateway', '~> 3.3'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n'
gem 'spree_globalize', github: 'spree-contrib/spree_globalize', branch: 'master'
gem 'globalize', github: 'globalize/globalize'
gem 'activemodel-serializers-xml'
gem 'vinsol_spree_themes'

Same error in my setup, any fix?

It seems that you have compressed the entire directory “theme-ClassicWhite-master”, instead you should compress the contents of “theme-ClassicWhite-master”.
Let me know if you are still facing the same issue.

@marcfuentes This issue has been fixed now, also i hope it's working fine for you as well.
We are closing this issue


Feature Request: Add Loan Option with Interest Rate Calculations

Implement a new feature that allows users to apply for loans through the application. This feature should include various loan options with detailed interest rate calculations, repayment schedules, and other relevant information to help users make informed decisions.

hi can you assign this to me

hii can i do this one??

!assign @asmitdesai

Can i be assigned to this one?

!assign @Udaya-G

Can i please be assigned to this?

@Udaya-G the default time is 30 mins show me the progress and i will extend the time

going for dinner will do the remaining later

going for dinner will do later

@asmitdesai you are not assigned to this you work will not be considered

going for dinner will do the remaining later

@Udaya-G  sure but please give me the details of how you have executed and i want everything to work as a single application. (any doubts please ask me will be in Room-001)

!assign @Udaya-G

!deassign

!assign @Udaya-G

can i get it assigned?

can i get this assigned

!deassign

!assign @MKD2004 60

!assign @atharv24mittal

can you check my pr?

!deassign

!assign @atharv24mittal

can you please assign me this

@atharv24mittal  can you show me the process rn, come to room-001 or it will be reasssigned

!deassign

!assign @atharv24mittal 20

could i be assigned this?

can i be assigned to this please? i solved it

could you assign me this?

!deassign

could you assign me

!assign @Salma-101

Created a PR could you check

Can you kindly assign me this task?


Use np.allclose instead of exact similarity

Fixes #1581
Please complete the following checklist:

[x] I have read the guidelines in CONTRIBUTING.md.

[ ] I have documented all public-facing changes in CHANGELOG.md.

[ ] This pull request includes code, documentation, or other content derived from external source(s). If this is the case, ensure the external source's license is compatible with scikit-bio's license. Include the license in the licenses directory and add a comment in the code giving proper attribution. Ensure any other requirements set forth by the license and/or author are satisfied. It is your responsibility to disclose code, documentation, or other content derived from external source(s). If you have questions about whether something can be included in the project or how to give proper attribution, include those questions in your pull request and a reviewer will assist you.

[x] This pull request does not include code, documentation, or other content derived from external source(s).

Note: REVIEWING.md may also be helpful to see some of the things code reviewers will be verifying when reviewing your pull request.

Closing as superseded by changes to validation logic


feat(forge): error hints

Motivation
Some cheatcodes lack context when they fail, but our current setup does not allow us to add very much context without the output of forge test becoming super cluttered
Solution
Allow reverts from our backend and our inspectors to include optional hints
Effectively closes https://github.com/foundry-rs/foundry/issues/928 as some of the more annoying cheatcode reverts are documented in other issues

@gakonst adding an example rn

OK! This makes sense. Supportive.

Closing as stale.


Makefile target to enable parallel jobs

With this PR i have divided the original ./script/crossbinary file in 2 files.

crossbinary-default
It contains windows and linux

crossbinary-others
it contains darwin, freebsd and openbsd

Makefile has been modified using the same schema adding new targets to enable parallelism at make level.
The main goal was to reduce the make crossbinary exec time and to separate win/linux platforms  with minimum impact on actual test suite.
see https://github.com/containous/traefik/issues/1266
with parallel execution (make -j2 crossbinary-parallel) we reduce the exec time of ~10%
tested with
make crossbinary
semaphoreci : https://semaphoreci.com/atbore/traefik/branches/crossbinary-parallel/builds/4

One of my comments seemingly got dropped for some reason, sorry:
Is it possible to merge the two cross compilation scripts into a single one that takes a default, other, or no parameter (and, in the latter case, builds everything)? Right now, there's a lot of duplication, so we'd always need to remember to touch both if we make changes.
WDYT?

@timoreimann, Thx for the review.
All set !
About the default and extra params, in this PR i would just generate a minimum impact but yes i'm totally agree and i'm working to this specific subject and i'll submit it in another PR.
Thx for your PR i've seen your approach.

for the file duplication i know, i'll try to tune it, my issue was the make.sh.
It shifts bundles and to parallelize make i need separate targets as dependencies (which are two different bundles)
i have tried to retouch make.sh but the impact was very huge so i need to come back to an easy solution as first shoot.
i promise to think about a solution to have an unique file, i would do that with params if possible

As discussed, we'll merge as-is and deal with de-duplication in a separate PR (per issue 1539 you have created).


Iss386

This PR addresses #386 .
Improves the performance of oceanspy with LLC4320 by avoiding the computation of max/min range values from the dataset, as these are known a priori.
Feel free to suggest something different, not approve, etc...
This PR also makes sure that the chunk size in the horizontal of the resulting dataset from cutout, is set by the domain size. Before it was an option, with the idea for testing. But we can always re chunk afterwards. This eliminates an unused parameter from llc_rearrange.

why is chunks removed?

why is chunks removed?

Reasons:

It is very virtually impossible to know a priori the size of the resulting dataset after an arbitrary cutout, in particular the length of core dimensions (X, Y, etc)
Because of 1), it is essentially impossible to know a priori whether a "proposed" chunking strategy (passed as argument to llc_rearrange) will create equal, consistent chunks across the dataset. A consistent chunking strategy creates equal chunks / divides the length of a core dimension into equal (number of) pieces. Because center and corner points (Xp1 and X) are offset by a unit, this resorts to finding the largest common divisor (because we want large chunks), or close to equal chunk sizes so that we always have the same number of  chunks ("Nx").
Performing an arbitrary cutout can sometimes create inconsistent chunking along core dimensions. There is no immediate error associated with this, but it can creep later when making computations (not when plotting). This means that the resulting dataset after cutout should always be rechunked.
Having inconsistent chunking can negatively effect the performance of subsequent operations, and lead to errors. I can come up with an explicit example if needed.

And so the only option that is guaranteed to produce consistent chunking after a cutout via llc_rearrange, is by having a single chunk of the size of the core dimension (e.g. X, 'Xp1', 'Y', 'Yp1', ...). Any subsequent re chunking can be done afterwards, after inspecting the dataset. Having chunks as arguments will very likely lead to errors.

Looks good to me. Do these changes work OK with ECCO and daily_ecco LLC datasets too?

Yes. The changes are independent of the size of the LLC dataset.

@asiddi24 @MaceKuailv @malmans2 @renskegelderloos Does this look OK to you?  If so, please approve the PR. Thanks!


Convert to onnx

Thank you for such a beautiful project. I'm wondering if we can convert the model we created to the ONNX format, and what do I need to do for that? Thank you in advance.

I solved the problem


[FEATURE] Cached generateStyleStringFromDeclarationsArrays method

Adding a cache to generateStyleStringFromDeclarationsArrays improves performance on my realworld tests by roughly 30%.

I don't see what the merge conflicts might be.

I think the issue is that the master on your fork https://github.com/vanderlee/emogrifier is behind this repository's master: "his branch is 7 commits behind jjriv:master"
This is how you sync your for to this repository:

(once) add this repo as another remote:
git add remote upstream git@github.com:jjriv/emogrifier.git

every now an then (i.e., when the official repo has new commits):

git checkout master
git fetch upstream
git merge upstream/master

after that, for every of your PRs:

git checkout your-pr-branch
git rebase master
(then resolve any rebase conflicts)
git push -f
Here's more documentation on this:
https://help.github.com/articles/configuring-a-remote-for-a-fork/
https://help.github.com/articles/syncing-a-fork/
https://help.github.com/articles/resolving-merge-conflicts-after-a-git-rebase/
Hope this helps! :smile:

The PR looks very good! :heart: Just on thing to check performance-wise and one idea to simplify the code.

I'll dive into performance some more later. My gut feeling tells me there is a lot of waste going on with excessive strtolower calls and manual string handling in general. There are also some in_array and strlen calls, which are typically easy to replace with noticably faster (though not necessarily pretty) alternatives.

Replaced with #211


what is the batch size of imagenet-1k in paper?

The batch size is not mentioned.

Yes, batch size is not mentioned in the paper.
If you want know the batch size, maybe you should ask the author.
Because, this repository is unofficial implement.


Add What3Words as a provider

URL Request
http://api.what3words.com/w3w?key=API_KEY&string=footloose.sunburnt.tower
API Docs
https://what3words.com/api/reference#m1

Is anyone working on this issue? If not I would like to contribute.

Hey Karan,
At the moment there isn't anyone working on it, I'm currently going down
the list of issues and tackling them one by one.
If you want to send a Pull Request with your changes I will gladly accept
it.
Thanks!

Denis

~~~~~~
Twitter: @DenisCarriere
GitHub: DenisCarriere
On Sat, Feb 28, 2015 at 5:22 PM, Karan Parikh<EMAIL_ADDRESS>wrote:

Is anyone working on this issue? If not I would like to contribute.
—
Reply to this email directly or view it on GitHub
https://github.com/DenisCarriere/geocoder/issues/102#issuecomment-76551682
.

Thanks for the quick response @DenisCarriere. I will try to send out a pull request within the next 2-3 days.

Well if you want, I can work on it right now.
I'm already in the groove and I've just finished adding Baidu, I can hop
over to w3w next.
You could run a few tests and tell me if it works properly.
I should be able to add w3w in about 2-3 hours max
~~~~~~
Twitter: @DenisCarriere
GitHub: DenisCarriere
On Sat, Feb 28, 2015 at 5:30 PM, Karan Parikh<EMAIL_ADDRESS>wrote:

Thanks for the quick response @DenisCarriere
https://github.com/DenisCarriere. I will try to send out a pull request
within the next 2-3 days.
—
Reply to this email directly or view it on GitHub
https://github.com/DenisCarriere/geocoder/issues/102#issuecomment-76552515
.

Hi @DenisCarriere there is no hurry from my side. I thought it would be a cool feature to add which is why I volunteered to contribute.

Thanks Karan, adding new providers can be a bit tricky, but once they are added it's easy to maintain. If you could test what3words and make sure it works properly that would be a huge help! :)

You want to check out the docs and test out w3w:
https://geocoder.readthedocs.org/en/latest/providers/W3W/


Add *Machine.cc files that are included by Machine.cc.

OpenRoad includes different Machine*.cc files on different platforms, and only Linux was previously included. This change makes all files available to be included.

/gcbrun

This is going to lead to ODR violations. You'll need to bazel select them based on the @platforms// target.

I don't think it should because it's stuffed into hdrs. Confusingly, it looks like they're #includeing .cc files.
I don't disagree that selecting them would be better, though.

I think technically these should be included in the textual_hdrs, and not the regular hdrs since they aren't meant to be compiled.


EZ IDE Visual Output in Debugging

When debugging a visual project in the EZ IDE, it would be nice to not have to switch tabs when looking at the visual output. It's really frustrating having to do it over 50 times when designing something but also needing to debug.
Maybe making a tab control with the variable value list or the console to view the visual output. This is in EZ IDE v1.0.0

Fixed with EZCode v2.0.1. It will be released soon.

I can't fix this right now


dependencies incompatibilities between h2o4gpu and cudf

Description

There're dependencies incompatibilities between h2o4gpu and cudf
need to update it and also support multiple versions

when  trying to get a conda environment with Nvidia’s cudf package and H2o’s h2o4gpu package it fails
Error
$ conda env create -f ./h2o4gpuwcudf.yml
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:

cudf=0.10 -> cython[version='>=0.29,<0.30'] -> python_abi=[build=*_cp27mu] -> pypy[version='<0a0']
cudf=0.10 -> libcudf[version='>=0.10.0,<0.11.0a0'] -> arrow-cpp[version='0.14.1.*,>=0.14.1,<0.15.0a0'] -> boost-cpp[version='>=1.70.0,<<IP_ADDRESS>a0'] -> libboost[version='<0']
cudf=0.10 -> numba[version='>=0.45.1'] -> llvmlite=0.29
cudf=0.10 -> pyarrow=0.14.1
h2o4gpu-cuda10 -> awscli==1.15.6 -> python_abi=[build=*_cp27mu] -> pypy[version='<0a0']
h2o4gpu-cuda10 -> cython==0.29.3
h2o4gpu-cuda10 -> feather-format==0.4.0 -> pyarrow
h2o4gpu-cuda10 -> llvmlite==0.23.0
h2o4gpu-cuda10 -> numba==0.38.0
h2o4gpu-cuda10 -> scikit-learn==0.20.2
Use "conda info " to see the dependencies for each package.

environment file, h204gpuwcudf.yml.
name: h2o4gpuwcudf
channels:

h2oai
rapidsai
nvidia
numba
conda-forge
defaults
dependencies:
cudf=0.10
cudatoolkit=10.0
h2o4gpu-cuda10
jupyter
matplotlib
python=3.6
tornado=4.5.3
pip:

jupyter_client
#- https://s3.amazonaws.com/h2o-release/h2o4gpu/releases/stable/ai/h2o/h2o4gpu/0.3-cuda10/h2o4gpu-0.3.2-cp36-cp36m-linux_x86_64.whl

However,  uncommenting out the wheel file appears to work with these minimal dependencies
https://support.h2o.ai/a/tickets/96469

I don't know why but the file contains both h2o4gpu-cuda conda package and pip package from s3. If I remove h2o4gpu-cuda10 package and replace pip with bleeding edge release https://s3.amazonaws.com/h2o-release/h2o4gpu/releases/bleeding-edge/ai/h2o/h2o4gpu/0.3-cuda10/h2o4gpu-0.3.2-cp36-cp36m-linux_x86_64.whl  it works.
I'm going to release version 0.4 this week.

The file has both because I was trying it both ways, commenting one or the other out.
In the version above the s3 one was commented out to show the error.  It was mentioned in the issue that using the wheel seemed to work.  Thanks for your help with this as it helps with other cuda libraries as well.

I need to make some changes about multi-gpu support of xgboost. The release is postponed.

Thanks, looking forward to it.

@sh1ng any update on this . When will we have the new release out. thanks.

@NidhiMehta it was released yesterday.
Thank you for your patience.

The updated conda environment seems to be working for us.


Can audio support MP3 encoding? AAC requires a commercial license

Currently only aac and opus are supported, but opus synthetic mp4 cannot play normally.

From https://www.via-la.com/licensing-2/aac/aac-faqs/:

Are there use fees for AAC?
No. License fees are due on the sale of encoders and/or decoders only. There are no patent license fees due for the distribution of bit-streams encoded in AAC, whether such bit-streams are broadcast, streamed over a network, or provided on physical media.

This is in line with what WIkipedia states:

No licenses or payments are required for a user to stream or distribute content in AAC format.

So you should be totally fine using AAC for anything you want, unless it's selling an encoder/decoder. That said, adding MP3 codec support to this library does seem reasonable - I'll look into it.

Are you even able to produce an AudioEncoder using MP3? I'm in Chrome 120, and according to this, I tried out several configurations:
audioEncoder.configure({
    codec: 'mp3', // or 'mp4a.69', or 'mp4a.6B'
    sampleRate,
    numberOfChannels,
    bitrate: 128000,
});

No reason to add MP3 support to the muxer if browsers can't even encode it.

I made a video editing tool in the browser, which is charged according to the AAC protocol, so I use MP3 encoding for the audio. The current solution is to use ffmpeg.wasm to synthesize the video and mp3. If mp4-muxer supports MP3 encoding, you can remove ffmpeg.wasm, or does the author have any good suggestions? I can try to implement the encoding business of mp3， thanks

I don't mind adding MP3 support to mp4-muxer, but if AudioEncoder can't even do it, there's little point. Keep me updated if you can manage the encoding business.

I'll close this issue for now as it seems stale. If you still need help with something, feel free to reopen it :)

It seems we can decode mp3/ogg via Web Audio API .decodeAudioData(), but just can not encode to mp3/ogg via Web Audio API? Thanks.

Yup, basically.

for anyone that's interested - I found this => https://github.com/salomvary/fdk-aac.js/blob/master/aac-enc.wasm - it seems to work well in my tests. Basically it will encode AAC from a wav file using wasm.


Does hasStableIds=true in RecyclerArrayAdapter require a better getItemId() implementation?

RecyclerArrayAdapter.java you set setHasStableIds(true) but then declare
public long getItemId(int position) {
    return position;
  }

Isn't that a contradiction?
The method getItemId() is documented as follows

Return the stable ID for the item at position. If #hasStableIds() would return false this method should return #NO_ID. The default implementation of this method returns #NO_ID
@param position Adapter position to query
@return the stable ID of the item at position

and in hasStableIds() we have

Returns true if this adapter publishes a unique long value that can act as a key for the item at a given position in the data set. If that item is relocated in the data set, the ID returned for that item should be the same.
@return true if this adapter's items have stable IDs

I think that as long we don't know a any structure of the elements, it is better to fall back to the default implementation returning NO_ID.

Good point. This really only affects the sample but it should be fixed. I'll have to do some research to see why we're setting hasStableIds to true.

This is also picked up by a currently open PR: https://github.com/timehop/sticky-headers-recyclerview/pull/75/files See change in RecyclerArrayAdapter.java

That should fix it, yes?

Well at least it confirms that others had problems here too.
I am not familiar with the concept of stable ids but I doubt that there is an implementation that works for all M.
Looking at the PR's implementation: when M e.g. is String and you add two different String elements that have the same content, they'll end up having the same stable id, which feels wrong to me. That cannot fulfil the requirement:

[...] adapter publishes a unique long value that can act as a key [...]

In the sample implementation there are no duplicates, though, so the hash code of each string would be unique for this implementation. I do agree with you that this is not a valid approach for a real implementation, but this is just a sample.

Then you have the problem that the RecyclerArrayAdapter class handles different levels of abstraction. On one hand you let it hold an arbitrary list of types M and on the other hand you add assumptions to how it is used. Even if this class would not be used anywhere else in the world, this is a maintenance problem.
I'd suggest to define the level of abstraction you want, leaving 3 possibilities:

Let M be arbitrary, remove the implementation of getItemId and don't set hasStableIds = false
Let M be arbitrary and specify that no duplicates are allowed in private ArrayList<M> items,  set hasStableIds = true, take the PR's implementation
Let M = Long, specify that no duplicates are allowed in private ArrayList<Long> items,  set hasStableIds = true, use getItemId() { getItem() } as implementation

To ensure that a list does not contain any element twice is a lot of work when you don't know the data. Maybe you need something like ListOrderedSet or build gate keepers into every function in RecyclerArrayAdapter that adds elements.
Given that, I'd suggest to go for 1 and if you need to show how stable ids work for some specific data, derive from RecyclerArrayAdapter, set hasStableIds = true and add a implementation of getItemId() for that specific data.
ps.: The reason I am concerned about this is that examples easily make it to production code. If fact it did in this case.

I can see why you feel strongly about it - I think the most reasonable thing to do is to make it less generic RecyclerArrayAdapter => AnimalAdapter and remove the generics and indicate that it is just for use in the sample.

Sounds like a good solution because the name suggests what the Adapter should be used for and at
which point of the abstraction hierarchy it is placed. For the reader it indicates directly that this is something to adapt, not something to copy and derive from.
Just add a comment somewhere that an animal must only be in the list once.


Using SemVer

I have some ideas that will potentially break some things so i think i should start using SemVer to avoid causing a mess on other people's work.
I don't know at what version to start though. I don't think Storm is near v1 since there are still a few things to add to make it good enough (orderBy, expiration, map support, etc.)

Not sure how you're gonna implement this, but it would be nice to also have some kind of versioning support as metadata in the database too.
So, say a move from 0.5 to 0.6 would give an error about incompatibility, but 0.5 to 0.5.1 would be fine. This could also maybe trigger some automatic db migrations.

Great idea, i could start by storing the version in a metadata bucket.
Then check if the metadata bucket exists when using Open, check the version and return an error if is incompatible.
Do you think we should make automatic migrations? I would start by creating a Migrate method that would have to be triggered manually so the user would be able to make a backup of its db

Do you think we should make automatic migrations?

I haven´t though that through, the most important part is the "safety". I don't think it should be automatic, but it would be really useful if I could:

Call Migrate("my.db")
And Storm could evaluate if it had a migration path from the two version, including taking a backup of the original.

It wouldn't have to be fancy, but should make, i.e., the JSON sorting change less painful for the end users.

Handling migrations raise several issues that need to be addressed first:

What codec is used in this Node / Bucket?
Has it been written with Save or with Set ? (the behaviour is different)
Is this bucket managed by Storm or did the user use Bolt directly ?

If we know those informations, we would be able to Unmarshal the right values and replay them with the new code.
The first solution that comes to my mind is to store metadata in each bucket when it is created or when the first Save or Set is called against it.
With this solution we could also prevent this kind of mistakes (that wouldn't happen very often) by reading the metadata:
db.Save(&User{......}) // json.Codec
n := db.WIthCodec(gob.Codec)
n.Save(&User{......}) //gob.Codec

The first solution that comes to my mind is to store metadata in each bucket when it is created or when the first Save or Set is called against it.

I don't think there are any other good options. But this would be really valuable. Even I have to think a little before doing go get on my Storm apps (I'm not so good at vendoring my personal apps).

Another problem arise: To rewrite records, they need to be unmarshalled to the concrete types used to marshal them. The json codec doesn't mind behing umarshalled to whatever variable, but gob, protobuf, and potentially any other codec, are more stricts...
For the user, migrating the database would mean migrating manually every node unfortunately.
Also, this way we may don't need to save the metadata in the bucket to know the codec, since the migration can't be done automatically.
Something like:
m, err := storm.NewMigrator("my.db")

// For the buckets that used Save
m.AddBucket(new(User), json.Codec)
m.AddBucket(new(Score), gob.Codec)

// For the buckets that used Set
m.AddKV("bucket name", new(int), new(string), json.Codec)

// Nested buckets
m.From("a", "b", "c").AddBucket(new(d), protobuf.Codec)

// Running by specifying a path.
// Possibly we can make sure this path doesn't exist before running, to avoid any mistake
err = m.Run("new.db")

m.AddBucket(new(User), json.Codec)

Isnt´t here a way to serialize that info into the metadata field?
It does make it simpler from the Storm side, but ...

I don't know how actually. I didn't find any way to create an instance of a type by only specifying a string
v := reflect.NewValueFromString("users.User") // awesome and scary

There is another solution: Scanning the code of the user and generate a migration file. But that would be hard i guess

Yes, a user-defined migration would be the way to go.
If you make a migrator.Option option type, where the first will be the orignal codec, and make that a vararg on both Add* and Run, then you could remove some boilterplate, and even make room for an AddBuckets:
m.AddBuckets(new(User), new(Score))
m.Run("new.db", migrate.Options(json))

Or whatever.

Or, thinking again: If you store the codec/struct pairs in metadata, you should be able to do:
m.AddBuckets(new(User), new(Score))

And do the lookup of the codec based on the given type.

This is harder than expected.
I can't reuse functions from the Storm codebase in the Migrator because if they change they will break older migration tools.
Copying parts of functions gets messy and hard to maintain very quickly.
The migration tool must use some kind of freeze of the codebase it migrates to.
The other problem is that i often need unexported functions (i.e. extract), but if the migrator is in another package, things must be moved.
One solution that i have thought about is to create a separate repo for a migration tool that would contain a snapshot of each version of Storm in a sub directory (v0.5/ for example) plus a storm.Migrator type inside.
The migrator would be able to call any function of Storm knowing that they're freezed + all the unexported types and funcs.

Lets take the hardest problem first:
If you as part of your semversiong scheme also do version of your import paths, you can in your migrator package (in its own repo or just in a package, not much difference for the end user; importing it means Go-getting it):
import (
 "stormv1" github.com/asdine/storm/v1
 "stormv2" github.com/asdine/storm/v2
)

And then do a chain of needed migrations to get to the current version.
And if you put the Migrator type in the storm package (it should only have one method), you would solve many function issues.

I have created a repo without the versioning of the import paths.
It is not fully tested and it only works with buckets created with Save for now. But if seems to work fine

I was thinking more in the line of using
http://labix.org/gopkg.in

The thing is gopkg.in only works with >= v1.x
I would like to keep Storm under v1 for a while, until we have more things to propose.
Also, the idea is once we get to v1, to ensure backward compatibility with v1.x and don't break things (or work on v2)
That's why i don't see any other solution at the moment.
The storm-migrator will live only until v1 i think

OK, I didn't know that about gopkg.in.

The migrator is pretty much ready, it lacks documentation but it works. I will do more tests next week

The migrator is ready


Housekeeping

This PR includes a few smaller cleanup tasks:

~Updates dependencies of smcli (replace spacemeshos/ed25519 with spacemeshos/ed25519-recovery)~ removed from PR
Introduces simple CI
Add dependabot
~Fix some linter errors~ removed from PR

there will likely be a lot of conflicts with #20. I might pull some of these changes into there. maybe we could separately isolate and merge the CI + dependabot stuff. thanks.

I removed the migration from spacemeshos/ed25519 to spacemeshos/ed25519-recovery to keep the scope of this PR small.
The migration is still necessary though. The new library is a copy of the standard library code (with one line changed to make key extraction possible) while the old one differs greatly from the crypto/ed25519 package and is also slower.

I removed the migration from spacemeshos/ed25519 to spacemeshos/ed25519-recovery to keep the scope of this PR small.
The migration is still necessary though. The new library is a copy of the standard library code (with one line changed to make key extraction possible) while the old one differs greatly from the crypto/ed25519 package and is also slower.

thanks! i already did some migration in #20 (from our fork to the core code). will use spacemeshos/ed25519-recovery there as well!


Make commandObjects inherit from discord.ext.commands

===This is not ready for merging===
About this pull request
Modifies all command objects to inherit from dpy commands ext commands. This allows people to use the decorators and functions provided by command objects
Changes

Rebuilt command objects to use discord.ext.commands.command as their base
Added call in invoke_command to trigger error decorator if present

Checklist

[x] I've checked this pull request runs on Python 3.6.X.
[ ] This fixes something in Issues.

Issue:

[x] This adds something new.
[x] There is/are breaking change(s).
[ ] (If required) Relavent documentation has been updated/added.
[ ] This is not a code change. (README, docs, etc.)

Checklist of functionality
This is a checklist of functionality that has been ported to work with slash command objects. My intent is to get as many of these to work as possible before merging

[x] Error decorators
[x] Cooldown decorators
[x] Before & after invoke decorators
[ ] add_check method
[x] call method
[ ] copy method
[x] get_cooldown_retry_after
[x] reset_cooldown
[ ] update
[x] Attributes -- see dpy

Unless I'm missing something, this seems to be working, would appreciate feedback

I tried using this with the newer commits to the main repo (https://github.com/RealCyGuy/discord-py-slash-command/tree/updated-override). When I use command cooldowns, it always raises CommandOnCooldown even if it's the first use. I also tried your branch and this happens as well.

I've tried replicating your issue, and it works correctly for me. Can I see your code

This is my command code (in cog):
    @cog_ext.cog_slash(name="compete", description="Compete to earn some bronze medals.", guild_ids=guild_ids)
    @commands.cooldown(1, 20, commands.BucketType.user)
    async def compete(self, ctx: SlashContext):
        # cooldown = self.compete_cooldown.get(str(ctx.author_id), None)
        # now = datetime.now()
        # if cooldown:
        #     difference = now - cooldown
        #     if difference < timedelta(seconds=20):
        #         embed = discord.Embed(title="You are entering competitions too fast!",
        #                               description="Try again in " + str(
        #                                   round((timedelta(seconds=20) - difference).total_seconds())) + " seconds.",
        #                               color=Colours.BRONZE)
        #         return await ctx.send(ctx.author.mention, embed=embed)
        # self.compete_cooldown[str(ctx.author_id)] = now
        embed = discord.Embed(title="Searching for competitions...", description="\u2591" * 10 + " [0.0%]",
                              colour=Colours.BRONZE)
        msg = await ctx.send(embed=embed)

        async def load():
            bar = 0
            while bar < 10:
                await asyncio.sleep(0.4)
                bar += random.uniform(1, 4)
                if bar >= 9.5:
                    bar = 10.0
                    embed.title = "Waiting for results..."
                elif bar > 6:
                    embed.title = "Competing..."
                elif bar > 3:
                    embed.title = "Entering competitions..."
                embed.description = ("\u2588" * round(bar)) + (
                        "\u2591" * round(10 - bar) + " [" + str(round(bar * 10, 1)) + "%]")
                await msg.edit(embed=embed)

        async def update_medals():
            # Relative weights: 10, 7, 9, 9, 13, 14, 13, 9, 8, 6, 2
            medals_earned = random.choices([None, 6, 7, 8, 14, 15, 16, 17, 19, 20, random.randint(60, 80)],
                                           cum_weights=(10, 17, 26, 35, 48, 62, 75, 84, 92, 98, 100))[0]
            if medals_earned:
                user = self.bot.db().get(str(ctx.author_id))
                medals = medals_earned
                if user:
                    medals = medals_earned + user["medals"]
                    self.bot.db().update({"medals": medals}, str(ctx.author_id))
                else:
                    self.bot.db().insert({"medals": medals_earned}, key=str(ctx.author_id))
                nonlocal result
                result = ("WOOOOOOW!" if medals_earned > 59 else "Wow!") + " You won " + str(
                    medals_earned) + " :third_place:! You now have " + "{:,}".format(medals) + " :third_place:."

        result = "You won zero :third_place:. Better luck next time!"
        await asyncio.gather(load(), update_medals(), return_exceptions=True)
        embed.title = result
        await msg.edit(embed=embed)

I also pushed the branch to github: https://github.com/RealCyGuy/Bronze-Medalist/tree/override

Seems cooldowns don't work with cogs, I think I know the issue and will fix it when I have time

Alright 👍

That fixed it for me. While I was removing overrides for invoke, I accidentally left in a second prepare call which was causing cogs to always be on cooldown

Yes, it's working for me too. Thanks!


fix dualStack network checkgw raise panic

Pull Request

[ ] Make sure you have followed Kube-OVN Code Style.

What type of this PR
Examples of user facing changes:

Bug fixes

Which issue(s) this PR fixes
Fixes #(issue-number)
WHAT

🤖 Generated by Copilot at 946d2b0
Simplify the waitNetworkReady function in ovs_linux.go and ovs_windows.go by removing redundant code. This improves readability and consistency of the daemon code.

🤖 Generated by Copilot at 946d2b0

No more retries, no more lies
We purge the code of its decay
We wait for network, we defy
The redundant maxRetry we slay

HOW

🤖 Generated by Copilot at 946d2b0

Simplify the logic of waitNetworkReady function by removing unnecessary decrements of maxRetry variable (link, link, link)

why  maxRetry will lead to panic

why maxRetry will lead to panic
add the log：

it looks like the maxRetry become 0，non-positive **interval** cause this err

it is the reason.
is the pingGateway functiong need return the count ?


When will V3.0 be released and what is currently in development?

Hi,
Let me first begin with, this is a great project with fantastic features that I would love to see growing.
So, I'm wondering the following:

Is there a way to track how things are going and what is currently being worked on?
Is version 3.0 still in development and if so is there a release date/estimation?
Are things still moving forward with this template because, i see that the owner is also working on other templates as well.

Hi, as you mentioned, I am currently working on fullstackhero. BlazorHero will receive updates by November end including .NET 6. I will set up milestones in a couple of weeks.

Hi @iammukeshm there are news for the update to V.3.0
Thanks


I want to add Button Animation

Animation Name : Button Animation
Description
It is a Button Animation which have hover effects and it glows as the user take the cursor in the button. It is done by using HTML and CSS.
Screenshot Section

Demo Video Section*
button animation.webm
Task

[ ] Connect Us On social media -
[ ]      GitHub
[ ]      LinkedIn
[ ]     YouTube

@Sanchita1304 Try to avoid, Send PR in same reposity

don't waste your PR

https://github.com/MdHRShohel/JS-OPP-DSA-Problems-Hacktoberfest2023
https://github.com/Rough4993/DataStructure
Some repos which are active, you can easily contribute.

Okk, Thank you


Automated Package Upgrade

:tada: This PR is included in version 25.3.483 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove redundant command strings that clogs up 1.13's command tooltip

I am not experienced with code in the slightest, this might break something.

This indeed breaks things... it makes no command work at all! I'll investigate this issue once I have some time, in about a month or two hopefully.

This was implemented in the commit above. Thank you for doing this :)


Add recipe tags

Codecov Report

Merging #115 into master will increase coverage by 0.02%.
The diff coverage is 43.24%.

@@             Coverage Diff              @@
##             master     #115      +/-   ##
============================================
+ Coverage     42.59%   42.62%   +0.02%
- Complexity      468      474       +6
============================================
  Files           104      105       +1
  Lines          2289     2318      +29
  Branches        236      240       +4
============================================
+ Hits            975      988      +13
- Misses         1192     1203      +11
- Partials        122      127       +5

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/chopchop/model/FoodEntry.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

src/main/java/chopchop/model/attributes/Tag.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...ain/java/chopchop/model/ingredient/Ingredient.java
39.04% <33.33%> (-0.38%)
22.00 <0.00> (ø)

src/main/java/chopchop/model/recipe/Recipe.java
67.34% <44.00%> (-18.37%)
17.00 <3.00> (+4.00)
:arrow_down:

.../main/java/chopchop/storage/JsonAdaptedRecipe.java
100.00% <100.00%> (ø)
11.00 <3.00> (ø)

src/main/java/chopchop/commons/util/Pair.java
50.00% <0.00%> (+11.11%)
6.00% <0.00%> (+2.00%)

Continue to review full report at Codecov.

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

Looks good!


Macros not resolving

At the beginning of my program: use statement and start of the main function, rust-analyzer tells me it has failed to import certain macros. However this is purely rust-analyzer as the program can compile with no problem and the compiler throws no error.

I'm having the same issue, but enabling those two features did not resolve the errors.

This is probably a duplicate of #6716. It should be fixed on nightly, or with the release tomorrow.

I updated my VSCode settings to use nightly (VSCode now shows the version as rust-analyzer version: nightly (4998807)), but I still get the error.

I tried updating to nightly, because I have a similar issue, but some macro imports are still broken for me:

RA tends to highlight them only when a file that has the errors in question gets opened, and it only seems to be broken for one package (in my case).

@AngelOfSol do you have the settings mentioned above turned on?
@erichgess Can you provide more information about which errors you're still seeing? These errors aren't all the same bug.

@fannheyward Yes I do, this is my settings list:
{
    "editor.formatOnSave": true,
    "workbench.colorTheme": "Monokai Pro (Filter Spectrum)",
    "vim.useCtrlKeys": false,
    "window.zoomLevel": 0,
    "rust-analyzer.excludeGlobs": [
        "resources/*",
    ],
    "rust-analyzer.checkOnSave.overrideCommand": null,
    "rust-analyzer.files.watcher": "notify",
    "rust-analyzer.cargo.loadOutDirsFromCheck": true,
    "rust-analyzer.procMacro.enable": true,
    "rust-analyzer.files.exclude": [
        "resources/*"
    ],
    "editor.fontSize": 18,
    "rust-analyzer.checkOnSave.command": "clippy",
    "rust-analyzer.cargo.allFeatures": true,
    "rust-analyzer.updates.channel": "nightly"
}

Version: v0.3.415-nightly
Doesn't seem to resolve any macro's for me at all.
use tracing::{info, trace};
info!(
            "Loading config file for file_types from {} and munchers from {}",
            file_type_dir, muncher_dir
        );

error: could not resolve macro 'callsite'

@rimutaka I can't reproduce this. Note that function-local imports don't work, but if the use is outside the function, the tracing::info macro works for me. Please open a separate issue with a minimal reproduction if you're still experiencing this on current nightly.
@MaxBeaud Is this still happening for you on the current version?

Here's a git repo that is a minimal repro of my issue: https://github.com/AngelOfSol/strum-macro-not-resolve

I experience the same behavior when using crossterm's queue!() macro. Rust analyzer complains that write_ansi_code isn't found. Here's a minimal repro which also includes a png of my error in vim:
https://git.sr.ht/~yaymukund/crossterm-macro-not-resolve

@AngelOfSol This might be caused by the way the strum proc macro is defined, since we don't support cfg_attr yet. Could you open a separate issue for your problem?
@yaymukund The queue! macro expands to a local use $crate::{write_ansi_code, Command} internally, and we don't support local imports yet (#1165).

I've been using nightly for months and seeing the issues from cfg_attr on strum, but as of latest nightly now also seeing no macros working even slog::info, similiar to @rimutaka  above.

@wpbrown can you please provide a minimal reproduction, in a separate issue?

I'm going to close this issue because I believe the original problem was fixed, and this is becoming a general dumping ground for macro error false positives.

@flodiebold In my case, I just downloaded the rust-analyzer update on vsCode and my using statement errors are gone. Furthermore the update for some reason caught some oddities it didn't before and has fixed some UB I could not for the life of me find out what it's cause was. I realize this issue is closed however, thank you.


Spinner disappear when used in long process for block

Hello! First, thanks for this awesome spinner!
If there is a long processing block (like for) the spinner seems to disappear. Even if it was previously started.
Here is a gist: https://gist.github.com/raphaklaus/7b3c95346ba424cc735bc88bf4f14950

Hi @raphaklaus
I'm sorry, but I can't reproduce the bug on my box :S.
BTW if you mean that the spinner disappear AFTER the execution, try to change the true argument of the stop() function into false. That flag enable/disable the line cleaner.

Just clarifying things: when loop starts, the spinner do not show up. Only after loop ending, and for a tiny moment (because clear is true). Changing it to false the issue persist but after loop ending it appears frozen.
My env (Windows):
$ node -v v4.4.0
$ npm -v 2.7.0
I've tested on Linux and the same situation occurs.
Can I get your box so I can test?
Please, test using this repo: https://github.com/raphaklaus/cli-spinner-issue
Just run npm install and after node index.js

Oh, ok. That is normal. You are locking the V8 vm with the for loop. You have to convert the for loop in something like this:
"use strict";

const Spinner = require('cli-spinner').Spinner;

let downloadSpinner = new Spinner('Downloading.. %s');
downloadSpinner.setSpinnerString('|/-\\');
downloadSpinner.start();

let sum = 0;
let index = 0;

let loop = () => {
  setTimeout(() => {
    if(index === 9990000) {
      downloadSpinner.stop(true);
      return;
    };
    sum = sum * index / sum;
    index++;
    loop();
  }, 0);
};

loop();

If it is ok for you, I close the issue.

Why use setTimeout()?
Hmm, it works, but it's impossible since require modifications inside a processing block which could be in an external module, or in a worst scenario, demand this fix in many third-party modules...
The for loop locks the setInterval() inside start(), is what I've found. Probably it's normal behavior, but must be something less harmful to do...

Why use setTimeout()?
V8 is single thread and your for loop occupy that thread for all the time. Using the setTimeout you give back the control to the vm at every iteration so that it can do 'other things'.

I think you have to refactor your code having in mind how V8 works. (remember that there are async and webworker packages in node too).


Method to cache critical results

What's the problem this feature will solve?
There should be a method to cache the critical results.
Describe the solution you'd like
Introduce a method to cache the results at critical steps and write them to a dataframe before caching them.

Tutorial
https://github.com/Chan-Dong-Jun/mesa-forked/blob/3.0a1-cache-critical-results/mesa/Tutorial for Cacheable Model.ipynb
Source Code
https://github.com/Chan-Dong-Jun/mesa-forked/blob/3.0a1-cache-critical-results/mesa/cacheable_model.py

Main edit
 def save_critical_result(self, condition_function: Callable[[dict], bool]):
        model_vars = self.model.datacollector.model_vars
        self.cache_file_path.mkdir(parents=True, exist_ok=True)

        current_step = self.model._steps
        special_results_file = f"{self.cache_file_path}/special_results.parquet"
        if condition_function(model_vars):
            step_data = {key: [value[-1]] for key, value in model_vars.items()}
            step_data["Step"] = current_step
            special_results_df = pd.DataFrame(step_data)

            # Append the current step data to the Parquet file
            if os.path.exists(special_results_file):
                existing_data = pq.read_table(special_results_file).to_pandas()
                combined_data = pd.concat(
                    [existing_data, special_results_df], ignore_index=True
                )
                special_results_table = pa.Table.from_pandas(combined_data)
            else:
                special_results_table = pa.Table.from_pandas(special_results_df)

            pq.write_table(special_results_table, special_results_file)

condition_function (Callable[[dict], bool]): A function that takes a dictionary of model variables and returns a boolean indicating whether the current step's data should be saved.
save_critical_result takes in a condition function that caches model level results whenever the condition in the function is met.

Example


upgrade to CKEditor version 4.14.1

This is just a binary upgrade to CKEditor version 4.14.1.
In addition gulp buildnow runs in NodeJS version 12.

@jrief shall we merge this as well for the next release?

shall we merge this as well for the next release?

@FinalAngel Yes, and I will try to always keep up to date with the latest version of CKEditor from the 4 series.

@jrief 👍 , can you resolve the conflicts? I'll prepare a release right after this gets merged.

Codecov Report

Merging #544 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #544   +/-   ##
=======================================
  Coverage   66.66%   66.66%
=======================================
  Files          14       14
  Lines         390      390
  Branches       41       41
=======================================
  Hits          260      260
  Misses        117      117
  Partials       13       13

Impacted Files
Coverage Δ

djangocms_text_ckeditor/widgets.py
82.14% <ø> (ø)

Continue to review full report at Codecov.

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

awesome, thank you @jrief


Add date rule

Adds basic date rule. Anything that can be parsed as valid date by javascript Date object is treated as valid date.
Resolves #93.

I think before this is merged, we need a way to ensure that any new rules we introduce don't break any custom rules that users define so that we follow semver. For example, if someone created a custom date rule, that would take precedence over this one. Want to add that feature? Once we have that, then this PR can get merged.

I started rewriting this here https://github.com/LKay/validatorjs/tree/lkay/typescript-rewrite and I will make sure that rules could could be overriden. For current code this feature might be quite troublesome.

Actually, it looks custom rules override the built-in ones already. My mistake. Thanks for the help!

Released in 3.1.0


[flash_ctrl/dv] Add controls for prog type select

Hi,
This PR adding controls for the program type select in the sequence config same as the erase-type select and make the normal type to be much more frequent in default. In addition this PR make the rand_ops_base_vseq to select the program type based on those added controls.
Thanks!
Signed-off-by: Eitan Shapira<EMAIL_ADDRESS>

Thanks!


Test Context not available in Custom Reporter when run in Parallel

Prerequisites

[X] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[X] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[X] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[X] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description
I'm trying to access a test's context (ctx) in a custom reporter that I'm using for some test-specific data. However, when I run tests in parallel, the context isn't available on the test object. When I run tests sequentially (--no-parallel), then the context is available.
Steps to Reproduce
I created a repro that reproduces this issue.
https://github.com/DanLomanto/mocha-parallel-reporter-test-context
Steps to Reproduce:

Download the repo.
Run yarn install
To reproduce the failure, run yarn test (tests run in parallel)
To see the things working, run yarn test --no-parallel (tests run sequentially)

Expected behavior: The test context to be available in a custom reporter when I'm running tests in parallel or sequentially.
Actual behavior: The test context is only available in a custom reporter when running tests sequentially.

Reproduces how often: Every time.
Versions

The output of mocha --version and node node_modules/.bin/mocha --version: 8.4.0
The output of node --version: v14.16.0
Your operating system

name and version: Mac OSX 10.15.7
architecture (32 or 64-bit): 64bit

Your shell (e.g., bash, zsh, PowerShell, cmd): zsh
Your browser and version (if running browser tests): N/A
Any third-party Mocha-related modules (and their versions): chai (v4.3.3)
Any code transpiler (e.g., TypeScript, CoffeeScript, Babel) being used (and its version): Typescript (v4.2.4)

In parallel mode the events have to be de-/serialized in order to be transmitted via IPC. Not all event properties can be considered as serialization is a slow process. In lib/test.js you can see that ctx is not one of the selected properties.
This issue is not a bug, but made by design, otherwise with too many serialized properties the entire gain in performance would vanish. The parallel mode has its severe drawbacks.

@juergba Thanks for the response!
Do you know if any other way to pass test-specific metadata to a custom reporter then, by any chance?
Thanks!

@juergba Thanks for the response!
Do you know of any other way to send test-specific metadata to a custom reporter then, by any chance?
Thanks!

not only is the test.ctx missing, but also the events aren't run in order. You'll find that your EVENT_TEST_BEGIN listeners are called after your EVENT_TEST_PASS, EVENT_TEST_FAIL and EVENT_TEST_PENDING listeners for a given test. This essentially negates the usability of a custom Mocha Reporter when running in parallel as you not only lose contractual data (the context), but also lose ordered reporting.


Fixed #27203 -- Replaced assertQuerysetEqual lambda o: o to use asser…

…tSequenceEqual

Please check for other letters such as lambda x: x.

I grepped, and replaced what I could find; the PR has been updated.

merged in 0c1f71635f8a3f32195e1573fe929c7d88a78511, thanks!


[Readme] remove space in readme container when preview

The space here actually is div for edit markdown
https://github.com/NuGet/NuGetGallery/blob/main/src/NuGetGallery/Views/Packages/_ImportReadMe.cshtml#L96
When we preview readme content, we remove hidden class
https://github.com/NuGet/NuGetGallery/blob/main/src/NuGetGallery/Scripts/gallery/page-edit-readme.js#L332
remove space when there is embeded reamde

Closed with https://github.com/NuGet/NuGetGallery/pull/8609.


TSC Meeting #1 2018-12-19

Agenda

Finalize working mode.
Approve initial set of working groups.
Finalize requirement set for becoming a collaborator and OWNER.

@ampproject/tsc

@ampproject/tsc
TIL you can assign PRs to teams, but you cannot assign issues to teams.


[FEAT] Migrate All Usage of web3, and ethers to wagmi and viem for the Web3 Provider

Is your feature request related to a problem? Please describe.
Currently, we are using 2 similar libraries in the Web3 provider web3.js and ethers.js. We should consider migrating to viem and wagmi libraries to reduce the code and size of the bundles. It also supports TypeScript typings really well.
Describe the solution you'd like
Go through the Web3 provider classes and migrate all usage of web3.js and ethers.js to viem and wagmi. We might need to think about how we can convert our own configs (wallets, chains, ...) to be compatible with wagmi configs.
Additional context

wagmi docs.
viem docs.

Could you assign me this issue.

You can just proceed with the implementation and submit a PR without the assignment because this issue has not yet been started.

Any progress here @rahulsingh3526? We plan to do this task this sprint!

Indeed, the repo is quite large, containing multiple libs and apps. Given the magnitude of this task, I would suggest starting with a smaller one in order to familiarize yourself with the repo code and how we utilize libs within the apps. Regardless, thank you so much for your interest in contributing to the repo.

Yes I just understood about the lib part just a few hours ago. I earlier though the @webtools was like a npm package. I tried searching it but It wasn't in the npm . can now start learning more about monorepo and how they work. Thanks for the quick reply.


Combine Reference sequence and HGVS fields from Variant file to create the hgvs field in json submission object

This PR adds | fixes:

Fix #82

How to prepare for test:

launch it locally

How to test:

convert the 2 demo files in a submission objecct

Expected outcome:

[x] Submission object should contain a complecte hgvs (refseq:hgvs)

Review:

[x] Code approved by
[x] Tests executed by CR
[ ] "Merge and deploy" approved by

This version is a:

[ ] MAJOR - when you make incompatible API changes
[ ] MINOR - when you add functionality in a backwards compatible manner
[x] PATCH - when you make backwards compatible bug fixes or documentation/instructions

Codecov Report
Base: 95.04% // Head: 95.04% // No change to project coverage :thumbsup:

Coverage data is based on head (e4e639d) compared to base (caea36b).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #83   +/-   ##
=======================================
  Coverage   95.04%   95.04%
=======================================
  Files           9       10    +1
  Lines         424      424
=======================================
  Hits          403      403
  Misses         21       21

Flag
Coverage Δ

unittests
95.04% <100.00%> (ø)

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

Impacted Files
Coverage Δ

preClinVar/demo/__init__.py
100.00% <ø> (ø)

tests/test_main.py
100.00% <ø> (ø)

preClinVar/__version__.py
100.00% <100.00%> (ø)

preClinVar/constants.py
100.00% <100.00%> (ø)

preClinVar/file_parser.py
91.77% <100.00%> (+0.05%)
:arrow_up:

tests/test_file_parser.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Tested locally: 🆗

Thanks @dnil I'll release and deploy the new version both on stage and prod. Remains to understand how to amen an existing submission from Scout now! 🤔


Certain autocomplete of literals causes editor crash

Tested versions

Reproducible in: 4.4.dev1
Not reproducible in: 4.3.stable and earlier.

System information
Godot v4.4.dev1 - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4060 (NVIDIA; <IP_ADDRESS>17) - AMD Ryzen 5 3600 6-Core Processor (12 Threads)
Issue description
Certain autocomplete requests of literals causes a crash in the editor. This mainly occurs when trying to insert literal values as parameters to function calls for Autoload scripts, Static functions, and regular functions in specific circumstances.
Examples:
Assuming the Autoloaded script:
extends Node

func test_call(num):
	print(num)

and the call from another node:
extends Node3D

func _ready():
	AutoloadScript.test_call(10) # Crashes the editor while typing the number literal

The editor crashes when attempting to make a completion request while typing the literal value "10".
A similar problem happens with static functions:
class_name StaticScript
extends Object

static func test_call(num) :
	print(num)

extends Node3D

func _ready():
	StaticScript.test_call(10) # Crashes the editor while typing the number literal

This also happens when trying to type literal as parameters for function calls of scripts instantiated in the same scope as the call:
class_name RegularScript
extends RefCounted

func test_call(num: int):
	print(num)

extends Node3D

var regular_member = RegularScript.new()

func _ready():
	regular_member.test_call(10) # Does NOT crash the editor

	var regular_scoped = RegularScript.new()
	regular_scoped.test_call(10) # Crashes the editor thile typing the number literal

The examples above are using int literals, but it seems to be triggered by any kind of literal:

Any int and float literal after giving enough of a brief pause while typing
Any string, seems to immediatelly crash when opening double quotes
Any keyword literal, like null, true, or false, which seems to trigger as soon as you finish typing the word

Steps to reproduce
Autoload scripts

Create a script with a function and set it up as an Autoload
In another script, try to call that function while attempting to type a literal value as a parameter
Editor should crash

Static functions

Create a script with a class_name and a static function
In another script, try to call that static function while attempting to type a literal value as a parameter
Editor should crash

Regular functions

Create a script with a function
In another script, instantiate and call the function in the same scope while attempting to type a literal value as a parameter
Editor should crash

Minimal reproduction project (MRP)
crash-reproduction.zip

Out of curiosity, I attempted to clone the godot repository and tried to debug to see if I could see what was triggering this issue, since the editor itself wasn't giving any logs.
It seems to be caused by the method GDScriptParser::override_completion_context not setting the parser to the CompletionContext, which ends up causing an access violation later.
Adding this line to that method before setting the completion_context variable seems to stop the crash:
context.parser = this;

But i'm not sure if this will cause any other issues, as i'm not familiar at all with godot's codebase.

You are right it should be set there :+1:
I guess missed that since context.parser was introduced after I made the override_completion_context PR
Feel free to make a PR if you want to, otherwise I'll fix it together with some other regression from #94082


Fix spacing between entries under "MORE FROM THIS AUTHOR"

On ARTICLE page template, where previous articles by the author are listed below author bio, there is no space between them: the comma delimiting one entry touches the first letter of the next entry, and so on.

The space was being truncated from the css content property upon minification so I added an escaped unicode space instead.


Boss Support?

I'm just wondering if there is boss support right now or in the works.  It would be most useful for me in the headless version, but I'm not really sure how that would work.

should be added, please note any bugs you have in another issue.


Ability to resend a previous message.

I would like to resend a message i have previously sent to the user, instead of saving data about the message in db and then regenerating the message template again. is there another way of saving a template with data(previous message).
Thanks

Hi,
I understand your requirement but this is nothing that will be handled by the library itself.
Basically the library is designed as an API wrapper. The ability to resend previous messages is more application specific and has to be handled by the application itself. This is also true for retry strategies, rate limiting and so on.
But the new API design introduced in version 1.0.0-M1 should make reusing previous messages much easier. If there is a limited amount of messages which should be reused you can easily create them once and store them in memory, e.g. in a MessageStoreService.
If you need further assistance here please come back with more information about your use-case. I'm happy to help.

I will close this issue. If you have any question please reopen.


3.65 henkaku enso compatibility

Not sure if you're still active with developing homebrew for vita, but henkaku enso got ported to 3.65.  Would love to see your plugins updated so potentially more games may become more playable thanks to them.  Thank you.

Hello,
I am still active, from time to time (depends on my mood: playing or coding, that's the question :-) ).
I am aware of Enso Henkaku 3.65 and I already updated my PS Vita (and the module ShellSecBat by the way). But currently, I wish to keep my other system (the PS TV) on 3.60. And as DS4Vita has not been updated, I cannot test DSMotion on my PS Vita (on DS4Vita, controller binding doesn't work anymore and I did not have any controller bound before I update my PS Vita).
However, only plugins which plays with internal function patch (and relies on module offsets) should be updated. This is not the case of DSMotion which only hooks exposed functions. So DSMotion "should" work without any update (I do not guaranty at 100%). Did you test it on 3.65?
Thank you for your report.

I'm gonna give them a try tonight after work if I remember to.  If not then tomorrow morning.    I'll keep you posted.

Tried it on my PSTV updated to 3.65 and a DS4 controller. I tested it on TID PCSF00349 (Flower) and unfortunatelly it doesn't detect motion controls :(

Well I can confirm it still seems to work with Uncharted Golden Abyss, which I have physically, and skipped to the river chapter where the motion control is essential to get through.  So physical games don't seem like they should be an issue.
My one question I do have that I can't quite figure out is how do I order sequential title ids with the plugin?  I know *ALL is the easiest method, but I'm going on a title id by title id basis with regards to adding them to config.txt.  So I imagine the config would have to look something like:
*PCSA00029
ur0:tai/dsmotion.suprx
*next title id
ur0:tai/dsmotion.suprx
Correct me if I'm wrong about that, cause I honestly don't know, and am assuming stacking title ids under the *PCSA00029 one for Uncharted wouldn't be appropriate unless you say otherwise.

I am glad it works fine on 3.65 because I don't have any mean to test it (as I said before, I don't wish to update my PS TV to 3.65 for the moment).
About controlling the titles where the module is started, you can simply add for each additional title:
*KERNEL
ux0:tai/dsmotion.skprx
*TITLEID00
ur0:tai/dsmotion.suprx
*TITLEID02
ur0:tai/dsmotion.suprx
*TITLEID01
ur0:tai/dsmotion.suprx
There doesn't need to be some specific order in title IDs. However, I don't know if there is an hardcoded limit of supported "title IDs/plugins" association count in Henkaku.

Works on 3.65 without any required change.

Hello,
i have 3.065 H.encore and my dsmotion is broken with ds3 and ds4.
Here is my config.txt in ur0, could you confirme me the order ? Thx
`*KERNEL
henkaku.skprx is hard-coded to load and is not listed here
*main
main is a special titleid for SceShell
*KERNEL
ur0:tai/nonpdrm.skprx
ur0:tai/dsmotion.skprx
ur0:tai/usbmc.skprx
*ALL
ur0:tai/dsmotion.suprx
`

Got your config a bit wrong there.  Kernel doesn't need to be commented twice, nor does it need *main after it.  Your mention of *kernel with the skprx plugins is fine.  Note I'm saying skprx plugins since they are kernel plugins.  The suprx plugin gets commented further down where it notesthe following lines:
this is for modifying the version string in settings widget
ux0:app/MLCL00001/henkaku.suprx
Under the second line stating ux0:app or ur0:app (whichever you're using) is where you comment your *ALL with the suprx plugin under it like the following:
this is for modifying the version string in settings widget
ux0:app/MLCL00001/henkaku.suprx
*ALL
ur0:app/dsmotion.suprx
So to sum up....You only need the first mention of *KERNEL for commenting your skprx plugins under.  You don't need it commented twice, or essentially nothing you got on your system will work, cause you edited the config wrong.  The suprx plugin goes a fair bit below that with where I noted it needing to be above.

Thank you nightwishfan1 for the reply.
Also, don't forget that there is an issue where the controller must be connected AFTER the plugin initialization:
https://github.com/OperationNT414C/DSMotion/issues/4
This issue is automatic with H-encore and it can be reproduced with Enso when the controller is powered on early while PS TV is booting.
The easy by-pass is to power off/on the controller once H-encore has been started up.
By the way, you can also take the version available on this issue to get traces of controller connection.

I would, but I'm personally on 3.65 enso upgraded via The Flows 3.65 updater tool he released a while back, and don't have the issue that the user on 3.68 has since enso loads henkaku and it's config.txt with plugins on boot from what I can tell.  To me it's a non issue with the controller at all, but for those on 3.68 it probably would be, since as you said 3.68 henkaku via encore requires install each from a powered off state, and plugins won't load until re-installed, and rebooted so it catches the controllers responses when it pairs.

Hi,
I'm also in 3.65 Enso on my PSTV.
I was in 3.60 Enso and DSmotion works great with uncharted (nonpdrm + usbmc + dsmotion) for example but i have to upgrade to 3.65 because one of my games needs 3.61.
And now DSmtion doesn't worked.
My new config.txt (nonpdrm and ubsmc are working) :
*KERNEL
ur0:tai/nonpdrm.skprx
ur0:tai/usbmc.skprx
ur0:tai/dsmotion.skprx
*ALL
ur0:tai/dsmotion.suprx
I have put files from DSMotionKernelLogs.zip into my ur0:tai/ directory but i haven't the file "ux0:data/dsmotion_k_log.txt" so i guess that the plugin is not loading correctly...
I have also tested to power off/power on the DS3 and DS4 after boot without success.

It is ok for me now.
I have erased the ur0:\tai and ux0:\tai from internal memory (ps tv) and the ux0:tai from usb device.
I have put dsmotion with logs and a clean config.txt (like in my previous post) and now i have log and the motion works !
I think that the ux0 from internal memory could affects the ux0 from usb device before the plugin usbmc is fully loaded...

About "tai/config.txt" file, it works like this:

First: Sony official memory card
Second: Internal memory, partition "imc0:"
Last: Internal memory, partition "ur0:"
I think some plugins which mount a specific drive as "ux0:" (gamesd, usbmc, ...) try to reload the configuration file from the mounted drive but I won't rely on this too much.


oidc-client.js Signout (Yes another signout issue) -- Edge browser only.

I'm using:
IDS4 2.2.0
QuickStart UI with custom user store.
dotnet core 2.1
oidc-client.js 1.5.2-beta.1in a SPA
Implicit Flow
No external login.
No consent required.
In Chrome everything seems to work as expected. For the most part. More on that later.
In Edge (and maybe IE), when the user clicks the signout button, the SPA calls and awaits UserManager.signoutPopup(  ).
I watch the logout popup window open and navigate to OP.
On OP, AccountOptions::ShowLogoutPrompt is set to false
I can step through AccountController::Logout and watch HttpContext.SignOutAsync( ); get called.
The popup window pretty much immediately navigates to my post_logout_redirect_uri which is a separate static html page from my SPA.
The post_logout_redirect_uri page calls and awaits UserManager.signoutPopupCallback( false ).
By this point the awaited call to UserManager.signoutPopup will have returned to the SPA. Here, I call UserManager.removeUser() in the SPA. After that I will have either done a window.location.reload() or redirected the SPA router to the /login route -- depending on which iteration of trying things to get this to work I'm on. In both cases the SPA router middleware will detect that lack of a valid oidc-client user and starts the login popup.
Note that the first problem is that by this point the logout popup window should have, but doesn't close.
But here is where things go really wrong. And I should mention that up to now, I think I've implemented everything correctly. Further, we are still in the context of Edge here. After all the above, and starting the login popup again, I see login popup navigate to OP and immediately redirect to the popup_redirect_uri. And the user is now successfully logged in without having entered credentials. The SPA sees them as logged in. They can call the API without issue.
In chrome if I don't do a window.location.reload in the SPA after UserManager.signoutPopup(  ) returns, then the user stays logged in. Just like edge.
I'm desperate to get this working. Have I missed something simple? Or am I completely off-base with my implementation?
I know there have been many issues logged that seem to have the same problem, but I just don't see where I have done things wrong.

FYI, I just downloaded the samples from here: https://github.com/IdentityServer/IdentityServer4.Samples
and am trying run them against my IDS4 implementation. Works fine with the out of the box samples. But if I switch the sample over to use popup for both signin and signout, then Edge can login fine. But when I attempt to logout Edge throws this error:
SCRIPT5045: SCRIPT5045: Assignment to read-only properties is not allowed in strict mode
oidc-client.js (14358,10) which is this line in oidc-client.js:
    signoutPopup(args = {}) {
        Log.debug("UserManager.signinPopup");

        let url = args.post_logout_redirect_uri || this.settings.popup_post_logout_redirect_uri || this.settings.post_logout_redirect_uri;
        args.post_logout_redirect_uri = url; // <--- this line throws

This is the Logout in my IDS4 -- direct from the quickstart:
		[HttpPost]
		[ValidateAntiForgeryToken]
		public async Task<IActionResult> Logout( LogoutInputModel model )
		{
			// build a model so the logged out page knows what to display
			var vm = await BuildLoggedOutViewModelAsync( model.LogoutId );

			if ( User?.Identity.IsAuthenticated == true )
			{
				// delete local authentication cookie
				await HttpContext.SignOutAsync( );

				// raise the logout event
				await _events.RaiseAsync( new UserLogoutSuccessEvent( User.GetSubjectId( ), User.GetDisplayName( ) ) );
			}

			// check if we need to trigger sign-out at an upstream identity provider
			if ( vm.TriggerExternalSignout )
			{
				// build a return URL so the upstream provider will redirect back
				// to us after the user has logged out. this allows us to then
				// complete our single sign-out processing.
				string url = Url.Action( "Logout", new { logoutId = vm.LogoutId } );

				// this triggers a redirect to the external provider for sign-out
				return SignOut( new AuthenticationProperties { RedirectUri = url }, vm.ExternalAuthenticationScheme );
			}

			return View( "LoggedOut", vm );
		}

Reading this: http://docs.identityserver.io/en/release/topics/signout.html
Implies that if you call this:
await HttpContext.SignOutAsync( IdentityServerConstants.DefaultCookieAuthenticationScheme );
Then your client should be signed-out. But that is clearly not happening.

I've just tested with chrome, firefox IE11 and Edge. Edge is the only one that will not logout. Or, I should say that after logging out, going to login again immediately logs you in without prompting for creds. For all intents it may well be logging out, but might be trying to use old cookies again when hitting the login page after logout.

Is there any chance that someone could look into this? I currently have two login/logout UX for my application. One for Chrome/Firefox and one for Edge and IE which is forced to use popups. With Edge having a clear problem with logout.
I really don't think this is a problem with my implementation since everything works on the other three browsers. There is something in the oidc-client that Edge doesn't like.

What have you done to debug into the oidc-client library? Have you found anything that looks odd under Edge?
I will try to repo when I can.

I have debugged it some. But as you know the Edge debugger is wonky at best. For instance most of the time when I open the debugger I cannot even see my sources, so I cannot set breakpoints.

I tested on edge and I see the popup failing for both login and logout. The logic in the popup window wrapper in oidc-client is detecting that the window has been closed (when it has not), and thus stops its processing. Seems like a known issue: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/15030423/

Also, when the popup navigates back to the app's callback page, this happens:
PopupWindow.notifyOpener: no window.opener. Can't complete notification.
So something in edge severs the tie between the opener and the popup window when it navigates away.
What a difficult browser.

Marking this issue as a bug for now, but it's currently due to some change in how edge works.
So there's not much I can do at this point without a rewrite of how the popup window communicates back to the parent. Feel free to dig in and help with a design.

This is just a tangent remark and something to possibly think about for the future...
I'd love for the oidc-client.js library to not handle the UI/UX at all. Or at least provide a slightly lower level login api.
In any given app I have either bootstrap or jquery ui type dialogs that present with the theme of my app much better than a pop-up window does. And in the case of my highly styled SPA apps I really don't want to use pop-ups at all. And I especially don't want to use redirects due to the load times of SPA apps.
In the case where I show a bootstrap or jquery ui dialog one major plus would be that I could get a truly cross-browser modal box.  And in the case of a SPA component it would allow me to keep the SPA theme and keep the SPA loaded only once.
I think in both cases I could use an IFrame (inside the dialog or SPA component) to show the login page. And I might be able to get away with MutationObserver watching the iframe src to figure out when the post login/logout redirect happens. And at that point close the dialog/component and notify oidc-client.js of the close. The question then becomes how to get the user object and hand it back off to oidc-client.js.

I'd love for the oidc-client.js library to not handle the UI/UX at all. Or at least provide a slightly lower level login api.

In a sense, there already is. The OidcClient class provides you that. You would miss out on some of the session management features that the UserManager provides.
But as for using a bootstrap (or other style) modal -- that most likely won't work due to XFO issues. No sound minded login page would ever allow that, and so that's why I designed this library to use a popup.
It's a difficult (and seeming ever changing) challenge.

Is there really any difference between presenting an IFrame in a bootstrap modal vs. a pop-up window?

yes: click jacking

@brockallen sorry for the noob question, but considering:

my OP implementation is only for logging in to my company's client applications (and protecting our APIs).
no external providers
the OP and client applications are developed by us
Is click jacking an issue?

Is click jacking an issue?

I can't answer that in (nor should you accept any answer in) a github issue. You need to threat model it.

I found another confirmation of this being a bug in edge: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11324352/

@brockallen
Might as well close this. Though I still think the dispatchEvent API could could be used to solve the problem. If I knew how to do a pull request, I would try it out. But I'm still noob at the whole GitHub thing.

The other thing to look into -- Edge has odd behavior when it comes to websites running on localhost. Can you try it on a non-localhost host?

You can send a custom event with dispatchEvent. So something along the along the lines of "the pop-up is done please close me" being sent by the page in the the pop-up to the window.parent of the pop-up. dispatchEvent is supported by pretty much all browsers.
As for testing edge in non-localost environment. I believe I did deploy to my QA server and that's were the problem was discovered.

Hmm, ok, I'll see if I can experiment with that.

Have you tested Edge recently? I just did (the sames in this repo w/ IdentityServer) and the popup for signin and signout is working.

@brockallen thanks for the reply. I gave up on the pop-ups and am just using the standard redirects. Works well, cleared QA, no problems thus far. Though, for the redirects, I did have to move my individual redirect destination pages into folders and name them all index.html in order to fix the issue when not using trailing slashes in redirect URLs. I.e. safari/firefox dropping the hash when a url like: /logged-in.html instead of /logged-in/ for the sign-in redirect. When you use a url without trialing slash you get the "No state in response" error due to the hash being dropped.
...sorry, I wasn't clear it's late here and I should have been in bed an hour ago. ;-)

I ran into a similar issue: After calling signoutRedirect, on the subsequent signinRedirect Edge would go through like it's already authenticated.  I could not reproduce this in Chrome or IE11.
I resolved it by changing my signin call to:
this.userManager.signinRedirect({ ...this.getSigninSettings(), prompt: "select_account" });

This got to the desired behavior: the user is prompted with the login screen.  I'm not sure if this is merely avoiding a deeper issue of Edge retaining the authentication session in some way, though.

@zamzowd hmm.. that doesn't give me a lot of confidence in edge working properly.

On some attempts today, it looks like this issue is no longer occurring on my Edge browser.  After signing out, subsequent signins correctly wait for user credentials rather than re-using the previous session, even if I don't specify prompt=select-account.
My browser version is Microsoft Edge 42.17134.1.0

Tested once again today and it seems to be working.

Tested once again today and it seems to be working.


Remove references or add warnings to DaemonSet deployments

Currently our docs recommend deploying cockroachDB as a daemonset in some cases. While the recommendation to do so for performance reasons are valid, there are many drawbacks to doing so that may not be apparent at first.
I've outlined some of the dangers in a community response.

Per @chrisseto we might link the K8s tutorial to the K8s performance guide, which has a DaemonSet section that contains some warnings.


Add display of copyright year on book page

It would be cool if the copyright year of the text used for recording could be somewhere on the catalog page.
Stored in database entry but not displayed anywhere.
Priority: 4

Is this an example of a catalogue page? https://librivox.org/boy-the-wandering-dog-by-marshall-saunders/
If so, where on the page would you like the copyright year displayed and exactly what should it say?
What should it say if no copyright year happens to be in database?

Is this an example of a catalogue page? https://librivox.org/boy-the-wandering-dog-by-marshall-saunders/
If so, where on the page would you like the copyright year displayed and exactly what should it say?
What should it say if no copyright year happens to be in database?

Ah, such questions! You want specifics? Really? :laughing:
Yes, that is a catalog page. Here's one with a group showing as well: https://librivox.org/book-of-concord-preface-by/
Issue https://github.com/LibriVox/librivox-catalog/issues/54 also deals with the layout of that block of the catalog page, requesting the addition of a blank line before and after the summary/intro block and a line break between the author and  translator.
Here is a mockup with the copyright year line, line break between author and translator, and the extra line breaks above and below the text block:

I do not know what the field is named. There are two year fields in the database; one is the original edition's copyright year, one is the year of the edition used in the reading. We want the latter, which is what I believe is in the database entry for the project: https://librivox.org/add_catalog_item/6305
If no copyright year is in the database, we would want the line to not display at all.
You may need to check what is in that field before coding, though. Projects with no copyright date given receive a value of "0" in that field, but there may be blank fields, and there may be alphanumeric ones (I'm not sure if we have any ancient Chinese or Persian texts published BC, or if anyone used "ca." before the year). So your basic logic would be something like "IF [copyright_year] IS NOT (0 or alphanumeric or blank), THEN display the line of text". (Forgive my syntax; I'm not a programmer.)

Ah, such questions! You want specifics? Really? :laughing:
Yes, that is a catalog page. Here's one with a group showing as well: https://librivox.org/book-of-concord-preface-by/
Issue https://github.com/LibriVox/librivox-catalog/issues/54 also deals with the layout of that block of the catalog page, requesting the addition of a blank line before and after the summary/intro block and a line break between the author and  translator.
Here is a mockup with the copyright year line, line break between author and translator, and the extra line breaks above and below the text block:

I do not know what the field is named. There are two year fields in the database; one is the original edition's copyright year, one is the year of the edition used in the reading. We want the latter, which is what I believe is in the database entry for the project: https://librivox.org/add_catalog_item/6305
If no copyright year is in the database, we would want the line to not display at all.
You may need to check what is in that field before coding, though. Projects with no copyright date given receive a value of "0" in that field, but there may be blank fields, and there may be alphanumeric ones (I'm not sure if we have any ancient Chinese or Persian texts published BC, or if anyone used "ca." before the year). So your basic logic would be something like "IF [copyright_year] IS NOT (0 or alphanumeric or blank), THEN display the line of text". (Forgive my syntax; I'm not a programmer.)

Nothing is ever easy.
We just learned that the year which saves in the database entry for the book is the "Edition Year" rather than the "Original Publication Year". We admins are discussing which we want displayed, so for now, this request is on hold. (I think we're leaning towards the more difficult option of showing the original copyright year, so that would require some hefty programming to make the change.)


Add Swift Package Manager support

At WWDC 2019, Apple announced Xcode integration with Swift Package Manager. It would be great to be able to use it with OCMock.

It would be awesome to use this. How is the current state of this? Can we get any information about this? https://github.com/erikdoe/ocmock/pull/379 seems to got it working already. Is there any plan to provide this in the near future?

There's still the need for some clarification before #379 can be merged. It also has merge conflicts at the moment, but these are related to the clarifications.
This and #347 are the priorities of what I'm looking at. As always, I do this in my spare time, and I am not working on mobile apps in Swift so I need to learn about the concepts.

Any active plans for SPM?


Adding example to DaemonSet Rolling Update task

Adding example to DaemonSet Rolling Update task. This is required for a better understanding of DaemonSet's update and to maintain consistency with other tasks documents.

/lgtm

Deploy Preview : https://deploy-preview-19746--kubernetes-io-master-staging.netlify.com/docs/tasks/manage-daemon/update-daemon-set/

/lgtm

/approve


Supporting countries in different languages.

Arabic, French, Spanish and Germany.
It's now much more easier to add even more languages!

Thanks for PR but I think it'll be better to use a web service for language support instead of adding them all manually.


fix(searchbar): disable shortcuts on focus

I don't think it's being handled in the right place. It should be the shortcut handler that checks whether the event target is an input element or similar, and do nothing when it's the case.

I don't think it's being handled in the right place. It should be the shortcut handler that checks whether the event target is an input element or similar, and do nothing when it's the case.

I agree, mb 👍 I removed window.disableShortcuts (and changed PR title), it works better now


Add route for errors with secrets and PII

Relates to Azure/azure-sdk#3959

Use https://github.com/Azure/autorest.testserver/pull/354 instead.


🐞[Bug]: Adding padding

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
In about us page it would be better if we add padding at top and left.

@Anishkagupta04 Please assign this issue under GSSOC 2024 and add appropriate labels to it
Expected behavior
.
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

I'm excited about taking the lead on the RAPIDOC Healthcare Website project. With my proficiency in HTML, CSS, JavaScript, and ReactJS, I'm confident in my ability to drive significant progress on this initiative. Please assign me to this project via GSSOC.


Support Environment Variable "AZURE_CLOUD"

According to environment variables listed in https://github.com/Azure/azure-sdk/blob/master/_includes/tables/environment_variables.md
Add support for environment variable "AZURE_CLOUD"
@jongio

Thanks for reporting, this is being tracked in #5696


When will the next version come out

I'd like to have it ready by the time Chrome and Firefox fully release WebGPU. There are no fixed release dates for WebGPU, but both have pretty good implementations already and my guess would be mid-2022. In any case, there will already be a prototype of Potree 2 available by January 2022, which will work in Chrome Canary, and might work in normal Chrome under the WebGPU original trial.

Well, look forward to WebCPU, come on!


docs(anexia): add info for templates

Signed-off-by: Waleed Malik<EMAIL_ADDRESS>What this PR does / why we need it:
Templates are rotated quite often and the old templates are removed as a result.This PR intends to document the process of retrieving a list of available templates.
Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Optional Release Note:

NONE

/retest

/retest failures due to webhook timeouts 🤷♂

/retest
Failures due to webhook timeouts 🤷♂

/retest


Cannot put any input as numbers in Native Android Browser

I tried to have a input mask as
$("#cc_no").mask("9999 9999 9999 9999",{autoclear:false});
It works on most of the browsers except Native Android Browser. Tested it at HTC One Mini 2 M7 and Samsung S5 Mini
On Samsung S5 Mini, the caret does not move,
On HTC One Mini 2 M7, you cannot make any input.

Having the same issues. Would be awesome to get this resolved

Having same issue as well. It's opening the numeric keyboard and doesn't seem to be recognizing those keys as numbers.

Same issue, plugin is not working for input with type= "tel" and type="number".

@MattSich did your fix, #320, address this?

I've looked at types other than text and unfortunately there are problems in some browsers.

I didn't test it, sorry