WebdriverCSS is not performing visual difference step

When webdriverCSS asserts visual difference between images it creates regression screenshot and is not producing visual-diff screenshot, as it supposed to do.
I have a Jenkins job, which runs Selenium Cloud with webdriver.io and uses testem and jenkins TAP plugin for running mocha tests and reporting.
Webdriver.io configurations
var client = webdriverio.remote({
    desiredCapabilities: {
        browserName: 'firefox',
        version: '27',
        platform: 'XP',
        tags: ['FF'],
        name: 'Basic test',
    },
    host: 'ondemand.saucelabs.com',
       port: 80,
       user: sauceLabs.user,
       key: sauceLabs.key,
       logLevel: 'silent'
});

WebdriverCSS configurations
describe('## Homepage Screenshots', function( done ) {

    // 3 min timeout
    this.timeout(180000);

    it('Take Screenshots Of Homepage Components', function ( done ) {
        client
        .url( pageUrl.homepage )
            client
            .webdrivercss('homepage', [
                {
                    name: 'header',
                    elem: ".site-header",
                },
                {
                    name: 'footer',
                    elem: '.site-footer'
                },
            ], function(err, res) {
                    assert.ifError( err );
                    assert.ok( res.header[0].isWithinMisMatchTolerance );
                    assert.ok( res.footer[0].isWithinMisMatchTolerance );
                })

        client.call( done );

    });

});

I have opened this question on StackOverflow as well.

Did the content of the image change? WebdriverCSS only creates the regression and diff image if the diff is not within the tolerance.

@TheSavior Yes, the images were different, but WebdriverCSS didn't generate highlighted diff version.
Even though two different screenshots were captured, /home/tests/src/screenshots ...
homepage.1440px.png
homepage.footer.1440px.baseline.png
homepage.header.1440px.baseline.png
homepage.header.1440px.regression.png

Hmm. I've been using webdrivercss a bunch today and haven't had that problem. Can you provide a simple sample repo that can help me reproduce the problem?

@TheSavior  Please let me know if you have any questions.
Sample repo
Thank you

Thanks for providing the same repo. It looks like there are a lot of moving pieces in there still. Can you remove everything except a single webdrivercss call that isn't working? Since I need to spin it up on my machine, the more configuration I have to change, the harder it is for me to be able to test.
Also, what do you mean about SauceLabs not capturing your test sessions?
And separately, what results do you get if you just run it against a local instance of chrome or firefox instead of sauce labs.

Did you mean just this part?
.webdrivercss('homepage', [
    {
        name: 'header',
        elem: ".site-header",
    },
	{
    	name: 'footer',
    	elem: '.site-footer'
	},
], function(err, res) {
        assert.ifError( err );
        assert.ok( res.header[0].isWithinMisMatchTolerance );
    	assert.ok( res.footer[0].isWithinMisMatchTolerance );
    })
}

And my webdriver.io configurations:
var client = webdriverio.remote({
    desiredCapabilities: {
            browserName: 'firefox',
            version: '27',
            platform: 'XP',
            tags: ['FF'],
            name: 'Basic test',
    },
    host: 'ondemand.saucelabs.com',
           port: 80,
           user: "USERNAME",
           key: "TOKEN",
           logLevel: 'silent'
});

Also, what do you mean about SauceLabs not capturing your test sessions?

It's fixed, I just missed something ...

And separately, what results do you get if you just run it against a local instance of chrome or firefox instead of sauce labs.

This setup is on my digitalocean droplet now, but before I was running it on my local machine and it was working great with phantomjs/firefox/chrome...
I hope this will help, please let me know if you need something else.
Thank you

There is also I more thing which is not quite clear about webdriver.io ...

Does it mean than I can't use IE browsers with webdriver.io and saucelabs?

The diff image should be in ./build/ as you have set the failedComparisonsRoot. Can you check that?

Does it mean than I can't use IE browsers with webdriver.io and saucelabs?

The current build has some problems with the window handling in IE. It might be a racing condition ..  nothing critical. The WebdriverIO version you get from NPM is always tested before. The chart above just indicates that in the current dev version is something wrong.

The diff image should be in ./build/ as you have set the failedComparisonsRoot. Can you check that?

@christian-bromann I did check ./build, but it empty there ...

The current build has some problems with the window handling in IE. It might be a racing condition .. nothing critical. The WebdriverIO version you get from NPM is always tested before. The chart above just indicates that in the current dev version is something wrong.

Sweeeet :+1:
I made a short screencast showing my problem, hope it will be helpful
http://monosnap.com/file/D04rNXOUf5pb8zOTqn3YXyn1ZAM2dc

@christian-bromann any ideas what I'm doing wrong?

@Skoks sorry for the late response
If no image diff got created there was no visual regression. Meaning that your change didn't get deployed to the jenkins environment. Could you double check if this is the case?

Closing due to inactivity. Let me know if you have any further questions.


Segfault in ClientBundleEGL::exportBuffer

It appears I am getting a segfault here from code introduced in #90.
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007fe10f46071c in (anonymous namespace)::ClientBundleEGL::exportBuffer (this=0xd8afd0, bufferResource=0xd622b0, shmBuffer=0xe47210) at src/view-backend-exportable-fdo-egl.cpp:212
#2  0x00007fe10f45d6ae in ViewBackend::exportShmBuffer (this=<optimized out>, bufferResource=<optimized out>, shmBuffer=<optimized out>) at src/view-backend-exportable-private.cpp:98
#3  0x00007fe10f45dd42 in WS::<lambda(wl_client*, wl_resource*)>::operator() (surfaceResource=<optimized out>, __closure=0x0) at src/ws.cpp:196
#4  WS::<lambda(wl_client*, wl_resource*)>::_FUN(wl_client *, wl_resource *) () at src/ws.cpp:199
#5  0x00007fe1101c94c5 in ffi_call_unix64 () at ../src/x86/unix64.S:101
#6  0x00007fe1101c8daa in ffi_call_int (cif=cif@entry=0x7fffd9151ee0, fn=0x7fe10f45dcfb <WS::<lambda(wl_client*, wl_resource*)>::_FUN(wl_client *, wl_resource *)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fffd9151d80,
    closure=closure@entry=0x0) at ../src/x86/ffi64.c:669
#7  0x00007fe1101c9153 in ffi_call (cif=cif@entry=0x7fffd9151ee0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fffd9151d80) at ../src/x86/ffi64.c:688
#8  0x00007fe10fcfca19 in wl_closure_invoke (closure=closure@entry=0xda31f0, flags=flags@entry=2, target=<optimized out>, target@entry=0xd601a0, opcode=opcode@entry=6, data=<optimized out>, data@entry=0xfe7ab0)
    at src/connection.c:1014
#9  0x00007fe10fcfa1b1 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0xfe7ab0) at src/wayland-server.c:429
#10 0x00007fe10fcfae77 in wl_event_source_fd_dispatch (source=<optimized out>, ep=<optimized out>) at src/event-loop.c:95
#11 0x00007fe10fcfb4ce in wl_event_loop_dispatch (loop=0xfdb5a0, timeout=timeout@entry=-1) at src/event-loop.c:641
#12 0x00007fe10f45dce9 in WS::ServerSource::<lambda(GSource*, GSourceFunc, gpointer)>::operator() (base=0xfdb660, __closure=0x0) at src/ws.cpp:120
#13 WS::ServerSource::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at src/ws.cpp:129
#14 0x00007fe1134629cb in g_main_dispatch (context=context@entry=0xd8b3f0) at ../glib/gmain.c:3179
#15 0x00007fe11346538b in g_main_context_dispatch (context=context@entry=0xd8b3f0) at ../glib/gmain.c:3844
#16 0x00007fe1134654e7 in g_main_context_iterate (context=context@entry=0xd8b3f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#17 0x00007fe113465565 in g_main_context_iteration (context=context@entry=0xd8b3f0, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#18 0x00007fe113673860 in g_application_run (application=application@entry=0xd830d0, argc=argc@entry=6, argv=argv@entry=0x7fffd91523a8) at ../gio/gapplication.c:2559
#19 0x000000000040320b in main (argc=6, argv=0x7fffd91523a8) at cog.c:484

So this is the crash that's been causing problems in Fedora. I had previously reported https://bugs.webkit.org/show_bug.cgi?id=209118 but we should fix it here.

But the problem in https://bugs.webkit.org/show_bug.cgi?id=209118 is that EGL_WL_bind_wayland_display extension is not available and we are not calling eglBindWaylandDisplayWL(). Is this crash caused by not doing the bind too?

Yes, not calling eglBindWaylandDisplayWL() is intentional, Zan added a shm backend to use instead in that case. But the shm backend crashes here. This backtrace here has a couple more frames than mine does, but it looks like it's probably the same issue to me.

Is this crash caused by not doing the bind too?

Well, probably. I assume OP also does not have EGL_WL_bind_wayland_display available if using swrast. Not certain, but seems likely.

