simbatt: Fix broken registry read-back

The GetSimBattStateFromRegistry function is currently using default settings if GetSimBattStateFromRegistry succeeds, whereas settings from registry are only applied if GetSimBattStateFromRegistry fails. This does not make sense to me.
Therefore proposing to remove the ! negation from if (!NT_SUCCESS(Status)) { on the line after Status = GetSimBattStateFromRegistry(Device, RegState); so that default settings are loaded when registry read-back fails.

Gentle reminder.

@JakobL-MSFT Is it possible to get some kind of explanation for why this PR was closed instead of being considered for merging? Am I misunderstanding something, or don't you want to fix bugs in the sample code?

I closed this PR unintentionally.  I apologize. I am reopening the PR.

@JakobL-MSFT @tristanb-ntdev Anything holding back merging of this bugfix?


chore: promote twitter-angular-dashboard to version 0.0.8

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

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

Needs approval from an approver in each of these files:

OWNERS

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


foobar2000(-portable|-encoders): Fix function problems after updating or re-installing, and some improvements

Fix problems that encoders don't work after installing/updating foobar2000 and foobar2000-portable, the encoders should work fine after any of them is installed/re-installed now.
Improve persist behavior for foobar2000-portable, some persisted files/folders should be always synced with ones in persist_dir now.

@AkariiinMKII can you resolve conflicts?

@AkariiinMKII can you resolve conflicts?

@AkariiinMKII can you resolve conflicts?

resolved


Get-DistributionGroupMember/Get-DynamicDistributionGroupMember behave differently in Windows vs Linux/CentOS (impact: performance)

Exchange Online Powershell:
Get-DistributionGroupMember/Get-DynamicDistributionGroupMember cmdlets behave differently in Windows vs Linux/CentOS.
This difference has a huge negative impact on performance for Linux/CentOS implementation.
setup:

in EXO tenancy, create a group (distribution group, mail-enabled security group or dynamic distribution group) with at least 10k members
setup app-only authentication in Azure AD for EXO V2 PS
use powershell 7.2.x for Windows and Linux/CentOS
use Exchange Online Management v2.0.5 for Windows and Linux/CentOS
connect to EXO with Connect-ExchangeOnline through app-only authentication
using Measure-Command against Get-DistributionGroupMember/Get-DynamicDistributionGroupMember with "unlimited results" to return all members (10k+)

expected results:

in our tests where we use 25k members for a given group
Windows measurements ~= Linux measurements (accounting for acceptable level of variances)
Windows measurements in various environments yielded ~110s (give or take)
Linux measurements in various environments yielded ~110s (give or take)

actual results:

in our tests where we use 25k members for a given group
Windows measurements is much much faster than Linux measurements (degradation is by 7 times)
Windows measurements in various environments yielded ~110s (give or take)
Linux measurements in various environments yielded ~700s (give or take)

NOTE:

curiously from Jun 27 to around Jul 4 11:30am PST, Linux cmdlets were able to operate on par with Windows cmdlets.  After Jul 4 11:30am, Linux cmdlets were operating very poorly

We have turned on logging as instructed in the README.MD.   In Windows, there's only telemetry logs generated and operates as expected.    In Linux, the GET cmdlet failed and also mysteriously requested password for the group as well.
The failure was
"WARNING: An error caused a change in the current set of domain controllers.
Get-DistributionGroupMember: Server YTBPR01A07DC001.CANPR01A007.PROD.OUTLOOK.COM doesn't belong to partition CANPRD01.PROD.OUTLOOK.COM."

@miegie-a, try using v2.0.6-Preivew6 of the module. You have a few of different things to try:

Connect using the -UseRPPSSession switch.
Connect without using the -UseRPPSSession switch so you're using the REST API versions of the cmdlets.
Connect using app-only authentication

Compare/contrast the results in both Windows and Linux (where possible) and report back here with your findings.
The differences in regular and REST API mode differences are explained here.

Hi,
we have tried v2.0.6-Preview6, also thinking of the same thought line.
when using 2.0.6 remote powershell Session (UseRPSession switch), the behaviour is like 2.0.5 and the Linux based call/query performs very poorly.   I didn't subject it with debugging and i'm not sure if it "crashes" the same way with a DC error.
NOTE that the crash only happens when in full debugging.  the Linux cmdlets do actually work and respond back with the correct data results when not in debugging.  of course, performance is terrible.

Hi again.
with using 2.0.6-Preview6, when using the default connection by not adding the UseRPSession switch, the Get-DistributionGroupMember/Get-DynamicDistributionGroupMember cmdlet call just simply crashes when the results are long enough that it does some "internal paging".
See error for both Windows and Linux 2.0.6-Preview6.
Get-DistributionGroupMember: Ex6086AE|Microsoft.Exchange.Data.Directory.ADInvalidHandleCookieException|Active Directory operation failed on
YQXPR01A07DC002.CANPR01A007.PROD.OUTLOOK.COM. Additional information: Active Directory rejected paged search cookie because a cookie handle was discarded
by a Domain Controller or a different LDAP connection was used on subsequent page retrieval. Paged search needs to be restarted and will succeed.
Additional information: The parameter is incorrect. Active directory response: 00000057: LdapErr: DSID-0C090B19, comment: Error processing control, data 0,
v4563.

@miegie-a, you should send this information to exocmdletpreview[at]service[dot]microsoft[dot]com. They should be able to help you.


Add domain file for DSHS

@SynapsGit First stage of verification passed, official domain is dsisdtx.us as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://www.dsisdtx.us/Page/2337

@SynapsGit Thank you for your patience while waiting for a review and processing your request. Pull request merged.


How to default the Week view to show from 6:00 AM instead of 12:00 AM?

Solution is pass scrollToTime props.
const scrollToTime = new Date().setHours(6)

Use the min and max props.


Research project for ML and NLP:  Analyze news articles about App Inventor

Suggestion from Benji:
Factiva is a business information and research tool (owned by Dow Jones). It enables you to query news that is up to 5 years old. This could give us insight regarding how App Inventor has been represented in the news over the past 5 years.
I was inspired by Vitomir Kovanovic, whom I met earlier this week. He used Factiva to access news data on MOOCs and write What public media reveals about MOOCs: A systematic analysis of news reports. He did topic modeling to understand common themes in the public discourse on MOOCs.
Factivia is available via MIT libraries (google "mit factiva). I attached the data from a query for "app Inventor" from all sources for the past 5 years (29 June 2011 - 1 July 2016). n=445, but there are over 100 articles listed as duplicate so the count may be closer to 300 depending on duplicates are handled.
This could be a potential student project for somebody interested in machine learning and natural language processing.
AppInventorNewsFactiva.zip

I am interested in this NLP analysis project. Can I submit a proposal for this as part of GSoC?

I am interested in the project but i have  some queries like,is it compulsory to use Factiva tool,as it lags behind some news publisher and it's not containing all the articles related to MIT app inventor.

I have applied LDA algorithm to generate topic based on the  word frequency for the first document file of (AppInventorNewsFactiva.zip) provided by @halatmit.

`


No connection between Agora 5.1.1 (web) and Agora 3.2.1 (Android)

We're using Flutter and planning on publishing a web version of our app using the latest version of the Agora package (5.1.1)
https://pub.dev/packages/agora_rtc_engine/versions/5.1.1.
The bug occurs  when we try to establish a connection between that version and our android published app using agora package (3.2.1)
https://pub.dev/packages/agora_rtc_engine/versions/3.2.1

Not getting any errors just this
[log] userJoined  100 0
15:34:22:590 %cAgora-SDK [DEBUG]:
15:34:22:590 %cAgora-SDK [INFO]:
agora-iris
15:34:22:591 %cAgora-SDK [DEBUG]:
15:34:22:594 %cAgora-SDK [INFO]:
15:34:22:594 %cAgora-SDK [DEBUG]:
15:34:22:595 %cAgora-SDK [DEBUG]:
15:34:22:595 %cAgora-SDK [DEBUG]:
15:34:22:595 %cAgora-SDK [DEBUG]:
15:34:22:618 %cAgora-SDK [DEBUG]:
15:34:22:618 %cAgora-SDK [DEBUG]:
15:34:22:621 %cAgora-SDK [INFO]:
15:34:22:621 %cAgora-SDK [DEBUG]:
15:34:22:696 %cAgora-SDK [INFO]:
15:34:22:696 %cAgora-SDK [DEBUG]:
15:34:22:697 %cAgora-SDK [DEBUG]:
15:34:22:698 %cAgora-SDK [DEBUG]:
agora-iris
15:34:22:705 %cAgora-SDK [DEBUG]:
15:34:22:706 %cAgora-SDK [DEBUG]:
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
agora-iris
Remote side is a black screen

How about the android APP base on agora_rtc_engine: 5.1.1?

Hi @littleGnAl , sorry for the late reply, connection works from agora_rtc_engine: 5.1.1 (Web) to agora_rtc_engine: 5.1.1 (Android) with the provided example, we wanted to confirm that there can be issues to connect with lower versions of the package before upgrading our app.

How about the connection between the agora_rtc_engine: 5.1.1 (Android) and  the agora_rtc_engine: 3.2.1 (Android)

Hi @littleGnAl , yes connection agora_rtc_engine: 5.1.1 (Android/iOS) and the agora_rtc_engine: 3.2.1 (Android/iOS) works well

Hello @Ben-chedli, do you mind uploading SDK logs so that we can analyze the problem more easily.
// Set the log level to LogLevel.Info
final logConfig = LogConfig(level: LogLevel.Info);
_engine = await RtcEngine.createWithContext(RtcEngineContext(
    config.appId,
    logConfig: logConfig,
));
...
await _engine.joinChannel(config.token, _controller.text, null, config.uid);

...
// Call uploadLogFile after the connection done
await _engine.uploadLogFile();

But you will need to provide the channelId and the uid that pass to joinChannel function.

Hi @littleGnAl sorry for the late reply, we're quite busy trying to figure this issue out as it is a top priority for our business, we finally managed to update our app to work with the latest Flutter sdk and Agora versions, the result was that it works great with desktop web agora but not on mobile browser!
Is this a known issue that you are aware off ?

@littleGnAl we lastly tried the example code provided in https://pub.dev/packages/agora_rtc_engine/example and the result was the same when the app is deployed ..

Hello @Ben-chedli, we have tested the connection of web (agora_rtc_engine: 5.1.1) and Android (agora_rtc_engine: 3.2.1), but it works fine, so it's better to analyze the SDK log to see what actually happen.

Hi @littleGnAl , i have now added the logConfig and run the app, one more specification is that we have upgraded our app to agora_rtc_engine: 5.1.1 now and not using agora_rtc_engine: 3.2.1 anymore! A new issue seems to be that the web version runs fine on the PC web browser but doesn't run on the android device browser !
//From windows chrome browser/

//From Android device chrome browser after deployment/

ew issue seems to be that the web version runs fine on the PC web browser but doesn't run on the android device browser !

same for me it is working perfectly on chrome or safari on my mac but doesn't work on chrome on android

The web support for agora_rtc_engine 6.x has landed in the main branch, If you still face issues, please try the latest code in main branch to see if it works or not.


docs: Update Ee W. Durbin III's name

Per https://twitter.com/EWDurbin/status/1337939281835384834
name change.
Signed-off-by: Sumana Harihareswara<EMAIL_ADDRESS>

<3


Sack duplication when picking up mana pool

Minecraft version & Mod Version:
Minecraft 1.12.2
Cyclic 1.12.2-1.9.4
Botania r1.10-349
Single player or Server:
Both
Describe problem (what you were doing / what happened):
Pick up a Botania mana pool with an empty sack of holding. You get a sack containing the pool and also keep the empty sack. The pool will still appear to be on the ground as well, but this is just a visual glitch; you can't interact with it and it will vanish if you reload the world.

So it sounds like its picking up the pool fine but also somehow failing to delete it .
Thanks for reporting ill look into it.  Hopefully theres a nice clean fix.
Worst case scenario, if i cant fix it I will add a blacklist so we can block out/disable things that dont work

Error log when i attempt this
[18:35:17] [Server thread/FATAL]: Error executing task java.util.concurrent.ExecutionException: java.lang.NullPointerException         at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_25]         at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_25]         at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]         at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:721) [MinecraftServer.class:?]         at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666) [MinecraftServer.class:?]         at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) [chd.class:?]         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25] Caused by: java.lang.NullPointerException         at vazkii.botania.common.block.mana.BlockPool.func_180663_b(BlockPool.java:120) ~[BlockPool.class:?]         at net.minecraft.world.chunk.Chunk.func_177436_a(Chunk.java:567) ~[axw.class:?]         at net.minecraft.world.World.func_180501_a(World.java:342) ~[amu.class:?]         at net.minecraft.world.World.func_175698_g(World.java:397) ~[amu.class:?]         at com.lothrazar.cyclicmagic.util.UtilPlaceBlocks.destroyBlock(UtilPlaceBlocks.java:162) ~[UtilPlaceBlocks.class:?]         at com.lothrazar.cyclicmagic.net.PacketChestSack$1.run(PacketChestSack.java:87) ~[PacketChestSack$1.class:?]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_25]         at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_25]         at net.minecraft.util.Util.func_181617_a(SourceFile:46) ~[h.class:?]         ... 5 more

Ive got it fixed up to the point to where it no longer dupes the empty sack, it consumes it correctly.
the visual-only glitch still happens however , and it looks like this would be have to fixed on botanias side, AFTER the newest cyclic version comes out that fixes my part.

https://minecraft.curseforge.com/projects/cyclic/files/2491200


Add support for callbacks on DirectStoreMuxer

(Based on #6035, will rebase this after that's in)

Based on the doc, I don't think this is quite the right approach.


Regenerating missing extensions on bundle install

Assuming my bundle path is ./vendor/bundle:
$ bundle config
Settings are listed in order of priority. The top value will be used.
path
Set for the current user (/Users/kir/.bundle/config): "./vendor/bundle"

$ bundle -v
Bundler version 1.13.6
$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]

Imagine that my vendor/bundle/extensions somehow get corrupted:
$ rm -rf vendor/bundle/extensions

Expected
I expect that bundle install would recover from that state.
Actual
Now to get vendor/bundle/extensions recovered, I have to completely remove vendor/bundle. Only then Bundler will download all the gems from the scratch and rebuild the extensions.
Proposal
We don't have to delete all gems and download them again to just rebuild the extensions.
Should we make bundle install check if extentions need to be built?
I'll be happy to work on that.
@indirect

If at all possible, bundler should re-build extensions when needed. In the meantime, bundle install --force should be a workaround to reinstall the extensions

Thanks! Would you accept a patch that makes bundle install rebuild
extensions by default?
On Nov 27, 2016 10:58 PM, "Samuel Giddins"<EMAIL_ADDRESS>wrote:
If at all possible, bundler should re-build extensions when needed. In the
meantime, bundle install --force should be a workaround to reinstall the
extensions
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bundler/bundler/issues/5210#issuecomment-263178532,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAf3qww3KBptj8kGKaqgyVg79jDB5Vegks5rClFUgaJpZM4K9YB7
.

Sooo... bundle install used to always rebuild extensions, and it was a huge problem for a lot of people. Please make sure that you don't accidentally revert the changes that fixed that problem. :) (One of the PRs for that problem is here: https://github.com/bundler/bundler/pull/4082)


options?. error

ERROR in<EMAIL_ADDRESS>105:17
Module parse failed: Unexpected token (105:17)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|     this._options = _objectSpread(_objectSpread({}, defaultOptions), options);
|

if (!options?.iconsTheme) {

|       if (_platform.isWindows || _platform.isLinux) {
|         this._options.iconsTheme = _themebar.Themebar.win;
<EMAIL_ADDRESS>7:16-37
@ ./src/Preload.ts

I need some information on how to reproduce this issue and which electron version you were using when you observed the isssue. The custom-electron-titlebar fork is designed to work with electron 10+

Hi,I fixed it.
it is webpack problem,need babel-loader.
module: {         rules: [             {                 use: {                     loader: 'babel-loader',                     options: {                         presets: ['@babel/preset-env'],                     }                 }             }         ],     }

Glad to hear that! Happy hacking and have a nice day!


Niiodice/features/tst refactor

All Submissions:

[YES] Have you followed the guidelines in our Contributing document?
[YES] Have you added an explanation of what your changes do and why you'd like us to include them?
[YES] I have updated the documentation accordingly.
[YES] I have added tests to cover my changes.
[YES] All new and existing tests passed.
[YES] My code follows the code style of this project.
[YES] I ran lint checks locally prior to submission.
[YES] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

What is the current behavior?

Pipelines for Cobalt/Customer are not unified; Customer pipelines do not run any tests
Issue Number: https://github.com/microsoft/cobalt/issues/225
What is the new behavior?

Pipeline for cobalt and customer both run automated tests and leverage the same set of templates, greatly simplifying the template definition for our customer and increasing reliability for both pipelines.
I also noticed that Terraform lint checks were not running due to a change in behavior for Terraform 12. This has been updated and fixed.
Does this introduce a breaking change?

[NO]

Cobalt pipeline looks like this now:

Client pipeline looks like this now:

Can you change the title?


rosegarden package was added

Please rename commit's name following our guide in CONTRIBUTING.md

Replaced by #9450

Don't open new PR, you can update the existing one with git push --force


[Calculation] Buildings < Level 5 except Nanitefactory! (Fix)

Hello Alain,
Here is a fix for the buildtime calculation of the Nanitefactory level 5 and less always need 10 hrs 50 Minutes with Robofactory 10. The actual BuildTime is calculated lower than 10 hrs. Its just a small fix! ;-)
https://github.com/0xE232FE/ogame.mod/blob/d808df742c650358a761c2a4006e90673d854d39/baseBuilding.go#L35

thx for fix :-) 👍


Add page with list of deployed contracts on mainnet

Didn't we have 0.15.* version deployed as well? 🤔

Looks like they weren't deployed.


PAY-3304: Add server SDK support in for new search parameters

Can we add a function test for a search with these new parameters? A single test that sends all of these to match one transaction would be enough.

need to merge latest from develop.

auto-test failing


Update to Apache Groovy 4

Unfortunately; the latest builds of the compiler and batch adapter are not published to Maven Central.
https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-Maven-plugin#how-to-use-the-compiler-plugin---setting-up-the-pom
They are only in:

https://groovy.jfrog.io/artifactory/plugins-release/org/codehaus/groovy/groovy-eclipse-compiler
https://groovy.jfrog.io/artifactory/plugins-release/org/codehaus/groovy/groovy-eclipse-batch

Asked why here: https://github.com/groovy/groovy-eclipse/issues/1416

https://issues.apache.org/jira/browse/MASSEMBLY-941 specifically looks like it was just resolved today by Herve?


Bluetooth: Mesh: Clean up API documentation

Fills in all missing API documentation for the public Bluetooth Mesh
API, and unifies the formatting of all entries.
Some defines and enum values have been left without documentation in
cases where the meaning is self explanatory, and documentation wouldn't
add any value. Structure members that are just internal parameters are
left without documentation, as this also hides them from the generated
documentation output.
Signed-off-by: Trond Einar Snekvik<EMAIL_ADDRESS>

@dleach02 I suppose this can still be considered for 2.1 since it's purely documentation updates? (I see @trond-snekvik set the 2.2 milestone, but I do think this would be valuable to have already for the next release).


Add "IPFS: The Internet Democratised"

https://medium.com/@tonywillenberg/web-3-0-a-truly-democratised-internet-f4b06cb4077b is an article written about IPFS by Tony Willenberg (https://twitter.com/TonyWillenberg).
I want to add it, but not sure where. Doesn't fit under "Articles - Press" in my mind, so where would we put it?

Why wouldn't that be press?
Why don't we just remove the 'Press' heading, and make it just 'Articles'.

I dunno, I my head, press = mass media industry, the big guys, not a blogpost on medium. But yeah, changing it to be just articles might be better.

Want to submit a PR?

@RichardLitt here: https://github.com/ipfs/awesome-ipfs/pull/56


Make Upload Local Settings non case sensitive when checking for existing application settings

OS: Mac
Build Version: 20201206.1
Repro Steps:

Right click "Application Settings" node and select "Add New Setting..." -> Create a setting with name "test".
Right click "Application Settings" node and select "Upload Local Settings..." -> Select a file as below:{
  "Value": {
       "TEST": "TEST"
   }
}

Check whether pop up a dialog to ask for overwrite.

Expect:
Pop up a dialog to ask for overwrite.

Actual:
Upload the setting "TEST" successfully without any dialog.

More Info:
There is an error when creating a new setting "TEST" after step 1.

@nturinski  No changes after refreshing the tree node.

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!


Update onboarding documentation

Description
Onboarding documentation should reflect the current branching structure, and the project setup for VS14/ CoreCLR Builds
Cost: 2

Onboarding documentation in adx-documentation-pr


adding requiresMainQueueSetup method

Since RN 0.49, requiresMainQueueSetup needs to be defined if the module overrides constantsToExport.  will see the warning message when using it

For example:
https://github.com/facebook/react-native/issues/17504
https://github.com/react-community/lottie-react-native/pull/226/files
https://github.com/react-native-community/react-native-video/pull/871/files
I saw WebRTCModule already have requiresMainQueueSetup method, so just adding the method in RTCVideoViewManager.m too

What version are you running? We don't override constantsToExport anywhere.

@saghul Please take a look it

@saghul How do you think? or Do you need more information?

I also get this @saghul

Thanks for the info! I'll give it a go locally and see what's going on. You can ignore the warning in the meantime though, it's harmless.

Nevermind, this is a different exported module so it was indeed needed, thanks!


Super daily block has drifted almost -1 hour a day (from 24 hours) for 60 days

Since the release of 1.4.4.x in July 2019, there's a predictable trend of daily superblock being shorter than 24 hours. In the last 60 days, the cumulative drift exceeds 54 hours (almost 1 hour per day, or 23 hour daily superblock day).
This shift is noticed around block 130k (or when 1.4.4.x was released in July 2019).
In chart 1, the block day drift is reset after each GSC Smart-Contract Reward block. You see that the drift is always negative (less than 24 hours for daily superblock). Before block 130k, the drift could either be positive or negative.

Second chart graphs ideal block time (86400 seconds) and does not reset each day. This allows you to see the drift from block 118100 until the present. The downward trend since July 2019 until the present is very noticeable.

Source: data retrieved via chainz api -- https://docs.google.com/spreadsheets/d/1nQFCKW37OGElgtrb-h0borYgN8eEe2nalofMvGSQP4E/edit?usp=sharing

I took a look at this issue in more detail, and I believe the explanation for clock drift in BiblePay is mostly related to our late block threshhold feature, ABN and our price.
When we did not have ABN and we had a higher price (and a higher POW reward), in that environment, I believe miners tended to pump up the difficulty and then leave us alone for a while (pump and dump).  This exploited our late block threshhold more often in DGW.  This means, we had many more fully late blocks (IE > 45 mins).
In the ABN world however, I believe our blocks are not being pumped and dumped much (because the miner must have an ABN to mine it).  Meaning that our average diff is lower (it is < 5000 now), so now we have the clock running faster because there are no late blocks to skew the average higher.
We have adjusted DGW a couple times already to compensate for the late blocks, now we see the true chronometer is actually running a little fast.
So I created a mitigation plan for the next version- we will have a master clock command, and this will allow us to easily adjust DGW from mandatory to mandatory with the exact figure stated.  The command will analyze the shorter term chronological range (IE 10% of the block duration) and the longer term, and emit the trend and then emit the consolidated adjustment.
Note that it is normal for the clock to be off (Take bitcoin for instance, they have 10 minute blocks, currently with 593,226 blocks and an expected block count of 561,314 - meaning they are off by 6% currently) - due to the random nature of mining.
What I am doing is taking a look at the big picture:  from the grand scheme, our clock has been SLOW.  (We emitted 142000 out of 169000 expected).  Now we are running fast in the short term with ABN.  So the masterclock mitigation figure will recommend that we run DGW fast until we near the target.
This means that technically right now, because we ran slow for 2 years and we are running fast right now, we will most likely see a cancellation and will need to take NO action for the next wallet release.
Either way the exec masterclock command will be ready in the next release.
PS This has nothing to do with our 7 minute block target that someone mentioned is a potential problem - I stand behind that decision to have less data and less empty blocks.

Note that it is normal for the clock to be off

I read that Bitcoin adjusts difficulty every 2016 blocks. Isn't the benefit of DGW  to adjust "the difficulty levels every block (instead of every 2016 blocks like Bitcoin) based on statistical data from recently found blocks"? I guess I don't see the connection between Bitcoin and BiblePay as it relates to the time between blocks and difficulty. I'm likely missing something here.

So I created a mitigation plan for the next version

Anyway, thank you for your consideration. I appreciate you looking into this while having a very busy schedule.

Bitcoin adjusts the difficulty to try to meet the future target block spacing, but as in most POW coins, a difficulty adjustment is only working on the future target and has no memory of history.  So my comment comparing BiblePay to bitcoin shows how difficulty adjustment algorithms and random heat mining solutions naturally sway from the target.  We are comparable to bitcoin because DGW is not very far from bitcoins readjustment alogorithm.


installation Instructions

Hi,
I have followed the installation instruction and set up the environment variables. I am not seeing any JWT headers added to my requests. I then registered it as a custom_plugin on kong.conf and added to the service I am testing, still nothing shows up.  What am I missing, how can check whether the JWT header is being added?
Thanks,

Yep just need the
$ export KONG_SSL_CERT_KEY="/path/to/kong/ssl/privatekey.key"
$ export KONG_SSL_CERT_DER="/path/to/kong/ssl/kongpublickey.cer"

Environment variables as well with proper cert paths. These environment variables correspond to what is in the kong.conf as well. Glad you resolved it!


[Question]: about milvus version

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Thanks for your great work!
I am work with llama_index and milvus and meet "ImportError: cannot import name 'MilvusClient' from 'pymilvus'".
I wandor to know which milvus version should we use?
The current version is pymilvus-2.2.0 and llama_index=0.8.29.post1

@JDZW2014 seems to work with the latest --  pymilvus-2.3.1

use pymilvus=2.2.0 pymilvus get error ： ImportError: cannot import name 'MilvusClient' from 'pymilvus'
use pymilvus=2.3.0 or 2.3.1 get error：pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=this version of sdk is incompatible with server, please downgrade your sdk or upgrade your server)>


Adds new component TabPanels

This Work

Closes https://github.com/github/primer/issues/3043

Adds a new TabPanels component to mirror the Primer View Component TabPanels. We will need to retrospectively go back and update PVC to use the new <tab-container> which supports shadow DOM.
Screenshots

Changelog

Adds new TabPanels alpha component to provide non-navigational tabs with pages.

New

TabPanels component

Changed

Seems like we were missing some snapshots for Dialog-v1

Removed

Rollout strategy

[ ] Patch release
[x] Minor release
[ ] Major release; if selected, include a written rollout or migration plan
[ ] None; if selected, include a brief description as to why

Testing & Reviewing
I'd particularly like guidance on the following:

If any of my CSS could be improved
If there are any additional features of tab-container-element which we should support
If I've missed any tests

Merge checklist

[x] Added/updated tests
[x] Added/updated documentation
[x] Added/updated previews (Storybook)
[x] Changes are SSR compatible
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge
[ ] (GitHub staff only) Integration tests pass at github/github (Learn more about how to run integration tests)

dotcom - primer integration workflow

We'll need to retrospectively update the PVC components to use the new shadow DOM version of @github/tab-container-element. @keithamus do we want to track that as part of the Epic? Or separately?

@joshblack thanks for those extensive notes, that's super helpful! I'll start going through them over the next few days. Will let you know pairing / a chat would help.

it'd be great if this lived in src/drafts/index.ts

Done!

Re Accessibility stuff:
I've been thinking that it would be good to bring this to an Accessibility Office Hours (maybe next week). Here are my notes on the things you raised 🙂

make the aria-label or aria-labelledby required

I like this idea! We're aiming to make this component as close to the Primer View Component version as possible (which also has an optional aria-label I believe). We could back-port the required feature which would be a breaking change in PVC so might need to tread carefully there (I'd appreciate @keithamus' thoughts here also).

Should the element with role="tabpanel" have aria-labelledby set to the corresponding tab?

Yes! It used to. Maybe we lost that functionality during the conversion to shadow DOM magic. I'll check!

Could we make the tabindex on the role="tabpanel" dynamic with respect to if it has interactive content? So if there is no interactive content in the panel, it has a tabindex. If it does have interactive content, then it does not

I like this idea, we'd need to make a change to @github/tab-container-element to support this (which consequently would mean that the same change gets reflected in PVC).

While it's only supported in JAWS, would it be worth adding aria-controls to the role="tab" elements?

Not sure, I'll investigate! 👍

I had some issues in JAWS getting the tab panel to announce 🤔 Curious what the expected flow would be here (or if my test procedure was wrong!)

Could be related to the missing labelledby 🤔 I'll do some digging. I don't have JAWS on my Windows machine (but I guess I should!)

Would it be possible for us to address the axe issue with role="tab" not being in role="tablist" so that downstream users won't also have to disable this rule?

This is tricky because it's not actually an issue. The Accessibility Tree is correct but because it uses shadow dom and slots etc, axe doesn't recognise it correctly. It might be possible to contribute a fix to axe so that it works with components leveraging shadow dom but I'm not certain.

There seems to be a flash of unstyled content on slower network speeds or in browsers like Firefox

Ah, @keithamus maybe we need to have users set hidden to the correct tab panels initially 🤔 I was hoping we wouldn't have to but I'm pretty that that's what's causing this.

We could explore CSS options here. E.g. tab-panel:not(:defined) [role=panel]:not(:first-child) { display: none } would probably get us 99% of the way there. (There'd be a potential flash if e.g. the second tab was selected, perhaps some more CSS could fix that).

I think we might need to make a small change to @github/tab-container-element so that it removes hidden from the panel in the DOM when adding it to the shadow slot (unless it already does this, I will check!)

It does this already.

* Could we make the tabindex on the `role="tabpanel"` dynamic with respect to if it has interactive content? So if there is no interactive content in the panel, it has a tabindex. If it does have interactive content, then it does not

This seems very tricky to properly determine, and seems like it would create an undesirable experience? For example in use on the CommentEditor the Preview pane sometimes has interactive content if there is a link or code block in the message, while other times it doesn't. I'm not certain we want this but I'd love to hear more.

* There seem to be hydration errors when SSR'd

We might have to add suppressHydrationWarning for this component as the custom element will set things like tabindex, which is not possible to do without mutating the DOM (unless we also reapply the same logic to the React component but that's doing work twice). We can selectively add it to the tabs and panels or just on the whole component.

Would it be possible to configure the tablist itself? For example, if we wanted to wrap it in a nav tab for a navigation tabs setup (or if this not preferred?)

This is not preferred. For those uses people should reach for TabNav. We should document accordingly. Having said that this is entirely possible in the custom element, you can supply your own role=tablist and it'll respect that.

* It'd be great if we could make `onTabContainerChange` to simply `onChange`

Arguably we should do this in the custom element too.

@joshblack I spent some time with @keithamus this morning experimenting with CSS options for the flash on content issue (thanks Keith!)
Would love you to give it a test, we've had to compromise in a couple of places because the structure of the tablist & additional content elements doesn't exist yet. So there are the following limitations:

The underline of the tabs only covers the tabs themselves and not the full width of the component (also noticed that there's a very small gap in the line between each tab, might look at that 🤔)
If you have 11 or more tabs and load the component with the 11th (or higher) tab selected, the tab panel doesn't show until the component loads.

I'll need to retest in various browsers, so let me know if this approach seems viable to you and then I'll do that 🙂

Signed up for Wednesday's Accessibility Office Hours to check it all looks OK 🤞

A small accessibility concern I noticed in the demo - it doesn't look like we are wrapping the tabs in a tablist container. This is a required parent for the tab role.

Just a heads-up, we just started a project to wrangle all of our different kinds of navigation. The current direction I'm exploring removes TabNav and TabPanels and just uses UnderlineNav and UnderlinePanels.
Google doc for context
WIP Explorations in Figma

A small accessibility concern I noticed in the demo - it doesn't look like we are wrapping the tabs in a tablist container. This is a required parent for the tab role. This might need to be something we fix in the custom element?

@iansan5653 this is actually handled in the custom element, the tablist role is added in the Shadow DOM and isn't required in the Light DOM. I recently fixed an issue where I was setting the tablist role on a slot element (which is invalid) and now this passes accessibility checks. We should get additional feedback from screen reader users soon as well.

@mperrotti I'll look through those items. Is there a good place for feedback and/or discussion? I have some concerns that we'll lose important nuances around the underlying semantics of the controls we already have. For example I know we added a separate component in Rails (TabPanels and TabNav) because folks didn't know to only use TabNav for navigation elements. I'll dig into this in more detail wherever is the best place for the discussion 🙂

@owenniblock - you can add feedback in the Figma or send me feedback on Slack. I also brought this to a11y office hours earlier this week https://github.com/github/accessibility/issues/5623#issuecomment-1967930432
We could still have "nav" vs "panels" distinction for the nuances around the underlying semantics.

A small accessibility concern I noticed in the demo - it doesn't look like we are wrapping the tabs in a tablist container. This is a required parent for the tab role. This might need to be something we fix in the custom element?

@iansan5653 this is actually handled in the custom element, the tablist role is added in the Shadow DOM and isn't required in the Light DOM. I recently fixed an issue where I was setting the tablist role on a slot element (which is invalid) and now this passes accessibility checks. We should get additional feedback from screen reader users soon as well.

Got it, thanks! I was confused by the DOM in the browser devtools, but looking at the accessibility tree confirms that there is in fact a tablist:

We were going to change the events to onChange and onChanged - do we want to do that as part of this PR?

Integration fails
  routes/HistorySummaryPage.tsx(86,21): error TS2339: Property 'relative-time' does not exist on type 'JSX.IntrinsicElements'.
  npm ERR! Lifecycle script `tsc` failed with error:
  npm ERR! Error: command failed
  npm ERR!   in workspace: @github-ui/repos-rules
  npm ERR!   at location: /workspace/github/ui/packages/repos-rules ```

One separate question I wanted to ask was how should a selected tab present in WHCM? I think the border radius can tell you what tab is selected but it's a little subtle so wanted to double-check.

This 100% feels like a separate issue but wanted to bring it up to see what you all thought since I was going through it during testing.

Integration test for dotcom passes ✅

Not sure why design reviewers is on this PR, I've added engineer reviewers 🤷

CI was green when I reran the failing stuff so going to try one last time to merge...


Linearising document content

Assuming you have the text "Hello World", where "Hello" is bold and "World" is bold and italic:
{
    "object": "text",
    "leaves": [
     {
        "object": "leaf",
        "text": "Hello",
        "marks": [italic]
      }, {
        "object": "leaf",
        "text": "World",
        "marks": [bold, italic]
      }
    ]
}

You can represent this text object using a Y.Text and formatting attributes (this is basically equivalent to the idea of marks):
const ytext = new Y.Text()

ytext.insert(0, 'Hello World', { italic: true }) // insert "Hello World" as italic text
ytext.format(6, 5, { bold: true }) // assign bold formatting attributes to the word "World"

Or using the delta notation:
ytext.applyDelta([
  { insert: 'Hello ', attributes: { italic, true } },
  { insert: 'World', attributes: { italic: true, bold: true } }
])

A formatting attribute can be any JSON-encodable key-value pair. You can granularly remove or update attributes without replacing the underlying text. These are meta-properties that you can assign to ranges of content in the Yjs document.
ytext.toDelta() // => [{ insert: 'Hello ', attributes: { italic, true } }, { insert: 'World', attributes: { italic: true, bold: true } }]

In order to solve the split-node scenario that Andrew described, you just need to map Y.Text with formatting attributes to a Slate text node. I recommend working with the Y.Text delta events that should map nicely to Slate's operations, and vice versa.
Originally posted by @dmonad in https://github.com/ianstormtaylor/slate/issues/259#issuecomment-869152786

Supported in the next brach beta release.


fix: lastReset should serialize

Motivation

Store must be 100% serializable to make SSR work.
I ran into this issue when building out React 18 SSR. The fetches would all stall. After investigation I realized -Infinity serializes to null since it isn't part of JSON spec to have infinity.
Solution

Since the error is so catastrophic but not visible, we do two fold protection:

Assume nothing about correctness of cache and do comprehensive checks in getLastReset()
Use 0 as initial value. This should be just as sufficient as -Infinity since time is currently well in the future of 1970.

Codecov Report

Merging #1745 (e89d4f9) into master (d1c53d2) will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1745      +/-   ##
==========================================
- Coverage   98.40%   98.24%   -0.16%
==========================================
  Files         102      102
  Lines        1878     1881       +3
  Branches      377      379       +2
==========================================
  Hits         1848     1848
- Misses         15       17       +2
- Partials       15       16       +1

Impacted Files
Coverage Δ

packages/core/src/state/NetworkManager.ts
95.09% <0.00%> (-2.89%)
:arrow_down:

packages/core/src/state/createReducer.ts
97.29% <ø> (ø)

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 d1c53d2...e89d4f9. Read the comment docs.


On move and rename, watcher script should compare the bag's checksum with one in index

The watcher script should use the bag's checksum to confirm that it is dealing with the same bag file in its on_moved() method.

The checksum should be compared for new bags as well.


Rectify formatting issues in User Guide

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

Coverage data is based on head (a03d4e5) compared to base (a610fbf).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #191   +/-   ##
=========================================
  Coverage     68.52%   68.52%
  Complexity      505      505
=========================================
  Files            86       86
  Lines          1614     1614
  Branches        157      157
=========================================
  Hits           1106     1106
  Misses          450      450
  Partials         58       58

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

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


Bridge.json current folder depends on action

Current folders for bridge.json actions:
output: the current directory is the current project folder
afterBuild: the current directory is the folder that builder.exe is called from
For example, a config to locate files under the same Bridge directory:
{
    output: "Bridge\\output",
    afterBuild: "..\\..\\..\\..\\Testing\\ClientTestLibrary\\Bridge\\build\\deploy.bat"
}

This behaviour is a bit confusing for users.
As an enhancement:
If there is an error during afterBuild event (not exisitng .bat file, for example), the error description shown in Visual Studio Error List is just 'The file is not found'. It will be great to have additional info to debug a problem (what exactly file name etc).

Where is the builder executable on the sample presented here? I believe that, when this option were written, builder.exe sat in the exact same directory as the *.bat script, which was $(ProjectDir)Bridge\build

Can you provide further explanation if this is still a problem or can the issue be closed? What are you suggesting should occur?


Foreground service stops after few hours

Currently, I'm trying to implement a step counter which is calculated by foreground service having pedometer stream. I have observed that after few hours the foreground service stops, although the notification is still showing. Is there an alternative approach for solving this issue?

The above problem seems to be related to the Android doze mode or not handling the exception that occurs inside the initDispatcher function.
Try the following:

Not recommended to use cancelOnError when subscribing to a stream. because, if an error occurs during stream operation, the foreground service does not terminate, only the stream. Change it to false or remove it.

Handle the exception by wrapping the code inside the initDispatcher function with try-catch. Well written in the example above, but I don't know right now.

Starting with Android 6.0 (API level 23), Android uses power saving features to optimize the battery. If the app is in the background, certain features may not be available due to doze restrictions. In some cases, an exception is thrown when trying to use the resource. Refer to this page to turn off battery optimization.

Still having issues?

The issue is still there, after some time the steps just stops counting. I tried an interval update of 1 hour and checked but after few hours, the service still stops.

The above problem did not occur when using the Geolocator plugin. I'll try with the pedometer plugin.

I've been using this plugin with the pedometer plugin for 3 days and haven't had any issues. Still works fine in the background.
I need more information to test.

Requires device os version and brand.
Information from executing flutter doctor command.
Please tell me specifically what you do when a step event occurs.
Please tell me specifically under what circumstances the foreground service stops.
-- Build Mode: Debug or Release?
-- Task Interval:
-- Task Location: Foreground or Background?
-- When: few hours
-- Task: What does the app do when an error occurs? or are you just walking?

flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.2.4-0.0.pre.1, on Microsoft Windows [Version 10.0.22000.160], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
[√] VS Code (version 1.59.1)
[√] Connected device (2 available)

• No issues found!

Build Mode: Issue occurs in both Debug and Release
Task Interval: 1 hour, although there is a pedometer stream running inside.
App Location: Background(When the app is terminated)
When: 3-4 hours
Task: Mostly I think when I'm not walking after few hours, this error occurs.
Device: Samsung M31

I will test it according to the environment. What do you do when a pedometer event occurs? (For example, data storage in DB, network communication, etc.)

Yes, DB store, I used Objext_Box for storing steps in the DB.


Fix broken headings in Markdown files

GitHub changed the way Markdown headings are parsed, so this change fixes it.
See bryant1410/readmesfix for more information.
Tackles bryant1410/readmesfix#1

Coverage remained the same at 88.769% when pulling 15acb9e6dce565a175821d45ed632925640b06ff on bryant1410:master into d0a28ee93ac1171aea0c00597952091448921008 on akretion:master.

thanks! I should update the doc anyway...


Merge add remove favorites into develop

From #8

Codecov Report
Attention: Patch coverage is 32.92181% with 163 lines in your changes missing coverage. Please review.

Project coverage is 7.06%. Comparing base (b9228c8) to head (5625635).

Files
Patch %
Lines

src/services/favorites-games.js
0.00%
56 Missing and 1 partial :warning:

src/components/GameCard/index.jsx
0.00%
22 Missing :warning:

src/components/Layout/index.jsx
0.00%
22 Missing :warning:

src/hooks/useSearchGames.jsx
0.00%
21 Missing :warning:

src/hooks/useGameGeneralData.jsx
0.00%
8 Missing :warning:

src/components/Search/index.jsx
0.00%
7 Missing :warning:

src/hooks/useGameDetailData.jsx
0.00%
7 Missing :warning:

src/hooks/useDeleteAccount.jsx
0.00%
6 Missing :warning:

src/hooks/useGameCoverImage.jsx
0.00%
6 Missing :warning:

src/components/GameCards/index.jsx
0.00%
3 Missing :warning:

... and 3 more

Additional details and impacted files
@@            Coverage Diff             @@
##           develop     #59      +/-   ##
==========================================
- Coverage     9.80%   7.06%   -2.75%
==========================================
  Files           28      29       +1
  Lines         1540    1657     +117
  Branches        39      36       -3
==========================================
- Hits           151     117      -34
- Misses        1365    1513     +148
- Partials        24      27       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Uploading colors in VertexData

Currently, every sprite vertex uploads a color to be tinted in, but the four colors are always the same (except in some fringe cases) and most of the time they're all white (tinting is not that commonly used).
Is there a way to optimize this as not to upload needless data?
Would tinting causing a batch invalidation be ok?
Shaders would probably have a tinted and non-tinted variant?
How breaking would a change like this be?

This would be too much work and too breaking to be worth it.


Update/ Replace Openfarm logo + favicon

As discussed with @roryaronson and @simonv3 , the OSI version of the logo is no longer valid. And I have eventually updated the Openfarm logo+mark assets (see and download asset folder)
Where does this need to be updated:

[ ] On the homepage, top left corner: white version of the logo (transparent background)

[ ] The favicon: green # 339933 version of the mark (transparent background)

Awesome, thanks @sophiakc!

The svgs for this are in the google drive folder: https://drive.google.com/drive/folders/0B4a1xw3OY2hBcUdoQXVFLXM1bms


Add dark theme setting for settings screen

Issue

close #279

Overview (Required)

Add dark theme setting for settings screen.
No special support is provided for devices with API level 29 or earlier.

I believe that the power saving mode is part of the device settings.
Therefore, I think "follow device settings" is sufficient, not "only in power saving mode".
If necessary, I will create the issue.

Problem

The splash screen is not referencing the in-app theme. (Device settings will be referenced).

I want you to check the reviews.
If necessary, I will create the issue.

Links

https://github.com/DroidKaigi/conference-app-2020/pull/526/files

Screenshot

Before
After

👀

Therefore, I think "follow device settings" is sufficient, not "only in power saving mode".

👍

The splash screen is not referencing the in-app them

Thank you! We will create issue!

Sorry. Please fix conflict 🙏

@takahirom
I fixed conflict!

We will create issue!
I created an issue!
Please check it out 🙏
https://github.com/DroidKaigi/conference-app-2021/issues/344

Sorry, the CI is down, I'll contact you after I fix it.

@takahirom
CI passed!


Can you support the latest 5k ~? thank you.

I can't find any useful software working on my latest 5k.

I can't find any useful software working on my latest 5k.

Hi, could you provide more details, e.g. model #, vendor_id, product_id etc.?
Currently the tool work on my 27MD5K and 1803. Maybe we can figure out the compatibility issue together.

@yo1995 I'm not the original bug submitter, but I have the same problem.
Log is filled with Not the correct product id.
LG model: 27MD5KL-B
I do not see the standard VID and PID in device manager under the "Monitors" section. Am I looking in the wrong place?
From Device manager (listed as Generic PnP Monitor)

Device instance path: DISPLAY\GSM5B74\4&3926DF73&0&UID224795
Hardware Ids: MONITOR\GSM5B74
Compatible Ids: PNP09FF

And thanks for the software!

@yo1995 I'm not the original bug submitter, but I have the same problem.
Log is filled with Not the correct product id.
LG model: 27MD5KL-B
I do not see the standard VID and PID in device manager under the "Monitors" section. Am I looking in the wrong place?
From Device manager (listed as Generic PnP Monitor)

Device instance path: DISPLAY\GSM5B74\4&3926DF73&0&UID224795
Hardware Ids: MONITOR\GSM5B74
Compatible Ids: PNP09FF

And thanks for the software!

Thanks for reporting in. I'll take a look tomorrow. 😃

Thanks! Let me know if you need any more information.

Refer to #8 as I'll stop supporting this tool due to my lost of access to the 5K monitor. 😢


[WIP] Simplify usage by supporting new default loop

This changeset simplifies usage by supporting the new default loop.
// old (still supported)
$stream = new ReadableResourceStream($resource, $loop);
$stream = new WritabeResourceStream($resource, $loop);
$stream = new DuplexResourceStream($resource, $loop);

// new (using default loop)
$stream = new ReadableResourceStream($resource);
$stream = new WritabeResourceStream($resource);
$stream = new DuplexResourceStream($resource);

Builds on top of https://github.com/reactphp/event-loop/pull/226, https://github.com/reactphp/event-loop/pull/229 and https://github.com/reactphp/event-loop/pull/232

The first commit updates this to the currently unreleased EventLoop component to show how the new default loop can be used in this component (the build should be green). The second commit updates this to the release that has yet to be tagged. This is expected to fail at the moment and should be green once the release is tagged and the build is restarted.
This is ready for review. I will restart the build and merge once reviewed and the EventLoop component is tagged.

Restarted build and everyhing's green now that reactphp/event-loop v1.2.0 has been released :shipit:


Bug: Obsidian doesn't load with both Breadcrumbs and Dataview enabled after new update.

Title says it. Obsidian will say "Breadcrumbs is taking long to respond" and give an option to disable it. It will not start up from this point. You can disable breadcrumbs and later enable it and disable Dataview to have one or the either. They seem to be incompatible after the drop of Obsidian 1.7.5. Tried reinstalling both and it didn't fix it.
To Reproduce
Start Obsidian with both breadcrumbs and dataview enabled.
Desktop (please complete the following information):

OS: Mac Sequoia 15.1
Breadcrumbs version: 3.6.11
Dataview Version: 0.5.67
Obsidian version: 1.7.5

met the same problem.

After disabling the Breadcrumbs plugin during startup I can go into the plugin list to enable it again, works fine until I reopen Obsidian.

same problem here as well

same problem here as well

i solved it by loading the V4 version after Dataview loads using the lazy plugin loader


Add documentation about template flag

create-probot-app was recently updated and removes support for the typescript flag. In this PR I documented how the template flag should be used. I'm unsure about the copy but for now this is what I came up with :). We should probably also explain users what the various templates include.
CC: @hiimbex

View rendered docs/development.md

@hiimbex I completely agree. I didn't know that the option to choose a template was part of the flow, I had assumed that you were required to pass the template flag to choose a template other than basic-js 😅. The way I documented the template flag isn't completely right (because of my assumption), I'll try to make some improvements to make it clear that we replaced the typescript flag with the template flag :)

I improved the copy a bit and added the template step to the example output.


Configureable Zstd multi-threading

By default the Zstd compression would use the same number of threads as the number of physical cores on the system.
This causes issues in systems with many cores and/or multiple MCAP writers.
This adds a new zstd_worker_threads configuration options which allows the users the ability to override this default.

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

Is it a good default to have the worker threads be the same as number of CPU cores? In my past experience with robot software - we would be very careful about the allocation of CPU threads across processes. Maybe a better default is to not enable threaded zstd and allow the user to enable it by configuring the number of threads (as this PR does).
@mrkline @jhurliman

Yes, I would also be in favour of not checking the number of cores and not use multi-threading by default. This would change the API though.

I disagree with disabling multithreading by default, but this should definitely be configurable either way. I'm not familiar enough with Rust to review this PR but the overall idea seems right to me.

Is it a good default to have the worker threads be the same as number of CPU cores?

Yes, I think this is a reasonable out-of-the-box default (use the CPU resources available, don't automatically throttle). If you want to leave unused CPU cycles, lower system thread count, reduce RAM usage, etc. those are situation-specific concerns that can be managed with ulimits, cgroups, containers, or reducing the configured thread count as this PR allows.

Seems this PR went stale. The last comment I see is from @james-rms asking for an change. I believe once that is in then we are good to merge this? I've seen no other change requests to indicate otherwise.

I'm going to close this PR since it's been several months since the last activity. If you are still interested in pursuing it, feel free to reply and we can reopen and merge once the prior review comments are addressed!


Added axparameter and axstorage and axserialport

Describe your changes
Added axparameter and axstorage and axserialport
Issue ticket number and link

Fixes ECODEVT-682
Fixes ECODEVT-689
Fixes ECODEVT-696

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have verified that the code builds perfectly fine on my local system
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have verified that my code follows the style already available in the repository
[ ] I have made corresponding changes to the documentation

Added individually


Add data binding (one way)

<e <?= Pasap::data([ "foo" => "bar" ]) ?> />

<div> <?= $this->data("foo") ?> </div>

Added in ad13a38.


[sailfish-log-viewer] Build ofono logger as sailfish-log-viewer-ofono

And don't tag it yet

I'll merge this one and fix the translation issue in my repo. Then I can either submit it as a separate PR or you can just fast-forward this one


Migrate footer UI fixes from this PR

https://github.com/sidharrth2002/sambal-sos-app/pull/3

Migrated


thread name output is not nice with jruby

if you haven't set Thread['name'] (which sometimes you can't do nicely if you are working with third party libs), the thread name in the output comes out as #Thread:0x3b6c57b1
I've hacked around it with the following...
Log4r::PatternFormatter::DirectiveTable['h'] =
  'Thread.current[:name] || Java::JavaLang::Thread.currentThread.name'

So it uses Thread[:name] at first, but falls back to the Java thread name if it isn't set.  Could we add this in to log4r somehow?

Don't see much activity here anymore, have you tried Semantic Logger?
It has direct support for JRuby thread names, and also allows you to set your own thread names so that they show up correctly in the log files.


Add Retryer methods that do not throw checked exceptions

A common scenario is retrying a method that does not throw checked exceptions. However, the call method and the new run method are both declared to throw an exception (and can throw a checked RetryException in some cases). This complicates the callers code.
I want to provide complements of the call and run methods that do not throw any checked exceptions. They should probably be called callUnchecked and runUnchecked, similar to the method com.google.common.cache.LoadingCache.getUnchecked.
Like the LoadingCache.getUnchecked, in cases where the normal call and run throw RetryExceptoin the new unchecked methods will throw a new type of exception, UncheckedRetryException.

Fixed in commit db6390c128b000fa17df8462a9be0ac3eacdff7e on a branch. Waiting to merge before closing.

After some consideration I am closing this as wontfix. In PR #26 @dbyron0 pointed out I was not handling InterruptedExceptions correctly: when wrapping the InterruptedExcpetion in a RetryException the interrupted flag should be reset on the thread. That's what the original code did with InterruptedExceptons in the call method (though it was wrapped in a plain ol' RetryException).
I could do that. However, I feel setting the interruted flag but throwing something other than an InterruptedException is not very good behavior. Callers have a responsibility to finished interrupted threads quickly, but they are unlikely to do that if InterruptedExceptions are not thrown explicitly.
And if I'm throwing InterruptedExplicitly, there is no way to have a method that does not throw a checked exception. Calling it with a simple lambda that does not throw checked exceptions will still need to do exception handling for InterruptedExcpetion.


Add instructions to select the correct app lifecycle type under XCode 12

In the new default lifecycle type, SwiftUI App, there is no SceneDelegate.swift

Thanks @julianrubisch!

Thanks @julianrubisch!


Example usage of foreign_members

Using foreign_members function to read some key-value pairs that are not a part of the specification.

You will need to run the code as dune runtest will want to promote the result.

It seems to work.

You will need to run dune runtest and dune promote locally in order to accept the changes -- see the failing tests https://github.com/geocaml/ocaml-topojson/runs/10432720183

https://ci.ocamllabs.io/github/geocaml/ocaml-topojson/commit/6b834a2b17e36cf98a826d3b42c49315f1288f21/variant/debian-11-5.0_arm64_opam-2.1

Thanks! ^^


Text formatting

Allow for (html?) formatting to be included in text fields for customization in some cases where its needed.

Wrong repo


Proposing some fly-by quality updates to contribution page

There were a number of small typos and similar that I've updated here.
I think we need to sort out what we need Jira for WRT public interaction.

It's mixed up with links to GitHub, which is confusing
Jira isn't publicly available

I'll go ahead and open an issue for that later.

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

Another note: I can't see the GitBook preview without signing up to GitBook.

Thanks for checking!
Agreed that there are some improvements we can make to the contribution page - now that we are getting closer to having the finalised structure, we can work on these but this is a great start!
You are correct that access to gitbook is required to see the preview and I’m happy to invite you!
The CLA is still in dev so it is not a required item to merge right now.

Oh, and it might well be easier in the end to simply add the GitHub issue number rather than Jira. That way, we don’t need to wire up Jira issues to commits

Just noting here that it will probably make sense to squash changes we make here and then cherry-pick this PR commit back onto the 0.9.0 branch so that the contribution.md on the published version reflects the same as the development one.

Thanks for the feedback @rachellawson :)

Just noting here that it will probably make sense to squash changes we make here and then cherry-pick this PR commit back onto the 0.9.0 branch so that the contribution.md on the published version reflects the same as the development one.

If you want the PR re-targeted (it might work), you can use the edit function.

Also, we should start by pointing out multiple versions of the spec are published and they should make sure they are looking at the development version when suggesting changes -- their idea might already have been thought of!


Feat/1.0.0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: zhaozhenlan.zzl:x: justnewbeezhaozhenlan.zzl seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


remove netstandard2.1 target from datamovement

2.1 is only a target for Azure.Storage.Blobs and Azure.Storage.Queues for technical reasons. We don't need that target here.

API change check
API changes are not detected in this pull request.


✨[Feature]  Torch.jit.trace_module support in Torch-TensorRT

Is your feature request related to a problem? Please describe.

More information here: https://pytorch.org/docs/stable/generated/torch.jit.trace_module.html#torch.jit.trace_module
Compile specific methods on a module (specified in inputs), Convert a constructed ScriptModule with forward and forward_endoder methods
Describe the solution you'd like

I'd like to have identical solution to Torchscript in Torch-TensorRT
To be able to compile models that were traced like this:
encoder_forward_input = torch.rand(1, 3, 2016, 2016).to("cuda")
decoder_forward_input = torch.rand(128, 64, 3, 3).to("cuda")
inputs = {'forward' : encoder_forward_input, 'forward_encoder' : encoder_forward_input, 'forward_decoder' : decoder_forward_input}
traced_model_cuda = torch.jit.trace_module(self.netG_A, inputs)

Describe alternatives you've considered

I've tried TensorRTCompileSpec, but it returns Method 'forward_encoder' is not defined.

 spec = {
                 "forward_encoder":
                     trtorch.TensorRTCompileSpec({
                         "inputs": [trtorch.Input(#[1, 3, 2016, 2016])],
                            min_shape = [1, 3, 224, 224],
                            opt_shape = [1, 3, 1512, 2016],
                            max_shape = [1, 3, 2016, 2016],
                            dtype = torch.float,
                         )],
                         # For static size shape=[1, 3, 224, 224]

                         "enabled_precisions": {torch.float}, # Run with FP16
                         "workspace_size": 1 << 20,
                         "truncate_long_and_double": True,
                 })
             ]

             trt_ts_module = trtorch.compile(self.netG_A, spec)

Additional context

Might be related to #798 #621

@p1x31 thanks for the feature request! Are there any public models which require this which you're interested in?

Closing as dup of #621


Is this project deprecated?

Can any of the contributor report if this project is going to have any updates?
If not, please update the Readme with a "DEPRECATED" headline. Or just don't make it as simple as typing npm i swagger

Is there any newer alternative to this library in the meantime?

Just started with Node.js development, I'm totally new, I saw Swagger somewhere a few months ago and I wanted to try it myself with my first project in Node, now the time came and...
I got even problems with starting a newly created example project (+express):
"Error: Cannot find module .... api/fittings/swagger_router'
It's quite discouraging, even more, if you see an issue from May https://github.com/swagger-api/swagger-node/issues/586#issuecomment-544242417 Not to mention npm audit vulnerabilities.
Please, I see that project (whole concept) looks awesome, but now I'm thinking if I should use it or not in my first try if I got many problems from the beginning.

Just started with Node.js development, I'm totally new, I saw Swagger somewhere a few months ago and I wanted to try it myself with my first project in Node, now the time came and...
I got even problems with starting a newly created example project (+express):
"Error: Cannot find module .... api/fittings/swagger_router'
It's quite discouraging, even more, if you see an issue from May #586 (comment) Not to mention npm audit vulnerabilities.
Please, I see that project (whole concept) looks awesome, but now I'm thinking if I should use it or not in my first try if I got many problems from the beginning.

I had a similar issue, now i'm using npm modules "swagger-ui-express" and "swagger-jsdoc".
This link might be helpful: https://itnext.io/setting-up-swagger-in-a-node-js-application-d3c4d7aa56d4


Unable to generate standalone certs with ipv6 enabled

Hello,
I was trying to generate a cert for a standalone service but it wasn't working for some reasons. After a little digging, I found that trying to reach http://example.com/.well-known/acme-challenge/ was not working during the cert generation loop (after a manual call to /app/signal_le_service) even if the file standalone-cert-example.com.conf was in /etc/nginx/conf.d/. I tried to replicate the issue with a copy of the previously generated file and found out that it was missing the line listen [::]:80;(maybe on purpose ?). I'm currently on a dual stack server and if I correctly understood  the error message I got from the companion[1], Let's Encrypt will perform the challenge validation over IPv6 if my domain's DNS entry has both A and AAAA fields. I added the proper line and everything worked fine.
I don't know if it's a good idea to add the line listen [::]:80; by default in the add_standalone_configuration function ? Or maybe we could find a way to add it dynamically ?
https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion/blob/711c56acc160ea921cbc5797b5dc39d28df044bc/app/functions.sh#L115
[1] CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If your DNS provider does not answer correctly to CAA records request, Let's Encrypt won't issue a certificate for your domain (see https://letsencrypt.org/docs/caa/).
Thanks,
Byh0ki

@Byh0ki sorry for the very late reply
nginx-proxy is doing this on nginx.tmpl :
{{ if $enable_ipv6 }}
listen [::]:{{ $external_https_port }} ssl http2;
{{ end }}

I haven't experimented with real IPv6 enabled Docker setup yet (as in I relied on the fact that Docker proxy IPv6 to IPv4 by default, like a lot of people) and I'm not sure what would be the implication of adding listen [::]:80; by default.
Now might be a good time to test because Docker recently broke that default behaviour of proxying IPv6 requests to IPv4, and hasn't fixed it yet.

Hello @buchdag, I use a quick fix for the moment so it's ok.
Yes, it's working on nginx-proxy end but it's not working for the
standalone configs because they're not generated by docker-gen.
Currently, I rely on letsencrypt-nginx-proxy-companion for the
certificates generation with the function add_standalone_configuration
(so effectively adding the nginx conf for
location ^~ /.well-known/acme-challenge/to nginx) on this vhost. I
then generate the full nginx conf that need existing certificate to work.
I have disabled userland-proxy in docker for a while because
docker-proxy is a userland proxy and it loses the source IP so it's
not a great way of doing IPv6 with Docker. Instead, I use a "hack" that
mirror IPv4 forward and nat tables to the IPv6 tables. It's not the best
because doing NAT with IPv6 seems so wrong but at least it allows a dual
stack docker setup quite painlessly. Here the daemon I use: docker-ipv6nat.
--
Byh0ki

Correct me if I'm wrong but I guess the two options for the problem at hand would be to either detect if nginx-proxy has IPv6 enabled or use our own ENABLE_IPV6 environment variable, then add the directive to listen over IPv6 on the standalone config.

Both solutions are good but the first one might be better because we would have the same behavior between the two applications.


feat(Alerts and Reports modal): Combine collective work into branch for testing [DO NOT MERGE]

SUMMARY

This combines changes from cobrafish (CorbinBullard, rtexelm, fisjac) into one branch allowing for tests of the full redesign.
No changes have been made to the functioning purpose of the modal and no additional features have been included.
Design Proposal
Contributing PR
Contributing PR
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

BEFORE:

AFTER:

TESTING INSTRUCTIONS

Open the Alerts & Reports page from the Settings drop menu
Add a new report/alert or edit a report/alert

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[X] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up FEATURE_ALERT_REPORTS=true

/testenv up FEATURE_ALERT_REPORTS=true

Could we remove that bottom border in the last collapsible?

Scheduling section looks a bit different than on the designs
Designs:

Implementation:

/testenv up FEATURE_ALERT_REPORTS=true

I think it would be great if the input would catch this before submitting to the backend

We should probably erase the value when setting the "Not null" option

There is an issue with setting up a custom width for the screenshot and then choosing the CSV option. The custom width param will still be sent to the backend and will generate a validation error if it is below 600px. That should be cleared.
Also, not sure why the input for the custom width does not behave like a standard numeric input (up and down arrows on focus)


Disconnects from meter for days at a time

This integration is great when it's working. However, every couple of weeks or so, it will stop reading data from the EMU-2 and report 0 kWh for a few days. Eventually it will start reading the EMU-2 again, and all of the energy usage that was missed while disconnected will show up as a huge usage of energy in a single moment. It makes it difficult to read and analyze our power usage over time.

I get several occurrences of this error when disconnected:
2022-09-20 11:24:04.042 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:24:04.042 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:24:34.043 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:24:34.043 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:25:04.043 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:25:04.044 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:25:34.044 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:25:34.045 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected 2022-09-20 11:26:04.045 ERROR (MainThread) [custom_components.rainforest_emu_2.emu2] issued command while not connected

This issue hasn't happened to me in a while. One thing I always do now when I restart Home Assistant, is check the Rainforest EMU 2 entities and make sure they are reporting properly. If they aren't, I usually just need to restart again to get it working again.


Automated cross-platform distribution & packaging

Issue
there appears to be a a lack of automation when it comes to distributing and packaging an application with electron. In part, this is due to the challenge of packaging an app for 3 operating systems from only one of them. Fortunately some groups have taken the lead to resolve this issue, the options just need to be evaluated.
Available Tools
electron-packager
gulp-atom-electron
electron-builder
Goal
I would like to have automation under the following conditions:

ADP from any single OS
ADP within Travis CI and hook into GitHub releases

Task

Test out these tools and evaluate usefulness.
Choose the best tool set and integrate.

* ADP: Automated Distribution and Packaging

Check http://appimage.org and especially https://github.com/probonopd/AppImages - I am Travis-CI to produce cross-distro AppImages, everything fully automated and cloud based.
Here is an example of an Electron app:
https://github.com/probonopd/AppImages/blob/master/recipes/etcher/Recipe


OU-506: add konflux dockerfile

This PR adds a new Dockerfile specific for Konflux builds

/lgtm

We may want to consider pointing our images and fips-image-scan ci tests at the konflux Dockerfile later

/cherry-pick release-6.0


Virtualenv plugin improvements

remove obsolete "--distribute" option
add scm_prompt_info so $SCM_BRANCH is set
default to Homebrew version of python2 if available
allow easy creation of virtualenv with either python2 or python3

Hey, seems like this PR has gone stale. So I am closing it. Thanks for contributing!


[5.3][ConstraintSystem] Extend invalid function body fix to cover constrai…

…nt generation failures
Cherry-pick of https://github.com/apple/swift/pull/33762

Explanation: Ignore function builder body if it emits at least one diagnostic during constraint generation.

Scope: Limited to invalid function builder bodies which fail constraint generation due to structural or other issues.

Resolves:  rdar://problem/65983237

Risk: Low

Testing: Added regression tests

Reviewer: @hborla, @DougGregor

Resolves: rdar://problem/65983237

@swift-ci please test


Test/636 data injection main screen tests

Closes #636
Part of the effort defined in #590
Description:
Refactored MainScreenTests to override presets, providing a more streamlined set of categories to aid in testing than having to work through the original nine.
Some of the tests that exist in this class are better suited for a new test suite. This new test suite was originally begun in #569. So we will move them out and into the new class when we tackle that work. For now they're commented out.
Also, to make sure we have smaller PRs as we work through this refactor we disabled all other tests. We will re-enable them as we get to them during the refactor. Ergo the only tests that should run now are MainScreenTests.

Notes to Test
All other tests have been disabled. The only tests that should run are:

testSelectingCategoryChangesPhrases
testWhenTappingPhrase_ThenThatPhraseDisplaysOnOutputLabel
testDisablingCategory

Test verified.
All of the tests passed locally.


Update NOTICE

test please

Can one of the admins verify this patch?

test please

test please

test please

test please

test please

test please


[EventRequest]Add new Var to codeunit 6620 “Copy Document Mgt.”, CopyPurchLine [Local]

We had previously requested upon CopyPurchLine, and received a possible sufficient way to work it out from AlexanderYakunin . We have tried working with it, and we want to request that you add a new VAR NextlineNo, by adding this to OnBeforeInsertPurchLine it works for our part., notice this is not for OnBeforeUpdatePuchLine, but on the Insert.

Please let us know if this is sufficient.

Already added
[IntegrationEvent(false, false)]
local procedure OnBeforeInsertToPurchLine(var ToPurchLine: Record "Purchase Line"; FromPurchLine: Record "Purchase Line"; FromDocType: Option; RecalcLines: Boolean; var ToPurchHeader: Record "Purchase Header"; DocLineNo: Integer; var NexLineNo: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Reading MySQL fails

I'm running CouponCodes 3.2 on Spigot.
The plugin works well (also /coupon redeem) until it comes to an error, if I do the /coupon redeem-command: http://dev.bukkit.org/paste/is3nlqa0e9hy1w6k/
From this point on, the error persists whenever I try to access the MySQL database with CouponCodes.
/coupon list as well: http://dev.bukkit.org/paste/xbprld97jm1fkeay/
After a server-restart, everything works well a few hours...the error does not appear every day at the same time.
Thanks for your help :)
kikelkik

I believe that your MySQL server is implicitly closing the connection, because it has been inactive for too long a time. Could you try adjusting/removing the connection timeout on MySQL server-side, then seeing if the issue persists?

If this is the case, I'll have to implement a connection test on the plugin's end

Thank you for answering quickly!
I changed the DBMS connection read time out from 600 seconds to 0 - I don't think there is an option called "connection timeout" on MySQL Workbench.
But unfortunately, the error perists: http://dev.bukkit.org/paste/fq7icsge9krjpy2a/
I would'nt claim that this is not caused by settings on MySQL Workbench, but I didn't changed anything besides the connection read time out on Monday.

I'm going to set up a test environment and attempt to reproduce this error.

Could you provide a little more info?

Server Software version
Plugin Version
MySQL Version

Server: Windows Server 2012 R2 Standard
Spigot version: 1.8.7-R0.1-SNAPSHOT (git-Spigot-44c59bf-a2d2640)
Plugin: CouponCodes 3.2
MySQL: 5.6.17-log

I've drafted a pre-release which should fix these errors, Let me know if the errors still occur with this new version 3.2.1-SNAPSHOT 1

Thanks a lot for your quick support!
I pulled the pre-release on my server - hopefully, the error is banned from now on. If not, I'll inform you :)


Deadlock in DefaultStreamingStrategy when ending a subsegment with many threads on the same Segment

I have some code that generates many subsegments rapidly using multiple threads. I've observed that they can get dead locked on each other due to the EntityImpl.isInProgress lock used in DefaultStreamingStrategy.
It seems to end a subsegment, the code first takes a lock on the subsegment (AWSXRayRecorder.endSubsegment(AWSXRayRecorder.java:630) then they attempt to check there are no locks on any other subsegment within the Segment associated with the subsegment (ThreadLocalSegmentContext.endSubsegment(ThreadLocalSegmentContext.java:86) and eventually DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:103)
If 2 different threads attempt to end a subsegment at the same time (for the same segment) AND the segment is large enough to trigger segment streaming, then both threads will lock. In practice, if there are multiple threads working, they will all eventually want to end their segments and thus all outstanding threads interacting with this Segment will also lock waiting for the deadlock to clear.
Thread grpc-default-executor-0
"grpc-default-executor-0" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on java.lang.Object@264dd439 owned by "grpc-default-executor-3" Id=74
	at app//com.amazonaws.xray.entities.EntityImpl.isInProgress(EntityImpl.java:483)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:103)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.streamSome(DefaultStreamingStrategy.java:86)
	at app//com.amazonaws.xray.contexts.ThreadLocalSegmentContext.endSubsegment(ThreadLocalSegmentContext.java:86)
	at app//com.amazonaws.xray.AWSXRayRecorder.endSubsegment(AWSXRayRecorder.java:630)
	at app//com.amazonaws.xray.entities.SubsegmentImpl.close(SubsegmentImpl.java:178)

Thread grpc-default-executor-3
grpc-default-executor-3" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on java.lang.Object@77b7386b owned by "grpc-default-executor-0" Id=43
	at app//com.amazonaws.xray.entities.EntityImpl.isInProgress(EntityImpl.java:483)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:103)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.stream(DefaultStreamingStrategy.java:96)
	at app//com.amazonaws.xray.strategy.DefaultStreamingStrategy.streamSome(DefaultStreamingStrategy.java:86)
	at app//com.amazonaws.xray.contexts.ThreadLocalSegmentContext.endSubsegment(ThreadLocalSegmentContext.java:86)
	at app//com.amazonaws.xray.AWSXRayRecorder.endSubsegment(AWSXRayRecorder.java:630)
	at app//com.amazonaws.xray.entities.SubsegmentImpl.close(SubsegmentImpl.java:178)

My temporary workaround was to disable the streaming completely.
AWSXRay.getGlobalRecorder().setStreamingStrategy(new StreamingStrategy() {
      @Override
      public boolean requiresStreaming(Segment segment) {
        return false;
      }

      @Override
      public void streamSome(Entity entity, Emitter emitter) {
        throw new UnsupportedOperationException();
      }
    });

Hi @Kurru,
Thanks for raising this and providing a temporary workaround, we will take a look into it when we are able. Note that this only appears to impact versions of the SDK later than 2.8.0, so you can also downgrade to that earlier version.

Is there any estimation for this? We suspect this was causing problems in our stack (thread locks causing unreliability and OOM due to stuck resources).

Hi @Kurru thanks for the ping, we cannot provide an exact ETA but will be prioritizing this soon and will update this issue once the fix is out.

This may have been a problem due to using Subsegment.close to end a subsegment from a separate thread. I've run a few high concurrency codepaths and they seem to no longer deadlock.
It seems using AWSXray.endSubsegment(subsegment) works correctly with the DefaultStreamingStrategy subsegment streamer.

Hi @Kurru, glad to see that you’ve resolved the issue. Closing the issue as resolved.
For future reference, the AWSXray.endSubsegment(subsegment) method should be used when ending custom custom subsegments in asynchronous methods or other threads. The subsegment.close() method was not designed for external use.