Allow Events to have too more fields than have been serialized.

Also updated the docs a bit.
Previously it was an error if an event had more fileds than were serialized.
Now it simply makes the 'extra' fields empty.   This allows versioning (you can add more fileds, but if
some older EventSource does not create the new fields, it is not an error, you simply just don't get the
information.  This makes for better versioning.

Codecov Report

Merging #555 into master will increase coverage by 0.13%.
The diff coverage is 56.25%.

@@            Coverage Diff             @@
##           master     #555      +/-   ##
==========================================
+ Coverage   17.44%   17.57%   +0.13%
==========================================
  Files         213      213
  Lines      123790   123802      +12
  Branches    11971    11975       +4
==========================================
+ Hits        21590    21755     +165
+ Misses     101189   101187       -2
+ Partials     1011      860     -151

Flag
Coverage Δ

#2017
17.57% <56.25%> (+0.13%)
:arrow_up:

#Debug
17.57% <56.25%> (+0.13%)
:arrow_up:

#Release
?

Impacted Files
Coverage Δ

src/TraceEvent/DynamicTraceEventParser.cs
67.49% <56.25%> (+0.14%)
:arrow_up:

src/PerfView/StackViewer/PerfDataGrid.xaml.cs
34.02% <0%> (ø)
:arrow_up:

...c/TraceEvent/Parsers/ClrPrivateTraceEventParser.cs
19.58% <0%> (+0.03%)
:arrow_up:

src/PerfView/StackViewer/StackWindow.xaml.cs
25.92% <0%> (+0.07%)
:arrow_up:

src/TraceEvent/TraceEvent.cs
63.34% <0%> (+0.1%)
:arrow_up:

src/TraceEvent/TraceLog.cs
61.25% <0%> (+0.2%)
:arrow_up:

src/TraceEvent/Parsers/TplTraceEventParser.cs
49.65% <0%> (+0.22%)
:arrow_up:

src/TraceEvent/ETWTraceEventSource.cs
47.34% <0%> (+0.23%)
:arrow_up:

src/PerfView/StackViewer/CallTreeView.cs
47.94% <0%> (+0.25%)
:arrow_up:

... and 4 more

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 ed9cc8d...9a5b32d. Read the comment docs.


Changing Scene with ReactiveSystem cause ContextStillHasRetainedEntitiesException

So I have managed to change scene through user input with no trouble, but when I change scene through a ReactiveSystem, the system retains an entity and cause the mentioned exception.
So I have a reactive system that is executed whenever a value reaches 0:
// GameOverSystem.cs
protected override bool Filter(GameEntity entity)
{
	return entity.hasGoldRepository && entity.goldRepository.value <= 0;
}

protected override void Execute(List<GameEntity> entities)
{
	GamePlayController.Instance.GameOver();
}

Within GamePlayController I have:
// GamePlayController.cs
public void GameOver()
{
	_systems.TearDown();
	_systems.DeactivateReactiveSystems();
	_systems.ClearReactiveSystems();
	_systems = new Feature();
	foreach (EntityLink links in Resources.FindObjectsOfTypeAll(typeof(EntityLink)))
	{
		links.Unlink();
	}
	_contexts.Reset();

	// ... Change to GameOver Scene
}

At _contexts.Reset() I always get this error:
ContextStillHasRetainedEntitiesException: 'Game' detected retained entities although all entities got destroyed!
Entity_10(*1)() - ReactiveSystem(GameOverSystem)

While I kinda know what causes the problem: GamePlayController.GameOver() is called within GameOverSystem's Execute() so GameOverSystem is still retaining the goldRepository entity. But I don't know how to resolve it. Destroying or Releasing the entity only result in further exceptions.
Any help?

Right now I'm using this workaround that, well, works, but looks terrible:
public void GameOver()
{
    _systems.TearDown();
    _systems.DeactivateReactiveSystems();
    _systems.ClearReactiveSystems();
    _systems = new Feature();
    foreach (EntityLink links in Resources.FindObjectsOfTypeAll(typeof(EntityLink)))
    {
      links.Unlink();
    }
    StartCoroutine(ChangeSceneNextFrame());
}

IEnumerator ChangeSceneNextFrame()
{
    // Wait 1 frame after all systems are deactivated so they no longer retains entities
    yield return null;
    _contexts.Reset();
    Camera.main.GetComponent<CameraMasker>().MaskChangeScene("GameOver");
}

I usually have a unique GameOverComponent and a system like DetectGameOverSystem. As you already mentioned, you're basically calling teardown and reset in the middle of the execution phase. I recommend to only set the context.isGameOver and then act accordingly and do the teardown and reset in OnDestroy of the controller of the current scene


[Bug] [DAO] The process of initializing database may use the outdated  file of dolphinscheduler_ddl.sql.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When I use the command 'sh script/create-dolphinscheduler.sh' to initialize the database, the structure of tables in the database are outdated. So I checked the procedure of initializing database. I found that the sql file was not the latest.

What you expected to happen
I suppose that it's really important to initialize the database with a standard  procedure. It's very useful and convenient. I expect that the procedure of initializing database can be used for the latest sql file.
How to reproduce

Download a latest distribution and decompress it.
Enter the root directory of the decompressed file.
Execute 'sh script/create-dolphinscheduler.sh'

Anything else
No response
Version
2.0.0
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

I will fix this issue.


Error while updating bootloader:  invalid literal for int() with base 10

I have installed tinyprog<PHONE_NUMBER>8699349b7739b4eec80f6703f969b8 using python setup.py install --user, an was using it to update the bootloader my TinyFPGA BX:
$ tinyprog --update-bootloader

    TinyProg CLI
    ------------
    Using device id 1d50:6130
    Only one board with active bootloader, using it.

    The following update:

        New Version: 1.0.1
        Notes: Updates USB VID:PID to fix issues with APIO not recognizing the board.

    is available for this board:

        /dev/ttyACM0: TinyFPGA BX 1.0.0
            UUID:
            FPGA: ice40lp8k-cm81

    Would you like to perform the update? [y/N] y
    Fetching stage one...
    Programming stage one...
    Erasing: 100%|████████████████████████████████████████████████████████████████████████████████████████████| 135k/135k [00:00<00:00, 163kB/s]
    Writing: 100%|████████████████████████████████████████████████████████████████████████████████████████████| 135k/135k [00:00<00:00, 177kB/s]
    Reading: 100%|████████████████████████████████████████████████████████████████████████████████████████████| 135k/135k [00:00<00:00, 425kB/s]
    ...Success!
    Waiting for stage one to reconnect....connected!
    Fetching stage two...
    Programming stage two...
    Erasing:   0%|                                                                                | 0.00/299k [00:00<?, ?B/s]
Traceback (most recent call last):
  File "/home/joel/.local/bin/tinyprog", line 11, in <module>
    load_entry_point('tinyprog==1.0.18', 'console_scripts', 'tinyprog')()
  File "build/bdist.linux-x86_64/egg/tinyprog/__main__.py", line 282, in main
  File "build/bdist.linux-x86_64/egg/tinyprog/__main__.py", line 152, in perform_bootloader_update
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 419, in program_bitstream
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 375, in program
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 347, in erase
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 301, in _erase
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 290, in wait_while_busy
  File "build/bdist.linux-x86_64/egg/tinyprog/__init__.py", line 21, in to_int
ValueError: invalid literal for int() with base 10: ''

For the benefit of anyone else finding this, @shenki also posted on the TinyFPGA Discourse forum, and got this suggestion on how it might be possible to fix with a soldering iron and/or a SPI flash programmer:
https://discourse.tinyfpga.com/t/error-while-updating-bootloader-invalid-literal-for-int-with-base-10/484/3
(See also https://github.com/tinyfpga/TinyFPGA-Bootloader/issues/43 for another user with similar symptoms.)
Ewen

I had exactly the same problem (Twice! I bricked my 2 boards :man_facepalming: )
I'll try the arduino programmer, but is there anything in finding the reason/fixing the bug?

@paulo-raca Sorry to hear that you had the same problem.  Hope you're able to recover them (there are a few suggestions on the TinyFPGA forum for various ways to reflash the initial bootloader externally).
I don't think anyone has figured out exactly what causes the problems (to me it feels like a timing race between the tinyprog serial software, the TinyFPGA bootloader verilog, and the SPI flash chip used).  There's a couple of attempts at working around it (eg, these pull requests that haven't been merged -- https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/52, https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/16), but my one (https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/52) didn't seem to be sufficient to fix everything by itself and the other one earlier one (https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/16) contains lots of other things so it's not clear it'll ever get merged.
So far the best work around seems to be:

Longer serial timeouts (in my pull request)

Write full "tiny sectors" (256 octets) as the issue seems easier to trigger on certain part-sector sizes (in my pull request)

Retry the failed sector writes a few times (in https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/16)

Unfortunately the original TinyFPGA developer seems to have had no time to do anything with this in the last year (all the more recent commits are others, often written or merged by Tim (mithro) who is also busy).  So it's not clear the underlying cause will ever be debugged fully.  But perhaps it'll eventually be possible to get enough workarounds (eg, all three of the above) merged, and a new full release made (there's only been dev releases in the last year, which have to be explicitly installed).
(It'd also help if the TinyFPGA boards shipped with the newest bootloader on them, but manufacturing/delivery pipelines tend to be relatively long, so I'm not sure if a new batch has been made in the last year....)
Ewen

I believe this has been fixed now?
@ewenmcneill Is that your understanding?

I believe this has been fixed now?
@ewenmcneill Is that your understanding?

It is hopefully less likely to occur now with https://github.com/tinyfpga/TinyFPGA-Bootloader/pull/52 (and the symptoms will have changed if it does, as the invalid literal for int() was in the error handling code which has been patched separately already).  I suspect we probably need https://github.com/tinyfpga/TinyFPGA-Bootloader/issues/55 as well for a more complete solution (and/or someone debugging how the state machine gets stuck -- it feels like a race to me).
But yes, at this stage it seems useful to consolidate down to one open issue for the "bootloader reprogramming timed out" problem.
Ewen


Can't install on debian testing/unstable

zef install Font::FreeType

===> Searching for: Font::FreeType
===> Updating cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Updating p6c mirror: http://ecosystem-api.p6c.org/projects1.json
===> Updated p6c mirror: http://ecosystem-api.p6c.org/projects1.json
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Building: Font::FreeType:ver<0.1.5>:auth<github:p6-pdf>
/bin/sh: 1: freetype-config: not found
/bin/sh: 1: freetype-config: not found
In file included from src/ft6_outline.c:6:
src/ft6_outline.h:10:10: fatal error: ft2build.h: No such file or directory
 #include <ft2build.h>
          ^~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:11: src/ft6_outline.o] Error 1
The spawned command 'make' exited unsuccessfully (exit code: 2)
  in method build at /home/alex/.zef/store/Font-FreeType-0.1.5.tar.gz/Font-FreeType-0.1.5/Build.pm line 26
  in sub MAIN at /home/alex/.zef/store/Font-FreeType-0.1.5.tar.gz/Font-FreeType-0.1.5/Build.pm line 33
  in block <unit> at /home/alex/.zef/store/Font-FreeType-0.1.5.tar.gz/Font-FreeType-0.1.5/Build.pm line 5
  in block <unit> at -e line 1

===> Building [FAIL]: Font::FreeType:ver<0.1.5>:auth<github:p6-pdf>
Aborting due to build failure: Font::FreeType:ver<0.1.5>:auth<github:p6-pdf> (use --force-build to override)

i have both libfreetype6 and libfreetype6-dev packages installed. I believe that these packages used to have freetype-config and ft2build.h files, but they no longer do.

Build.pm has been modified to provide defaults for LIBS and CLFAGs.
Similar to how Perl 5 handles it.
@AlexDaniel please try again from latest master.

Uhhh… I'm getting this:
===> Fetching [OK]: https://github.com/p6-pdf/Font-FreeType-p6.git to /home/alex/.zef/tmp/1551069044.22952.5867/Font-FreeType-p6.git
===> Extraction [OK]: https://github.com/p6-pdf/Font-FreeType-p6.git to /home/alex/.zef/store/Font-FreeType-p6.git
===> Building: Font::FreeType:ver<0.1.7>:auth<github:p6-pdf>
Command: /home/alex/.rakudobrew/bin/../moar-master/install/bin/perl6 -Ilib -e require '/home/alex/.zef/store/Font-FreeType-p6.git/5f8ed68d95cdcaf15a255b5fa52737e07075b278/Build.pm'; ::('Build').new.build('/home/alex/.zef/store/Font-FreeType-p6.git/5f8ed68d95cdcaf15a255b5fa52737e07075b278') ?? exit(0) !! exit(1);
gcc -I src -c -fPIC -Werror=declaration-after-statement -Werror=pointer-arith -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -o src/ft6_outline.o src/ft6_outline.c -I/usr/include/freetype2
gcc -I src -c -fPIC -Werror=declaration-after-statement -Werror=pointer-arith -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -o src/ft6_glyph.o src/ft6_glyph.c -I/usr/include/freetype2
gcc -I src -c -fPIC -Werror=declaration-after-statement -Werror=pointer-arith -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -o src/ft6_glyphslot.o src/ft6_glyphslot.c -I/usr/include/freetype2
gcc -shared -fPIC  -O3 -DNDEBUG -Wl,-rpath,"//home/alex/.rakudobrew/moar-master/install/lib" -o resources/libraries/libft6.so src/ft6_outline.o src/ft6_glyph.o src/ft6_glyphslot.o -lfreetype
make: Nothing to be done for 'all'.
===> Building [OK] for Font::FreeType:ver<0.1.7>:auth<github:p6-pdf>
===> Testing: Font::FreeType:ver<0.1.7>:auth<github:p6-pdf>
FreeType2 version is 2.9.1
t/00-basic.t ............... ok
t/01-face.t ................ ok
t/10metrics_5x7bdf.t ....... ok
t/10metrics_oldstandart.t .. ok
t/10metrics_postscript.t ... ok
t/10metrics_verasans.t ..... ok
t/20bitmap.t ............... ok
t/30render.t ............... All 40 subtests passed
All tests successful.

Test Summary Report
-------------------
t/30render.t  (Wstat: 11 Tests: 13 Failed: 0)
Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 40 tests but ran 13.
Files=8, Tests=3456,  27 wallclock secs
Result: FAILED
===> Testing [FAIL]: Font::FreeType:ver<0.1.7>:auth<github:p6-pdf>
Aborting due to test failure: Font::FreeType:ver<0.1.7>:auth<github:p6-pdf> (use --force-test to override)

So it segfaults on rakudo master. I wonder if it's a new issue… perhaps related to https://github.com/rakudo/rakudo/issues/2720 ?

Hmm, I'm not seeing the t/30render.t error on the blead, but can replicate rakudo/rakudo#2720

Hang on a minute, there's a difference between perl6 -I lib and perl6 -I .
 prove -e'perl6 -I lib' t/30render.t
t/30render.t .. Failed 9/40 subtests

Test Summary Report
-------------------
t/30render.t (Wstat: 11 Tests: 31 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 40 tests but ran 31.
Files=1, Tests=31,  2 wallclock secs ( 0.03 usr  0.01 sys +  2.99 cusr  0.14 csys =  3.17 CPU)
Result: FAIL

 prove -e'perl6 -I .' t/30render.t
t/30render.t .. ok
All tests successful.
Files=1, Tests=40,  2 wallclock secs ( 0.04 usr  0.01 sys +  2.53 cusr  0.10 csys =  2.68 CPU)
Result: PASS

It is hard to blame a specific version when the test in question does a conditional code check:

        if $*PERL.compiler.version < v2018.11 {
            skip "tests unreliable on this Rakudo version", 2;
        }

Maybe that code is actually unreliable on all versions and 2018.12 just doesn't happen to tickle the right spot.

Tested again against latest bleed the regression appears to have been fixed. Closing.


Failed to parse 3.rvm: After chunk HEAD, expected offset 0xcc, current offset is 0xac

I seem to be having a big problem parsing the rvm header.
It‘s error content is: Failed to parse ./../rvm/3.rvm: After chunk HEAD, expected offset 0xcc, current offset is 0xac
hexdump file is:

Correct example file hexdump is:

some code like this,I just add some print test code:

The result of parse 3.rvm is as follows:

The correct  result of parse 6.rvm is as follows:

How can I fix this problem to fit ’3.rvm‘.
I have a lot of rvm files here that have the same problem with ’3.rvm‘.

Dunno if this is any help
But I made a tool to myself to split rvm files before using them with RVM parser.
One per SITE. Due to memory issues in azure when converting files.
https://github.com/vegarringdal/rvmsplitter
It just copies the header to each file, but you can look on the part that adds next chuck in BIG endian and make it fix actual header too.

There are many such files, and the rvm file provided by the design institute is based on the export of the same software.
Here  are some files we can see:
https://qwq2x.com/share/1.rvm
https://qwq2x.com/share/2.rvm
https://qwq2x.com/share/3.rvm


UsageInstructions / Dosage logical model

We have decided to go with FHIR model, but we should still have it as a logical model as well, and it should be exactly the same in MPD prescription-dispensation documents.
Rutt is doing the MPD logical model drafts, so she can include Dosage and Medication model from here, and then discuss it in MPD meetings, and bring back updated versions.

Dosaging logical model added to the IG: http://build.fhir.org/ig/IHE/pharm-meow/branches/main/StructureDefinition-DosagingInformation.html
There is some confusion with the data types (as with all the models), and some questions marked in short descriptions which we can discuss in the group.


externally added metadata should get updated

Issue:

Add a new template or service option in metadata and update data.json
Check it gets loaded under v3/rkeAddons or v3/rkek8sserviceoptions
Update it in metadata and push new data.json
The objects don't get updated.

Note:

the objects would get updated only if they're not builtin (not vendored in)

Sample example,

rancher running kontainer-driver-metadata at f5abbfa5182ea0b77237404637638283cf5daa23
check 1.15.3-rancher3-2 is not present
Add a new version 1.15.3-rancher3-2 (update your fork to point to c1c23cfb7cd9085713364dc60a63a3d533fcd2d6 from https://github.com/kinarashah/kontainer-driver-metadata.git, branch ssm)
see it getting shown in Rancher
Update service options and template for this new version. (update fork of metadata to point to latest commit 8a447b4d97f36560b23b90194ff65e97b3d1ecad from https://github.com/kinarashah/kontainer-driver-metadata.git, branch ssm)
refresh metadata
see it getting updated.

The bug fix is validated with self-built rancher images from rancher:mater-head 19377a560b660f293ec9ccbcc60969b9ddfd8361
The steps are the same as @kinarashah's previous comment provides.
we can update the metadata of the k8s version which is not Rancher built-in one


Google Chrome binaries have changed for 56.0.2924.87

The version is the same, however the binaries have changed.
https://chocolatey.org/packages/GoogleChrome#comment-3171878283
When the package was created for version 56.0.2924.87, the checksums were:
 url                    = 'https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise.msi'
  url64bit               = 'https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise64.msi'
  checksum               = '9a5e2810a164654d9a4a42f0597d8668110134ee7d1aca0faf8cc48d203fc019'
  checksum64             = 'c47ff551ff8b251268905cd87fb299959e6bcb3640a3e60085a3a7dbf176845f'

However without a new version the checksums are now:
checksum    = '8B83B51566E02A349BF4F94B753D198883994C713D8DE001B0ABF7E650BDC9FB'
checksum64  = '1450DE87F0289CE725DF1C138BBA2666304FB94BF4476B03C06D058C999D4805'

FYI - It looks like they pulled a bad version - https://gist.github.com/choco-bot/6bd4eeb385ac2b753aa6e66b2ede9fe2#file-1-registrysnapshot-xml-L5 (note that display version showed up as the actual version - Google Chrome does some very weird things with respect to version). The number you see here is what is in the MSI, but the actual DisplayVersion is typically overridden.

Ah. Now it makes sense why the old installer was replaced.
I'll look into adding an updated package using the Get-Padded-Version helper


About the versions of raygui and raylib

Hello authors,
I hope this message finds you well. I tried to compile the controller.cpp by running:
g++ controller.cpp -o controller -I./ -L/usr/local/lib -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -Wenum-compare
It gives me:

In file included from controller.cpp:4:
raymath.h:2629:16: error: conflicting declaration of C function ‘Vector2 operator*(const Vector2&, const Vector2&)’
2629 | inline Vector2 operator * (const Vector2& lhs, const Vector2& rhs)
|                ^~~~~~~~
raymath.h:2618:16: note: previous declaration ‘Vector2 operator*(const Vector2&, const float&)’
2618 | inline Vector2 operator * (const Vector2& lhs, const float& rhs)
|                ^~~~~~~~
raymath.h:2634:23: error: conflicting declaration of C function ‘const Vector2& operator*=(Vector2&, const Vector2&)’
2634 | inline const Vector2& operator = (Vector2& lhs, const Vector2& rhs)
|                       ^~~~~~~~
raymath.h:2623:23: note: previous declaration ‘const Vector2& operator=(Vector2&, const float&)’

I highly suspected that the versions of raylib and raygui used in Motion-Matching were long ago and didn't match with the modern versions. Therefore, I want to ask about the versions of raylib and raygui you used to compile this file.
Many thanks in advance.
Best regards,
An Vuong

I used raylib v4.5.0 and raygui v4.0 and was able to use the code.


Logs not available

Hi!
New cluster, working fine (connection, uploads, downloads,...):
./cn cluster start my-first-cluster
2021/01/26 10:44:41 Starting cluster my-first-cluster...

Endpoint: http://<IP_ADDRESS>:8000
Dashboard: http://<IP_ADDRESS>:5000
Access key: xxxxxxxxxxxxxxxxx
Secret key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Working directory: /home/gmoutier/Dev/tmp/cephnano/tmp

I'm trying to debug a connection issue when sending bucket notifications, but logs are unavailable:
./cn cluster logs my-first-cluster
ecat: /var/log/ceph/client.rgw.ceph-nano-my-first-cluster-faa32aebf00b.log: No such file or directory

I logged directly into the container, /var/log/ceph remains empty whatever I do.
I tried to enable debug logging with:
ceph --admin-daemon /var/run/ceph/ceph-client.rgw.<name>.asok config set debug_rgw 20
ceph --admin-daemon /var/run/ceph/ceph-client.rgw.<name>.asok config set debug_ms 1

Both commands came back with success, but still no logs...
Am I missing something?

Try to turn on log_to_file flag, ceph config set log_to_file true <name of the rgw>


Fix keywords

Robert, do you have other libraries with keywords that are not split with , delimiter?

Could be - i will check tomorrow

Question,
should it not be more json alike to have the keywords in an array?
I recall there is some limit on the string length?
(just a thought)

several apparently. quick edited them locally, so will be updated in coming releases.

You can declare keywords as a string where items are separated by a comma. There is another format, where you can specify them as "array". See https://docs.platformio.org/en/latest/librarymanager/config.html#keywords

I see they should be lowercase too, so it is not OK (eh ok ;) yet.


Update Set-CsExternalAccessPolicy.md

Adding information regarding -EnableTeamsConsumerInbound and -EnableTeamsConsumerAccess.
This new properties were introduced as part of the effort to enable communications between people using Teams with an account managed by an organization and people using Teams with an account that's not managed by an organization.

Docs Build status updates of commit 6f8864b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsExternalAccessPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@dariomws @tseward @get-itips

@luis-msftpm
Are you a Microsoft employee?
Here is a site you can use to see the mappings between GitHub and Microsoft aliases: https://repos.opensource.microsoft.com/people?q=luis-msftpm
if you have a Microsoft alias you can link your accounts in GitHub so that a blue "Microsoft submitter" label appears to any PR's you submit. Guidance on it here: https://docs.opensource.microsoft.com/tools/github/index.html

Docs Build status updates of commit 2c424e5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsExternalAccessPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@get-itips I'm the PM owner of this feature.
Thanks for the pointer. I've just linked my acct.

Can you make the same additions to New-CsExternalAccessPolicy ?
Pull Request sent for that one. Done.

Thank you @luis-msftpm

@tiburd Please merge this PR. Thanks

Docs Build status updates of commit 956188f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsExternalAccessPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


SWIFT 3 support

SWIFT 3 is supported, so please update the installation info

RNCryptor is currently exclusive Swift 3. Documentation updated.


Add make_binary_maybe_constant()

In simplify(), we need to be more careful about operations that can overflow; in particular, add/sub call make_binary() which can overflow in degenerate conditions. This PR adds make_binary_maybe_constant(), which detects overflow for constants and in those cases preserves the expression in expr form to avoid overflow.

PTAL


Pod Disruption Budget round off of maxUnavailable

Kubernetes documentation for Pod disruption budget when specified in percentage is expected to rounds up to the nearest integer.
However the round off is being done to the upper limit and not to the nearest integer.
For example with total number of pods as 3 and maxUnavailable set to 40%(1.2 Pods), the nearest integer is 1 however it is being set as 2.
Max unavailable:  40%
Selector:         app=web-app
Status:
Allowed disruptions:  2
Current:              3
Desired:              1
Total:                3
The below code always provide the ceil value and hence provides the higher number.
https://github.com/kubernetes/apimachinery/blob/master/pkg/util/intstr/intstr.go#L138

Thanks for the issue. This should be filed against https://github.com/kubernetes/kubernetes/ and tagged with /sig apps scheduling
Can you include the reference to the documentation you mentioned that describes how the maxUnavailable value treats partial values as well?

/close


Cop needed: redundant parenthesis

It would be nice to refactor ( literal ) => literal, and "...#{( anything )}..." to "...#{ anything }..."
@fatkodima will probably handle this; let him know if you'd like to do it.
Noticed because of #8378

There are so many cops that it is hard to remember all of them 😄 https://github.com/rubocop-hq/rubocop/blob/master/lib/rubocop/cop/style/redundant_parentheses.rb
It handles the first case and many more. Not sure if the second case is popular enough to worth implementing?

Good find.

It handles the first case

Clearly it does not as ("\#{user.name} \#{user.email}") * 5 was not autocorrected in #8378

Not sure if the second case is popular enough to worth implementing?

It might not be popular, but it can happen after auto-correcting (especially after #8378), so it would definitely be nice to enhance redundant_parentheses.

Clearly it does not as ("#{user.name} #{user.email}") * 5 was not autocorrected in #8378

expect_correction runs only tested cop, so that cop hadn't a chance to run. I tested it separately and it detects and autocorrects that case.

🤦♂my bad, sorry, you're right.


Compiler: use a factory method to create a compiler instance

The idea is to end up with a shared pointer.

Thinking more about it, the compiler class is only ever going to be used internally, so no need to make things unnecessarily complicated for us. Only API classes should support that mechanism. So, closing.


Keep state under prefix path

We currently keep configuration separated for each prefix in subfolders. However, the state is in the root of the configuration repository, which means that the kubeconfig and some other things end up there.
Due to the way we currently set up multiple workload clusters, this becomes a problem, since compliantkubernetes-apps will be configured to use the prefix subfolder and thus look for the kubeconfig in ${PREFIX}-config/.state instead of .state.
I suggest we move the state to the prefix subfolders to solve this. Otherwise we will have to copy/link these files around all the time.
Definition of done: State is stored per cluster in the subfolders, instead of in a common folder with different names for the kubeconfigs.
Relevant code:

How apps is configured for multiple clusters: https://github.com/elastisys/compliantkubernetes/blob/main/docs/operator-manual/exoscale.md#apps
Common paths for apps: https://github.com/elastisys/compliantkubernetes-apps/blob/main/bin/common.bash
Common paths for kubespray: https://github.com/elastisys/compliantkubernetes-kubespray/blob/main/bin/common.bash

This should be unnecessary once ADR 0006 "Use Standard Kubeconfig Mechanisms" is approved and implemented.

Meanwhile, we run into this every time we set up a new environment. I think a quick fix for this would be very much appreciated while we wait for the ADR to be implemented.


Error when trying to assign users to a role from a secondary userstore

Describe the issue:
Getting "Something went wrong" error when trying to assign users from a secondary userstore.

How to reproduce:

Setup a secondary user store (JDBC/PostgreSQL) in this specific case
Add few users to the new user store
Create a new application role
Access the users tab from the role setting view
Select the secondary user store

Expected behavior:
Should be able to select users from the correct userstore.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

The user store domain name is sent here as a base64 encoded value which causes this issue


PasswordResetForm leaks information about registered users

Issue Summary
The PasswordResetForm returns validation errors about whether the account exists in wagtail or not and some information about whether wagtail manages the password.
e.g:
"This email address is not recognised."
"Sorry, you cannot reset your password here as your user account is managed by another server."
https://github.com/wagtail/wagtail/blob/master/wagtail/admin/forms.py#L87
The standard django behaviour is to not leak this information. It gets all users with the supplied email and sends them the relevant information. If the user supplies an invalid email they progress to the success screen but no email is sent.
https://github.com/django/django/blob/master/django/contrib/auth/forms.py#L282:28
Proposed Fix
Change the behaviour of the password reset to inform the user that an email has been sent to the supplied address regardless of whether the email is registered with the site.
Send an email to accounts that do exists. and within the email include any validation messages within that email e.g. who manages the password.

Thanks for reporting the issue. I see the decision needed tag has been removed already, but to be a bit more verbose, it was decided to follow Django's implementation (similar behaviour and wording) and prevent any leakage).

Fixed in #4314.


Added Cursor's height, width and show cursor option

I needed this search features in my current project but I have customised textFormField with cursor height of 28 px but your package don't have option that so I added  cursor's height, with and show cursor option, Hope this will helpful for everyone in future

I know this is old, but I am almost thinking that we can pass a TextField as a property instead, that way everything is customizable outside of the package.


Is It Possible to Access Environment Variables in Background Script?

This article includes examples for using environment variables in manifest, locale json files, html files and jsx components, but no example for background script.
For example, given an environment variable ID in .env file, I've tried to access both $ID and process.env.ID but both gave errors.

Thanks. EXTENSION_PUBLIC works. So any env without EXTENSION_PUBLIC can't be accessed? Can you give an example on how to use private envs when they can't be accessed?

yes, any variable without EXTENSION_PUBLIC will not work. in the next release, EXTENSION_ (without PUBLIC_) will also work.
the goal of requiring a prefix for environment variables is to ensure users know that they are as public as any browser extension output code, so not the best way to store secure data. if you really need to use private variables inside an extension, consider making an API where you can securely fetch the data you want

API is what I've been considering. Thanks for the clarification.


NEXT-38705 - Fixed double slash in sitemap url for product w/o seo url

1. Why is this change necessary?
Bug in SitemapExporter, generates a double slash in sitemap url for products w/o SEO url, like https://example.com//detail/{uuid}
2. What does this change do, exactly?
Fixes the above bug in SitemapExporter.php
Tests courtesy by @shyim
3. Describe each step to reproduce the issue or behaviour.
Create product w/o SEO url, generate sitemap
4. Please link to the relevant issues (if any).
NEXT-38705 https://github.com/shopware/shopware/issues/4963
5. Checklist

[*] I have rebased my changes to remove merge conflicts
[*] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[*] I have read the contribution requirements and fulfill them.

@vanWittlaer can you add a changelog?

@vanWittlaer thanks for your contribution!


How to determine if a room to join is remote or local?

Hi. How does a socket know where the room located? I mean adapter.remoteJoin() is used for joining a room on a remote node, while socket.join() is used for joining a room on local node. Is there any api for a socket to know about where the room is located (local or remote)?

let sockid // socket id u want do disconnect
let client
client = io.sockets.connected[sockid]
if (!_.isNil(client)) {
    client.disconnect() // local
} else {
    io.of('/').adapter.remoteDisconnect(sockid, true, (error) => {})
}

Hi! Sorry for the delay.

How does a socket know where the room located?

I'm not sure that I totally understand the question. A room is not located on a particular instance.
We have added a section about how the adapter works: https://github.com/socketio/socket.io-redis#how-does-it-work-under-the-hood
Is it clear enough?

For future readers: please check https://socket.io/docs/v4/server-instance/#Utility-methods


Multi-Line String

There is a lot of differing styles out in the wild for multi-line and template, strings. I have a simple proposal that makes multi-lines much nicer ensuring the first-line maintains its internal alignment and doesn't use a function that manipulates the string to strip indentation.
;(()=> {
  const func = ()=> {
    const multi = `\
1. Escape first return
2. Dedent to page edge`
    return multi //move back to previous indentation level
  }
  return func()
})()

Looks reasonable to me. But this isn't something that we can enforce with ESLint. Feel free to use this style in your code!


Some simple questions about evaluation when training model with customized datasets

Hi, thanks for your cool job.
I 'am a newbie of mmdection, here I practice a job on my dataset following this tutorial 2: Train with customized datasets
I am confused about the meaning of evaluation metrics, such as :
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.430

is this mean IoU =  [0.5, 0.95] and what's the maxDets meaning?
and
bbox_mAP
bbox_mAP_50
bbox_mAP_75
bbox_mAP_s
bbox_mAP_m
bbox_mAP_l
_bbox_mAP_copypaste_
segm_mAP
segm_mAP_50
segm_mAP_75
segm_mAP_s
segm_mAP_m
segm_mAP_l
_segm_mAP_copypaste_

could you explian some of them,
some log samples:
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=397.04s).
Accumulating evaluation results...
DONE (t=62.48s).
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.487
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.725
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.548
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.328
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.540
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.574
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.368
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.591
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.618
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.447
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.670
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.738
Running per image evaluation...
Evaluate annotation type *segm*
DONE (t=436.20s).
Accumulating evaluation results...
DONE (t=62.29s).
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.430
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.683
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.467
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.266
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.476
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.541
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.341
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.533
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.555
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.376
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.605
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.703

and
2021-03-25 02:40:54,857 - mmdet - INFO - Exp name: mask_rcnn_r50_fpn_2x_coco_icdar2021.py
2021-03-25 02:40:54,857 - mmdet - INFO - Epoch(val) [23][1575]  bbox_mAP: 0.8040, bbox_mAP_50: 0.9870, bbox_mAP_75: 0.9200, bbox_mAP_s: 0.0000, bbox_mAP_m: 0.8040, bbox_mAP_l: 0.8080, bbox_mAP_copypaste: 0.804 0.987 0.920 0.000 0.804 0.808, segm_mAP: 0.5180, segm_mAP_50: 0.8540, segm_mAP_75: 0.5550, segm_mAP_s: 0.0000, segm_mAP_m: 0.5640, segm_mAP_l: 0.5120, segm_mAP_copypaste: 0.518 0.854 0.555 0.000 0.564 0.512

maxDets 100 means maximum 100 detection results are evaluated only.
You may checkout this post for more details.

okay, thanks!


Clarification on Cluster Support

Hi there,
I'm working on an older Symfony 2.X application using 2.X of this package and am trying to get cluster support to work and I'm just curious if native Redis Cluster support is only available in the 3.X version of this package? Currently I have:
snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn:
                - redis://<IP_ADDRESS>:7000
                - redis://<IP_ADDRESS>:7001
                - redis://<IP_ADDRESS>:7002
            options:
                cluster: redis
                replication: false

But it doesn't seem to connect properly (due to our dev environment I'm not getting any direct errors, but that it can't find keys as expected so it's handling it in it's intended manner). Any clarification on cluster support in version 2.X is appreciated.

Well I did 2 things:

Updated the package to 2.1.12
Removed replication: false

Now I get at least an error saying:
InvalidArgumentException in ClusterOption.php line 61:
An instance of type 'Predis\Connection\Aggregate\ClusterInterface' was expected.

I'm not really sure what this is looking for now though as no such option is documented as far as I can see. Any help with this is appreciated.

@firrae Hi and thank you for reporting.
You don't need replication: false. The value false is not valid anymore and is marked as deprecated in 2.1.
I tried your config against RedisBundle 2.1.12, Predis 1.1.1 and Redis 5.0.5 and it works fine.
Are you using the last version of Predis?

@B-Galati OK, we dug deeper after you confirmed you saw it working and indeed it does seem to be something MUCH deeper in our application I never knew about.
I'll consider this closed for now, and I'll reopen if I find I circle back to this point.


Simplified Blazor Component without Overhead

I would love to see a simplified Blazor Component Model that is just basically a RenderFragment.  I have a few lists where each row of the list is a set of components.  These are basic components just so I don't have to have 10 lines of html code for each column.  These lists when done with components get really slow really fast. (25 - 50 rows and it almost becomes unusable).  To work around this I use RenderFragments and it works well and makes it speedy again.   However, I then lose the nice readability of using a custom tag for each item.  Instead I find myself injecting code within my html.
// This just returns a RenderFragment
@MyComponent.RenderComponent(new MyComponentOptions()
{
Param1="some Parameter",
Param2="some Parameter",
Param3="some Parameter",
})
instead of:
// Can not use simple components that just basically render html because they make the application way too slow
<MyComponent
Param1="some Parameter",
Param2="some Parameter",
Param3="some Parameter"

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

ID: 5bc28995-6784-a7d2-5c0b-9811a8d19c1a
Version Independent ID: 1668c8fb-024c-c86d-d4d5-e22e3355c04b
Content: Introduction to ASP.NET Core Blazor
Content Source: aspnetcore/blazor/index.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @neufel42 ... Please open product feedback for the product unit at ...
https://github.com/dotnet/aspnetcore/issues

Hello @neufel42 ... Please open product feedback for the product unit at ...
https://github.com/dotnet/aspnetcore/issues


Fix off-by-one error for "noise cancel Rx level" setting

I’m fairly certain this particular setting is off by one on the HX870: The radio UI offers levels 1–4, but the stored values are 0–3.
Can you confirm that with your HX890?

Good catch. Thanks!

FYI I made an extra change in 0f6a5e72e742e3bd4355a547de688e6ee7874fdd so that these values can be entered without quotes.

Agreed, the quotes were a mistake on my part. Thanks.


docs: add documentation for build docs command

What/Why/How?
Add documentation for build-doc command.
Reference
https://github.com/Redocly/redocly-cli/pull/863
Testing
Screenshots (optional)
Check yourself

[ ] Code is linted
[ ] Tested with redoc/reference-docs/workflows
[ ] All new/updated code is covered with tests

Security

[x] Security impact of change has been considered
[x] Code follows company security practices and guidelines

@adamaltman

Do we have any other commands that are inconsistent with that?

No, we haven't.
I start working on adding apis to build-docs. Also, we should add config option to provide the path to the config file.
Regarding options, I think, we should save this option for backward compatibility with redoc-cli.
Maybe better only add deprecated label to that. What do you think?

Do not add deprecated features to new software. I'm against adding it here. Instead, a simple migration guide for people:
To upgrade from redoc-cli: npx@redoc-cli build <file> --options=...:

Replace redoc-cli with @redocly/cli.
Replace build with build-docs.
Replace --options with --features.openapi (alternatively, you can have a Redocly configuration file accessible to the CLI).

People need to do step 1 and 2. How come they can't also do step 3?


This app has become too bloated

This was a great app, but it has become too bloated for my use. It's trying to do too much and is trying to be everything to everyone. I'm back to using Speccy.

This was a great app, but it has become too bloated for my use. It's trying to do too much and is trying to be everything to everyone. I'm back to using Speccy.

Glow continues to evolve with each release. Even as the number of features grows, the program is more optimized and faster. What exactly is the problem?


Find out which session I am on

When I am running my test case and view it on Selenoid-UI (VNC tab) I see there is an "unknown" property specified there. When I route my test case through GGR, The unknown property changes to "test" ie. the username.  First I would like to ask what is this "unknown".
I want to know that is there any possibility to see which test case I am running can be viewed on VNC tab.
Or like anything specific to diffrentiate between many instances running on same browser & version.
Also I want to know that is there any possibility to run multiple selenoid with single Selenoid-UI.

@Infobeans-Anujita

unknown means unknown user. The user name is being extracted from basic HTTP authentication headers (mainly needed for statistics). So if you access Selenoid like:

http://my-user:any-password@selenoid-host.example.com:4444/wd/hub

... you will see that user name changes to my-user (although Selenoid does not have any authentication).
2) Selenoid UI is intended to be used with only one Selenoid because it is a local tests debugging tool.
3) Regarding test case name. @lanwen - am I right stating that Selenoid UI currently has no way to differentiate session by test case name?

UI just renders the output of /status handle. If your test is running on unnamed quota (without basic auth) it will be shown as unknown in the interface. Otherwise, it should show your quota name (name in basic auth).
For now, there is no way to provide test-case name to UI. It's really hard to differentiate similar sessions between each other... that's why UI is recommended as a debug tool for special cases (thanks to docker, session can be reproduced locally).
@vania-pooh But I think we can make maybe special capability which can be shown in UI? WDYT?

@lanwen so far as I know e.g. Zalenium has something like testCaseName. Let's add this capability information to /status in this issue.

Thanks a lot for your concern guyz !!!
The API /status provides us with the session id of VNC and all other details.
My scenario which I want to accomplish is that If I have 100 Test cases running routing through GGR, and I am running these cases from different different machines, Please tell me how will I come to know that which test case is routed on which machine.

@Infobeans-Anujita during the previous week we implemented this here: https://github.com/aerokube/ggr/issues/97 This is already released as ggr:1.2.5.

Thanks a lot for your support @vania-pooh @lanwen.

@vania-pooh When I am trying to find out the details of the port using curl http://IP:4444/session_id , I am getting 404 page not found error. I am not able to see the current port details.
Please tell me the IP which we are specifying here is of selenoid right? Its not of GGR?
Thanks in advance !

@Infobeans-Anujita you're using incorrect URL to get host by session ID. Should be:
http://IP:4444/host/session_id

This only works with latest release 1.2.5.

@vania-pooh @lanwen Is it possible that we only have GGR up in our machine, and we have grids up and the host name for those grids are defined in our test.xml file. Can GGR point to the existing grids? Selenoid and Selenoid-UI is down as of now.
When I am doing this, I am getting the error of "WebDriverException: Message: cannot create session firefox-46.0 on any hosts after 1 attempt(s), last host error was: Error forwarding the new session cannot find : Capabilities"
Can you please help me out with this?
Thanks in advance !

@Infobeans-Anujita yes, Ggr can work either with standard Selenium server or with Selenoid or with any other Selenium API implementation. You are getting this error probably because your browser name and version on respective host does not equal to what you are specifying in test and in Ggr config. E.g. you wish to use Firefox 46.0. In that case you need to:

Have a node with browserName = firefox and version = 46.0 registered to respective hub host.
Have a browser in Ggr XML file with exactly the same name and version.
You test should also provide capabilities with the same browserName and version. If your version is the default one in Ggr XML file, then you can omit the version in test. An example of how capabilities can look like in Java:

final DesiredCapabilities browser = new DesiredCapabilities("firefox", "46.0", Platform.LINUX);

Hey @vania-pooh @lanwen , Please let me know if we have an IRC channel for selenoid.

@vania-pooh @lanwen When I am trying to use curl http://ggr-ip:4444/host/session_id, I am getting an error of unknown host.

I am using the ggr: 1.2.5.
Can you please help me out with this? It will be a great help. Thanks in advance !!!!

@ersuniljoshi we have a Telegram channel here: https://telegram.me/aerokube You can also send personal questions to<EMAIL_ADDRESS>

@Infobeans-Anujita e.g. if you have Ggr host with IP <IP_ADDRESS>, session ID f155a64a24f6767e98747dabf0d6a60bb28f2610-457c-497f-a776-9d905fe6012f, username test and password test-password you should do request like the following:
$ curl -s http://test:test-password@<IP_ADDRESS>:4444/host/f155a64a24f6767e98747dabf0d6a60bb28f2610-457c-497f-a776-9d905fe6012f
{"Name":"<IP_ADDRESS>","Port":4444,"Count":5,"Username":"","Password":""}

@Infobeans-Anujita did you manage to resolve this issue?

Yes, I am able to see the details of the port.Thanks a lot  for your help !!

Ok, closing then.

Forgot to add showing capabilities in /status.

Thanks a lot @vania-pooh @aandryashin . It would be very helpful that we can see the TestCaseName in /status. This change is in selenoid-ui:1.3.2? Right? Do I need to spin the docker image of this specific version?

Not yet in UI. Will be in a few days after release of selenoid

@Infobeans-Anujita this will be available in the upcoming release. Not yet released.


ubuntu-console: use latest Ubuntu 14.04 image

see https://registry.hub.docker.com/_/ubuntu/

Thanks

Oh sorry, I read the commit backward.  The reason that we use 14.04.1 as opposed to 14.04 is for reproducibility.  We essentially pin all versions and don't want to use labels that are known to change (like latest).  Having said that, 14.04.2 is the latest and I'll gladly accept a PR that updates it to 14.04.2

pinned 14.04.2 in the next commit


Opened tabs remembered but all is put to the same group. It doesn't remembers which tab is in which group.

Anyone having the same problem on FF 58.0.1?

I can't reproduce this.
Under the hood the extension associates a groupID a tab is with using the browser.sessions.setTabValue API and then retrieves it later.
Could you give more info on this?

Updated to FF 58.0.2, but it's even worse, it doesn't remember opened tabs, even if FF is set to remember opened tabs. I would give you more info on this, but I don't know where to get that info, please help. This addon is crucial to me, and it's pretty good, I just don't see how can I make it functional.

Left only Power Tabs addon enabled and it behaves the same :(

I'm on Linux 64-bit.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/sessions/setTabValue   (not compatible with FF58, so that' it :(

That API does work on anything after Firefrox 57.
Could you give me some more information on what you're doing to make it forget tabs? Such as closing the windows and what not?

Sorry I got it wrong from that URL. Doing nothing special, just closing FF and re-opening it makes it forget tabs every time. As I said, I disabled all the addons except Power Tabs and it's still the same. Previously, on the same OS I had FF 56 with Tab Groups addon which worked flawlessly. I made about 7 groups, color them differently, and since it's FF58.0.2 all tabs are visible all the time, I understand I gotta wait for FF59 to hide tabs from inactive groups which is what I want.
More, I don't really understand why your addon has only 57 installations? As far as I see, it's the only decent tab manager out there for FF57+, addon so fundamental I don think it should be natively supported by browser.... World is weird. ;)

Could you expand on "makes it forget tabs"?
Are you sure those tabs are assigned to different groups and if so how did you do the assignment? There are different ways:

Right click a tab and go to Move to Group and assign a tab there.
Use the sidebar and then drag and drop tabs from one group to another.
Right click a tab (or multiple) from the sidebar and select Move To.

Apologies if you've already done this, I just want to rule this out in particular.
As for why it only has 57 installations, I don't really advertise this add-on anywhere except one post I did on reddit. I made this for a couple of friends and myself who wanted a tab groups replacement for Firefox 57+.

Used sidebar and dragged and dropped tabs from one group to another, that's how I did it. Yes, tabs were listed under the different groups... Everything functions great until I close the browser and then when I opet it, there are no tabs anymore :( ... I mean, ok, it's only one installation on less important machine of mine, but before I install it on other ones, I need to make sure this won't happen.

If this is a legitimate bug on my end (and not on Firefox's) I do want to figure out why it happens. Thanks a lot for your patience.
I do have a rather strange and convoluted request if you could regale me a bit.
Could you do the following steps for me?

Go to about:debugging
Tick "Enable add-on debugging"
Go down to Power Tabs entry
Click Debug
There'll be a popup asking you to confirm if you want to do this, press Confirm.
In the Console tab enter this code: (async function() { let tabs = await browser.tabs.query({currentWindow: true}); for(let tab of tabs) { let groupId = await browser.sessions.getTabValue(tab.id, "group-id"); if(!groupId) console.log(bad tab ${tab.id}); } console.log('done'); })();

Let me know if you see any bad tabs.

I'm getting this reply:
Promise { : "pending" }
done

That means that the tabs do actually have their session storage properly set.
I'm wondering if you have some kind of setting that makes all the session storage invalidated on window close but I doubt it since you said that tabs get restored.
Only other thing I can do to rule this out as my issue is the following snippet:
(async function() {
    let tabs = await browser.tabs.query({
        currentWindow: true
    });
    let groups = {};
    for (let tab of tabs) {
        let groupId = await browser.sessions.getTabValue(tab.id, "group-id");
        if (!groupId) {
            console.log(`bad tab ${tab.id}`);
        }
        else {
            if(groups.hasOwnProperty(groupId)) {
                groups[groupId].push(tab.id);
            }
            else {
                groups[groupId] = [tab.id];
            }
        }
    }
    Object.entries(groups).forEach(([groupId, t]) => console.log(`${groupId} -> ${t.length} tabs`));
})();

output:
Promise { : "pending" }
e2fddf45-8b02-43a7-a787-f9b3b7b53fb5 -> 5 tabs

There's another variant of behavour: It remembers tabs, but it puts them all into the same group. This addon is so crucial to me I really want to help any way I can, please post what should I do next.

I don't see anything weird there unless they're supposed to be split between multiple groups at the time you ran the script.

Yes, they were all in the same group. I moved them to various groups and then I get:
Promise { : "pending" }
e2fddf45-8b02-43a7-a787-f9b3b7b53fb5 -> 5 tabs
e9c1f485-20d6-411d-b268-80cee8ee1b58 -> 2 tabs
6654db53-84be-44e4-a6fa-16af71cfca66 -> 2 tabs
b2ba9b5c-ef47-44a5-9636-364671e1a929 -> 3 tabs
a5560544-0627-41e5-8f87-969f6ae00f04 -> 1 tabs
onActivated: 3/4 -> {"tabId":4,"windowId":3}  main.js:428:5
activeSync  listen.js:401:3
onActivated: 3/12 -> {"tabId":12,"windowId":3}  main.js:428:5
activeSync  listen.js:401:3
onActivated: 3/4 -> {"tabId":4,"windowId":3}  main.js:428:5
activeSync
So it seems everything is ok... Right now I'm going to close the browser and open it and will tell if they are still in the same groups...

They are all moved to the first group now. :(

Honestly this issue is very strange to me. I don't see anything wrong with the way I'm setting the session storage so that's clearly not the issue as per the script output. I just tried to reproduce it locally using 60a1 on Nightly (today's build) with no issue.
There must be something interfering with the session storage somehow when you close the window. Some sort of setting in about:config or privacy option is my guess.

Let me know if there's any about:config setting you need to know how it's set in my browser.

I also got this issue on firefox 60.0a1 on manjaro linux.

I'm on 59.0b12 and get the same behaviour. Changes in my firefox are the tabhide enabled, and I amped content process limit to 7.

I need this fixed badly so I can start using newest FF. How much money do you need to fix this?

@trancephorm this isn't a money thing, it's more of a time thing on my end. Plus this is kind of hard to reproduce and fix since I don't do anything with the session storage that would cause them to clear. It also happens at inconsistent levels depending on the person reporting it.

I have run into this problem as well. It is frustrating as the addon is so good!
I had the issue on firefox 60.0 on both Windows and Linux. After removing some other session management addons and reloading all tabs in another window it resolved on the Windows system but the Linux system is remaining the same.
I have tried with a fresh install and profile and it will still put all tabs into the currently selected group. The above debug checks all come out the same as well with tabs correctly being assigned to groups.
Promise { <state>: "pending" }
9be52bff-f468-4cff-a2e3-0f2f6142e906 -> 4 tabs
ce2cc762-f55c-4b78-837e-371c0e5f709f -> 10 tabs

But then reverting to all tabs in the current group after a restart.
Promise { <state>: "pending" }
ce2cc762-f55c-4b78-837e-371c0e5f709f -> 14 tabs

However, I noticed that if you disable power tabs, then restart firefox and enable it again then it works correctly and all tabs are grouped from when you disable it. I tried this with safe mode so that it disables all addons and it acts correctly again upon a normal startup. This means the issue is occurring on shutdown and not startup and so definitely points to your idea about the storage being affected on window close.
Is there any way to confirm if perhaps the tabIDs are no longer matching to the groups and so they get defaulted to the current group? I have noticed that sometimes tabs will be labelled 'New Tab' but have the previous open tab contents - as if it had created the new tab in an empty group and then the session restore started bringing in tabs. There is a mention of how for the getTabValue function that a "restored tab does not get the same ID as the original" but I am not sure if that would be to blame for this.

Thanks a lot for getting a closer look. It's absolutely crucial, fundamental add-on without which I just cannot use browser. I'll give you a 100 USD if you solve it, not kidding.

@Rapptz Could you please advise on how I could help you debug this further. In particular on how the tabs are matched to the groupID on disk. There definitely is a bug in how the groupIDs are saved in the session though I cannot see how it is occurring.
I can see the storage.js file with the groupIDs being updated each time a change is made. The sessionstore.jsonlz4 stores all the normal session data but with power tabs includes group-id entries to associate the tabs. On the problem systems it seems like a groupID that does not exist gets used.
My storage.js:
{"name":"Main","uuid":"20420bf4-bdaf-4984-b649-603bfdb4ddff","open":true,"active":true,"colour":"#000000"},{"name":"Puppet","uuid":"8bdf9d46-0346-4f18-944b-777588fef69f","open":true,"active":false,"colour":"#000000"}
First entry in the sessionstore.jsonlz4:
"extData":{"extension:power-tabs@rapptz-addons.com:group-id":"\"20420bf4-bdaf-4984-b649-603bfdb4ddff\""}
All other group-id entries in the sessionstore.jsonlz4:
"extData":{"extension:power-tabs@rapptz-addons.com:group-id":"\"ebb80123-afe5-40fe-8bd0-9fa8f62e9a23\""}
The ebb80123 group-id seems to come out of nowhere so it seems that a false groupId is being returned somewhere. Creating other groups does not seem to affect anything and the ebb80123 remains the same between restarts. The first group-id will change depending on which group is currently active. This happens constantly on the Linux system but seems to fix itself on Windows systems after the first few restarts.

Thanks to the jsonlz4 files showing up weirdly in plain text the previous post was partly incorrect.
I have checked over the session files with the sessionstore properly uncompressed to json and can confirm that all the tabs are correctly being assigned their group-id in the extData for the current window.
The ebb80123 group-id is actually coming from previously closed windows where all the tabs are assigned this group-id. I tested on the working system and it seems to correctly save the group-id for closed windows but will then lose the order of tabs as well if multiple windows are opened and closed before closing the main window. Opening a new window, closing the main one with all your tabs, restoring it and then closing down also seems to cause it.
So this seems like related issues - incorrect group-id being assigned to closed windows in the session store and multiple windows causing tabs to lose their group.
I have also seen the issue where all other tabs are closed which seems to be caused by dragging the current tab in the sidebar but most of the time it will just slow down for a few seconds, but that seems like a separate problem.

It looks like the issue here is not with the sessionstore being mangled on shutdown, but rather it's getting ignored on restore.
The fundamental problem appears to be that prepare() in background/listen.js is declared as an async function, meaning all of the listeners are added at more-or-less the same time as it starts. The resulting race condition means prepare() is fighting with onTabCreated() for whether each restored tab keeps its previous group ID or gets the active one — losing means all the tabs wind up in the active group when Firefox is restarted.
I have submitted PR #21, which should fix this (and #16).

Ugh, I take that back, that breaks opening new tabs within groups at the same time as it fixes the original issue.

Okay, so even accounting for the fact that I completely forgot await doesn't work outside of an async function, there is still something weird going on here — if I force prepare() to finish before the assortment of addListener() calls, new tabs fail to allocate to any group, and I'm really not sure why.
Beyond that, however, the grouping failure on start is definitely a race condition of some sort — if I simply wrap everything from ensureDefaultSettings() onward in a 2000ms timeout, everything works flawlessly (at least on my laptop). 1500ms is a bit whiff, 1000ms fails about half the time.
Unfortunately, Firefox doesn't have any convenient event to, e.g., wait for the browser startup to finish before trying to handle tabs. I tried working around this by waiting for tabs.onUpdated events to stop firing for the length of a timeout (tried between 500 and 5000ms), but again ran into the issue of new tabs failing to be grouped.
I am closing #21 for now; anyone have any other ideas on fixing this?

Okay, this appears to be fixable without any code changes, by setting extensions.webextensions.background-delayed-startup to true in about:config (at least on latest Developer Edition).
I can reliably reproduce the issue with that option set to false, not while true.

I can reliably reproduce the issue with that option set to false, not while true.

I can confirm that this issue is not fixed in Quantum 60 on macOS and Linux, using either 'true' or 'false' with the above configuration option. It's still a bug, and every time the browser is closed, all tabs get moved into the group that had focus when the browser was closed.
For my session with over 100 tabs in 20 groups, this is an enormous pain to reconstruct every time I start the browser. It's easier to use folders in the standard Bookmarks, than rebuild this every time I launch it.


Update kog_class.py v.0.3.9 fix 1

an actual rat was crashing the game, not a bug

self.draw.line was not accounted for an it crashed the game


DDG-1132 removes "Change to Commercial Status or Access Agreement" fr…

…om the Availability to Public Reason for Change options
@weijunnla @scoen @sjacob @ninhnguyen @shuangzhou

Build finished.


How to change menu item text after menu was created?

I want to do some kind of runtime changes to the menu, however failing to find any relevant API. Thanks in advance

The idea here is that they are not mutable, you should have State -> Menu builder, and re-run it.


x/tools/cmd/goimports: does not import when package name has an underscore (and different path)

Hello,
What version of Go are you using (go version)?
go version go1.8.3 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What did you do?
package main

func main() {
	grpc_prometheus.EnableHandlingTimeHistogram()
}

What did you expect to see?
package main

import "github.com/grpc-ecosystem/go-grpc-prometheus"

func main() {
	grpc_prometheus.EnableHandlingTimeHistogram()
}

What did you see instead?
It did not import the package.
After digging a bit, I found that it is coming from here and here.
goimports currently compares the last two components while removing the hyphens but should it handle underscores too ?

The underscore in grpc_prometheus is unusual for a Go package, and generally we want to encourage directory names to match package names. Given that, and the age of this issue, I'm going to close this. Please comment if you're still having trouble.


sendMessage error with message: JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Hello,
Thank you for making this api public. I am facing an issue where I am unable to send a message to Claude using the api. I am running the code in Google Colab new default notebook.
`from claude_api import Client
cookie = ''
claude_api = Client(cookie)
prompt = "Hello, Claude!"
conversation_id = claude_api.create_new_chat()['uuid']
response = claude_api.send_message(prompt, conversation_id,)
print(response)`
Error Message:
`---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
 in <cell line: 4>()
2 conversation_id = claude_api.create_new_chat()['uuid']
3 print(conversation_id)
----> 4 response = claude_api.send_message(prompt, conversation_id,)
5 # print(response)
3 frames
/usr/lib/python3.10/json/decoder.py in raw_decode(self, s, idx)
353             obj, end = self.scan_once(s, idx)
354         except StopIteration as err:
--> 355             raise JSONDecodeError("Expecting value", s, err.value) from None
356         return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)`
Let me know if I missed out on any info. Thanks for the help!

I suspect it is due to line 128 json_str being an empty string in claud_api.py. As a result, an error thrown in line 129.


add polygon fill svgs

Right now all of the available images are for representing points. It'd be super nice to have a library of fills !

Nevermind, it already exists!!


unify_with_occurs_check/2 creates infinite tree, dumping all cores

Trealla Prolog (c) Infradig 2020-2022, v1.26.15-1-ga85089
?- \B=A,C=[B|A].
   A = \B, C = [B|\B]. % expected
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]).
   B = [[[...]|...]]|\...]|...]]]|\[...]|...]]|...]]]|\[[...]|...]]|...]]|\...]|...]]]], A = \B, C = [[[...]|...]]|\...]|...]]]|\[...]|...]]|...]]]|\[[...]|...]]|...]]|\...]|...]]]]. % unexpected, dumping core (13211-1, <IP_ADDRESS> and 7.3)
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]), acyclic_term(B).
   false. % unexpected w.r.t. above success
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]), unify_with_occurs_check(A,\C).
Segmentation fault (core dumped) % explicit message about dumping core