@jameshilliard Hi there! Could you comment on this providing a list of the EGL extensions exposed by your driver, or at least could you confirm that EGL_WL_bind_wayland_display is missing? Thanks!

@aperezdc I need to get my test environment set back up for this, I'm assuming this issue should be fixed by #268? I haven't had the chance to test that yet.

@aperezdc I need to get my test environment set back up for this, I'm assuming this issue should be fixed by #268? I haven't had the chance to test that yet.

I think so! At least for me here with an Intel GPU it has been possible to use SHM exports for a while. If you can check again on your side and confirm whether things are working now (or not), that would be nice. Thanks in advance.

If you can check again on your side and confirm whether things are working now (or not), that would be nice.

I don't have the exact setup where I was seeing is error available but I did check and this seems to work with a similar setup using swrast or llvmpipe. I'll close this for now as it appears to be fixed.

Thanks for double checking, @jameshilliard!


MiqExpression#contains improvement

Before

MiqExpression only supports contains value and tags for limited models.
MiqExpression has a lot of code around determining what contains is supported.

After

MiqExpression supports contains values and tags for any models reachable by non-virtual associations.
MiqExpression now uses MiqExpression::Target#*_supports_sql? instead of rewriting that logic.

added 36 lines of tests and 10 lines of comments - so feature for nothing and the code for free :)

kicking


Add pylint for Python code

We should enforce out-of-the-box pylint rules for all Python code files in the docs repository. Pylint should run as part of CI checks for all PRs and on all commits to develop. It should also be easy for developers to run the lint checks locally.

Hey @U8NWXD, Can I take this one?

@SD-13 I don't think this one is ready yet--we still need to decide what exactly we want the linter to require. If you have ideas about what practices we should enforce, I'd love to hear them!

@SD-13 okay I decided we can use pylint out-of-the-box and assigned you. When do you plan to complete this issue?

@U8NWXD probably, within the next two week

@U8NWXD should we use pylint in the GitHub workflow or as a pre-commit linter? Since we are already using workflows in this repo and we don't require any installation for local setup yet, I am more towards using GitHub actions for this. What do you think?

Yep, I agree with making this a GitHub workflow. CI checks are fast in this repo, so there's not much benefit to pre-push checks right now

It should also be easy for developers to run the lint checks locally.

Thinking about this line in the issue description, it will be like 2 steps

