add a getter of ContactPicker for getting contactUri

I propose this getter because of the issue below:
I was creating a android system intent "contact" based app. The contactPicker which is provided by AppInventor is working fine. Howvever, I want to click a button and view a specific contact. To achieve that, I need to use Activity Starter to do an action which is: android.intent.action.VIEW. This activity will need a input: DataUri.
Here is the problem. I cannot find out what is the DataUri for a contact so I cannot do the call to view a contact.
Thus, since we already have this contactPicker and inside the code I learned that we actually have the contactUri but we somehow haven't expose it. I propose to make a getter for this ContactUri. And then we could view the contact in the program.
Here are the screen shots of my test:
1.png->2.png->3.png
The new block in ContactClicker: 4.png
1.png

2.png

3.png

4.png

ant tests also built successfully.
By Yifan(Evan) Li<EMAIL_ADDRESS>

@jisqyv @afmckinney @Eagles2F @josmas
Yifan:
Nice job coding this.
I'm a little wary of putting something into App Inventor that will be useful only with the activity starter, and only for viewing the contact.  What are some other things that App Inventor users could do, once they can get the ContactUri? If it's not a lot, then maybe the operation should be to view the contact, rather than return the Uri.  That might be simpler for our users, although it's not as flexible.
Let us know and we can do a proper review.
José, do you have an opinion on this?
Thanks!!

@halatmit @Eagles2F We are going to think about a way of making this less low level. We both agree it is something not many users would go for. We'll have a think about it.

@halatmit @josmas    guys, I've created a proposal for a more easy-to-use solution.
https://docs.google.com/document/d/14u_HMTyrzB9AE3Tr4Y85Jc9kPXlvQ7ZDkCU6SJfArSk/edit?usp=sharing

I'm cc-ing this to app-inventor-dev because I think it needs wider
discussion.
This feels a little too restrictive to me.   I'd like to be able to do
something with the selected contact other than show it immediately at the
time of picking.   Maybe what's needed is an operation that can view a
contact.   The  issue then is how to represent the contact.  One idea would
be to have the contact be a string (the URL).   Another would be to make it
a new data type.   This needs a bit of mulling over.
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Feb 1, 2015 at 1:59 PM, Yifan Li<EMAIL_ADDRESS>wrote:

@halatmit https://github.com/halatmit @josmas
https://github.com/josmas guys, I've created a proposal for a more
easy-to-use solution.
https://docs.google.com/document/d/14u_HMTyrzB9AE3Tr4Y85Jc9kPXlvQ7ZDkCU6SJfArSk/edit?usp=sharing
—
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/240#issuecomment-72378300
.

Here's a variation on the Yifan's second idea.
Implement a showContact method, that takes a contact, represented as a
string (the url).
Change after-picking so that it has a callbacks the url, the contract name,
email, and email address list.  And deprecate these three as properties.
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Feb 1, 2015 at 2:20 PM, Hal Abelson<EMAIL_ADDRESS>wrote:

I'm cc-ing this to app-inventor-dev because I think it needs wider
discussion.
This feels a little too restrictive to me.   I'd like to be able to do
something with the selected contact other than show it immediately at the
time of picking.   Maybe what's needed is an operation that can view a
contact.   The  issue then is how to represent the contact.  One idea would
be to have the contact be a string (the URL).   Another would be to make it
a new data type.   This needs a bit of mulling over.
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Feb 1, 2015 at 1:59 PM, Yifan Li<EMAIL_ADDRESS>wrote:

@halatmit https://github.com/halatmit @josmas
https://github.com/josmas guys, I've created a proposal for a more
easy-to-use solution.
https://docs.google.com/document/d/14u_HMTyrzB9AE3Tr4Y85Jc9kPXlvQ7ZDkCU6SJfArSk/edit?usp=sharing
—
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/240#issuecomment-72378300
.

I agree with Hal about the latest method.    For me it now looks like adding two thing: showContact for user easy usage and contactUri from the picking activity .    Does this make more sense?
Probably, we need to bring other people's idea on this.  I would love to write the code if we get an agreed solution.

That would be great if you wrote the code.   Look at something like the ImagePicker block to see how to return a value as a callback.   Meantime let's see what other people suggest.

Hi ,   I added a ViewContact method which take a string URI to open the contact detail. Plz have a look.

This code is now handled in #445.


port: fix error caused by backtick in stringExpression and valueExpression

.NET PR: https://github.com/microsoft/botbuilder-dotnet/pull/4847
.NET issue: https://github.com/microsoft/botbuilder-dotnet/issues/4823

Should fix https://github.com/microsoft/AdaptiveCards/issues/4470


Rename _posts/2016-01-16-namagic-turtleEmbed.md to _posts/namagic/201…

…6-01-16-namagic-turtleEmbed.md

Good to add directory

Yeaaaah


feat: mutable html crush options

resolve #250, close #252

Coverage decreased (-0.4%) to 98.598% when pulling 32d6a3fa87263fdda89ecfb61c7e436a05bad81e on SettingDust:feat/html_crush_opts into 3a5e709aa581a30918e0af7fdc3af6501e3534b6 on ndaidong:main.


new Noetic Release?

Would it be possible to make a new release for ROS Noetic ? including https://github.com/rospypi/genmypy/pull/45
Happy to help blooming / releasing if it's useful

Oh, I'm so sorry for my late response :bowing_man:
Sure, I will make a new release! (Will do this weekend, thank for your patience :bowing_man:)
Thank you for creating an issue.