Those who dump core, dump core.

Strange, using an intermediate variable it works...
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]).
B = [[[...]|...]]|...]|...]]]|[...]|...]]|...]]]|[[...]|...]]|...]]|...]|...]]]],
A = \B, C = [[[...]|...]]|...]|...]]]|[...]|...]]|...]]]|[[...]|...]]|...]]|...]|...]]]].
?- \B=A, A=D, C=[B|D], unify_with_occurs_check(B,[C|A]).
false.
On Mon, Apr 11, 2022 at 7:06 PM UWN @.***> wrote:

Trealla Prolog (c) Infradig 2020-2022, v1.26.15-1-ga85089
?- \B=A,C=[B|A].
A = \B, C = [B|\B]. % expected
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]).
B = [[[...]|...]]|...]|...]]]|[...]|...]]|...]]]|[[...]|...]]|...]]|...]|...]]]], A = \B, C = [[[...]|...]]|...]|...]]]|[...]|...]]|...]]]|[[...]|...]]|...]]|...]|...]]]]. % unexpected, dumping core (13211-1, <IP_ADDRESS> and 7.3)
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]), acyclic_term(B).
false. % unexpected, as above
?- \B=A,C=[B|A],unify_with_occurs_check(B,[C|A]), unify_with_occurs_check(A,\C).
Segmentation fault (core dumped) % explicit message about dumping core
Those who dump core, dump core.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/532, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEQG4462LXC4KYQ44F3VEPTRRANCNFSM5TCP3U3A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Can you put into simple word what the source of this error was, such that I can adjust my testing accordingly?