Install pylint( pip install pylint or pip3 install pylint ) (assuming python and pip are already installed)
Run pylint( pylint **/*.py )

So, do you think we need to document it or comment on it to help devs run it locally?

I do think we should document both steps (how to install pylint and how to run it)--this can go in our wiki page for the wiki: https://github.com/oppia/oppia/wiki/Wiki. I agree that this is simple enough that we don't need additional infrastructure (e.g. Python scripts to run the lint checks like we have on oppia-web).


Fixed bug where BlobBaseClient.DownloadTo() couldn't handle blobs wit…

…h length = 0
Resolves the blob length = 0 issue from https://github.com/Azure/azure-sdk-for-net/issues/12801

Also fixed issue where BlobBaseClient.DownloadTo() was not disposing network streams.


Stubs\MethodDocBlock - work with AliasManager for @return

need a small review cC @andresgutierrez

refs https://github.com/owl-framework/owl/commit/f9b65a95338e2b902dc9fa759209e0336523e718


Re-implement localization

Some bugginess with the translations and handlebars helper for localization in the ember-cli version I'm developing. More specific details to come.

Some progress has been made on this in commit 2aa3dd50b7de9bb246977351afed5e2d42b630b4 using https://github.com/jamesarosen/ember-i18n
TO DO:

[x] find ember-cli localization addon
[x] stub the pre-existing translations from original hifi app
[x] remove translation helper file? not sure if this was needed for something in particular
[ ] figure out if initializer is actually doing anything to determine the user's locale, or if it's just defaulting to 'en' all the time. if it's defaulting to 'en', lets fix that
[ ] replace plain text in the templates with the translation helper (I've only done this for the app.title so far in application.hbs)

Fixed as of 134117f


[Browsers] Polyfill and feature detection

The problem

Some methods uses ES6/ES2015.

What can we do to solve this problem

ES6 :  A polyfill is provided by Babel, we advise to use it in your app using a simple import 'babel-polyfill/dist/polyfill.js' or a require('babel-polyfill/dist/polyfill')

Use Modernizer in order to do feature detection

the babel polyfill ('babel-polyfill/dist/polyfill') is necessary but not sufficient: you will need to add the browser polyfill (browser-polyfill.min.js) in order to fix all IE 10 issues...

@durandx Thanks.

We answer to these problems with babel-preset-focus https://github.com/KleeGroup/babel-preset-focus

See https://github.com/KleeGroup/focus-components/releases/tag/v0.13.0


Specify appropriate type for registries

Options to use as type for each bibitem:

dataset
registry

As @opoudjis pointed out, ISO 690 does not distinguish a dataset or registry. Perhaps we need to update it.

I guess we should make a decision, whether to make a leap and use the “dataset” type already now or to keep IANA items using “standard” type until ISO 690 is updated?


Fix setting lat_ts for mercator projection in CRS.from_cf() and CRS.to_cf()

[x] Closes #461
[x] Tests added
[x] Fully documented, including history.rst for all changes and api/*.rst for new API

Also, fixes typo of fase_ to false_


Fix GCC warning with -Waggressive-loop-optimizations due to overflow

Fixes #60622.
The warning can be suppressed since the integer overflow is required for hashing.

Thanks!


Scala plugin: Zinc compiler validation and documentation

Add a table indicating the compatibility of Gradle / Zinc / Scala
Clear error message when breaking default zinc setup

@big-guy Thanks for putting the finishing touches on this! And sorry about the API change ... did not think of it.


Refactor: reuse parse_numalgo to avoid duplication

Micro refactor ;-) Just dipping my toes

Codecov Report

Merging #1020 (7106f81) into main (3f1045c) will decrease coverage by 0.15%.
Report is 1 commits behind head on main.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1020      +/-   ##
==========================================
- Coverage   36.67%   36.53%   -0.15%
==========================================
  Files         369      378       +9
  Lines       21811    21912     +101
  Branches     4010     4035      +25
==========================================
+ Hits         8000     8005       +5
- Misses      11653    11751      +98
+ Partials     2158     2156       -2

Flag
Coverage Δ

unittests-aries-vcx
36.53% <ø> (-0.15%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 16 files with indirect coverage changes


Add ability to override run callbacks to process per FOV

What is the purpose of this PR?
Closes #311. Addresses #306.
How did you implement your changes
See design doc in #311.

@srivarra all up and running now! The failing tests are from the old MIBItracker API code, we don't have to worry about that for this PR.

@alex-l-kong and @srivarra, will you guys take a look through the whole thing to confirm you guys are both happy with the final result?

@srivarra and I reviewed, looks good on our end.


Feat kb loading indicator messages

Changed LoadingIndicator message to be a random message instead of Loading.

Awesome, this will be a really great addition!! Thanks so much!


[FLINK-5240][tests] ensure state backends are properly closed

This adds additional test cases to verify the state backends are closed
properly upon the end of a task. The state backends should always be
closed regardless of the final state of the task.

LGTM 👍

+1, please go ahead and merge.
And thank for fixing. 👍 😃

Thanks for the review, will merge then.


Fix the Warnings in rst files when building Qlib's documentation

Fix all warnings in rst files except 4: docs/developer/code_standard_and_dev_guide.rst, docs/hidden/client.rst, docs/hidden/online.rst and docs/hidden/tuner.rst aren't included in any toctree (docs/index.rst).
Description

Motivation and Context

Related to #1345.
How Has This Been Tested?

[x] Pass the test by running: pytest qlib/tests/test_all_pipeline.py under upper directory of qlib.
[ ] If you are adding a new feature, test on your own test scripts.

Screenshots of Test Results (if appropriate):

Pipeline test:
Your own tests:

Types of changes

[ ] Fix bugs
[ ] Add new feature
[x] Update documentation

@microsoft-github-policy-service agree

It still reports a lot of warnings in my environment.

But the current PR has already fixed a lot of issues is really helpful.
I can merge it first you want to fix it in other PRs in the future.

It still reports a lot of warnings in my environment.
But the current PR has already fixed a lot of issues is really helpful. I can merge it first you want to fix it in other PRs in the future.

Yes, in this PR I wanted to fix all warnings in rst files. Now there should be only 4 warnings with rst files:
WARNING: document isn't included in any toctree. I'm not sure if they need to be added, and if yes, that I can do it well (add them in index.rst in proper places with proper titles).
The the PR turned out to be not small (about hundred lines were changed).
In the future I will try to fix other errors/warnings in other PRs.

I think docs/developer/code_standard_and_dev_guide.rst should be included in the index.rst
Files in hidden (docs/hidden/client.rst, docs/hidden/online.rst and docs/hidden/tuner.rst) should be ignored.
Maybe exclude_patterns will be useful

I think docs/developer/code_standard_and_dev_guide.rst should be included in the index.rst
Files in hidden (docs/hidden/client.rst, docs/hidden/online.rst and docs/hidden/tuner.rst) should be ignored. Maybe exclude_patterns will be useful

Would you like to update it in this PR?
Otherwise I'll merge it first.

I think docs/developer/code_standard_and_dev_guide.rst should be included in the index.rst
Files in hidden (docs/hidden/client.rst, docs/hidden/online.rst and docs/hidden/tuner.rst) should be ignored. Maybe exclude_patterns will be useful

Would you like to update it in this PR? Otherwise I'll merge it first.

I will try to do it in this PR soon

@you-n-g Now there are no warnings left with rst files and updated toc looks as follows

It looks great.
Do you think it will be more reasonable to put it before  REFERENCE:  and after OTHER COMPONENTS/FEATURES/TOPICS:?

It looks great!
Thanks for your great efforts.
Welcome to becoming one of Qlib's contributors!


Page's .Hugo is deprecated. Use the global hugo function

Building sites … WARN 2019/06/11 16:49:38 Page's .Hugo is deprecated and will be removed in a future release. Use the global hugo function

.Hugo variables are being deprecated,
https://github.com/laozhu/hugo-nuo/blob/6d6934bc6ac0cf2b6eb7774a8c6c1cf9c515a384/layouts/partials/head.html#L83-L84
Replace this with
<!-- Site Generator -->
{{ hugo.Generator }}

or
<!-- Site Generator -->
<meta name="generator" content="Hugo {{ hugo.Version }}">

I have same errors with hugo version 'hugo_0.55.5_Windows-64bit'. I can fix the error.


Breaking change log suggestion

The 3.0 was released.
But the rename TitleElement.TitleAlignment to TitleElement.TitlePlacement change in 3.0-rc1 is a breaking change.
It should be listed in 3.0 release log.

It may be better to create a separate page on the documentation page and mention the Breaking changes there

added in https://github.com/HandyOrg/HandyControl/pull/566


GH-169: Use the Actual Partition Count (Producer)

Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/169
If the configured partitionCount is less than the physical partition count on an existing
topic, the binder emits this message:
The `partitionCount` of the producer for topic partJ.0 is 3, smaller than the actual partition count of 8 of the topic.
The larger number will be used instead.

However, that is not true; the configured partition count is used.
Override the configured partition count with the actual partition count.

Merged via 02913cd177ff540e64f591a54a6cb39318b0c660


[0.9] Remove experimental flag for copyToClipboard

@zurfyx Can you sense check that this flag is okay to be removed? The function has been in use for around 6 month without any reported bugs.


feat: compose legend labels

Description
This PR adds the ability to customize legend labels through custom prop. The prop is renderItem and it takes a function or a component, renderItem provides an item string, a  Circle component and index. item is the label that would be used in a normal legend while the Circle is the component that would typically render in the legend. the index is self-explanatory.
Related issue(s)
#978
What kind of change does this PR introduce? (check at least one)

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New Feature (non-breaking change which adds functionality)
[ ] New Feature (BREAKING CHANGE which adds functionality)
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

If yes, please describe the impact and migration path for existing applications:
How has this been tested?

Screenshots (if appropriate):

The PR fulfils these requirements:

[X] It's submitted to the main branch
[ ] When resolving a specific issue, it's referenced in the related issue section above
[ ] My change requires a change to the documentation. (Managed by Tremor Team)
[X] I have added tests to cover my changes
[ ] Check the "Allow edits from maintainers" option while creating your PR.
[ ] Add refs #XXX or fixes #XXX to the related issue section if your PR refers to or fixes an issue.
[X] By contributing to Tremor, you confirm that you have read and agreed to Tremor's CONTRIBUTING.md guideline. You also agree that your contributions will be licensed under the Apache License 2.0 license.

Hey @severinlandolt do you think exporting a new CustomLegendLabel interface for using in other components with typescript?
for example:
import { Legend, CustomLegendLabel } from '@tremor/react'

const MyCustomLabel = ({ item, index }: CustomLegendLabel) => {
  return <p>{index} - {item}</p>
}

const App = () => {
  return <Legend categories={["One", "Two", "Three"]} renderItem={MyCustomLabel} />
}

here the developer won't need to define props or use any

Wondering if having a Circle is the best naming here? May want to allow the dev to create a square or some other shape to as their legend

@nicostombros The Circle component is just a wrapper around the actual colored dot that you find in legends, maybe Dot or ColoredDot.
Hello @severinlandolt , May I get your opinion.


Clarifies some information

more info: https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/1371

@MicrosoftHeidi Hi Heidi! Changes look correct, could you please check and merge? Thanks!


TypeError: Cannot set property 'lIns' of undefined

Hi there,
in https://github.com/gitbrent/PptxGenJS/blob/8d81999e1a09bb581a7d870e0e5727373f37a83a/src/gen-xml.ts#L415 is a check missing for slideItemObj.options._bodyProp.
Best regards

A default is added when the object is instantiated in the addTextDefinition() method:
https://github.com/gitbrent/PptxGenJS/blob/ea85a79e07aa9b41cb10b065fba180a42ec41881/src/gen-objects.ts#L903
However, I agree that's a poor design.
A local check has been added:

Thanks @CroniD !

A default is added when the object is instantiated in the addTextDefinition() method:
https://github.com/gitbrent/PptxGenJS/blob/ea85a79e07aa9b41cb10b065fba180a42ec41881/src/gen-objects.ts#L903
However, I agree that's a poor design.
A local check has been added:

Thanks @CroniD !


TimeoutError: [Errno 60] Operation timed out

log:
(venv) SENRSL:blog senrsl$ python blogger/blogger.py --logging_level=DEBUG --noauth_local_webserver
/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access blogger.dat: No such file or directory
  warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Go to the following link in your browser:

    https://accounts.google.com/o/oauth2/auth?client_id=888-999.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fblogger&access_type=offline&response_type=code

Enter verification code: 000
Traceback (most recent call last):
  File "/Users/senrsl/temp/blog/blogger/blogger.py", line 84, in <module>
    main(sys.argv)
  File "/Users/senrsl/temp/blog/blogger/blogger.py", line 47, in main
    service, flags = sample_tools.init(
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/googleapiclient/sample_tools.py", line 98, in init
    credentials = tools.run_flow(flow, storage, flags)
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/tools.py", line 243, in run_flow
    credential = flow.step2_exchange(code, http=http)
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/client.py", line 2053, in step2_exchange
    resp, content = transport.request(
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/oauth2client/transport.py", line 280, in request
    return http_callable(uri, method=method, body=body, headers=headers,
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/httplib2/__init__.py", line 1985, in request
    (response, content) = self._request(
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/httplib2/__init__.py", line 1650, in _request
    (response, content) = self._conn_request(
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/httplib2/__init__.py", line 1557, in _conn_request
    conn.connect()
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/httplib2/__init__.py", line 1391, in connect
    raise socket_err
  File "/Users/senrsl/temp/blog/venv/lib/python3.9/site-packages/httplib2/__init__.py", line 1324, in connect
    sock.connect((self.host, self.port))
TimeoutError: [Errno 60] Operation timed out
(venv) SENRSL:blog senrsl$

Is this only a network problem? Or what do I need to do after entering the verification code?
Thx.

Yes, it looks like a network issue from the error message. Can you show us a bit of your code?

Yes, it looks like a network issue from the error message. Can you show us a bit of your code?

The code in the sample I copied, https://github.com/googleapis/google-api-python-client/tree/master/samples/blogger, has been running timeout, it seems to be a network problem in mainland China.
  # Authenticate and construct service.
  service, flags = sample_tools.init(
      argv, 'blogger', 'v3', __doc__, __file__,
      scope='https://www.googleapis.com/auth/blogger')

Is there any other way to get  “service”？
Thanks for reply。

The code in the sample I copied, https://github.com/googleapis/google-api-python-client/tree/master/samples/blogger, has been running timeout, it seems to be a network problem in mainland China.
  # Authenticate and construct service.
  service, flags = sample_tools.init(
      argv, 'blogger', 'v3', __doc__, __file__,
      scope='https://www.googleapis.com/auth/blogger')

Is there any other way to get  “service”？
Thanks for reply。

Thank you very much.
It has been timed out yesterday.
It turns out that I forgot to hang the proxy for the terminal, so I can’t access google.
Thanks again for your confirmation.

Thank you very much.
It has been timed out yesterday.
It turns out that I forgot to hang the proxy for the terminal, so I can’t access google.
Thanks again for your confirmation.


ci: Excluded cluster should not be run for Soak Testing

Fixes #N/A
Description

Prevent Excluded cluster from running in soak testing suite

How was this change tested?

N/A

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

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

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 82.191%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5372

Relevant Lines:
6536

💛  - Coveralls


Add trigger source

Add trigger source module with support for fixedDelay, date and cron trigger options
Have the configuration classes for all these flavors under common modules package

This will enable re-use of multiple trigger flavors

Add tests

This resolves #87

The module doesn't contains README and there is need a note in the sources.adoc.
Anyway it is a good job!
I'd be glad to find time to contribute here, too :smile:
Merry Christmas, BTW!

Hey, @ilayaperumalg !
You haven't notified me with the Pushed comment about your new commit.
OK. Pulling that now locally for review...

That's all for this round.

Sorry, I missed to notify when I pushed the latest. Thanks for the review.
I will follow up on the comments.
On Thursday, January 7, 2016, Artem Bilan<EMAIL_ADDRESS>wrote:

Hey, @ilayaperumalg https://github.com/ilayaperumalg !
You haven't notified me with the Pushed comment about your new commit.
OK. Pulling that now locally for review...
—
Reply to this email directly or view it on GitHub
https://github.com/spring-cloud/spring-cloud-stream-modules/pull/146#issuecomment-169705813
.

@artembilan Pushed the changes.

Hi there!
Here is what I think on the matter: https://github.com/artembilan/spring-cloud-stream-modules/commit/8a0531b3b1be7e59f2a93724e66205e9548c850d

@artembilan The changes above look good to me.

Hello, @ilayaperumalg !
Thank you for the feedback!
So, we need agree on the annotation name (https://github.com/artembilan/spring-cloud-stream-modules/commit/8a0531b3b1be7e59f2a93724e66205e9548c850d#diff-3d0adcd7cef4ce47490a6532b1d4cb81R30) and I'll merge to go ahead with other stuff.

My only concern would be if "Polled" might be confused as past-tense. Would @PollingSource or @PollableSource work? (the latter probably not, as it implies something must poll it as opposed to it doing the polling).

[2:27:45 PM] Marius Bogoevici: No, because it’s not the source doing the polling
[2:28:18 PM] Marius Bogoevici: the source is ‘polled’
[2:28:25 PM] Sabby Anandan: ah!
[2:28:28 PM] Marius Bogoevici: in the same way a dependency is ‘autowired'

My objection to PollingSource was that the annotated component doesn't do any polling, it is instead polled by the default poller. I was thinking of polled as an adjective, just as autowired.

but autowired happens once, while polling is continuous... so maybe "pollable" does fit?

Yeah... That's why the general annotation is @InboundChannelAdapter, meaning create a SourcePollingChannelAdapter endpoint for this MessageSource...
From the SCS perspective it is really a "source of data for the stream by some polling options"...
We have PollableChannel abstraction for similar reason, so it might be really good to be consistent?
I mean @markfisher 's @PollableSource :smile:

I don't read Polled as a one-off thing, and think the notion of polling already implies some kind of repetition. Also PollableChannel is an interface, as generally '-able' things are.
That being said, I'm not necessarily opposed to pollable.

Let's end up with the @PollingSource as it reflects the Source as a module and its Polling behavior!
Right, we don't need (yet) any annotations for other kind of sources, but they may sound like Listening, Reactive, Reading etc.

I'd still vote for @PollingSource, as it clearly defines the polling, which is continuous and for source modules. @mbogoevici / @markfisher: any other thoughts / concerns?

I stand by my opinion Polling is not the right choice, since the annotated component doesn't actually do any polling. Pollable would be better, if Polled is not acceptable. But I don't think it's a blocker.

Merging with @PollingSource...

I agree with @mbogoevici @PollingSource is incorrect.

Well, now I read Mark's comment, I am not so sure.
This was my rationale...
In the context of s-c-s-m the source is a noun and it is polled for messages - the fact that the polling infrastructure is contained in the source module is irrelevant
In the context of SI, SPCA properly uses “polling” because it (the channel adapter) polls the MessageSource
SourcePolledChannelAdapter would be wrong
Given that the polling is done within the source (as opposed to SI where the SPCA does the polling).
Also, polling might be considered wrong - a Trigger might only fire once.
@TriggeringSource ??

That's why one of my suggests was @SourceInput when it implies the marker for method which is really "the source of data for the stream". And it doesn't matter how it is implemented under neat.

Merged as https://github.com/spring-cloud/spring-cloud-stream-modules/commit/abc4ec5c7763e0290dd9a15dd2f05fe5e4b2c79d.
Congratulations for all of us! :smile:
The discussion regarding @PollableSource name be extended anyway :wink:


Vulnerability found in cookies package

What version of starlight are you using?
0.28.3
What version of astro are you using?
4.16.3
What package manager are you using?
pnpm
What operating system are you using?
Windows
What browser are you using?
Chrome
Describe the Bug
I am using  Astro Starlite theme  got two vulnerability issue when I run pnpm audit fix command on cookie npm package as below
'cookie accepts cookie name, path, and domain with out   of bounds characters ' .
I upgraded the starlite theme and astro using command  'pnpm install<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Now one vulnerability is gone but still other exists in the below .
│ packages/healthelink-docs-prime >                      │
│ Paths                       │<EMAIL_ADDRESS>><EMAIL_ADDRESS>>         │
│                     │<EMAIL_ADDRESS>><EMAIL_ADDRESS>Link to Minimal Reproducible Example
Nil
Participation

[X] I am willing to submit a pull request for this issue.

Thanks for the issue @sreejithkalarikkal !
This looks like it isn't caused by Starlight unless I have misunderstood. Upgrading to the latest Astro release like you did removes Astro's dependency on the vulnerable version of cookie.
Based on your comment it sounds like the vulnerable version is still being pulled in by another dependency rather than Starlight/Astro.

Can you please explain more on it. Out of two one vulnerability is removed.

If I'm understanding correctly, the table you're posting shows the dependencies causing the issue. In other words, astro-page-insights depends on lighthouse which depends on @sentry/node which depends on the vulnerable version of cookie. astro-page-insights is not part of Starlight, and if you uninstalled it, that would remove the "vulnerable" dependency. That said, the vulnerability may not be serious if that integration is only running during dev and your site is static.
Either way, I don't think this is a Starlight issue, so hope you don't mind me closing this! (Feel free to ask further questions if you need to though.)


Native component won't appear

node -v 9.5.0
npm -v 5.6.0
react-native-cli: 2.0.1
react-native: 0.55.4
native-base 2.8.0
Hi everyone, actually I am using native-base as a template base for my mobile app.But hsomehow all native-base component doesn't work in my environment.
Here is my simple code

And here is what I get

Strangely both Text components appear but not native-base ones, however, I imported the components and no error arose. Could anyone please tell me why or could help me find the reason?
Thank you

@RijaAdrian This is supposed to be incomplete code
I get error Adjacent JSX elements must be wrapped in an enclosing tag

This is not NativeBase

I cannot test this code

You can create new issue, with complete and correct details


Add a zoom out camera feature like from the Gcam

How should we decide which zoom values to show? They show minimum zoom, 1x zoom and the base value where the telephoto lens can be used which we can't easily determine across devices. Also, their 4x zoom button on Pixel 6 Pro and Pixel 7 Pro often does not actually trigger switch to telephoto camera despite that being a common misconception because the zoom value it switches is dynamic and often is around 4.7x or 4.8x for typical lightning indoors, on a cloudy day or in the evening.

Duplicate of https://github.com/GrapheneOS/Camera/issues/87.

Ok, I'll delete this issue as it has its own duplicates


[vimeo] Huge increase in Unable to extract info section errors

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
Hello, I am getting increasingly more 'unable to extract info section' errors. The urls are from vimeo. On the same url, sometimes, this error appears and sometimes it doesn't.  at times,can get same error on same url for 6-10 consecutive time.  I'm go through big input text file and it is important for me to avoid as it breaks my operation.
Using windows exe . Anything to avoid this would be appreciated.  Thank you.
yt-dlp --get-title https://player.vimeo.com/video/786646692 -vU
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['--get-title', 'https://player.vimeo.com/video/786646692', '-vU']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19044-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 2023-01-30-git-2d202985b7-full_build-www.gyan.dev (setts), ffprobe 2023-01-30-git-2d202985b7-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[vimeo] Extracting URL: https://player.vimeo.com/video/786646692
[vimeo] 786646692: Downloading webpage
ERROR: [vimeo] 786646692: Unable to extract info section; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 680, in extract
  File "yt_dlp\extractor\vimeo.py", line 837, in _real_extract
  File "yt_dlp\extractor\common.py", line 1228, in _search_regex

In some player pages, the config object var is no longer followed by a ;, so the extractor's regex isn't finding the "info section" JSON
A quick fix:
diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py
index 97b99fc50..8422f93fc 100644
--- a/yt_dlp/extractor/vimeo.py
+++ b/yt_dlp/extractor/vimeo.py
@@ -834,8 +834,8 @@ def _real_extract(self, url):
             raise

         if '://player.vimeo.com/video/' in url:
-            config = self._parse_json(self._search_regex(
-                r'\b(?:playerC|c)onfig\s*=\s*({.+?})\s*;', webpage, 'info section'), video_id)
+            config = self._search_json(
+                r'\b(?:playerC|c)onfig\s*=', webpage, 'info section', video_id)
             if config.get('view') == 4:
                 config = self._verify_player_video_password(
                     redirect_url, video_id, headers)

Thanks, I'm running .exe on windows.  How can I implement your changes.  I'm not sure the steps to follow. thanks

In some player pages, the config object var is no longer followed by a ;, so the extractor's regex isn't finding the "info section" JSON
A quick fix:
diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py
index 97b99fc50..8422f93fc 100644
--- a/yt_dlp/extractor/vimeo.py
+++ b/yt_dlp/extractor/vimeo.py
@@ -834,8 +834,8 @@ def _real_extract(self, url):
             raise

         if '://player.vimeo.com/video/' in url:
-            config = self._parse_json(self._search_regex(
-                r'\b(?:playerC|c)onfig\s*=\s*({.+?})\s*;', webpage, 'info section'), video_id)
+            config = self._search_json(
+                r'\b(?:playerC|c)onfig\s*=', webpage, 'info section', video_id)
             if config.get('view') == 4:
                 config = self._verify_player_video_password(
                     redirect_url, video_id, headers)

Thanks, I'm running .exe on windows. How can I implement your changes. I'm not sure the steps to follow to add the patch. thanks.  what do the red highlighted text mean.  do we delete that lines and replace with green lines?

It's a patch for the source code. Can't be applied to the .exe
As a workaround for now, with this video you can use this URL: yt-dlp "https://vimeo.com/786646692"
That URL conversion won't work for every player URL though

Somewhat unexpectedly, yt-dl (the master version fixed according to https://github.com/ytdl-org/youtube-dl/issues/31311) isn't seeing the same problem with OP's URL.

Somewhat unexpectedly, yt-dl (the master version fixed according to https://github.com/ytdl-org/youtube-dl/issues/31311) isn't seeing the same problem with OP's URL.

I get the same regex error with youtube-dl master. Perhaps it's a regional thing?

It happens sometimes,not all the time. Say out of 100 tries, it happens around 20% on the same url. I guess I will have to wait for next update as I don't know how to use without exe files.

Yes, I reproduced it. The new JS is probably being deployed across the CDN servers. The new format has , "fastly_skyfire":{"avc_url":... after the braced JSON instead of ;.
Note the work-around mentioned above.

Yes, I reproduced it. The new JS is probably being deployed across the CDN servers. The new format has , "fastly_skyfire":{"avc_url":... after the braced JSON instead of ;.
Note the work-around mentioned above.

Hi, what's the difference in the solution mentioned by 'bashonly' and your commit solution. Looking to see which one to use.  For reference

bashonly code:
config = self._search_json( r'\b(?:playerC|c)onfig\s*=', webpage, 'info section', video_id)

your commit code:
config = self._parse_json(self._search_regex( r'\b(?:playerC|c)onfig\s*=\s*({.+?})\s*[;,]', webpage, 'info section'), video_id)

Thank you

They are almost the same. youtube-dl just doesn't have _search_json

config = self._parse_json(self._search_regex( r'\b(?:playerC|c)onfig\s*=\s*({.+?})\s*[;,]', webpage, 'info section'), video_id)

This actually doesn't work:
[vimeo] 786646692: Downloading webpage
[vimeo] Saving request to 786646692_https_-_player.vimeo.com_video_786646692.dump
ERROR: 786646692: Failed to parse JSON  (caused by JSONDecodeError("Expecting ',' delimiter: line 1 column 870 (char 869)")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

and , "fastly_skyfire":{"avc_url":... is part of the JSON that should be parsed

Applying the patch provided by bashonly worked perfectly.

In yt-dl the right patch adds (?s) at the start of the pattern, thanks @bashonly, so the actual problem was line breaks in the JS. How the patch shown above worked under test is a mystery.

yt-dlp --list-formats https://player.vimeo.com/video/509558858
[vimeo] Extracting URL: https://player.vimeo.com/video/509558858
[vimeo] 509558858: Downloading webpage
ERROR: [vimeo] 509558858: Unable to extract info section; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
C:\FFmpeg>yt-dlp -U
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)

Applying the patch https://github.com/dirkf/youtube-dl/commit/9910418f00ea8231e5acf1eebe88f4e03517a1cc  to yt-dlp fails for me:
[vimeo] 742596735: 742596735: Failed to parse JSON (caused by JSONDecodeError('Extra data in \'35"}}\\n    var fullsc\': line 2 column 5 (char 11622)'));

Note that var fullscreen... is the next line after playerConfig:

The patched regex seems to match too far down the file.

I see. Thanks for the clarification!
I lack any knowledge regarding the differences between youtube-dl and yt-dlp.
I even thought youtube-dl was entirely unmaintained for years already. Turns out I was wrong!

Hi
Not sure if I am in the right place, I've been trying to find a way to download a private embedded vimeo video for over a week now, and looked at many gists that claimed to work. Nothing does. So far I can't get YT DLP to do it either.
Until a few days ago I was using a chrome extension, that would somehow parse the page (yes, even for private clips), and return a piece of code (including a reference to FFMPEG) that I would then paste into the terminal, and the clip would download. But they paywalled it just recently.
I wanted to ask in discussions but discussions are locked.
Not 100% confident I can repeat the steps to submit an issue without "getting blocked".
Is there documentation or a guide on how to use YTDLP to get vimeo videos? So far all my searching reveals similar issues to the above, with 403 errors, json parsing problems or similar.
Many thanks

I'm up to date as of today, but I still can't get YT-DLP to download the clip. Not sure why.
[generic] master: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] master: Extracting information
[info] master: Downloading 1 format(s): video-ee878ba9+audio-befe08dd
ERROR: unable to download video data: HTTP Error 403: Forbidden

Clip is private but watchable on the page I am on, I used to be able to get these via the Chome Extension from Vimeomate... it's just collecting all the pieces and using FFMPEG to re-assemble them, right? If something is playable in the browser, I should be able to do this? Not sure how the extension worked, injecting something or other... it would add buttons to the actual Vimeo Embed. So maybe the problem here is login? As I have to be logged into the site to view, but via terminal command yt-dlp, obviously the request is not coming from the right page.
How to solve this?

@EmmaWebGH Downloading the m3u8/mpd links directly will not work, if that's what you were trying (but it's hard to tell from such a minimal log).
Try downloading the webpage URL and passing --cookies-from-browser chrome to see if yt-dlp can extract the Vimeo embed.
If not, then view the page source and find the vimeo embed URL (it should be https://player.vimeo.com/video/...). Download the embedded player URL and add pass the original webpage URL as the argument to the --referer option

@bashonly Thanks, these also didn't work.
I'm now trying on a page that does not require a login, it's publicly accessible, but the vimeo clip is restricted to embedding on that domain only. YT-DLP fails. I am sorry to post here, I feel like this should be happening in a discussion, but discussions are locked so I have no choice.
Page is https://www.behance.net/gallery/151753533/BMWi-Oasis
Embed is https://player.vimeo.com/video/728945341
So I tried
yt-dlp https://player.vimeo.com/video/728945341 --cookies-from-browser chrome
and
yt-dlp https://player.vimeo.com/video/728945341 --referer https://www.behance.net/gallery/151753533/BMWi-Oasis
and
yt-dlp https://player.vimeo.com/video/728945341 --referer https://www.behance.net/gallery/151753533/BMWi-Oasis --cookies-from-browser chrome
The above 3 combinations don't work.
Also, terminal says no such option: --referer. On the main page, it lists that as deprecated?
Since it's not logged it, not sure cookies would do anything. But it's domain restricted still, so referer maybe, if it worked?
I didn't file a new issue as there's already one #6229 that leads back to here. Is this one really closed?

@EmmaWebGH

My terminal reports " Unable to extract info section;" so that's still a thing.

it's been fixed in the master branch, meaning it will be fixed in the next release. If you don't want to wait for the next release, you can use the newest unofficial daily build, or install from master with PIP

yt-dlp https://player.vimeo.com/video/728945341 --referer https://www.behance.net/gallery/151753533/BMWi-Oasis

^ this works for me on master

terminal says no such option: --referer. On the main page, it lists that as deprecated?

It still works though, at least for me. Weird that it doesn't for you. Alternatively you can do this:
yt-dlp "https://player.vimeo.com/video/728945341" --add-header "Referer:https://www.behance.net/gallery/151753533/BMWi-Oasis"

Are they just running yt-dlp and having the same issue as you guys?

Possibly yeah, or youtube-dl


Feat/add custom colors

This ports rocket chat color variables and converts near gray colors to shades of freeCodeCamp primary color.

This is live, right?  If so, it looks great.
Could we add some docs, explaining how to use this? Presumably for now we just drop it in the custom CSS part of /admin/Layout, but would we want to create a theme in future?

Yes, this is live.
I added some comments so it should be self explanatory.
The theming feature seems to be under development, but we will have our own theme in the future.
https://docs.rocket.chat/guides/developer/ui-and-theming/themes


Custom namespaces for XPath

I created a sample document in Word and the namespaces contained within it seem to be different than those that are natively included with python-docx.    I found the included namespace map here.
And it appears that the newest version overrides the XPath function and uses these included namespaces.  In previous versions of python-docx I would use the child's namespace directly in the function to ensure that it was found, but with this override I am unable to do it and get the error:
TypeError: xpath() got an unexpected keyword argument 'namespaces'
Here is my sample document:
https://github.com/fdabek1/random_files/blob/master/checkbox_control.docx
Below is some sample code:
from docx import Document

doc = Document('checkbox_control.docx')

for paragraph in doc.paragraphs:
    checkboxes = paragraph._element.xpath('w14:checkBox')

    # Old method that no longer works
    # checkboxes = paragraph._element.xpath('w14:checkBox', namespaces=paragraph._element.nsmap)

Being able to get this functionality back would be great as I am using python-docx to parse through some Word documents with a lot more ease than using lxml/etc for the entire document.

I found a solution that works for now, but is quite hacky:
from docx import Document
from lxml import etree

doc = Document('checkbox_control.docx')

for paragraph in doc.paragraphs:
    checkboxes = etree.ElementBase.xpath(paragraph._element, './/w14:checkbox', namespaces=paragraph._element.nsmap)

    # Old method that no longer works
    # checkboxes = paragraph._element.xpath('w14:checkBox', namespaces=paragraph._element.nsmap)


Cannot launch Expo Android apps

Description
Currently, Tophat cannot launch Expo apps on Android.
Tophat installs the app correctly, but fails to open the app on the emulator and gives an error message.
This happens because of how apkanalyzer handles quoted escapes, which are used on CODE_SIGNING_METADATA in expo modules.
CODE_SIGNING_METADATA is bundled like this:

APK Analyzer reads it like this (missing escapes):

Removing CODE_SIGNING_METADATA manually to test solved the issue. That's not a fix, though.
PPS:
Accept a user-configurable bundle id OR fix the command to parse metadata correctly.
Suggestion: Expo Orbit uses aapt instead of apkanalyzer, which works
Steps to reproduce

Attempt to open an APK built with Expo
App correctly downloaded on device
App not launched automatically
Error pops up.

Expected behavior

Attempt to open an APK built with Expo
App correctly downloaded on device
App launched automatically

Screenshots
Error logs:

System

Device: MacOS
OS: maxOS 15.1 (24B83)
Platform: M3 Pro

Other details

Working on a PR for it.


fix: last sign in time

I've changed detection mechanism of inactive users because user.metadata.lastSignInTime returns the date the user last signed in and only updated when user manually logs out and signs in again. That leads to deletion of active users. So user.metadata.lastRefreshTime should be used instead, it returns the time at which the user was last active but could be null if user wasn't active at all, so we still should get user.metadata.lastSignInTime. Related issue #829

Thank you @Veargan!


When I use ProfileCredentialsProvider in the AWS Java SDK with credential_process, get issue "tls: failed to verify certificate: x509: OSStatus -26276"

Summary
I followed this awesome reference to set up the rolesanywhere on my MacBook: https://aws.amazon.com/blogs/security/extend-aws-iam-roles-to-workloads-outside-of-aws-with-iam-roles-anywhere/, and it works when I run AWS CLI on my MacBook. However, when I tested it in my code with AWS Java SDK in Spring Boot Application, it does not work.
~/.aws/config
[default]
region=us-west-2
credential_process = </path/to/aws_signing_helper> credential-process --certificate /path/to/cert.pem --private-key /path/to/private-key.pem --trust-anchor-arn <trust-anchor-arn> --profile-arn <profile-arn> --role-arn <role-arn>

Test with AWS CLI
Command
aws sts get-caller-identity
Response
{
    "UserId": "<userid-part1:userid-part2>",
    "Account": "<correct account id>",
    "Arn": "<correct assumed role arn>"
}

Test with AWS Java SDK in Spring Boot Application
Java Code
    public S3Client provideS3Client() throws InterruptedException {
        S3Client s3Client = S3Client.builder()
                .region(Region.US_WEST_2)
                .credentialsProvider(ProfileCredentialsProvider.create("default"))
                .crossRegionAccessEnabled(true)
                .build();
        return s3Client;

Error
Caused by: java.lang.IllegalStateException: Command returned non-zero exit value (1) with error message: 2024/05/02 22:24:13 RequestError: send request failed
caused by: Post "https://rolesanywhere.us-west-2.amazonaws.com/sessions?profileArn=arn%3Aaws%3Arolesanywhere%3Aus-west-2%3A<account-id>%3Aprofile%2F04da14fe-425d-45ea-babf-b508feebe73f&roleArn=arn%3Aaws%3Aiam%3A%3A<account-id>%3Arole%2Ftest-ats-outside-amazon&trustAnchorArn=arn%3Aaws%3Arolesanywhere%3Aus-west-2%3A<account-id>%3Atrust-anchor%2F2fa10e15-c6f6-4343-83a4-7588706335cc": tls: failed to verify certificate: x509: OSStatus -26276

Potential Fix
I noticed that the issue was from tls and there is one flag for aws_signing_helper: --no-verify-ssl. I tried to add --no-verify-ssl in the ~/.aws/config, like this
[default]
region=us-west-2
credential_process = </path/to/aws_signing_helper> credential-process --certificate /path/to/cert.pem --private-key /path/to/private-key.pem --trust-anchor-arn <trust-anchor-arn> --profile-arn <profile-arn> --role-arn <role-arn> --no-verify-ssl

Then no more issue, the S3Client started working with correct credentials.
Question
Could you help me understand the root cause of this issue? Besides, according to the official reference: https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html#credential-helper-options
Important
Note that this disables TLS host authentication, and can open the connection to man-in-the-middle attacks. This option should only be used under specific, tightly controlled scenarios, such as debugging proxy connections.

It seems like it is better to not use --no-verify-ssl.
Thanks.

I suspect that the trust store from which the Java SDK client is pulling CA certificates from is different from the one that the AWS CLI uses. I believe the Java SDK uses the default Java cacerts trust store, so you may be able to fix this by adding the Amazon Root CA certificate to your trust store.

Two other avenues to investigate -

Are the two commands (CLI vs. Spring Boot) running on the same instance? The Java cacerts shouldn't affect the trust store the credential helper uses, but a different instance might.

Is the Spring Boot app launched with the environment variables HTTP_PROXY or HTTPS_PROXY set? The AWS Java SDK 2 ProcessCredentialsProvider (implicitly called by the ProfileCredentialsProvider when handling a profile with credential_process defined) uses the Java ProcessBuilder. According to the Javadoc, the child process is run with "copy of the environment of the current process" - so if the app is launched with those variables, I expect them to be in the credential helpers environment.

The Go standard library, used by the credential helper, will honor those variables. If set, it will connect to the proxy first, which presents a certificate - usually a private certificate that's not in the trust store. If you find this is the case, you can put the certificate into the trust store, or try launching the Boot app without the variables.
Independently, you can cerify the validity of the Roles Anywhere endpoint TLS certificate -
openssl s_client -connect rolesanywhere.us-west-2.amazonaws.com:443 -showcerts < /dev/null

You can also verify that the credential helper can access the endpoint with no TLS errors, when called directly -
aws_signing_helper> credential-process --certificate /path/to/cert.pem --private-key /path/to/private-key.pem --trust-anchor-arn <trust-anchor-arn> --profile-arn <profile-arn> --role-arn <role-arn>

The key is figuring out what is different when the JVM forks out to the process.

@rlalcorn Thanks for your quick reply.

Are the two commands (CLI vs. Spring Boot) running on the same instance? The Java cacerts shouldn't affect the trust store the credential helper uses, but a different instance might.

Yes, they were both ran on my MacBook.

Is the Spring Boot app launched with the environment variables HTTP_PROXY or HTTPS_PROXY set?

I tried echo $HTTP_PROXY and echo $HTTPS_PROXY, nothing is returned. Besides, I also checked the application.properties file, nothing related to them either.
I tried to run aws_signing_helper credential-process --certificate /path/to/cert.pem --private-key /path/to/private-key.pem --trust-anchor-arn <trust-anchor-arn> --profile-arn <profile-arn> --role-arn <role-arn>, and it works for me.
I tried to run openssl s_client -connect rolesanywhere.us-west-2.amazonaws.com:443 -showcerts < /dev/null and it works as well for me to return some certificates and something like this in the end
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 5574 bytes and written 403 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE

I am a newbie on the domain of the trust store and certificate. It would be appreciated if you could share more debug process with more details. Thanks.

@13ajay Thanks for your quick reply.
Let me explore on this.
I followed on this https://docs.aws.amazon.com/privateca/latest/userguide/PcaIssueCert.html to set up the end-entity certificates as required as the 2nd prerequisites mentioned in this reference: https://aws.amazon.com/blogs/security/extend-aws-iam-roles-to-workloads-outside-of-aws-with-iam-roles-anywhere/

An end-entity certificate and associated private key available on the on-premises server

After I install all Amazon Root CAs into the $JAVA_HOME/lib/security/cacerts, the issue is resolved.
Command
keytool -import -trustcacerts -alias AmazonRootCA1 -file /path/to/AmazonRootCA1.pem
Thanks for everyone help, especially @13ajay, your suggestion is correct.


generateKML for map service -  urllib2.HTTPError: HTTP Error 400: Bad Request

I am on ArcREST Version 3.5.3 Release.
When trying to generate a KML file, an error is returned:
urllib2.HTTPError: HTTP Error 400: Bad Request
The code breaks at this line:
resp = opener.open(fullurl=format_url)
In the file arcrest/web/_base.py
format_url has the value of
'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/generateKml?docName=SampleKML&layers=1&layerOptions=composite&f=json?token=80bbvISXd4eTJXc2Whn4MmlSUvFZPy4m6KaC0pEx0KdJHtABCq_rDWG1cRa79YxH'

before it's being executed.
If navigating to the URL that is built in the code in the browser, the .kmz is generated as expected.
http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/generateKml?docName=SampleKML&layers=1&layerOptions=composite&f=json

What version of server are you using?

Sorry, forgot to mention. I am on 10.3.1.

Have tested on 10.4 machine; same error.

@AlexArcPy - Issue should be resolved.

@achapkowski , thanks a lot for helping with that. Unfortunately, it's complaining about the import on the line you've added:
from six.moves.urllib_parse import urlencode
ImportError: No module named six.moves.urllib_parse
The six is not installed in the site packages. Do I need to install it manually via pip? I do see it here at C:\Python27\ArcGIS10.3\Lib\site-packages\arcresthelper\packages but it seems it cannot be imported as is...

I've got the latest code in the repo and commented out the line from six.moves.urllib_parse import urlencode and the kmz is generated now.

I'll fix the import, it needs to grab six from the ..package submodule.  I thought I committed the change.
?


avoid global variables

global variables can make code harder to understand. try to avoid them

Ah now I see ... you are using some global constants and just read them, never write.
I think that's fine.
A typical way of marking a global constant is basically to use all caps, like:
SOME_CONST = 7
NAME = "Dominik"

def my_func():
    print(SOME_CONST * NAME)

no need to use global inside a function reading these global constants ... you just need to use the global keyword if you want to write into such a global constant. (which is generally a bad idea, so in case you are doing it, you at least have to show it to everybody by using the global keyword)
look at this example:
CONST = 7

def func1():
    CONST = 8  # this is not changing the global "CONST"
    # instead it is creating a *local* variable called also CONST
    # which is just *shadowing* the global variable

def func2():
    global CONST
    CONST = 8  # this does really change the global CONST

print(CONST)
func1()
print(CONST)
func2()
print(CONST)

ahh ok, good to know


Revision of relationship of GO:0060468 (prevention of polyspermy) and GO:0060471 ( cortical granule exocytosis)

Hi,
I came across this as part of the analysis for the signaling pathway for fertilization.
The current relationship of the terms seems to be that:  GO:0060471 ( cortical granule exocytosis) is part_of GO:0060468 (prevention of polyspermy).
(see the tree below)
http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0060471#term=ancchart
The relationship   between the two terms might need to be updated as the prevention of  polyspermy is the result of colrtical reaction (cortical granule exocytosis). (See below for some definitions/ references supporting that.)
Based on those definitions, I would also suggest considering adding the synonym "Cortical reaction" to  GO:0060471 ( cortical granule exocytosis).
Cortical   reaction - Wikipedia

https://en.wikipedia.org/wiki/Cortical_reaction
The cortical reaction is a process   initiated during fertilization by the release of cortical granules from the egg, which prevents polyspermy, the fusion of multiple sperm with one egg.

Fertilization   - vivo.colostate.edu

www.vivo.colostate.edu/hbooks/pathphys/reprod/fert/fert.html
1   Apr 2000 - The cortical reaction   refers to a massive exocytosis of cortical granules seen shortly after sperm-oocyte fusion.  Cortical granules contain a mixture   of enzymes, including several proteases, which diffuse into the zona   pellucida following exocytosis from the egg.
Thanks,
Penelope

I think there are two phases to the polyspermy block (at least in sea urchins). There is a fast block which is electrical and a slow block which is physical.

Hi David, I see what you mean.  Only the Slow block of polyspermy is the result of the cortical reaction, which seems to be specific to mammals according to wikipedia. (https://en.wikipedia.org/wiki/Polyspermy)
Perhaps the two phases should have their own term with a taxon restrain for the slow block one? If only that term was linked with the GO:0060471 ( cortical granule exocytosis), would that make sense?

I'm not sure that the slow block is specific to mammals. Going back to my ancient history here, in urchins the cortical granule reaction results in the establishment of the fertilization envelope.
 I would update my suggestion to add the two children terms (without taxon constrains) and link the cortical granule reaction only with the Slow block one.
Urchin protein could be annotated with both terms depending on the phase they are involved in. Mammalian protein would be only annotated with the Slow block polyspermy which is what is found in the literature.
Would that work?

It might be better to describe them with respect to their mechanism, although embryologists call them fast and slow, maybe in GO it would be better to use electrical and physical/mechanical. There might be other mechanisms out there that I have forgotten about. @vanaukenk what are your thoughts?

I also wonder if we are expanding the project too far and should just focus on the signaling aspects of fertilization for now.

I would go for a descriptive name as well. The fast and slow mechanisms could perhaps be added as synonyms. Other mechanisms could be added later on. But with two it would be enough to make the distinction and link GO:0060471 ( cortical granule exocytosis) only with the physical/mechanical one.
I think, GO:0060471 ( cortical granule exocytosis) should be higher/before the physical/mechanical prevention of  polyspermy.
If this is the case, it gets a bit complicated with the hierarchy of the terms.  It might be needed the "electrical prevention of polyspermy" to be direct child of  GO:0007343 egg activation. The "physical/mechanical prevention of  polyspermy" would be a child of GO:0060471 cortical granule exocytosis.
I know they are the last steps of the pathway as we defined it but, I think, it would be nice if the two terms are in the right order/ relationship eventually.

Thinking a lot about embryology today and am now remembering that there is another block. If I remember correctly, in some organisms there is a small pore in the egg called a micropyle that only allows one sperm to enter and is then blocked. There is a lot of info about this in plants, but can't easily find anything to confirm my memory about animals.

Hi @pgarmiri @ukemi
Do we have action items here ?
The proposal is to create

"electrical prevention of polyspermy" as a direct child of GO:0007343 egg activation.
and

physical/mechanical prevention of polyspermy as a child of GO:0060471 cortical granule exocytosis (is this right ? prevention of polyspermy would be is_a exocytosis?)

Also, can you provide definitions and references ?

Thanks, Pascale

If I remember correctly, cortical granule exocytosis would be a part of the prevention of polyspermy. Prevention of polyspermy is definitely not a type of exocytosis. Off the top of my head, there are at least three mechanisms of prevention of polyspermy. The fast block is electrical where the membrane potential of the egg changes once a sperm binds. The slow block is the subsequent physical block of sperm binding to the egg. In sea urchins, this is the results of the creation of the fertilization envelope that lifts off the surface of the egg and sweeps away any excess sperm. The third way is also a mechanical block where there is a small structure called a micropyle in the egg that a sperm enters. Once a sperm enters, it plugs up the micropyle and prevents further sperm from entering.


Support clang_complete based editor plugins

Looks like github has been flaky lately. This is otherwise LGTM to me, and this is only one added file that doesn't have anything to do with anything anyway.


Add support for entity name prefix in SQS

AWS SQS/SNS as far as I know does not provide any form of namespacing/grouping of queues/topics, therefore on single account in single region we always "work on global namespace". While having separate AWS account for production and non-production env. is quite common, sharing mentioned account in dev environments (say... dev, staging, preproduction, e2e-* etc. envs.) is nothing strange I guess. Could we add some "global" name prefix for MT?

Did not realize that this could be achieved with AmazonSqsBusFactory.MessageTopology.SetEntityNameFormatter(...). Closing. :)


ISSUE:  Errors in initial config when inserting Amz Fwd email addr

Describe the bug
Posted this on the HA community site also...
https://community.home-assistant.io/t/mail-and-packages-custom-component-for-ups-fedex-and-usps/118081/1633?u=fireheadman
Environment (please complete the following information):
HA Rig:
OS: Debian 10 w/Docker
MOBO: Intel DQ77KB
CPU: i5-3470T@ 2.90GHz w/Silverstone NT07-115X
RAM: 4GB DDR3 1333Mhz
SSD: LiteOn 64GB mSata
NIC: Intel I350-T2
CASE: iStarUSA D-118V2-ITX w/Noctura fans
Logs
2022-01-05 09:56:40 ERROR (SyncWorker_24) [custom_components.mail_and_packages.helpers] Error searching emails: SEARCH command error: BAD [b'Could not parse command']
2022-01-05 09:56:40 ERROR (MainThread) [custom_components.mail_and_packages] Error fetching Mail and Packages (imap.gmail.com) data: 'count'
2022-01-05 09:56:40 ERROR (MainThread) [custom_components.mail_and_packages] Error updating sensor data: 'count'
2022-01-05 09:56:50 INFO (MainThread) [custom_components.mail_and_packages] Version 0.3.3-2 is starting, if you have any issues please report them here: http://github.com/moralmunky/Home-Assistant-Mail-And-Packages

Wish there was a helper link to show examples of how this should be…
I have a group gmail address that 3 people in the household are forwarding their mail service emails to for this integration to pick them up.
Screenshots

Additional context
Add any other context about the problem here.
Please add emails in plain/text format if possible and applicable.

not sure how I put a pending label on this...

UPDATE: Maybe I have this resolved now?.. Remove the Quotes around the email, also am trying multiple emails (also w/o double quotes)…
email1@gmail.com,email2<EMAIL_ADDRESS>


Is there a way to stop query execution in plugins?

I'm wanting to write a lru-cache plugin, I cannot find a way to able to cancel the query all together when a cache hit is found.

Not without throwing, which obviously won't work in your use case.

Perhaps it would be easy to add a skipExecution boolean method in KyselyPlugin method? If its true transformResult will just have an null result. Am happy to create a PR for this @koskimas if you are willing to merge.

We shouldn't add something like that to a query builder. Kysely should just execute the query you build. Nothing more.
If I were you, I'd build the cache outside Kysely.


Update filtering.py to ignore edits by bots

#2549

@wookie184 Thanks for the review! Zig said he will be unavailable for the next couple of weeks. Should I add another reviewer?

Seems there'll be no need, thanks @vivekashok1221!


Update from your newest ExternalData but found an invalid lib.

When i compile your latest version which is merged from you as upstream, i update my projects entirely.
While building the Reflector application, i got this error from VS:
LLVMCore.lib(DataLayout.obj) : error LNK2019: unresolved external symbol __std_max_element_1 referenced in function "unsigned char const * __cdecl __std_max_element(unsigned char const *,unsigned char const *)" (??$__std_max_element@$$CBE@@YAPEBEPEBE0@Z) [C:\Users\Admin\Documents\GitHub\Esoterica\Code\Applications\Reflector\Esoterica.Applications.Reflector.vcxproj]
It seems that it can NOT find the definition of __std_max_element() from the library LLVMCore.lib.
It the version of LLVMCore.lib incorrect or something else cause this bug?
Thanks for your helping!!

I try to dump the symbols in LLVMCore.lib using Visual Studio Command Prompt, it seems that __std_max_element_1 is NOT correctly decorated.
See this screenshot below:

But it is there inside the LLVMCore.lib, why the linker can not find the symbol??

What version of VS are you using to compile. Someone had a similar problem and it turned out they were using an older VS.
You need VS2022 17.6 or later.

Oh! I am using Visual Studio 2022 17.4, i will update it and see if this problem still exists.

By the way, did you know this file? I can't find it in your latest project:

Its name is Engine.Tools.Core.PropertyGrid.PropertyGridCoreEditors.h

Hm... that's strange. Let me check the state of the github after work. It actually a mirror from my actual working repo that I update with a script, something might have gone wrong in the last update.

Okay, I pushed the latest version of the engine + an updated external data archive. Can you try again with the new version...

Sorry i had been a little bit busy.
I already merged your latest branch but i haven't test it yet. I think it will be ok.
I am trying to integrate a Vulkan Backend and Render Graph System into your Engine.
I think your engine's framework is very elegant and i am learning from it too.
But i am just new to game developping and i think my code will not be ready to be used at soon (at least for now).
Thanks for your help!

Sorry i had been a little bit busy. I am just graduated and start to work, it is a total mess.
I already merged your latest branch but i haven't test it yet. I think it will be ok and i will test it when i have some time.
I am trying to integrate a Vulkan Backend and Render Graph System into your Engine and try to maximize the multi-threading power of your engine framework and some other new attempts. This is also a challenge to me.
I think your engine's framework is very elegant and i am learning from it too.
However i am just new to game developping and i think my code will not be ready to integrate to your master branch, i will just test on my own branch.
Thanks for your help! Thanks for sharing this Esoterica.

Sorry i had been a little bit busy. I am just graduated and start to work, it is a total mess.
I already merged your latest branch but i haven't test it yet. I think it will be ok and i will test it when i have some time.
I am trying to integrate a Vulkan Backend and Render Graph System into your Engine and try to maximize the multi-threading power of your engine framework and some other new attempts. This is also a challenge to me.
I think your engine's framework is very elegant and i am learning from it too.
However i am just new to game developping and i think my code will not be ready to integrate to your master branch, i will just test on my own branch.
Thanks for your help! Thanks for sharing Esoterica.


Tagging and provenance information for model configuration files

Develop a concept on how to provide (persistent?) identifier for model configuration files.
'produce_array_config.py' gives us a set of configuration files (counting 29 different ASCII files).
Do we want to introduce a common set of metadata parameter for each file? Or is it enough to document the database query and expect that every entry in the DB is documented sufficiently?

This issue requires to develop and write up a data model for the simulation model parameters / configuration.


better empty state for /playlists

currently, if you go to the /playlists page without any playlists stored, you get a mostly empty page that says "no playlists"
lets make a better empty state that shows what would be there and gives brief instructions on how to save a playlists. To see a good example of this, check out what the /queue page does when you have no queue.

I will try :smile:


Refactoring globMatch using simpleMatchWithNormalizedStrings from Regex

Description
Changed globMatch from recursive to iterative implementation using the existing code in simpleMatchWithNormalizedStrings by @cwperks as part of  #11060.
Related Issues
Resolves #12065

Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
~- [ ] Public documentation issue/PR created~

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

@niyatiagg There don't appear to be any tests for globMatch. wdyt about adding a test suite and adding some tests similar to how RegexTests tests the functionality for Regex.java

@niyatiagg There don't appear to be any tests for globMatch. wdyt about adding a test suite and adding some tests similar to how RegexTests tests the functionality for Regex.java

Okay, let me add some tests!

❌ Gradle check result for fb3f588: FAILURE
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

The failure is due to flaky test #12788

@cwperks good to merge?


Mod Suggestions/requests

https://www.nexusmods.com/skyrimspecialedition/mods/47068
Adds Chaos Warriors as Heavy Armored Minibosses in various dungeons, makes dungeons more dangerous and interesting
https://www.nexusmods.com/skyrimspecialedition/mods/48225
Adds Beastmen Warriors and Minotaurs randomly where goats spawn, makes open world encounters more dangerous and interesting
https://www.nexusmods.com/skyrimspecialedition/mods/47209
Dungeon which uses Dwarf mod, Skaven mod, and End Times mod, is long and fun
https://www.nexusmods.com/skyrimspecialedition/mods/47858?tab=description
Other Warhammer-themed mods to add, warp magic looks cool as does the dwarf player home but I haven't tried them out
https://www.nexusmods.com/skyrimspecialedition/mods/748
Wheels of Lull, updated, also support patches for VR, great fun and great weapons and armor
Thanks for your consideration!

Hello, please use the format from the template for suggestions, it's important to weight each mod based on the value they might add, not necessarily if they're cool. Also a more descriptive title of what mods you're suggesting is also helpful - the "enhancement" tag already covers the fact this is a suggestion thread. thank you.


fix: some issue found by golangci-lint

What type of PR is this?

/kind cleanup
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/lgtm


feature: Circuit Relay

@dryajov you got yourself a spec! :D
https://github.com/libp2p/specs/tree/master/relay

closing in favor of #116


Philips Hue White GU10 Bluetooth lights report incorrect controlcapabilities["ct"]["max"]

They report 650, however, when setting them to any number above 454 they fall back to 454 (which is the actual max).
Not sure if this library can do anything about it though? Should I report this to Philips instead?

Definitely report it to Philips.
We should also add a guard for it. Not sure if in this lib or in HA.

On https://www.philips-hue.com/en-sg/p/hue-white-ambiance-single-bulb-gu10/8718696769805 it mentions "Shades of white (2200-6500K)". So 1e6/2200≈454.54.
This problem is quite annoying in https://github.com/home-assistant/core/pull/40626, where it (optionally) detects manual state changes.

I guess we can make the change when the property is fetched. https://github.com/home-assistant-libs/aiohue/blob/master/aiohue/lights.py#L71

btw, manual state changes should be tracked using context ? Most lights will slightly change their target settings when you set it, ie brightness 233 becomes 234 etc.

btw, manual state changes should be tracked using context ?

Yes, that is also what I am doing. However, as an extra option, I track state changes that were made outside of HA. So for example flipping a Hue light on and off with the power switch. These lights changing their color temp back make it seem like such a change (outside of HA) happened).

is it possible to implement the bluetooth bulbs in HA?