Thank you for being patient!
Finally I released 0.3.2. (ref: https://github.com/ros/rosdistro/pull/36729 and https://pypi.org/project/genmypy/0.3.2/ )
I'm so sorry for my late response these days, and I'm really appreciate for notifying me multiple times!
Again, thank you for your great contribution! (I'm so happy)
Please create any issue/comment/PR if you find any trouble with this repository.

Thanks for releasing and thanks again for developing and maintaining this 🙏


Playlist improvements

Messing with numbers (tested) + improved playlist caching & update routines + fix missing first track timestamp

Sorry chap, I should've said earlier - I think it'd be better if PRs didn't overlap in purpose. We should keep playlist changes/commits thematically linked, so it would be better if these changes were bundled in to #6.
My intention is for playlists to be merged in first, followed by testing afterwards.


Fix for missing tenantId from subdomain

Fixes #6
NestJS doesn't seem to load host subdomains into
Request.subdomains[]
so existing logic for reading subdomains was ineffective.
Now using same logic of getting subdomains from
Request.headers.host
for both express and fastify.

Hi @jarrilla Thanks for submitting the PR.
Could you also specify if its a NestJs version update caused this issue. Since last time I checked, up until v7.0.0 we had to specifically use the Fastify adapter request to get the subdomain object. If that's the case then ill have to bump the dependency version up.

Hi @jarrilla Thanks for submitting the PR.
Could you also specify if its a NestJs version update caused this issue. Since last time I checked, up until v7.0.0 we had to specifically use the Fastify adapter request to get the subdomain object. If that's the case then ill have to bump the dependency version up.

I apologize for the confusion.
I was unaware that the default subdomain offset in express is 2. Thus when pinging subdomain.localhost:3000 for request.subdomains I kept getting [], rather than the expected ['subdomain'].
(See here for more: https://stackoverflow.com/questions/29146489/how-to-get-local-subdomains-using-express-js-s-req-subdomains)
Inserting
app.set('subdomain offset', 1) solves this issue for testing.

I apologize for the confusion.
I was unaware that the default subdomain offset in express is 2. Thus when pinging subdomain.localhost:3000 for request.subdomains I kept getting [], rather than the expected ['subdomain'].
(See here for more: https://stackoverflow.com/questions/29146489/how-to-get-local-subdomains-using-express-js-s-req-subdomains)
Inserting
app.set('subdomain offset', 1) solves this issue for testing.


Use cljlib-fennel with Hotpot?

I'm wondering how to use cljlib with hotpot. I clone the lib inside fnl folder, however Hotpot compiler results in an error saying module not found.

Likely cljlib/init-macros.fnl#858 calling trying to require a macro-file instead of import-macros which hits the module loader (because its requesting a module not a macro) which uses non-macro compiler settings (because its for modules, not macros).
Also cljlib requires 1.2.0 which isn't released yet: https://lists.sr.ht/~technomancy/fennel/<874jy5wid1.fsf%40gmail.com>
Unsure what the correct behaviour is, perhaps this is a change in 1.2.0 that will "just work" once its released, probably there is some under the hood changes needed in hotpot to match the behaviour of "are we in a macro? should we require or eval this?" but honestly that sounds pretty gross, how do I know if I'm supposed to require a "macro module" or some just-lua lib?
Needs more investigation once 1.2.0 is out.

I think if you use this fork https://github.com/rktjmp/fennel-cljlib/ cljlib should now work?
The install instructions have changed since this was opened, you how have to set the package.path.
Internally it makes a direct (require :lazy-seq) call, so you must update the package path as instructed. For me that was:
(let [root (vim.fn.stdpath :config)
      path (.. root :/fnl/cljlib)]
  (set package.path (string.format "%s;%s;%s"
                                   (.. path "/?/init.lua")
;; readme doesn't say to add this one but it's idiomatic to include both the `?.lua` and `?/init.lua` paths.
                                   (.. path "/?.lua")
                                   package.path)))

(local clj (require :cljlib))
(import-macros cljm :cljlib)

(print (clj.add 1 2 3))
(cljm.time (do
  (for [i 1 10000000] i)))

I just cloned it into .config/nvim/fnl/cljlib (and got the submodules) which effectively puts it in the main cljlib package in "neovims lua package root" if you want to call it that. If you put it in some nested subdir you might have to muck around with package.path a bit more.
Hopefully the patch can be up streamed, have to check with Andre if he has opinions on the change.
https://github.com/rktjmp/fennel-cljlib/commit/8b58117962c51f72da211ea0c06e4c0aea3f74e9


feat: make recipes uses models based on backend property

What does this PR do?
TODO
Screenshot / video of UI
https://github.com/containers/podman-desktop-extension-ai-lab/assets/42176370/3fce9fad-fb34-4005-9759-74bf8755c0da
What issues does this PR fix or reference?
Fixes https://github.com/containers/podman-desktop-extension-ai-lab/issues/1192
How to test this PR?
TODO

@jeffmaury I adapted the code to handle multiple recommended models. Here is a demo of what it would look like
https://github.com/containers/podman-desktop-extension-ai-lab/assets/42176370/351297a7-0e75-4deb-8fa2-e5bc69f3745f


LD and startup.s files different for C and C++

There should be no reason these are different.  Need to look into merging C and C++ support back into one coherent package.

Only using C++ one is not enough? Planning to looking into this sometime.


Freebayes stuck (apparently emitting a long contig)

I'm trying to run freebayes on a 7GB chr21 subset of NA12878:
bin/freebayes --dont-left-align-indels --no-mnps -f hg19.fa chr21_GATK_ERR194147-bwa-dedup-realigned-recalibrated-h-cut.bam > x.vcf
The file x.vcf grows normally to about 2.5 MB before the program begins to emit a long contig, presumably that of chr21, to standard output. A half hour in, the contig is still being printed to the screen, and x.vcf is no larger.
Do you know what the issue might be? Am I doing something wrong with the input parameters? To be clear, I'm not interested in MNPs or long haplotypes, just SNPs and indels.
thanks,
rk
Edit: this is commit number fc96016ab028de73a747f3534d892b43cdb3fea2 of Sep 18.

Would you remove the --dont-left-align-indels --no-mnps? If you're only interested in SNPs and indels you are much better off just selecting these from the VCF file post-call.
Removing the consideration of MNPs is not something you want to do in the calling process--- this flag is for development debugging purposes only and probably should be removed as many people try to use it this way.
Not aligning the indels will tend to generate really long haplotype calls. I'm not sure if that's what's happening here though.

Thanks for your response.
The issue was with the input; a read in the BAM file contained a read group not defined in the header. The resulting error message emitted both the problematic read and the contig to which it mapped. Unfortunately, the contig in this case was chr21, so the error message very quickly flooded standard output.


dotnet test crashes with System.Exception: Unable to read beyond the end of the stream if code under tests calls System.Environment.Exit

Description
Any usage of System.Environment.Exit in code under test with dotnet test crashes the test runner with a mysterious stack:
The active test run was aborted. Reason: Test host process crashed

Test Run Aborted with error System.Exception: One or more errors occurred.
 ---> System.Exception: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.Read7BitEncodedInt()
   at System.IO.BinaryReader.ReadString()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.LengthPrefixCommunicationChannel.NotifyDataAvailable()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TcpClientExtensions.MessageLoopAsync(TcpClient client, ICommunicationChannel channel, Action`1 errorHandler, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---.

Steps to reproduce

dotnet new nunit
Add:

    [Test]
    public void Test1()
    {
        System.Environment.Exit (1);
        Assert.Pass();
    }

dotnet test

Expected behavior
Some error message that says the process under test exited unsuspectingly.  The phrase Test host process crashed kinda got that across, but it didn't crash, it exit'ed.
Actual behavior
Test run for /Users/donblas/Programming/xamarin-macios/tools/nnyeah/repro/bin/Debug/net6.0/repro.dll (.NETCoreApp,Version=v6.0)
Microsoft (R) Test Execution Command Line Tool Version 17.2.0 (x64)
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
The active test run was aborted. Reason: Test host process crashed

Test Run Aborted with error System.Exception: One or more errors occurred.
 ---> System.Exception: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.Read7BitEncodedInt()
   at System.IO.BinaryReader.ReadString()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.LengthPrefixCommunicationChannel.NotifyDataAvailable()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TcpClientExtensions.MessageLoopAsync(TcpClient client, ICommunicationChannel channel, Action`1 errorHandler, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---.

Environment
Microsoft (R) Test Execution Command Line Tool Version 17.2.0 (x64)
dotnet-sdk-6.0.301-rtm.22254.17-osx-x64/dotnet dotnet test

This is expected, any testhost disconnect, is considered a crash/abort, unless vstest.console told that testhost that it is okay to exit. Your test stops the testhost, and with that, it also stops the test framework, adapter, and other logic responsible for sending back the data. So that is a crash from the point of view of vstest.console.
Do you have a better suggestion how to handle this? Would you expect us to ignore the call to .Exit? And do nothing?

Crash in vstest language is any unexpected stop of the testhost before the vstest.console tells it to stop (by sending the terminate request). This includes exiting with exit 0.

Related issue #2952


Grids don't seem to be working in an Ember CLI app

On an Ember CLI app 0.2.3. The grid displays funny. As in, instead of the grid taking up 1440px, it takes up 1444px, which forces the horizontal scroll bar to show.
I have app/pods/application/template.hbs

4

4

4

4

It looks like:

Any ideas?

I don't know what would cause this, considering there is no css in the semantic ember project. It's only a passthrough of the original semantic project. Have you tried recreating the grid outside of ember cli? My guess is semantic-ui isn't working as expected (which would be a semantic-ui bug), ember cli is adding styles that are messing with the semantic-ui, or your project is styling something that is causing it to break. We haven't seen any issues on our projects with this, granted we are on ember cli 0.2.1 on our projects, but I'm not sure what a newer ember cli project would do to cause this to work improperly.

Use a padded grid or horizontally padded grid if you're using a full page top level grid. Grids use negative margins which will cause horizontal scroll unless you set overflow-x: hidden on html.

@jlukic thanks. That works!


fix: e2e fixes and circle ci install change

Description of changes:

move circle ci installations to build step to be persisted across workflow steps
fix function e2e tests

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #3838 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3838      +/-   ##
==========================================
- Coverage   59.12%   59.11%   -0.02%
==========================================
  Files         309      310       +1
  Lines       13998    14002       +4
  Branches     2640     2640
==========================================
  Hits         8277     8277
- Misses       5306     5310       +4
  Partials      415      415

Impacted Files
Coverage Δ

...amplify-util-mock/src/utils/mock-data-directory.ts
0.00% <0.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 eb11109...4e3344c. Read the comment docs.


Refactor logic to get plugins path for android studio in mac

Refactor logic to get plugins path for android studio in Mac.
This will fix https://github.com/flutter/flutter/issues/26928
It's better to use 'idea.paths.selector' from Info.plist instead of combine major/minor version.
See: https://github.com/JetBrains/intellij-community/blob/master/platform/util/src/com/intellij/openapi/application/PathManager.java

Could you add a test?

Could you add a test?

Done in: https://github.com/flutter/flutter/pull/27944


 The depth increases as the tree becomes more full. The tree can have a max capacity set during initialization. The tree can also be reset and re-used in constant time.
Related Issue

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

SHould we also allow devs to calculate their zero hashes?

I'd prefer not to for now. It would be fine to add the additional values in the LazyTreeData structure as they would be 0 cost, I just don't want to write the logic/tests in this PR 🫣


[Maybe Bug] Not handling "--boundary-box" when "--input" is specified in tile generation mode.

https://github.com/enzet/map-machine/blob/014e11b826d9aff2fa0e4a54b886654e42d70a7a/map_machine/slippy/tile.py#L477
When I tried map-machine tile --input test.osm.xml --boundary-box 121.462,24.963,121.667,25.198 --zoom 16
The program complains about AttributeError: 'NoneType' object has no attribute 'get_left_top'
I looked at the source code a bit, noticed that when in "--input"-specified branch, --boundary-box was never been ingested.
The original code set the view_box only by the bound elements in the input XML files.
But as stated in Generate a set of tiles, the --boundary-box argument should override other sources.
I've temporary fixed the problem by setting the view_box from arguments prior then XMLs.
        boundary_box: Optional[BoundaryBox] = BoundaryBox.from_text(
            options.boundary_box
        )
        osm_data.view_box = boundary_box or osm_data.view_box

Edward Chen

Hello Edward! Thank you for reporting this!
You're right, in input mode, it deliberately ignores --boundary-box option, tries to read <bounds> tag from input XML, and obviously may fail. 🥲
Your fix seems quite reasonable. Do you want to make a pull request? Or I can fix it.

Hi @enzet ,
Thanks for your fast response!
Since it's a quick fix, you can fix it directly.
Overall, this is a great project and tool, it's quite flexible and hustle-free with custom xml files.
I just stumbled upon this few days ago on the open-street-map wiki about rendering, and I got great result quite easily.
Thank you and the community.
Edward Chen

@edward17829991
Yeah, and I definitely should review usage of other options as well. In some cases they are conflicting.
Thank you for your interest! It's nice to hear the project is useful. Please, feel free to tell me if you have any suggestions on how to improve it.


Use url_to_postid instead of text comparison for in-reply-to

Instead of checking that the in-reply-to links link to the exact permalink of the post the comment is on, I propose instead checking if the post_ID we get from url_to_postid on the in-reply-to link matches the local post_ID -- this would allow for more flexibility for the format of the link on the remote (eg, both ?p= and rewrite forms would work).

Nice idea!

This is good, but might cause a fragment issue. Will look


 Upstream PR is:
https://gitlab.com/samba-team/samba/-/merge_requests/1306
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The patch seems OK at a glance but not sure we should carry this in nixpkgs - it sounds like samba works without this and this is just a quality of life fix? I would prefer to only have e.g. patches to make software work in the Nix/NixOS model and defer to upstream fixes and/or local patches otherwise.

closing and waiting on upstream


add txt UPN - PE

@Bryleo2009 I am sorry, the domain upn.pe is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Hotfix/automated groups

If you added a group that had any form of automation, and you did not create a automation controller c5 would throw exceptions trying to load that class.
This pull request adds a default controller that will add the user to the group if the class does not exist.

That makes sense.


Ubuntu 16.04 package incorectly places the zsh completion file

I'm not sure if this is the right place to report this bug but on Ubuntu 16.04 when installed via apt-get the zsh completion file is /usr/share/zsh/vendor_completions/_tmuxinator rather than /usr/share/zsh/vendor-completions/_tmuxinator as it should be.
This can easily be fixed by the following commands:
cd /usr/share/zsh/vendor-completions
sudo ln -s ../vendor_completions/_tmuxinator

I'm not sure if this is a problem with just Ubuntu 16.04 or other versions and also Debian.

That's an interesting error you've run into! Thanks for reporting it!
Are you saying you installed tmuxinator through apt-get? The canonical (pun not intended) way to install tmuxinator is with gem install tmuxinator using Ruby's gem package manager. I wasn't sure that a tmuxinator package existed, and was unable to locate it through Ubuntu's package search. Did you get it through a PPA maybe?
I've done a quick scan of our code and it doesn't look like we have anything here for packaging tmuxinator for apt-get. The term vendor doesn't show up in any actual code.
While I can't fix this for you, hopefully we can track down the source of this issue!

I literally discovered tmuxinator because I saw it in the synaptic package manager under tmux. The deb file is at http://au.archive.ubuntu.com/ubuntu/pool/universe/t/tmuxinator/tmuxinator_0.7.0-2_all.deb.

Here's a screenshot of the details from synaptic

Hrm there are actually alot of packaged versions: https://pkgs.org/download/tmuxinator.


WIP: DO NOT MERGE: Testing a crossbow job

DO NOT MERGE

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@github-actions crossbow submit verify-rc-source-integration-macos-conda-amd64

@github-actions crossbow submit verify-rc-source-integration-*


Questions on how to use Pylenium from beginner

Firstly , thank you for such a great tool. I read docs and watched some tutorial videos. I think the best thing about Pylenium is that it streamlines set up and makes it possible to write much more concise code compared to Selenium out of the box.
I am beginner and learning programming/test automation is quite challenging  for me... I installed Pylenium and  tried to write  short test but could not make it working. I'd appreciate it if you could answer the questions below:

What's wrong with that test?  I tried to repeat steps that I perform when test search manually, but it seems like I am missing something:

from selenium.webdriver.common.keys import Keys
import time

def test_flatmates_search(py):
    py.visit('https://flatmates.com.au/')
    py.get('.styles__mainHeading___3wzRg').click()
    py.get('.hiddenInput').type('hornsby, 2077', Keys.ENTER)
    py.get('button[type="submit"]').click()

    # validate that title in search results contains search query
    assert py.get('h1[class="styles__searchHeading___LfuWW"]').should().contain_text("Redfern")
    assert py.get('h1[class="styles__searchHeading___LfuWW"]').should().contain_text("Rooms for Rent")

# output:

tests/test_fm.py:5 (test_flatmates_search)
test_fm.py:13: in test_flatmates_search
    assert py.get('h1[class="styles__searchHeading___LfuWW"]').should().contain_text("Redfern")
../venv/lib/python3.8/site-packages/pylenium/element.py:483: in contain_text
    raise AssertionError(f'Expected ``{text}`` to be in ``{self._element.text()}``')
E   AssertionError: Expected ``Redfern`` to be in ``Rooms for Rent``

Assertion failed

I read in docs  that  one of the features  of Pylenium is "Automatic waiting and synchronization". What does that mean?
Do we still need to use waits like this?

py.wait(use_py=True).until(lambda x: x.find_element_by_id('.menu')).hover()
# or
py.wait(use_py=True).until(lambda x: x.find_element_by_id('.menu')).click()

Is it possible to extend/modify standard Pylenium method ? How it can be emplemented? For example, lets say I want to have modified py.get() method which executes this line before returning element:

"py.wait().until(lambda x: x.find_element_by_class_name('classname').is_displayed())"

Is it possible to change scope of "py" fixture so that we could use the same web driver instance to run all tests in module? Currently after each test browser window is closed and new window is initialised which requires additional time.

How can I test autocompletion in the above example?

@MaksimZinovev First of all, thank you for trying out Pylenium! I'm glad you're liking it 😄 . Also, thank you for reaching out with your questions. I will do my best to answer them here, but feel free to also ping me on Slack groups like the Ministry of Testing or Test Automation University.

The error looks correct here. The error is telling you that "Rooms for Rent" does not contain the word "Redfern" which is true. You can see that in the error message:

    assert py.get('h1[class="styles__searchHeading___LfuWW"]').should().contain_text("Redfern")
    raise AssertionError(f'Expected ``{text}`` to be in ``{self._element.text()}``')
E   AssertionError: Expected ``Redfern`` to be in ``Rooms for Rent``

I don't know the Application Under Test (AUT), but it seems you need to change the selector in the first assertion.

There is quite a bit of waiting that will happen automatically when using Pylenium. By default, all of the locating functions (like .get(), .find(), .getx(), etc.) will automatically wait for the element to be available in the DOM. You can also use the .should() API to wait for certain expectations to be true. For example:

# wait until the Page Title contains the word "foo"
py.should().contain_title('foo')

---or---

# wait until the element is visible
py.get('#button').should().be_visible()

However, this doesn't mean that you won't need any custom waits. I'm willing to bet that you will still need to synchronize with certain things in your web application. Pylenium makes this really easy for you! Like I said before, you can leverage the .should() API, or you can use the .wait() API to create your own, custom conditions.
For example, maybe you want to wait until an element has a specific color. That is a "niche" thing to wait for so I wouldn't add it to Pylenium natively, but you can still create the custom condition easily:
def wait_for_element_to_have_color(element, color) -> Element:
    """ Reusable condition to wait for the element to have the given RGBA color """
    py.wait().until(lambda _: element.css_value('color') == color)
    return element

def test_element_changes_color(py):
    py.visit('https://random-page.com')
    py.get('#button').click()
    element_to_change = py.get('#avatar')
    assert wait_for_element_to_have_color(element_to_change, 'rgba(123, 123, 123, 1)')

You can always write your own functions that wrap Pylenium functionality. Just define the function somewhere and then use it. Using your example:

def element_by_class_name_is_displayed(class_name) -> bool:
    """ Check that the element is displayed given its class name. """
    return py.wait().until(lambda x: x.find_element_by_class_name('classname').is_displayed())

Although you can, this is not recommended. Tests should be modular and atomic. You should not want to share a driver between tests. This is a really bad practice and even an anti-pattern! Please don't do this. Instead, try to figure out other ways to speed up your tests like running tests in parallel or creating seams or "shortcuts" using HTTP Requests, etc.

Without seeing any HTML, I can't really help you here.

@ElSnoMan thank you for answers!
regarding # 2
I understand that  I can write my own functions, but what I was asking if I can I modify Pylenium methods or add my own method so that I can chain them with existing Pylenium methods.
For example. I've got this test which fails due to StaleElementReferenceException in  this line
 py.get('div > h1').should().contain_text('Redfern') .
It would be helpful to be able to create my own get() method (using standard get() as basis) with ingored exception and retry mechanism, something like this:
py.get('div > h1').should().contain_text('Redfern')

--- output ---

test_fm.py:131: in test_flatmates_listing
    py.get('div > h1').should().contain_text('Redfern')
    ...
E   selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

--- this fixes the problem --

   try:
        py.get('div > h1').should().contain_text('Redfern')
    except:
        time.sleep(.1)
        py.get('div > h1').should().contain_text('Redfern')

--- this would fixed the problem in more elegant way? --

 py.get_ignore_exception_then_retry('div > h1').should().contain_text('Redfern')

regarding # 4

Although you can, this is not recommended. Tests should be modular and atomic. You should not want to share a driver between tests. This is a really bad practice and even an anti-pattern! Please don't do this. Instead, try to figure out other ways to speed up your tests like running tests in parallel or creating seams or "shortcuts" using HTTP Requests, etc.

I understand that we should isolate tests from each other, even  though initialising browser can take up to 40-60% test time and we have tens or hundreds of tests. Or sometimes we have multiple tests which require  login step which will take even longer time. We still should not share driver between these tests and keep them modular (in this case each time start from logging in), correct?
What if I want to implement end-2-end test with multiple actions which real users will be  likely performing (for example, visit page, search listing, click on listing, add to cart, find another listing, add to cart, go to checkout, complete checkout)?  Is it ok to include multiple assertions along the path?

Section 1
try/except should be a "last resort" because:
a) it's not very elegant. Already you are writing an except block that literally catches anything which is a bad practice.
b) tells me that you don't quite understand how to use WebDriverWait since that's exactly what this class is for.
It sounds like there are two questions in this first part:

Can I extend Pylenium?
How do write my own custom functions of Pylenium commands?

Can I extend Pylenium?
Short answer is yes, but you would need to understand OOP with Python in order to do that which is outside of the scope of this project.
For someone starting out, it would be much easier to create your own custom functions as needed which leads to...
How do I write my own custom functions of Pylenium commands?
This is the example you gave:
py.get_ignore_exception_then_retry('div > h1').should().contain_text('Redfern')

Kind of like what I said in the section above this, you just need to understand OOP. Without using inheritance and polymorphism, you won't be able to extend the Pylenium class to "add functions" directly to py., but that's ok. Like I said, for now you should focus on just creating the function in a different module so you can re-use it in many places.
I mention needing to understand basic OOP because which object has the ability to call .should()?
Which object has the ability to call .contain_text()?
You asking this question tells me that there are programming basics and principles that you don't quite have yet, which is ok, but is not a limitation of Pylenium but a current limitation of your understanding.
To give some help, the Pylenium, Element, and Elements classes each have their own Should class with helpful functions for most cases. So if you wanted to write your own function to get an Element, then all you need to do is have that function return an Element. That's it.

The chaining that you see is not a feature of Pylenium, but of Python and a technique used in OOP

When you create an instance of WebDriverWait, you can specify timeout, ignore_exceptions, and then literally any condition(s) to wait for. This should remove the need for any try/except when it comes to synchronizing with the browser. By default, Selenium will only ignore NoSuchElementException, but you can add to this list.
# add it to your custom waits
py.wait(ignored_exceptions=[StaleElementReferenceException]).until(whatever)

# add it to the .should() expectation
py.get('#foo').should(ignored_exceptions=[StaleElementReference]).contain_text('bar')

This would remove the need for the example you had, but you can literally wrap anything into your own custom function. It won't be added to Pylenium, but for now, I don't think that's a problem 😄
# this is better than trying to add it to `py.`
# also, while I'm here, this function name hides which exceptions you are ignoring AND doesn't tell the reader that you're getting a single element
get_ignore_exception_then_retry('div > h1').should().contain_text('Redfern')

Section 2

I understand that we should isolate tests from each other, even though initialising browser can take up to 40-60% test time and we have tens or hundreds of tests.

40%-60% sounds like an exaggeration. At the very least, that has never been my experience. Most of our tests at the UI layer take about 10-30 seconds. Using percentages, if the browser took 2 seconds to spin up and then the test itself took 8 seconds, yeah, the 20% spin-up time sounds like a lot. Such is the nature of using percentages and using UI Automation haha.

Or sometimes we have multiple tests which require login step which will take even longer time. We still should not share driver between these tests and keep them modular (in this case each time start from logging in), correct?

In my previous answer I talked about creating ways to bypass the login or "shortcut" to the location and state to begin your test. Being logged in is not something you have to do through the UI and you really shouldn't want to. The only tests that should be concerned with the Login UI are the Login Tests that are specifically testing it.
Anything else that needs to be logged in can just bypass it with something as simple as an API call or setting a cookie (depends on how y'all do your authentication and things). This would mean that the act of logging in takes 1 second maximum!
Leveraging things like your HTTP APIs is crucial in the Automation in Testing game. You can literally inject any data or state you want into your application so you don't have to do that manually in the UI. For example, we could inject items into a Cart with an API call and then land on the Cart page (already logged in) to then complete the purchase. Loading my cart would only take a couple seconds and the UI part wouldn't take long either. You gotta get innovative and creative with this stuff - especially as an Automation Engineer!

What if I want to implement end-2-end test with multiple actions which real users will be likely performing (for example, visit page, search listing, click on listing, add to cart, find another listing, add to cart, go to checkout, complete checkout)? Is it ok to include multiple assertions along the path?

Sure! That is better than making tests dependent on each other. I'm not a fan of these types of tests, but it's a single flow that you are testing, so make it a single test.

@ElSnoMan thank you so much for your answers! That's very helpful and detailed response.
Most articles, tutorials and  and courses  I  was using that  teach how to use Selenium usually provide simple examples and very basic tests. Once you try to write your own code you face lots of surprises and obstacles. Taking into account your comments, I now see that  googling and reading stackoverflow answers can sometimes lead you to bad practices (like that example with try/except block). Also sometimes i find myself overcomplicating things. I definitely need to learn to get rid of this habit...

When you create an instance of WebDriverWait, you can specify timeout, ignore_exceptions, and then literally any condition(s) to wait for. This should remove the need for any try/except when it comes to synchronizing with the browser. By default, Selenium will only ignore NoSuchElementException, but you can add to this list.

So, it seems like I should aim for using the above to fix my problem with   StaleElementReferenceException.
Injecting data and state with API calls is probably  more advanced techniques which  I yet have to learn.
Once again, thank you for response and sharing on GitHub your Twich challenges. There's nothing better than real life examples!
Would be much appreciated if you could share any useful links related to this discussion. Cheers 🙂

@MaksimZinovev

Most articles, tutorials and and courses I was using that teach how to use Selenium usually provide simple examples and very basic tests.

I know exactly what you mean with the tutorials and things. They are great for getting started, but they quickly become obsolete haha. This is much worse in the Testing world because not many testers are good programmers... but I digress.

Once you try to write your own code you face lots of surprises and obstacles.

Pylenium was built so you are almost "forced" to write your tests and Testing Solution using better practices. For example, the approach you were taking by making tests dependent on each other would have prevented you from using scaling solutions like Docker and Selenium Grid. That would have sucked if you spent a bunch of time building it just to find out that it doesn't work and then have to redo everything. Ouch.
On my Twitch Stream, we have been working with David to get his POC in a great place so he can go up for a promotion to an SDET at his company. We started the project from scratch and have been using all of the techniques we're mentioning here. He is now doing a lot of the heavy lifting via the HTTP APIs instead of the UI which is saving a ton of time in each test and makes them more stable. You should watch one of these days and ask a bunch of questions in chat! I'm sure he'd love to share his solution 👍
Which brings me to my next point: Keep asking questions, but try doing it in a more public forum or community. For example, join the Ministry of Testing or Test Automation University Slack Groups! We have awesome people that can answer your questions. Different experiences and perspectives will be super valuable to you as you continue on this journey 😄 Take advantage of all the many resources that exist, but especially the community!

Taking into account your comments, I now see that googling and reading stackoverflow answers can sometimes lead you to bad practices (like that example with try/except block). Also sometimes i find myself overcomplicating things. I definitely need to learn to get rid of this habit...

This is a tough one and really comes easier with more practice and experience. As you continue learning, you're creating your own opinions, biases, etc. about all of this stuff. This is another reason why having a community is so valuable because you can bounce ideas off of them so you can form a more "educated" opinion rather than from a single Stack Overflow response. (I'm sure you've even seen that the "right answer" on Stack Overflow isn't always the highest rated one.)
Also know that keeping things simple can be very difficult. Words like "simple" and "quality" are highly subjective, but you need to know the difference between simple code and complicated code so you can actually start writing code that leans closer to the simple side.
DIRTY CODE (-100)                            0                              (100) CLEAN CODE
<--------------------------------------- your code ---------------------------------------->

Using the simple 1-dimensional graph above, whenever you write a function, class, or test, where would you place that code on this graph?

-100 would be really bad code. Messy, complicated, hard to read and understand, etc. You may have heard things like "spaghetti code" haha.
0 is "meh" code. This is most likely your first crack at solving the problem - kinda like a first draft.
100 is the cleanest code. In purist form, this would essentially mean that you can't really refactor or change it to be better.

In order for you to put your code on this graph, you need to have an understanding of what Dirty vs Clean is. Without that, you would blindly place your rating on the graph. You suggest this at the end, but to help you understand this, you need to work with the community to see examples of bad code vs good code. Bad tests vs good tests. If you were to put a rating of some code in the Dirty section, let's say a rating of -80, then that means you understand what makes it Dirty which would also mean you know how to clean it up to raise the rating. Pretty cool stuff.

So, it seems like I should try the above to fix my problem with StaleElementReferenceException.

In theory, that should work.

Injecting data and state with API calls is probably more advanced techniques which I yet have to learn.

It's more of understanding how HTTP APIs work and their purpose in the application your testing. Once you understand that, the rest kind of falls into place. This is where things like Postman can be really helpful.

Once again, thank you for response and sharing on GitHub your Twitch challenges. Do you still accept new challenges? There's nothing better than real life examples to learn from!
Would be much appreciated if you could share any useful links related to this discussion. Cheers 🙂

I always accept questions and challenges for the Twitch Stream 😃 . Most of the links I'd provide would be courses on testautomationu.com, so I'd suggest going there and looking at some learning paths!


primaryPackagePurpose uses OPERATING-SYSTEM instead of OPERATING_SYSTEM

It is true that the documentation in SPDX states that the value is OPERATING-SYSTEM but the spec states OPERATING_SYSTEM as being the allowed enumeration.
We have tools that complain about the generated value of OPERATING-SYSTEM.
Should it be fixed in this tool or should we push our counterparts to be more lenient?

@flemminglau - I just release version 0.1.5 of the cdx2spdx project which resolves this issue.
Thanks for reporting it.


Get error "atob is not defined"

Bug description
I try to run my server with prisma and in console I got the errors with one issue:
ReferenceError: atob is not defined
    at new zt (C:\Users\olish\Desktop\horizon-rp\packages\node_modules\@prisma\client\runtime\library.js:115:8442)
    at Sl (C:\Users\olish\Desktop\horizon-rp\packages\node_modules\@prisma\client\runtime\library.js:117:2032)
    at new t (C:\Users\olish\Desktop\horizon-rp\packages\node_modules\@prisma\client\runtime\library.js:130:4621)
    at Object.<anonymous> (C:\Users\olish\Desktop\horizon-rp\packages\db\index.js:9:14)
    at Module._compile (internal/modules/cjs/loader.js:1076:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:941:32)
    at Function.Module._load (internal/modules/cjs/loader.js:782:14)
    at Module.require (internal/modules/cjs/loader.js:965:19)
    at require (internal/modules/cjs/helpers.js:88:18)

How to reproduce
I cant say how to reprocude this correctly
Expected behavior
No response
Prisma information
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = "mysql://root:@localhost:3306/rage-mp"
  // url   = env("DATABASE_URL")
}

enum Sex {
  male
  female
}

model User {
  id Int @id @default(autoincrement())

  username   String @unique
  email      String @unique
  password   String
  serialKey  String
  ip         String
  socialClub String

  createdAt  DateTime    @default(now())
  updatedAt  DateTime    @updatedAt
  characters Character[]
}

model Character {
  id Int @id @default(autoincrement())

  userId Int
  user   User @relation(fields: [userId], references: [id])

  firstName String
  lastName  String
  dob       String
  sex       Sex

  headProps Json
  faceProps Json

  regTopClothes   Int
  regLegsClothes  Int
  regShoesClothes Int

  x Int @default(0)
  y Int @default(0)
  z Int @default(0)
  h Int @default(0)

  cash Int @default(0)
  bank Int @default(0)

  health  Int @default(100)
  satiety Int @default(100)
  thirst  Int @default(100)

  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  vehicles  Vehicle[]
}

model Vehicle {
  id Int @id @default(autoincrement())

  ownerId   Int
  owner     Character @relation(fields: [ownerId], references: [id])
  modelName String    @unique
  plate     String    @unique
  color1    Int
  color2    Int

  x Int
  y Int
  z Int
  h Int

  fuel    Int @default(0)
  mileage Int @default(0)
}

import { PrismaClient } from "@prisma/client";

// declare global {
//   var prisma: PrismaClient | undefined;
// }

// export const db = globalThis.prisma || new PrismaClient();
export const db = new PrismaClient();

// globalThis.prisma = db;

If uncomment code, issue doest fix.
Environment & setup

OS: Widnows 11
Database: MySQL, Postges
Node.js version: I tried with v20, v18, v16

Prisma Version
Tried use v.5.5.2, and the latest one.

Came here to say I got the same issue. Using 5.8.1 on Node 16.

Does this happen consistently for you @oliwkevich? Is there anything special about your setup (e.g. bundlers)?

@JaapWeijland

Edit: this only pops up when using Jest. Running the app regularly works.

Could you by any chance create a minimal reproduction with Jest as a clonable repo? Thank you!

I am having the exact same issue after upgrading to 5.9.0 from 5.5.0.
My API seems to run fine with 5.9.0, however when running Jest test cases, I get the same "atob is not defined" error.

Here's a loom video with more context.
https://www.loom.com/share/4e2ead272f91463e917ce4cb45485fbf
Node: 16.14.0
TypeScript: 4.7.4
Jest: 26.6.2

@tbell511 for the original reporter the problem occurred on 5.5.2. Can you confirm if it works for you on 5.5.0 but not on 5.5.2?

@aqrln just tried 5.5.2 and it works fine for me 👍

@tbell511 thank you for checking! That means that the regression was added somewhere between 5.5.0 and 5.5.2 then. Any chance you could quickly check 5.5.1 as well to narrow it down further?

@tbell511 sorry I actually misread your comment, I thought you can reproduce it on 5.5.2. Then it could be a different problem than OP's :/

Would you be able to track down what is the first version where the issue becomes reproducible for you?

@aqrln the problem starts at 5.6.0 for me.

atob was added to to<EMAIL_ADDRESS>https://github.com/jestjs/jest/pull/12269, as it is also part of Node.js 16. Could you try upgrading an let us know if that fixed it?

@millsp upgrading jest to 27.5 fixed the problem for me.
However, our test cases are now running unusually slow. Typically they finish in about 10seconds, but are now taking roughly 25 seconds.
Not sure if that's due to the jest upgrade or prisma upgrade 🤔

Confirmed the problem is with jest 👍

We did one more pass over this and can confirm that atob issue comes from jest and is fixed by upgrading to version 27.0.0 or above. Since the problem is not caused by prisma itself and Jest versions where this is happening is over 3 years old, we are gonna close this issue. Feel free to comment or open a new issue if you see the problem on newer versions of jest.

I just had the same error, and found an atob call within what I think is the prisma's code:

It happened within AWS Lambda, in my local machine it works fine.

"@prisma/client": "^5.9.1"

It probably got fixed by this https://github.com/prisma/prisma/commit/5f28979605f4e0e03fd3adb995443e0bee964c56 , altought this commit addes some usages of btoa that might algo get built within the client code. Shouldn't both just not be used as theyre considered legacy functions?

Hi @Alynva, I'm curious to know which version of Node.js you are running on AWS Lambda.
The best would be to open a new issue or discussion if you want to us to look at your problem.

@Jolg42 updating the lambda's runtime version was the workaround that I did, but I was encouraged to not do it in the project codebase I'm working on, as it might require some other changes not related to what I'm doing. For now I have it deployed and working in the latest 20.x but only as proof of concept, as I was instructed to not add prisma in the codebase and suggest here to stop using those legacy APIs...

What version of Node were you running before on that runtime?

@Alynva It's only "legacy" from a Node.js perspective but one code path in particular will be for example used with @prisma/client/edge which is made to run on Node.js but not only, and in some environments for example Cloudflare Workers (see https://developers.cloudflare.com/workers/runtime-apis/web-standards/) it's not legacy, it's actually the recommended way to do it because Buffer is Node.js specific.

You're right, I'll recheck the requirements on my codebase and use a compatible version. Thanks for the help

@aqrln my original issue, "atob is not defined", is resolved in prisma 5.10.2
I never upgraded jest and remained on prisma 5.5.0
As a test, installed prisma 5.9.0 and go the same  "atob is not defined" error again.
So something on Prisma's side changed from 5.9.0 to 5.10.0 that resolved the issue.

@aqrln great! That saves me a lot of hassle.
Is there anything chance that atob will return, or is it gone for good?

@tbell511 probably gone for good, unless some dependency re-introduces it without our knowledge in its own code. I can't guarantee for sure that it won't return but I find it very unlikely.

used node v18+ fixed the error for me


DBZ-2563 JSON processing can ignore deserialization errors

https://issues.redhat.com/browse/DBZ-2563
This is not top quality implementation. The best approach would be unification of errors in BinlogReader but this would be quite invasive. So the code should be handled like an interim solution with the final one in the rewritten connector.

Thanks for fixing this. Does

MySQL connector rewrite
mean that the MySQL connector will be rewritten in a similar way as other connectors?

Does "MySQL connector rewrite" mean that the MySQL connector will be rewritten in a similar way as other connectors?

Yes, exactly that. Eventually, all connectors should be based on that unified architecture, MySQL is the last remaining one (apart from the Cassandra one, which isn't even based on Kafka Connect) which doesn't follow that model yet. The plan is to add the new implementation next to the existing one in Debezium 1.4, allowing users to switch and slowly migrate. The old one then would be phased out in a future release. We decided for this gradual approach, as the MySQL connector has quite a few special features and we don't want to make this too disruptive.

Thanks for confirming. Yeah. The gradual plan sounds quite reasonable and non-disruptive indeed.

Pushed to commits with some adjustments; merging. Thanks, @jpechane!


Dot notation

Is querying with dot notation not supported?
collection.findOne({property: 'value'}); // returns { property: 'value' }
```

collection.findOne({'nested.property': 'value'}); // returns null

Looked through the specs and docs and haven't seen how to do this or if it's supported.

Yes we support dot notation, your example should work fine.
I will try to add mention of it to Query Examples wiki page this weekend.

The dot notation is working in the collection.find() function,
but not in the findOne() function.
Here the jsfiddle
Btw. LokiJS is awsome :+1:.

mmm - that's interesting. If that was the case then implementing it in findOne shouldn't be too difficult, what do you think @obeliskos ?
/cc @Kanaye @fusepilot

Yea, it should work the same for find() as for findOne() but I see now that it doesn't.
I've traced through and see where the fix needs to be made.  I'll fix it sometime this weekend and add a dot notation findOne test to our unit tests.

Ok I think I have fixed this as my tests pass now (with latest commit).  Let me know if you still have any problems with this.

Sorry, I just saw that this one is still open.
I have used the dot-notation with findOne quite often in the last weeks and didn't stumble across bugs with it.
In my opinion you can close this issue.

Ah, great I had forgotten about this one as well.


Question: Does atom have unit tests for its code base?

Does atom have unit tests for its code base? If so, how may I run them?
Thanks

Yes, it does: https://github.com/atom/atom/tree/219c92f6fb54eba7c75fb82bab667eca977f9fed/spec
Run them using atom --test spec.
Also, we're trying to control the amount of Issues that we have to triage and track. For general questions, the Atom message board is where you'll probably be able to find answers faster.


Berry Flavors

I can't help but feel that the Berry Flavor table is tied pretty awkwardly to Contest Types. It seems like it would be a better fit to have Berry Flavor, Berry Flavor Names and use a mapping table between Berries and Berry Flavors. Berry Flavors could also hold foreign key references to Contest Types. Then the 'flavor' attribute could be removed from the Contest Type Name table.
For example:
berry_flavors.csv
id, identifier, contest_type
1, spicy, 1
2, dry, 2
3, bitter, 3
4, sweet, 4
5, sour, 5

berry_flavor_names.csv
berry_flavor_id,local_language_id,name
1, 9, Spicy
2, 9, Dry
3, 9, Bitter,
4, 9, Sweet
5, 9, Sour

berry_flavor_map.csv
berry_id, berry_flavor_id, potency
1, 1, 10
1, 2, 0
1, 3, 0
1, 4, 0
1, 5, 0
...

Does this make sense? I think it would fit the same logical separation of most other resources across tables.

Contest types and berry flavors are tied together because... well, they are tied together. They're pretty much synonymous. What would be the advantage of separating them?

I guess no real technical advantage. The idea mostly just came from how the rest of the relations work in terms of how we're serving the data on pokeapi so I thought I would mention it. If theres no real advantage to this project specifically then this issue can just be closed. I wont pout :)


docker: 20.10.8 -> 20.10.9

https://docs.docker.com/engine/release-notes/#20109
https://github.com/moby/moby/releases/tag/v20.10.9
https://github.com/containerd/containerd/releases/tag/v1.4.11
https://github.com/containerd/containerd/releases/tag/v1.4.10
https://github.com/opencontainers/runc/releases/tag/v1.0.2

Motivation for this change
Addresses CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, as well as CVE-2021-41103 in containerd.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

3 packages failed to build:

fn-cli
python38Packages.jupyter-repo2docker
python39Packages.jupyter-repo2docker

9 packages built:

charliecloud
docker (docker-edge ,docker_20_10)
docker-client
docker-gc
grype
nvidia-docker
out-of-tree
pipework
tarsum

Python package failures are as ever unrelated. fn-cli seems transient as it built on second attempt :woman_shrugging:


Update sys-query-store-plan-transact-sql.md

Add description for error 3617

@rwestMSFT

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks for your contribution!


Version 1.0 don't appears in homebridge-ui-x

I don't know if its normal, but in the homebridge web interface don't appears the new update of the melcloud plugin to 1.x.

I had the same issue, uninstalled the previous version and then installed and configured the new one. You will have to remove and re add the devices anyway .
Just make sure that you have the Homebridge UI updated to the latest version which is 4.56.4 installed

Update the HB UI to 4.56.4 or above


Close and disconnect instead of using --exit workaround

Per the breaking change in Mocha 3→4, --exit can stop Mocha 4 from hanging, but hanging can indicate problems with test setup.  By closing the app and MongoDB connection to solve it instead, this means hanging can still properly indicate problems if they arise.  (In other words, preemptively using --exit might cover up a legitimate problem down the road.)

Sorry, I should get in the habit of using a separate branch, despite already being in a separate branch, when making PRs.  :)

Sorry, I should get in the habit of using a separate branch, despite already being in a separate branch, when making PRs.  :)


NullPointerException getLegendRenderType(XYSeries.java:44)

Hello,
I'm using version 3.5.4 and get an exception in the AWT-EventQueue thread.
The exception comes quite arbitrary and not every Time I'm running the process.
As shown in the readme I'm quite certain that I'm using the api correctly.
Compared to the advanced Example the only difference I can see is that I'm not creating my JFrame in the invokeLater method.
Even so, the chart looks completely fine and everything works without a problem.
The chart in question if that matters:

The full Stacktrace:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at org.knowm.xchart.XYSeries.getLegendRenderType(XYSeries.java:44)
	at org.knowm.xchart.internal.chartpart.Legend_Marker.getSeriesLegendRenderGraphicHeight(Legend_Marker.java:165)
	at org.knowm.xchart.internal.chartpart.Legend_Marker.getSeriesLegendRenderGraphicHeight(Legend_Marker.java:15)
	at org.knowm.xchart.internal.chartpart.Legend_.getBoundsHintVertical(Legend_.java:196)
	at org.knowm.xchart.internal.chartpart.Legend_.getBounds(Legend_.java:378)
	at org.knowm.xchart.internal.chartpart.AxisPair.paint(AxisPair.java:112)
	at org.knowm.xchart.XYChart.paint(XYChart.java:415)
	at org.knowm.xchart.XChartPanel.paintComponent(XChartPanel.java:90)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

For completeness how I'm using xchart.
I'm creating a chart like this:
XYChart chart = new XYChartBuilder()
                .width(1000)
                .height(500)
                .title(label)
                .xAxisTitle("Generation")
                .yAxisTitle("Fitness")
                .theme(Styler.ChartTheme.GGPlot2)
                .build();

chart.getStyler().setDefaultSeriesRenderStyle(XYSeries.XYSeriesRenderStyle.Line);
chart.getStyler().setLegendPosition(Styler.LegendPosition.OutsideE);
chart.getStyler().setMarkerSize(5);

JPanel chartPanel = new XChartPanel<XYChart>(chart);

Don't know if it's important but I take the chart, and chartPanel object and store them in a different object for access when I need them.
I'm adding the chart onto a JTabbedPane with the initial draw like this
javax.swing.SwingUtilities.invokeLater(() -> {
             frame.validate();
             frame.pack();
             frame.setVisible(true);
});

Everey time i use the updateXYSeries method i repaint the respective chartPanel.
javax.swing.SwingUtilities.invokeLater(() -> {
        chartPanel.revalidate();
        chartPanel.repaint();
});

It seems to be a rather simple fix.
When creating a new XYSeries with addSeries the legendRenderType and lineStyle are missing.
I just had to set them myself with:
            xySeries.setXYSeriesRenderStyle(myXYChart.getDefaultSeriesRenderStyle());
            xySeries.setLineStyle(new BasicStroke());

Why do you call the xySeries.getLegendRenderType() method before drawing?

xySeriesRenderStyle is null by default. When xySeriesRenderStyle is null, a null pointer will be reported when the getLegendRenderType method is executed.
@timmolter
Think this issue is not a problem.

@Mr14huashao Thank, I'll close it. BTW, I'm really busy right now, but I will get to you other PRs and comments ASAP.

@Mr14huashao In which line of my own code do I call xySeries.getLegendRenderType() ?
And if you'd be able to look at the full stack trace you'd see that it's an internal call made while painting.
And as I originally stated: I just copied the given advanced example.
So I think this issue is either not good explained on how to fix it properly or it's just not resolved correctly.

@Blaxzter
Your sample code does not call xySeries.getLegendRenderType ().
I carefully looked at the error stack information and code, and your description.
In the example you gave, the initial XYChart did not add a series, and then added a series.
This situation may occur when the same XYChart is drawn by multiple threads. When the first thread draws XYChart, the series is still empty, and XYSeries.xySeriesRenderStyle may still be null
for (XYSeries xySeries : getSeriesMap().values()) {
  XYSeries.XYSeriesRenderStyle chartXYSeriesRenderStyle =
	  xySeries.getXYSeriesRenderStyle(); // would be directly set
  if (chartXYSeriesRenderStyle == null) { // wasn't overridden, use default from Style Manager
	xySeries.setXYSeriesRenderStyle(getStyler().getDefaultSeriesRenderStyle());
  }
}

At the same time, the second thread added the series first when drawing XYChart, and the first thread continued to draw. drawing AxisPair will use XYSeries.xySeriesRenderStyle, which will cause NullPointerException.
Like you said it is really easy to solve, add code:
xySeries.setXYSeriesRenderStyle(myXYChart.getDefaultSeriesRenderStyle());

If you think this is not the case, this problem will definitely occur. You can paste the sample code and I can continue to analyze.


feat: add springboot component source code

Looks this template will not be directly deployable, if so, we will also need to remove the deploy command here:
https://github.com/serverless-components/tencent-examples/blob/master/.github/workflows/springboot-starter.yml#L31

Looks this template will not be directly deployable, if so, we will also need to remove the deploy command here:
https://github.com/serverless-components/tencent-examples/blob/master/.github/workflows/springboot-starter.yml#L31

Looks this template will not be directly deployable, if so, we will also need to remove the deploy command here:
https://github.com/serverless-components/tencent-examples/blob/master/.github/workflows/springboot-starter.yml#L31

Refs this PR to remove deploy command.
https://github.com/serverless-components/tencent-examples/pull/59

Looks this template will not be directly deployable, if so, we will also need to remove the deploy command here:
https://github.com/serverless-components/tencent-examples/blob/master/.github/workflows/springboot-starter.yml#L31

Refs this PR to remove deploy command.
https://github.com/serverless-components/tencent-examples/pull/59


Bump imageTag to 4.0.1 to match values.yaml

What this PR does / why we need it: The imageTag in values.yaml is 4.0.1. This PR updates the Chart.yaml and README.md to reflect this default.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): n/a
Special notes for your reviewer: @benjigoldberg

I've signed a CLA, likely it just hasn't propagated yet.

/ok-to-test

/lgtm

why not bump both up to latest? https://github.com/confluentinc/schema-registry/releases/tag/v4.1.1


aws.cognito.UserPoolDomain changing certificateArn tries to replace

Version
Windows - v2.3.0
Description
If the certificate arn of a UserPoolDomain changes, the provider tries to replace the domain by deleting it and then recreating it.
This runs into all kind of issues, as even after deletion, the underlying (hidden) CloudFront that AWS use will still exist, preventing recreation of the UserPoolDomain until it has been destroyed.
This is also an issue when the provider tries to replace a certificate, and decides to delete the old one that is in use.
In the AWS console, the user pool domain's certificate can easily be changed without deleting and recreating the domain.
Error
Diagnostics:
  aws:cognito:UserPoolDomain (domain):
    error: Error creating Cognito User Pool Domain: InvalidParameterException: Domain already exists.

This appears to be an issue upstream where the certificate is marked as ForceNew https://github.com/terraform-providers/terraform-provider-aws/blob/master/aws/resource_aws_cognito_user_pool_domain.go#L34

Is there any work around for this?

Unfortunately, not that I know of. This will require modifying the dependency to support the correct flags.

Hi @shellicar
This was released in pulumi-aws v2.11.0 today
Please let us know if there are nay issues
Paul

@stack72 @leezen
Thanks for that.
I've run through the same scenario twice and it seems to update the certificate arn on the UserPoolDomain without issue.


Feat/create badge component

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

Can we merge now?


Disable parallel logic by default because sometimes it doesn't work d…

…epending on user's environment

Codecov Report

Merging #37 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master      #37   +/-   ##
=======================================
  Coverage   87.68%   87.68%
=======================================
  Files          24       24
  Lines        1250     1250
=======================================
  Hits         1096     1096
  Misses        154      154

Impacted Files
Coverage Δ

atcodertools/tools/envgen.py
63.35% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Error: Wrapped object may not be null due to a missing form element

Environment

Adyen Payment 18.3.0
SiteGenesis v104.1.3

Setup
We have installed vanilla SiteGenesis and Adyen cartridge by following the documentation available here :  https://docs.adyen.com/plugins/salesforce-commerce-cloud/
Issue
After following Adyen online documentation, we face to an issue.
The form field billing.paymentMethods.creditCard.encrypteddata is mentionned multiple time in code but never exist. It leads to an Error: Wrapped object may not be null.
Adds
<field formid="encrypteddata" type="string" mandatory="false" binding="encrypteddata"/>

to app_storefront_core\cartridge\forms\default\creditcard.xml seems to resolve the issue.
But this step is missing from documentation

Hi @aduponchel,
The documentation has been updated to reflect the cartridge changes made during an update to Adyen's Checkout API. Unfortunately, this version has not been certified by Salesforce, so we have not performed a release. Please find this code on the develop branch of this repo. The new implementation of Adyen's CSE splits the encrypted card data into 4 separate fields as you can see here: https://docs.adyen.com/plugins/salesforce-commerce-cloud/customize-storefront-code/#formsdefaultcreditcard-xml.
Please use the develop branch for your integration so it is consistent with the docs.
Best,
Scott
Adyen

Hi @ScottPowell14 ,
Could we have an access to the documentation for the certified version please ?
Demandware platform zip contains only an markdown file with only a link to the online documentation.


Calling setValue:forKey: on an immutable dictionary

The issue is not that the session id is nil, but that we're calling setValue:forKey: on an immutable dictionary. This is addressed on a separate branch, but I'm pulling the fix here as well.
@qinweigong @aaustin

:+1:


Chore: enable sentry session replay

What
To enable Sentry session replay

Enable using Sentry's JavaScript loader script

Configuration completed via the Sentry dashboard

Session replay requires SDK v7+, therefore we have had to change this, but have not identified any effects to the Sentry Rails / Ruby

As this is client side, our key will be visible, therefore to improve security and stop nefarious actors dumping to our profiles, we have configured Allowed Domains

For UAT purposes, we have forced an error on the proceedings search

Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

is it ok to expose the sentry public key on every page like this? in which case does it need to be a secret?
And needing the last commit removed before merge of course.

Based on the guide, yes, it is ok to expose the public key, for security, we have restricted the allowed domains from which we can receive notifications.
As its public, then no its not a secret, but based on our setup, how would you load the env vars?
Yes, last commit would be removed before merging


Bam 911 test as a backend user i get a notification as soon as a price is wrong

** Bam 911 test as a backend user i get a notification as soon as a price is wrong **

Allow to verify the price per personne of each available slot for the next  4 weeks
Price per person must be superior of 5€ for : Parmentier, Sentier, Richer, Madeleine and Etoile
Price per person must be superior of 3€ for : Chartrons
Price per person must be superior of 4€ for : Recoletos

Remember to use yarn lint on your code.


Error deploying from VSTS/Git - MSBuild auto-detection

This the first time I have tried to deploy to App Services (Direct Publish is broken in VS2015!) so I setup a Git repo in VSTS and linked to an App Services project.
When code is pushed, the deployment is triggered but it errors:

Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling .NET Web Application deployment.
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.
The system cannot find the file specified.
Failed exitCode=1, command=nuget restore "D:\home\site\repository\MyProject.sln"
An error has occurred during web site deployment.
The system cannot find the file specified.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\57.50831.2397\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

It looks related to nuget restore but I can't see why it is trying to use MSBuild for package restore, there is no targets files in the solution and it is not referenced in the solution either.
Perhaps a more useful error if this is a typical newbie problem?

Some more information. The underlying problem is related to NuGet.exe not being able to access our private NuGet repository on VSTS, which requires credentials and which don't seem to be read from the nuget.config in the root. The strange thing is that if a NuGet.exe is present in the root, the verbose information is not displayed and the error above is all you get. If you DON'T have NuGet.exe in the root, you get a much longer error which makes it more obvious that it cannot open the private feed.

One thing I'd suggest to help isolate: use Kudu Console to go to the D:\home\site\repository folder, and try running msbuild manually from there. Does it also fail?
As an aside, it's generally best not commit nuget.exe in your git repo, and just rely on the one available on the build machine.

I hadn't intentionally added NuGet.exe, that was a hangover from what we needed to do to get TFVC working in VSTS! The whole issue is around package restore and the underlying issue here, is that if NuGet cannot restore packages (which it can't from private repos by default - or any easy way I could work out - due to a broken change in the VSTS portal) then the error is not accurate or is at best incomplete.
I don't understand why having NuGet.exe in the root would shorten the error message but could I suggest (from a newbie point of view) that either a warning is displayed in the log, "Adding your own NuGet.exe is not recommended and might mask some errors" or otherwise, if a private repo cannot be opened, that this message is displayed rather than the rather ambiguous "The system cannot find the file specified"? The shortened version (can't remember if the same on the longer error) also makes it look like MsBuild was not found, which is not the case and also sent me on a wild goose chase.
I appreciate that this isn't the most major bug but a confusion that I hit without doing anything too weird or wonderful is also likely to affect other people.


ListWebPublicationRecords Inconsistency after Web Publishing

There seems to be a race condition in ListWebPublicationRecords. If it is called quickly after publishing, sometimes it does not include the new record that was just published. This leads to an inconsistent UI.
In theory we can hack around this issue client-side but I would prefer atomic guarantees from the daemon

In https://github.com/mintterteam/mintter/issues/1326 it also seems like ListWebPublicationRecords fails sometimes

Whenever I try to list publications right after (one command after the other in the terminal, 0 delay) publishing, The published document is there. Actually reviewing the code, The site does not return the publish function until the document is not effectively in the database.
Is there any chance that either

The front is launching both calls (publish and ListWebPublicationRecords) in parallel? or
Maybe publish errored unnoticed?

Oh! I see that the second option is very plausible because I did just what you did in the example (republish an already published document but this time including a version) and the result was the publishing failing and the ListWebPublicationRecords that comes after, returning the old publication, which is what one should expect.
Ok behavior on a new document

Fail to update same path with same document ID

any comment @ericvicenti ?

well @juligasa I don't know how to explain the issue beyond the screenshot that shows the list call happens after the publish.
But @GaboHBeaumont says the issue is GONE 😂😂😂

Did not we change the way we notified (un)successful publishing with a (red)green push notification in the bottom right corner?
If now it's clear when we fail to publish (bc of whatever reason like already taken path, ...) then the error is effectively gone, since there was no real error in the first place. If the document is published, then ListWebPublicationRecords should include that record, no matter how fast we do the calls (I tried to make them as fas as I can in an script and I couldln't make it fail)

Yes I fixed the success popup so it does not appear after failure. But I think that is unrelated because the publication works, it just temporarily is not listed.
I still see the issue locally, but it seems to be much faster than before, so its less noticeable

This isn't an issue on site groups


Consider updating AddIdentity() to avoid overriding default schemes when they were previously set

Identity is indeed a bit greedy and if you try to register your default scheme before calling AddIdentity(), it will be ignored.

@HaoK would that be worth considering updating services.AddIdentity() to avoid overriding the default schemes when they are not null (i.e when already set by the developer?).

https://github.com/aspnet/Identity/blob/f3e251167212f18825506de9099a06e35350269c/src/Microsoft.AspNetCore.Identity/IdentityServiceCollectionExtensions.cs#L66-L71

@HaoK in the meantime, maybe it would be worth adding a tiny note indicating that AddIdentity() will always override your default schemes if you call AddAuthentication(options => ...) before AddIdentity() in either the docs or the announcement?

More context:
https://github.com/openiddict/openiddict-core/issues/436
https://github.com/openiddict/openiddict-core/issues/424#issuecomment-323721847
https://github.com/openiddict/openiddict-core/issues/424#issuecomment-324377691

Is there any update on this AddIdentity overriding issue? It's driving me nut, need it for Usermanager DI and also using OpenIdConnect for IdentityServer Login page redirect.

In 2.1 you can do something like this to avoid stomping on defaults (where you can specify the default scheme in AddAuthentication yourself):
            services.AddIdentityCore<TUser>()
               .AddRoles<TRole>()
               .AddDefaultTokenProviders()
               .AddEntityFrameworkStores<TestDbContext>();

            services.AddAuthentication(IdentityConstants.ApplicationScheme).AddIdentityCookies();

Thank you so much, just tried that now and no infinite loop anymore, however, the DI seems not to be working for UserManager and RoleManager

Thanks @HaoK , @Tratcher helped resolved the issue, I'm now able to mix AddIdentity and AddAuthentication in my Startup.cs. Really appreciate your help.


repo/windows: Enforce lf line endings for local checkout

This ensures that the files in the working tree always use lf line termination, even on Windows.
This should resolve various issues with tooling.
I believe this preserves the git conversion lf <> crlf - which is important for any new files added to repo in a windows env (i believe vscode will honour existing line termination for a file, but use the os default on new files)

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @siddharthkhonde @jbohanon
i think this resolves the issue being addressed in #32312 without the need for any extra docs
i have tested this in our windows CI and can confirm that all files that are i/lf (in index) are checked out as  w/lf (in working tree)

This looks good to me from a configuration standpoint. I don't have a solid way to validate the changes though.

lgtm. thank you @phlax @jbohanon for your help on this :)


How to apply Dlib FHog to ACL

Hi,
In the class of "NEHOGDetector", the "IHOG *hog" needs to be setted to the configure.
The Dlib uses fhog(31 bins), but ACL uses hog(36 bins), How to apply DLib fhog to ACL?
I really need your help, thank you very much.

Hi @GoodKairos
Would you please clarify if your question is about how to use 31 bins instead of 36 bins?

Closing due to inactivity.
Please reopen if support is needed.


Snapsync server migration tool

Create a subcommand to migrate an existing Besu database to use a fully flat database and code by hash. This will allow existing Besu users to run snapsync server without resyncing their database.

@non-fungible-nelson Do we still want to do this for snap server?

How much dev effort would this take? If it is more than 2 days or so, I would say it isn't worth it. Additionally, if the time it takes to migrate is similar to a resync, we should focus our efforts on making resync fast and easy.
Let's chat briefly on this.


Add non-darwin search paths

This PR brings the swift-corelibs-foundation implementation of FileManager search paths for non-Darwin platforms to swift-foundation. Particularly, it brings functionality to lookup requested directories for Windows, and it adds functionality to check XDG environment variables / configuration files on platforms such as linux. The unit tests also validate this by checking the number of returned paths (to not rely on specific paths which can be modified by the system) and for XDG systems we can use the environment variables to validate specific paths.
This also tweaks the existing implementation to support more of URL now that the type is available.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Add ui.macros and Hotbar#locked getter

The MacroDirectory was missing from the ui global context, i have opted to not create MacroDirectory itself and use DocumentDirectory<Macro> because it brings nothing extra.
The Hotbar#locked getter was missing.

I originally did, but since FoundryUI doesn't have a generic for TMacro, it felt pointless, the system doesn't pass anything for that matter so your generated code won't either.

Resolved as party of 3cd9c26, 56ab32f, and 642d73a


Config property to override base uri that is used by LRAClient to register to LRA coordinator

When user declares method to be @LRA then there is started a LRA in background before the logic of the method is invoked. The LRA client exposes complete and compensate (and others) endpoints while the base url is taken from its hostname.
There are cases when it's needed to override the way how client enlists itself. It's for example case when the client and coordinator runs in docker and there is not appropriate that client exposes the compensate endpoint as http://localhost:8080/compensate (the localhost is where the client is bound at in docker image). But for coordinator can contact the client back the client needs to provide different name which can be routed by docker network back to the client.
The same situation could be when client and coordinator are separated by a NAT or firewall etc.

The base URL is taken from the JAX-RS request context of the @LRA method that was invoked, ie
ContainerRequestContext#getUriInfo()#getBaseUri();
'''

At the moment it is a URI:
URL joinLRA(URL lraId, Class<?> resourceClass, URI baseUri, String compensatorData)

Are you saying that using a URI is insufficient? how will your proposal affect this particular API?

The current behaviour is insufficient if you use annotations.
The proposal does not affect this particular API in any way.
Using URI in the joinLRA is sufficiant from my point of view.

When you define your method with @LRA and you define @Complete/@Compensate methods in the class then the LRA library will start the LRA instance and register this as participant. This participant will be registered as reachable at containerRequestContext#getUriInfo()#getBaseUri() (which is specific for Narayana LRA client and not defined in spec).
My proposal is to explicitly define this in spec and provide a way to override the base uri on the registration of participants when annotations are used.

+1, this makes annotations and client interface functionally not same. We shouldn't be requiring code changes in user code when running in the docker.

+1

Is config property needed for 1.0? Since we removed interoperability and Java API for 1.0, locating the LRA coordinator is implementation specific.

Good point, would there be any objections if I move this issue to 1.x

agree. this should be moved to 1.x until the interoperability will be addressed. for 1.0 release is this an implementation specific.


Query for comment count out of band

the /graphql endpoint seems to time out on large requests with totalCount, this is an attempt to mitigate that by querying for it outside of the graphql query.
Tried the old query in the graphql explorer and it timed out, same query without the totalCount succeeded, though it's unclear if my second query had a cached result.

@zmoazeni good point. We currently rely on the OctokitError wrapper for these metrics/error reporting but I'll add some specific ones as I know you're currently working on enhancing those.

This PR attempted to fix an issue some of the users on https://github.com/integrations/jira/issues/318 have experienced but we're still seeing the graphql timeout.


chore: promote origins-cms to version 0.0.6

chore: promote origins-cms to version 0.0.6
this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign dnmahendra
You can assign the PR to them by writing /assign @dnmahendra in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[AutoRelease] t2-monitor-2023-02-15-89048(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/3802
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1014
BuildTargetingString
azure-mgmt-monitor
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/3802


Converted Invoke-Expression to & in Integration Test Template -Fixes #163

As per @kwirkykat comments in this PR comment:
https://reviewable.io/reviews/plagueho/systemlocaledsc/2#-KO7S2PMondhGNCQyH4I:-KO7S2PNfY1QHQpUYQep:-152257556

This change is

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions.

Tests.Template/integration_template.ps1, line 22 [r1] (raw file):

#region HEADER
# Integration Test Template Version: 1.1.1
[String] $moduleRoot = Split-Path -Parent (Split-Path -Parent (Split-Path -Parent $Script:MyInvocation.MyCommand.Path))

Why did you change this?

Tests.Template/integration_template.ps1, line 32 [r1] (raw file):

$TestEnvironment = Initialize-TestEnvironment `
    -DSCModuleName $Global:DSCModuleName `
    -DSCResourceName $Global:DSCResourceName `

Why is this changing back to the global scope?

Comments from Reviewable

Sorry @kwirkykat - it was a long day yesterday and I bungled this PR. I'll re-do it when I get to work in a little bit.

@PlagueHO No worries. The scoping on the variables may actually have to be changed back to global since Pester doesn't seem to like script variables...

@kwirkykat - Ok. All fixed now. Sorry about that again. Forgot to merge the latest changes to the upstream before I made my branch and submitted it.

@kwirkykat - sorry about that. I've fixed it. Should be ok for merge now.

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions.

Tests.Template/integration_template.ps1, line 22 [r1] (raw file):
Previously, kwirkykat (Katie Keim) wrote…
> Why did you change this?

Done.

Tests.Template/integration_template.ps1, line 32 [r1] (raw file):
Previously, kwirkykat (Katie Keim) wrote…
> Why is this changing back to the global scope?

Done.

Comments from Reviewable

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

Comments from Reviewable


Added support for Tuya Zigbee ultrasonic water meter.

Added support for Tuya Zigbee ultrasonic water meter.

https://www.tuyaexpo.com/mobile/product/898043


PHAR file generator

Enhancement description
It would be great to provide a phar version of the tool to avoid dependency collisions with other projects.
Suggested approach or solution
Investigate and create a script to generate updated versions every time a new release is published.

I'd be happy to look into this if no one else has already started on it.

Sure! Thank you for the help 😃

You're welcome, I'm happy to help! So just to check my understanding, you're wanting to compile a Phar and attach it as an asset to the latest tag when a release is published, similar to how Composer does?

Yeah that would be great.
(I don't really know if they do it with a github workflow or another way)

The Phar is building and running properly from what I can tell, so now I'm moving on to test the GitHub workflow in a separate repo. Fingers crossed that it's as simple as GitHub's making it look!

Added some notes on how to get the Action set up in #67. If there's anything I need to change code/code style wise let me know and I'll take care of it.

This is an incredible contribution. Thank you so much!
I'll publish the next release soon to see it in action.
And thank you for documenting the PR.


Cover any numpy numbers in serialization

I ran into a serialization error with a np.intc at one point so I modified the clean_value_json method to cover any numpy number.

thank you Thomas!


Please give example of input images

Please give me example of input images which include mask and image

I random choose the image and mask from the Places2, CelebA and PSV to show, you can fix the mask in line 115-116, https://github.com/htyjers/DGTS-Inpainting/blob/DGTS/code/test/test.py to output your own inpainted image.


fix deprecation warning Ember.assign for 2.5.0

This should be enough @gertjanwytynck
The test fail seems unrelated:
Cannot find module 'lodash/lang/isFunction'


Feature Request: Resizable columns

Another improvement that can be cool :
Be able to resize with a resize bar the column size
@see project react-split-pane for inspiration

Looks pretty neat I could see something like an option say
options: {
  resizeableColumns: true|false
}

that would allow you to adjust any column.  If someone wants to take this work up I would approve of it

I just added this feature and published in version 2.0.0-beta-2.
it is off by default for now until more testing can be done.

resizableColumns not working in 2.0.0-beta-37. Is that a known issue?

Resizeable columns not working properly.

Please upgrade to the latest. if you have any issues please provide a codesandbox for me to look at

Resizable column is not working properly in 2.0.0-beta.59

resizable column is not working if column is more then 20 ...so what can i do any help

Please upgrade to the latest. if you have any issues please provide a codesandbox for me to look at

resizable column is not working if column is more then 20 ...so what can i do any help


Watching and changing a JS file, triggers the sass file compiling

Info:
Laravel mix: 0.11.4
Node: 7.9.0
npm: 4.2.0
OS: Win10
Description
My problem is when running npm run watch and then changing my accountplan-app.js file, it also compiles my sass files, this happens no matter what js files i changes, and no matter the order in my webpack.mix.js file.
If i change the order in the webpack.mix.js file, it just tells another file in the watch result, alway the file just before the sass line.
Webpack.mix.js

Result of the npm run watch

It's because the compiled Sass is extracted from your compiled JS file. You could use mix.standaloneSass() if you want a Sass build that knows nothing about Webpack.


feat: pfe-datetime adding time zone attribute

Closes #880
Testing Instructions

Visit the demo page: https://deploy-preview-881--happy-galileo-ea79c4.netlify.app/elements/pfe-datetime/demo/
Validate that the "With time zone" date is equal to "5/7/2019, UTC"

lgtm


Handled cases for initial chars

Here is a playground of email cases handled: https://regex101.com/r/TjPEI6/1

I think we have both done the same. My PR #39 also fixed those and the other remaining tests with the exception of the emoji and IDN domain name tests.

@KonajuGames yeah, we solved the same issue.

Just difference in approach is, @KonajuGames solved by handling cases via code and me via regex.

Just difference in approach is, @KonajuGames solved by handling cases via code and me via regex.

I extended the regex to be more generous in what it matches, to include opening and closing quotes, then filter them out in code.


apidump: Windows HWND should be considered an address/handle

For the purposes of the "Hide Addresses" option Windows HWNDs change from run-to-run should should be replaced with "address" or 0. This would eliminate the noise when analyzing a trace diff.

API Dump is located in the LunarG/VulkanTools here.
Please close this issue and reopen it there.

My bad. Thanks for the pointer.