It was going down the rabbit hole leaving crumbs, but forgetting to pick
them up on the way out. When going in again and laying a new trail it got
confused coming out as it encountered crumbs and didn't know if it had been
here before.
On Tue, Apr 12, 2022 at 5:39 PM UWN @.***> wrote:

Can you put into simple word what the source of this error was, such that
I can adjust my testing accordingly?
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/532#issuecomment-1096269339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEXSAV3DA6E2CG2Z5PLVEUSERANCNFSM5TCP3U3A
.
You are receiving this because you commented.Message ID:
@.***>

So in a sense there was a built-in that left some inconsistent state. Right?
(Recall that the Dedekind numbers get soon very large and thus I cannot find all errors by brute force alone as I do now)

Yes. I have become lax about adding tests for issues, which has let
problems reappear. I have added these ones.
On Tue, Apr 12, 2022 at 5:57 PM UWN @.***> wrote:

So in a sense there was a built-in that left some inconsistent state.
Right?
(Recall that the Dedekind numbers
https://en.wikipedia.org/wiki/Dedekind_number get soon very large and
thus I cannot find all errors by brute force alone as I do now)
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/532#issuecomment-1096299372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSES72AMYYGM6SYAYMOTVEUUHHANCNFSM5TCP3U3A
.
You are receiving this because you commented.Message ID:
@.***>

If you think some issue is a reappearance, please indicate. My mental model of actual Prolog processors is often only half, no rather only a quadrant of what they are, but then I am not an implementer.
Speaking of quad-rants, soon questions using answer descriptions (quads) will simplify regression testing substantially. (I for the moment do not do any regression testing. I only dive into the deep, as it is much easier for me...)

Yes. I have become lax about adding tests for issues, which has let problems reappear. I have added these ones.

Maybe also consider contributing those tests to the automated tests suite you're already using? So that others can also benefit from those new tests?

touché
On Tue, Apr 12, 2022 at 6:58 PM Paulo Moura @.***>
wrote:

Yes. I have become lax about adding tests for issues, which has let
problems reappear. I have added these ones.
Maybe also consider contributing those tests to the automated tests
suite https://trealla-prolog.github.io/trealla/ you're already using?
So that others can also benefit from those new tests?
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/532#issuecomment-1096397117,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEWGV2QI3UUZUDL25QTVEU3KHANCNFSM5TCP3U3A
.
You are receiving this because you commented.Message ID:
@.***>

touché

Better put your time into improving your system. There is very little value in compiling them (manually) into some extra form. Yes, there is some value, but very little indeed. Not worth the typing (cut-paste) time. Instead, removing current issues enables me to find further errors. Currently, everything is stalled again. And due to your systematic under-appreciation of syntax, you are just increasing the MTTFF.

touché

Better put your time into improving your system. There is very little value in compiling them (manually) into some extra form. Yes, there is some value, but very little indeed.

Automated testing have uncovered ~1000 standards compliance bugs so far in Trealla. That greatly outnumbers the bugs
found using manual testing. But not everything can be (easily) automated and both testing approaches contribute to improve the quality of Prolog systems. Tests can only prove the existence of bugs, not their absence. But automating tests greatly helps prevent regressions, specially when bug fixes are committed together with tests that exposed the bugs.

Nobody hinders you to use the witnesses posted here to improve your test suite. Fine. But as far as I know this test suite is on a password protected github site.
But I can assure you that the precise errors we currently encounter w.r.t (=)/2 and dif/2 are not very worthy being recorded. The administrative overheads are much too high w.r.t. the benefits.

But as far as I know this test suite is on a password protected github site.

Wrong. The test suite is open source. It was never on a password protected site. You can access it at:
https://github.com/LogtalkDotOrg/logtalk3
It's also part and therefore included in all Logtalk installations, which can be easily performed using publicly avaialble installers.


No NearestPolygon returned after some time

Hello,
I have an issue with DetourStatus FindNearestPolygon(array<float>^ center, array<float>^ extents, QueryFilter^ filter, [Out] array<float>^% nearestPoint)
After some time, it'll return "0" for a certain position in my meshes, if I restart my  application, and check the exact same path, it'll be fine, so looks like the mesh is not the issue.
Any idea what could somehow corrupt the _query instance over time ?
I'll be having a work-arround => reinitialize the pathing system if I don't have a valid nearest polygon, but that issue is not really easy to reproduce unfortunatly so I don't know if it'll fix my problem.

I guess given the ^, & and [Out] that you're using a managed wrapper around Recast, right? If you're finding objects become corrupted, I'd suspect something in the wrapper. I haven't heard of any problems like this in the native library. When you say 'return 0' do you mean nearestPoint is the zero vector? What's the return code from the function - is it failing?

I'm using a managed wrapper to be run from C# yes.
My C# app call the function that returns a "dtPolyRef" as ulong.
public ulong FindNearestPolygon(float[] center, float[] extents, QueryFilter filter);
		DetourStatus FindNearestPolygon(array<float>^ center, array<float>^ extents, QueryFilter^ filter, [Out] array<float>^% nearestPoint)
		{
			pin_ptr<float> centerPointer = &center[0];
			pin_ptr<float> extentsPointer = &extents[0];

			nearestPoint = gcnew array<float>(3);
			pin_ptr<float> nearestPointer = &nearestPoint[0];

			dtPolyRef discard;
			return (DetourStatus)_query->findNearestPoly(centerPointer, extentsPointer, filter->GetNativeObject(), &discard, nearestPointer);
		}

		dtPolyRef FindNearestPolygon(array<float>^ center, array<float>^ extents, QueryFilter^ filter)
		{
			pin_ptr<float> centerPointer = &center[0];
			pin_ptr<float> extentsPointer = &extents[0];
			dtPolyRef ret;
			if (_query->findNearestPoly(centerPointer, extentsPointer, filter->GetNativeObject(), &ret, 0) != DT_SUCCESS)
				return 0;
			return ret;
		}

I don't have a logging as you can see, but it doesn't return "DT_SUCCESS" so, it gives me "0" instead. (sorry for the confusion)
I need to think of an easy way  to send C++ logs to my C# logger so I can log the dtStatus when it happend.

You could provide your own implementation of rcContext, look at how it's
done for BuildContext, in particular the doLog protected method, see
https://github.com/recastnavigation/recastnavigation/blob/master/RecastDemo/Include/SampleInterfaces.h
Le 22 mars 2017 18:38, "MALKA Marc"<EMAIL_ADDRESS>a écrit :

I'm using a managed wrapper to be run from C# yes.
My C# app call the function that returns a "dtPolyRef" as ulong.
public ulong FindNearestPolygon(float[] center, float[] extents,
QueryFilter filter);
  DetourStatus FindNearestPolygon(array<float>^ center, array<float>^ extents, QueryFilter^ filter, [Out] array<float>^% nearestPoint)
  {
  	pin_ptr<float> centerPointer = &center[0];
  	pin_ptr<float> extentsPointer = &extents[0];

  	nearestPoint = gcnew array<float>(3);
  	pin_ptr<float> nearestPointer = &nearestPoint[0];

  	dtPolyRef discard;
  	return (DetourStatus)_query->findNearestPoly(centerPointer, extentsPointer, filter->GetNativeObject(), &discard, nearestPointer);
  }

  dtPolyRef FindNearestPolygon(array<float>^ center, array<float>^ extents, QueryFilter^ filter)
  {
  	pin_ptr<float> centerPointer = &center[0];
  	pin_ptr<float> extentsPointer = &extents[0];
  	dtPolyRef ret;
  	if (_query->findNearestPoly(centerPointer, extentsPointer, filter->GetNativeObject(), &ret, 0) != DT_SUCCESS)
  		return 0;
  	return ret;
  }

I don't have a logging as you can see, but it doesn't return "DT_SUCCESS"
so, it gives me "0" instead. (sorry for the confusion)
I need to think of an easy way to send C++ logs to my C# logger so I can
log the dtStatus when it happend.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/recastnavigation/recastnavigation/issues/265#issuecomment-288479311,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAdF6soAYJgdT4FUWiqCJrXOg3_wVhY7ks5roVyCgaJpZM4MkRL7
.

Did you get this resolved @TheNoobCompany ? Any more input or insight?

Actually I'm convinced this isn't a problem with our project so I'll close this for now to keep the bug tracker tidy; please follow up if you have more information though!


Support Dapr Resiliency

ETA: Public Preview November

Hi @michaelmccarver, @mikocot, others,
Yes, there is a bit of a delay with the Resiliency feature, but that's due to the scope of this capability expanding.
We're in the design phase and currently looking for customer input. If you're open to having a conversation with the ACA product team to discuss the resiliency feature in-depth/share some of your project requirements as it pertains to resiliency, can you email me at<EMAIL_ADDRESS>Thanks!

@greenie-msft
Email Sent! Thanks for reaching out.

@michaelmccarver I think that's a mistake by @dfraze.
This is definitely not in Public Preview.
I'm one of the Dapr maintainers and I also work on Dapr in Container Apps. This feature is not ready in Container Apps.

Has there been any update or new estimation to when we might see this feature ?

Has this been released recently? We can see the following in our dapr logs
Error processing operation DaprBuiltInServiceRetries. Retrying in 1s…
Long running calls are now being cancelled after 15 seconds and it seems like retries are taking place. I have not found any way to control either the timeouts or the resiliency in Azure Container Apps. All documentation on dapr relates to resiliency.yaml.

URGENT - PRODUCTION ISSUE
Also seeing the following in our Dapr logs:
Error processing operation DaprBuiltInServiceRetries. Retrying in 1s…" app_id=api-gateway-public instance=ca-xxxx-xxxxxx-xxxx-01--xxxxxx-xxxxxxx-xxxxxscope=dapr.runtime type=log ver=1.11.2-msft-3
Azure Deployment:
Web Portal \ Swagger >> max 60 seconds>> APIGateway (App Container + Dapr) >> retrying every 15 seconds >> QuotatrionService ( App Container + Dapr) [Quote takes  ~17 seconds to external API]
Our API Gateway has a 60 seconds timeout, it calls another containerised service using Dapr up to 4 times, once every 15 seconds. This only started happening Monday 23rd Oct at 01:00:00 UTC.
Has something been released to production that should not have been?? This is urgent as it is stopping business processing through our production system.

@michaelmccarver, @mikocot, @cvisotski
The resiliency feature is now available: https://techcommunity.microsoft.com/t5/azure-developer-community-blog/resiliency-policies-now-available-in-azure-container-apps/ba-p/3978864
Please let me know if you have any questions as you try out resiliency in ACA!

Glad to see this supported! We'll be giving this a try and reply with any feedback we may have -- thanks team!

@greenie-msft good to hear that, unfortunately we had to give up dapr on the way due to multiple reliability issues, so I can't test it anymore. But I guess it's one step closer now :)

@mikocot, I'm interested in learning more about the reliability issues you encountered. If you have the time and care to share please send any details to my email nigreenf at microsoft dot com.

Closing as the resiliency feature is now available: https://github.com/microsoft/azure-container-apps/issues/999

How do I disable this? I'm seeing errors in my environment @greenie-msft

How do I disable this? I'm seeing errors in my environment @greenie-msft

@onionhammer it is not enabled for Dapr service invocation. And for components it is only enabled if you explicitly create a component resiliency policy.
Please contact Azure support for your specific concern for the fastest resolution. Of course you can open a new GitHub issue in this repo - but there is no guaranteed response time in this repo.


comparingOnlyFields gives false positive on iterable objects

Describe the bug
When comparingOnlyFields() is used on a list of objects to recursively compare object properties it never reports a failure.
I would have expected it to behave like a complement to ignoringFields() (which works as expected on a list of objects).

assertj core version: 3.24.2
java version: Temurin-17.0.6+10 (build 17.0.6+10)
test framework version: junit-jupiter:5.9.1

Test case reproducing the bug
package foo;

import java.util.Arrays;
import java.util.List;

import org.junit.jupiter.api.Test;

import static org.assertj.core.api.Assertions.assertThat;

class FooTest {

    public class Person {
        String firstname;
        String lastname;

        public Person(String firstname, String lastname) {
            this.firstname = firstname;
            this.lastname = lastname;
        }
    }

    @Test
    public void listExample() {
        Person foo = new Person("Foo First", "Foo Last");
        Person bar = new Person("Bar First", "Bar Last");

        Person expectedFoo = new Person("Foo First", "wrong");
        Person expectedBar = new Person("Bar First", "wrong");

        List<Person> people = Arrays.asList(foo, bar);
        List<Person> expectedPeople = Arrays.asList(expectedFoo, expectedBar);

        // Works
        assertThat(people)
                .usingRecursiveComparison()
                .ignoringFields("lastname")
                .isEqualTo(expectedPeople);

        // Fails as expected
        assertThat(people)
                .usingRecursiveComparison()
                .ignoringFields("firstname")
                .isEqualTo(expectedPeople);

        // Should fail - but works!
        assertThat(people)
                .usingRecursiveComparison()
                .comparingOnlyFields("lastname")
                .isEqualTo(expectedPeople);

        // Should also fail - but works!
        assertThat(people)
                .usingRecursiveComparison()
                .comparingOnlyFields("bla", "blub")
                .isEqualTo(expectedPeople);

    }
}

I was able to replicate the behavior on tags/assertj-build-3.24.2 where both of the below pass.
// Should fail - but works!
assertThat(people)
.usingRecursiveComparison()
.comparingOnlyFields("lastname")
.isEqualTo(expectedPeople);
    // Should also fail - but works!
    assertThat(people)
            .usingRecursiveComparison()
            .comparingOnlyFields("bla", "blub")
            .isEqualTo(expectedPeople);

But the first one is working correctly on main and so I believe it has already been fixed.
I do think that the second test case above should fail, if a field that does not exist is entered into the comparingOnlyFields as i would think spelling mistakes could be quiet common and could lead to a lot of silently failing tests.
I'd like to pick this issue up if the assertj team see the benefit in it?

Thanks @joel-costigliola I'll pick it up!

@joel-costigliola
I have opened PR #3137 to check for non-existing fields.
One thing to note is that  the following test currently ignores the comparingOnlyFields as it is in a list and a deep compare is instead done to make sure they are the same. I didn't want to change this behaviour as it seemed like a much larger change that should be discussed first.
// Should also fail - but works!
assertThat(people)
.usingRecursiveComparison()
.comparingOnlyFields("bla", "blub")
.isEqualTo(expectedPeople);

Integrated thanks @aindriu-aiven !


Only first three statements pulled

Hi Ben,
After attempting to use your scraper, only the first three statements get repeatedly pulled into the dataframe. I modified the code to get the htmlparse statements to work. Has this attempt broken anything else down the pipeline?
Thanks,
politifact-scraper.txt

Thank you, @philip-sparks! This code works on my end. Would you mind submitting a pull request to fix the .R file?

Hey Ben, I couldn't get authentication to allow me to send a pull request on your repository, so I fork/cloned it onto my profile.
Here's the link: https://github.com/philip-sparks/Politifact-Scraper/blob/master/politifact-scraper.R
This files creates 5,376 entries in all.statements.df and loops through the first seven statements repeatedly.

Just to clarify, running your script as is returns "Error: failed to load external entity "http://www.politifact.com/truth-o-meter/statements"" after line 6. I've tried this in multiple OS environments using R 3.4.4 within RStudio.

Very old. Thanks!


[Bug] Default domain matching sometimes matches on incorrect domains

Describe the bug
The default domain matching matches when the domain string is found anywhere within the URL, not only when it's the hostname.
Browser
Chrome 97.0.4692.99 on Windows 10
To Reproduce
Steps to reproduce the behavior:

Go to https://example.com/ (hostname: example.com)
Add body { background-color: fuchsia; } as a Stylebot rule for that page
Go to https://www.google.com/search?q=site%3Aexample.com (hostname: www.google.com)

Expected behavior
Background is default (white)
Actual behavior
Background is fuchsia
Additional context
I'm guessing the problem is here: https://github.com/ankit/stylebot/blob/060f566e49c83847d6c4f7e1b87156d91de63a73/src/background/utils.ts#L34-L37
Replacing that indexOf check with something like new URL(url).hostname === new URL(`https://${subUrls[i].trim()}`).hostname might do the trick.

I just found the same thing, hope to see your PR get merged!


plumbing/transport/http: add callback based basic auth

Hey - great work.
I'm using go-git in a Github app which uses dynamic credentials, so having http basic auth backed by a callback function is really useful. Let me know what you think of this.

So far the preferred way to implement this kind of logic is to set the basic auth from the beginning, or using ErrAuthRequired to ask for the password only when required. See example: https://github.com/src-d/go-git/issues/350#issuecomment-300096008

There is also a pending PR adding an example about intended usage: https://github.com/src-d/go-git/pull/383

hey @smola - I did see the other PR and example usage. I think this code solves an additional use case, which is constantly changing credentials. For example, I'm using this library with credentials that are rotated every hour as part of a Github App.
I could conceivably handle it externally, but this felt like a common enough use case to try to include here. If you'd rather not, I understand.
@mcuadros If you all think you may accept this, then yes, I'll definitely follow up with some test coverage for that function :+1:.


Invalid Cert for Docker Image

When i Sending build context to Docker daemon 269.3 kB
Step 1 : FROM sameersbn/ubuntu:14.04.20160321
Get https://registry-1.docker.io/v2/sameersbn/ubuntu/manifests/14.04.20160321: x    509: certificate is valid for FGT80C3913605510, not registry-1.docker.io

@markduig I do not follow the issue. Can you please share the steps to reproduce the issue?

closing due to lack of activity, please re-open  for further assistance


Bump @fluidframework/build-tools

Description
Updated version includes #11853.

general question--how much do we care about package-lock churn and deduping? I just ran npm i -D @fluidframework/build-tools here from the root to pick up latest without much further effort. I notice there are some duped dependencies (mostly some @oclif stuff) that I could put more effort into reverting if reviewer thinks it's worth.

@Abe27342 It's not sufficient to update just the root package.json. If you're trying to update the client release group, for example, you need to update all the packages in that release group.
This is what the bump deps command in the flub tool is for. You can install it globally using npm i -g @fluid-tools/build-cli@next then run something like flub bump deps build-tools -t latest. You should get output like this:

Add -x to skip the automatic install and commit steps if you want to just see the changes it makes. Add -g client if you only want to update client.

@Abe27342 It's not sufficient to update just the root package.json. If you're trying to update the client release group, for example, you need to update all the packages in that release group.
This is what the bump deps command in the flub tool is for. You can install it globally using npm i -g @fluid-tools/build-cli@next then run something like flub bump deps build-tools -t latest. You should get output like this:

Add -x to skip the automatic install and commit steps if you want to just see the changes it makes. Add -g client if you only want to update client.

oh sweet, it even makes a branch for you. Going to close this and re-open one from that branch then...


fix php deprecated warning when passing null as subject in preg_match()

fix #876

Hello @julienbornstein
good and easy solution. works fine in my environment.
Some situations check also the version number (starting at line 1517 in your local repo).
There is already a check for empty propertyName.
We should add here also check like this below and return false in case of an empty UA string.
If not doing so, the version function will also throw deprecated warnings as in your changed function.
    if (!\is_string($this->userAgent)) {
        return false;
    }

kind regards
darapa1

it only throw deprecated warnings when it's null, not when it's an empty string. Maybe I didn't understand what you're saying. Can you comment on my commited code ?


Create npm script 'release'

...for building releases.

Decided to create a repo for this script because it's hasn't and FOSS is awesome
https://github.com/adminion/release-helper


ci: update Snapshots in CI when checkbox is checked

[x] My Checkbox is checked

[x] My Checkbox is checked

new comment


Add URL and BugReports urls to your description

Like they did in skater here https://github.com/signaturescience/skater/commit/6443c6118a4a9344b0841cc1c6daa99005e6f346
That way we can find this repo on GitHub if there are any more problems in the future (so I won't have to email you)

Thank you for the link! This has been implemented.


Running Hotword.py

I am having trouble running the hotword script, I have entered the path to my model file but it keeps saying no module named snowboy, even though I have sent the 3 wav files to the server successfully. See below terminal output, any help would be appreciated.
(env) pi@raspberrypi:~ $ python /home/pi/assistant-sample/hotword_sample.py
Traceback (most recent call last):
File "/home/pi/assistant-sample/assistant/hotword.py", line 7, in
import snowboydecoder
ModuleNotFoundError: No module named 'snowboydecoder'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/assistant-sample/hotword_sample.py", line 2, in
from assistant.hotword import HotwordService
File "/home/pi/assistant-sample/assistant/hotword.py", line 9, in
import snowboy.snowboydecoder as snowboydecoder
ModuleNotFoundError: No module named 'snowboy'

I am not sure if you have installed snowboy module before executing. However following the documentation i tried to install snowboy on my RPi4 with Raspbian Buster and had to fail again installing. Looks like Raspbian Buster has lot of issues currently and not fully stable to use or most of the libraries not compatible with the latest Buster. However the pain point is, you can not go back to Raspbian Stretch or any earlier version if you are on RPi4.


Add block to simplify plotting of Bode diagrams

In order to simplify the plotting of Bode diagrams, a new complex block shall be introduced. The block shall have one complex output which is calculated as the quotient of two complex inputs. Three real outputs shall represent

The absolute value of the quotient
The log10 of the absolute value of the quotient, multiplied by 20dB
The angle of the quotient

Added implementation for maint/3.2.2 in 9f23c3a


added option to modify robot & trajectory colors

I think instead of storing the color as the hex code, it should be stored as the int value of the color
Look at how it's done for graphs and boolean boxes, it works much nicer with the color API

I think instead of storing the color as the hex code, it should be stored as the int value of the color
Look at how it's done for graphs and boolean boxes, it works much nicer with the color API

Fixed


Why default to a no-op?

I'm confused by the example:
float["3.2"] # "3.2"

I don't see what float is doing for me, if it's not going to do anything with anything I pass to it. At the very least, I'd expect the default to be for float to do something, with the option of having it perform a no-op.

it defines a float type, treat it like something for type annotations, it's going to be a base for more complex types, ie a constrained float that must meet specific requirements.

Yeah, but it's really surprising that the default behavior of the type is to not care if it's actually of that type.

As I said, this is the base construct for other types, when you actually don't want to have coercions at all, for type-checking there is strict category, for coercions there is coercible category, etc. A base is needed, the readme explains it. It represents information about the type, it's not meant to be used for coercion.
Simple annotations are useful too, ie when you trust the source to always provide already coerced input, but you do want to specify information about the types.