text:
FetchVM.cmd and ps1 scripts fail to download VM

Describe the bug
Running FetchVM cmd and ps1 scripts fail to download VM. Version info inside scripts are incorrect (?). The ps1 script has v7.1.4, but it should be 7.1.14. The cmd script has v7.1.15.
To Reproduce
Steps to reproduce the behavior:

Go to clone or update Dolphin repo
Run either script.
Get an error message saying "Unable to fetch DolphinVM.zip v7.1.4" or "Unable to fetch DolphinVM.zip v7.1.15"

Additional context
I tried this after a new clone at 21:37 10/09/2020 Australian EST

Did you try to run from PowerShell:
.\FetchVM.ps1 v7.1.14

Yes, I got it working after I looked in the PowerShell script for the source of the error.

Isn't this supposed to get its own version due to "git describe --tags --abbrev=0" being run in the .cmd script just before FetchVM.ps1 is executed? That's what I understand to be the case.
i.e. on my system, running the above git command gives me an output of v7.1.13, which then gets fed to FetchVM.ps1 as an argument.

That is correct. There is nothing wrong with the script. The issue is that the release does not exist on github. The release build no longer fires correctly on tags, so the binaries for v7.1.15 were never published.
I'll take a quick look, but unless it is a easily addressed I will simplify things by removing the whole thing. It's easy to build the VM with VS2019, the community edition of which is free. This is also a development tool so it shouldn't be a big deal for its developer users to build it themselves, or to go to appveyor and download the binaries from there.

Fortunately it was easy to fix - an appveyor build can't be configured to trigger on tags, and be restricted to certain branches. If the branch restriction is in place it simply doesn't fire when tags are pushed.

authors: blairmcg brickviking brunobuzzi vince-refiti

repo: dolphinsmalltalk/Dolphin


text:
[auto-bump] dependency by jennifersp

:coffee: An Automated Dependency Version Bump PR :crown:
Initial Changes
The initial changes contained in this PR were produced by go geting the dependency.
$ cd ./go
$ go get github.com/dolthub/<dependency>/go@<commit>
$ go mod tidy

Before Merging
This PR must have passing CI and a review before merging.
After Merging
An automatic PR will be opened against the LD repo that bumps the bounties version there.

This PR has been superseded by https://github.com/dolthub/bounties/pull/523

source: gharchive/pull-request

repo: dolthub/bounties

license_type: permissive

license_source: github-api


text:
Disable garbage collector

Solution to fixing garbage collection error on windows as mentioned in the discord

see https://github.com/dolthub/doltcli/pull/26

authors: TannerAMay max-hoffman

repo: dolthub/doltcli


text:
Can't get my [FromBody] requestDTO documented in SnakeCase

Our company standards are for our JSON properties be named using SnakeCase.
I've added Swashbuckle.AspNetCore 5.0.0, Microsoft.AspNetCore.Mvc.NewtonSoftJson, and Swashbuckle.AspNetCore.Newtonsoft to my WebApi 2.0 Core 3.1 project.
My request DTO's are in a separate assembly and reference NewtonSoft.Json and use the [JsonProperty(""]] attribute to provide SnakeCase values for the JSON serializer.
When I add the suggested "services.AddSwaggerGenNewtonSoftSupport()" to my services collection, my load of the swagger page fails with a page that reads:
Failed to load API definition.
Fetch error
Internal Server Error /swagger/v1/swagger.json
If I remove "services.AddSwaggerGenNewtonSoftSupport()", the swagger page comes up with no error, but none of my SnakeCase property names are reflected in the example value or schema portion of the Request body.
Here's my ConfigureServices code:
public void ConfigureServices(IServiceCollection services)
{
	//services.AddCors(options =>
	//{
	//	options.AddPolicy("CorsPolicy",
	//		builder => builder.AllowAnyOrigin()
	//		.AllowAnyMethod()
	//		.AllowAnyHeader());
	//});
	services.AddMvc(options =>
		options.Filters
		.Add(new HttpResponseExceptionFilter()))
		.AddNewtonsoftJson(options =>
		{
			options.AllowInputFormatterExceptionMessages = true;
			//options.SerializerSettings.ContractResolver = new DefaultContractResolver()
			//{
			//	NamingStrategy = new SnakeCaseNamingStrategy()
			//};
		})
	;
	services.AddSwaggerGen(c =>
	{
		c.SwaggerDoc("v1", new OpenApiInfo
		{
			Title = "CTMSInfoAPI",
			Version = "v1",
			Description = "CTMS Info API",
			Contact = new OpenApiContact
			{
				Name = "SD Team 13",
				Email = string.Empty,
				Url = new System.Uri("https://mdsol.com")
			}
		});
		// Set the comments path for the Swagger JSON and UI.
		var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
		var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
		c.IncludeXmlComments(xmlPath);
	});
	services.AddSwaggerGenNewtonsoftSupport();
	services.AddCorrelationId();
}

Can you see what I'm doing wrong?

So long as you're using AddSwaggerGenNewtonsoftSupport, this should work. To investigate further, I need to see the full error message. You can get this by navigating to the Internal Server Error at /swagger/v1/swagger.json

Closing due to inactivity

Sorry to leave this for so long. I tried switching to NSwag. It worked fine for the snake_case - but I've run into some other problems.
Some of our older webapi's are using Swashbuckle, so I'd like to try to stick with yours.
The basic problem in diagnosing is that there is now swagger.json file produced anywhere in my project. I've checked /wwwroot, /bin/debug/wwwroot and done a search on my entire solution. This file simply is not produced...
If I comment out services.AddSwaggerGenNewtonsoftSupport, my page loads, but my json properties are not using snake-case.
If I uncomment the line, I get the error and nothing else. A screenshot is attached.

In you browser, navigate to localhost:5000/swagger/v1/swagger.json. This is where the UI fetches the Swagger/OpenAPI JSON from and it’s the request that’s actually failing. If you go there in the browser you should see and exception stack trace. If you post that stacktrace here we should be able to figure this out as you’re use case is definitely supported.

Also, my current code:
		public void ConfigureServices(IServiceCollection services)
		{
			ConfigureControllerServices(services);
			ConfigureCORSServices(services);
			services.AddCorrelationId();
			services.AddMvc(options =>
				options.Filters
				.Add(new HttpResponseExceptionFilter()))
				.AddNewtonsoftJson(options =>
				{
					options.AllowInputFormatterExceptionMessages = true;
					options.SerializerSettings.ContractResolver = new DefaultContractResolver()
					{
						NamingStrategy = new SnakeCaseNamingStrategy()
					};
				})
			;
			// Register the Swagger generator, defining 1 or more Swagger documents
			services.AddSwaggerGen(opts =>
			{
				opts.SwaggerDoc("v1", new OpenApiInfo
				{
					Title = "My API",
					Version = "v1"
				});
				// Set the comments path for the Swagger JSON and UI.
				var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
				var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
				opts.IncludeXmlComments(xmlPath);
			});
			services.AddSwaggerGenNewtonsoftSupport();
			ConfigureAuthServices(services);
		}

		// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
		public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
		{
			app.UseCorrelationId();
			app.UseCors();
			if (env.IsDevelopment())
			{
				app.UseDeveloperExceptionPage();
			}
			else
			{
				//app.UseHsts();
			}
			app.UseStaticFiles();
			app.UseHttpsRedirection();
			app.UseRouting();
			app.UseAuthentication();
			app.UseAuthorization();
			app.UseSwagger();
			app.UseSwaggerUI(opts =>
			{
				opts.SwaggerEndpoint("/swagger/v1/swagger.json", "CTMSInfoAPI");
			});
			app.UseEndpoints(endpoints =>
			{
				endpoints.MapControllers();
			});

Additionally, I'm using .net core 3.1.

A little more info:
If I order things this way:
services.AddSwaggerGenNewtonsoftSupport();
services.AddSwaggerGen(opts =>
The page loads successfully (but still does not show snake-case)
If I order things this way:
services.AddSwaggerGen(opts =>
services.AddSwaggerGenNewtonsoftSupport();
The page fails to load.
I'm not sure why the order of adding services should matter. I thought just ordering things in the pipeline was significant...

However, regardless of it not failing, I'm still not getting snake-case for my JSON properties...

Any resolution for this issue yet? I am facing the same issue after upgrading my .net to 5.

Any resolution for this issue yet? I am facing the same issue after upgrading my .net to 5.

I ended up using the NewtonSoft JSON package in place of the standard Microsoft.Text.Json library. (You have to add it in the startup.cs).
Then I added the Json Property attribute to every field with the name the way I needed them.
[JsonPropery("my_snake_case_property_name")]
public string MySnakeCasePropertyName {get; set;}

I ended up using the NewtonSoft JSON package in place of the standard Microsoft.Text.Json library. (You have to add it in the startup.cs).
Then I added the Json Property attribute to every field with the name the way I needed them.
[JsonPropery("my_snake_case_property_name")]
public string MySnakeCasePropertyName {get; set;}

source: gharchive/issue

license: MIT


text:
[SwaggerGen] Asp.Versioning.ApiExplorer instead of [deprecated]Microsoft.AspNetCore.Mvc.ApiExplorer

Looking at the master and 6.5.0 both still use Microsoft.AspNetCore.Mvc.ApiExplorer which got deprecated.
Would be nice if someone updated the repo to use Asp.Versioning library till the next version.
To be more specific, I'm using IOperationFilter from SwaggerGen and there's model ApiDescription from the deprecated library.

This NuGet package is only referenced if you're using the netstandard2.0 version of the library, which is for .NET Framework users to use, which depends on Microsoft.AspNetCore.Mvc.ApiExplorer 2.1.0, which is not obsolete.
ASP.NET Core 3.0 and later get access to ApiExplorer through a FrameworkReference.


text:
how to keep markdown characters which typed by user?

The problems happen if the input html string contains raw bold markdown character **. This library will convert it as *\*{content}\*\*, I expect it to keep the raw markdown character like this **{content}**.
How I can prevent it converting raw markdown characters to the format above?

Hi @thinhvo-groove,
Markdown syntax in HTML is escaped to ensure that it is not confused with actual markdown. For example this input:

**content**

is converted to:
\*\*content\*\*

which, when converted back to HTML is:

**content**

… which is exactly the same as the input.

Markdown characters in code and pre/code blocks are not escaped, e.g.:

**content**

converts to:
`**content**`

Hope that helps.

authors: domchristie thinhvo-groove

repo: domchristie/turndown

license: mit

license_source: bigquery


text:
Compare versions before updating an app bundle.

The version and update URL are stored in the app's manifest (sky.yaml).

I moved the platform independent code to sky/shell/updater/update_task.*
Ready for another look.

LGTM

authors: abarth mpcomplete


text:
suffix doesn't show?

Need to test a bit more, but doest the suffix option actually work? It's in the code, but not in the documentation (README), and it doesn't seem to show up. INVESTIGATE, PLZ!

Right, understood. There is no suffix on a per-block basis, but just as a bar configuration (will be appended to each and every block). We could think of introducing a per-block suffix, but that's for another day. All good, closing.

repo: domsson/succade


text:
Allow toggling boolean using mouse

I would like to be able to change boolean values using the mouse, currently there is no way to do this.
At first I thought I could press a random key whilst the boolean cell was focused but I don't think it was actually changing the values as per #32

Ohh, there's a bug - they are in fact supposed to change from any key press. For the time being though, you can use the Inspector.
There could also be on-click editing, i've got an idea on how to implement it. And might as well allow mouse input for other cell types too, like scrolling on numbers and placing the caret into text.

Fixed the "not actually changing values", even the error is gone - now on the 4.0 remote branch.
Clickable cells still under consideration.

Tracked in #43.

authors: don-tnowe kipplesunderscore


text:
[Improvement] Selected Item should emit "mouse_entered()" and "mouse_exited()" signal

I have a GUI Manager script for the purpose of doing basic management with GUI elements and I've stumbled upon a issue where I have a Item selected it doesn't trigger several GUI related signals anymore such as mouse_entered() and mouse_exited() signals which I need it because I added scripts to the items and those scripts still gets triggered when the cursor is over a GUI element which should not happen, I did connected those 2 signals at the GUI Manager script and it works only partially, not fully. And there is also another issue when the mouse cursor hovers over the 2 items it doesn't trigger those 2 signals either.

Uhhh can you provide an MRP or reproduction sequence?

Here it is: https://drive.google.com/file/d/1dofdXJTC9G3fZ6PlLQ1bgfvIS7daoI5r/view?usp=drive_link  Sorry if the project is too big but I dunno what I need to do in order to compress the files further.

On project size: Actually not too bad scope-wise, but filesize-wise you just forgot a bunch of .zip files in a bunch of folders, one was 68 MB. I got what I need though
If I'm getting it right, the issue is with needing to report when mouse has exited both the inventory grid and all of the ItemStackView nodes - I could add extra signals to report gui_input and mouse_* signals on items, but when moving from an item to an empty space it will still call both signals (which might unnecessarily trigger some logic)
For your problem, I'd say the best solution is to add a control below all UI to detect inputs "outside actual UI" - if mouse moves onto it from something else, it still emits mouse_entered, likewise with mouse_exited. So you listen only to a separate new node, rather than all of the existing ones.
Probably found a bug though, grabbing a stack doesn't report mouse_exited on the item. To keep in mind when implementing itemstack-specific mouse signals, or just an incorrectly set mouse_filter.

Alright, thanks for your answer. I will look soon how to implement your solutions into my project, because I prefer using a solution that's pretty much automated in this case. So that means I just need to make a control scene node which contains a bit of code that uses your solution and then the rest gets done entirely by code instead of having to do that manually each time for each inventory related nodes.

repo: don-tnowe/godot-wyvernbox-inventory


text:
Country Codes?

Describe Your Problem
I live in the UK, I’ve set the country code to “UK”, everything seems to work (ish) the logs contain repeated “[August] Country code: UK”. Is this correct? I ask because I’m trying to see the logs for another issue I have, want to make sure everything is set up correctly before I try to work out the other problems I’m seeing.
I looked at the API and couldn’t work out what is expected when it comes to country codes, I’ve also tried the +44 (international dialling code) to see if that works, but I see the same log. Any ideas or suggestions would be appreciated.
As for the problem in having, I get notifications from HomeKit periodically telling me that the door is locked/unlocked (when the state hasn’t changed) is the August plugin triggering those alerts? If so should it only trigger an alert when the state changes from locked to unlocked (and vice versa)?
Looking closer at the Home App I can see the lock reports “Unknown” and then the actual status, so I’m guessing it’s the “actual state” > “unknown state” > “actual state” transition that triggers the alert, any suggestions on why I might be getting and unknown state report periodically would be appreciated (especially if it’s the country code that’s wrong).
Relevant log output
No response
Config for homebridge-august
"name": "August",
            "credentials": {
                "augustId": "email@email.com",
                "password": "password",
                "countryCode": "UK",
                "installId": "uuid",
                "isValidated": true,
                "notice": "Keep your tokens a secret!"
            },
            "options": {
                "refreshRate": 360,
                "pushRate": 5,
                "logging": "standard"
            },

Screenshots

Device & Model
Yale Conexis with Yale Connect Bridge
Node.js Version
v20.10.0
NPM Version
10.2.3
Homebridge Version
V1.7.0
Homebridge August Plugin Version
V1.3.3
Homebridge Config UI X Plugin Version
V4.54.1
Operating System
Raspbian

This isn't an issue just logging that needs to be corrected which is corrected in the beta.

authors: Jarvichi donavanbecker

repo: donavanbecker/homebridge-august

license: ISC


text:
Allow to be used with any DOM implementation

Currently we rely on can/util/vdom/vdom but it would be nice if it could work with jsdom since that is more robust.

Deferring this for now, it's harder than it sounds. Currently canjs maps can/util/vdom/vdom to load on the server, so we'd want to disable that somehow when using an alternative implementation.

This should be possible now with can 3.0. We no longer shim any libraries.

Just a matter of picking an API now. We need to be able to receive a window object that is distinct for each request. So if the user provides their own DOM implementation a function makes most sense. My first thought is:
const ssr = require("done-ssr");
const { JSDOM } = require("jsdom");

function makeDom() {
  var dom = new JSDOM();
  return dom.window;
}

const render = ssr({}, {
  dom: makeDom
});

cc @justinbmeyer what do you think about the above API?

repo: donejs/done-ssr


text:
Could you share the code for the image simplification application in the paper?

I am very interested in this application, thanks a lot!

We are sorry for the late reply. We don't have the source codes for the application.

authors: dongkwonjin vatica

repo: dongkwonjin/Semantic-Line-SLNet


text:
Proposal to lower target video bitrates (again)

Proposal to lower target video bitrates (again)
The 0.6 release of the video_transcoding Gem contained perhaps the most significant change to the transcode-video tool since the deprecated --big option became the default behavior. Not only was the ratecontrol system enhanced to produce higher quality, the target bitrates for 480i and 720p content were lowered to limit the higher bitrates produced by that higher quality.
For the upcoming 0.7 release, I propose to lower those video bitrate targets again, and not just for 480i and 720p content. The targets for 2160p (4K/UHD) content would also be lowered. However, I'm not proposing any change to bitrate targets for 1080p.
Also different for 0.7 would be lowering the targets when using the --small or --small-video options.
Default target video bitrate

Input resolution
Version 0.5.x
Version 0.6
Proposed 0.7

2160p or 4K/UHD video
16000 Kbps
(same)
12000 Kbps

1080p or Blu-ray video
8000 Kbps
(same)
(same)

720p
6000 Kbps
5000 Kbps
4000 Kbps

480i, 576p or DVD video
3000 Kbps
2500 Kbps
2000 Kbps

Target video bitrate with --small or --small-video

Input resolution
Version 0.5.x
Version 0.6
Proposed 0.7

2160p or 4K/UHD video
10000 Kbps
(same)
8000 Kbps

1080p or Blu-ray video
5000 Kbps
(same)
(same)

720p
4000 Kbps
(same)
3000 Kbps

480i, 576p or DVD video
2000 Kbps
(same)
1600 Kbps

OK, what's the rationale for doing this?
First, the new ratecontrol system introduced in version 0.6 with a constant rate factor (CRF) quality target of 1 does much better at putting pressure on x264 to hit that target bitrate than the old quality target of 16 ever did. So, bitrates are higher now. Weirdly, 480i and 720p content is suddenly too good. And that seems very wasteful of space.
Second, these proposed targets seem to be more in line with what Apple, Netflix, warez (you know what I mean), etc. are doing now as opposed to what they were doing when the project started.
This makes sense to me and my tests so far indicate that quality is still good with lower target video bitrates.
BTW, you can try any of these targets yourself by setting vbv-maxrate directly like this:
transcode-video --encoder-option vbv-maxrate=4000 "/path/to/Movie.mkv"

So, I'm asking for your feedback. Let me know what you think. Soon. Because I'm liable to make the change as early as next week.
Thanks.

I've got nothing to add to your proposal, I just want to say I really appreciate the work you do on this tool, and what a great maintainer you are in general.
In the limited time I've spent trying to learn about the nuances of encoding, I've realized I don't have time to learn about the nuances of encoding. Having this available has enabled me to completely offload the actual video encoding, and instead focus my time and energy on the rest of the automated processing pipeline. It means a lot that I can fully trust that the tool you put out is going to 'do the right thing' and give me the best shot at optimizing any video I throw at it. And I've not had to spend any time debugging issues due to anything your tool has been responsible for.
So, keep it up and thanks again!

@J-Swift Wow! Such praise will just go to my head. :) Seriously, thank you so much! People like yourself are exactly why I keep doing this. (Well, you and the fact that I'm completely nuts.)

Don,
What effect do you expect your changes to have on the file sizes of DVD-sourced video? I know the answer is probably "It depends", but I just wanted to make sure.
I took 9 movies that I had previously encoded with 0.5.x and the --big flag, and ran them through transcode-video again with 0.6, using default options. I then ran them through again, using --encoder-option vbv-maxrate=2000.
Visual exam: I wouldn't call my eyesight super-sharp by any stretch of the imagination, but in doing a quick review of the video files generated, the 0.6 files look better than the 0.5.x files, and I couldn't really tell the difference between the files generated with 0.6 defaults and 0.6 with --encoder-option vbv-maxrate=2000. So my vote is to go ahead and make that change moving forward for DVD-type sources, IMVHO.
What I wasn't sure about was if the file sizes should then move consistently as well. In my 9 test files, 5 of them got smaller between 0.5.x and 0.6, while 4 of them got larger. In the case of Spectre, it grew by 50%.
When comparing 0.5.x with 0.6 and --encoder-option vbv-maxrate=2000, 6 of the files were smaller, and 3 were larger, but by a much smaller percentage.
Here are the movies I ran the tests on (please don't judge) and the different file sizes that resulted, in GB.

Filename
0.5.x with --big
0.6 default options
0.6 with vbv-maxrate=2000

101 Dalmatians (1961)
1.6
1.45
1.17

Alvin & Chipmunks Road Chimp (2015)
1.75
1.93
1.62

Ghostbusters (1984)
2.4
2.34
1.96

Ghostbusters 2 (1989)
2.45
2.4
2.01

Hotel Transylvania 2 (2015)
1.44
1.82
1.52

Spectre (2015)
2.03
3.19
2.66

Spider-Man (2002)
2.79
2.66
2.23

The Good Dinosaur (2015)
2
1.98
1.66

The Peanuts Movie (2015)
1.41
1.77
148

This this about what you expected to happen?
And, if I may be so bold: I echo @J-Swift sentiments above.

I'm just re-posting here what I replied to Don on Twitter: I'm onboard.
I couldn't tell any difference between any of the transcodes in terms of quality but I really like the file size reduction:

I'm sure the file size reduction isn't gonna be as good on every transcode (and they might even become bigger as the person above me has noted) but if just a majority of them are smaller that's alot of freed up space.

@bpharriss This is great data! Thanks do doing all these tests and collating the results so nicely!
(And don't apologize for your title selection. I have most of the same movies. :)
Yes, this is what I expected, i.e. that the size of some DVD transcodings will actually be larger between 0.5.x and 0.6. That's due to the new ratecontrol system moving bitrates closer to the targets. Which, of course, is why I want to lower the targets for 0.7. Now, that won't lower all sizes below 0.5.x levels, but the average size will be slightly lower if multiple videos are considered together.
Hopefully, they will look as good, if not better, too. Which I think is what you're seeing.
And thank you for the kind praise! Much appreciated, sir.

@lambdan Thanks for posting this in the GitHub issue! I was just going to do that after responding to you on Twitter. :)
And thanks for doing all these tests!
Yes, the sizes will vary somewhat depending on complexity, grain, etc., but overall they should be slightly smaller if several are considered together.
I'm glad you like the visual results, too, with a vote of confidence. The new ratecontrol system is finally making some of my old, grainy black and while full frame movies look halfway decent.

Update: After more testing by myself and others (thank you all), I'm much more confident in my proposed video bitrate target changes for 480p and 720p content.
However, I'm now doubting the wisdom of changing the 2160p (4K) targets. This is because no matter how low I set the target, I can't get the bitrate below 10000 Kbps for any of my, admittedly few, 2160p samples using the new ratecontrol system.
Since I don't even document that transcode-video supports 2160p and nobody has complained about any bitrate bloat yet, I'll probably just leave these untouched for version 0.7.

OK, version 0.7.0 of transcode-video has been released! A bit early, I suppose. :) As always, just...
gem update video_transcoding

...to get the latest version.
Thanks again for all your help!

authors: J-Swift bpharriss donmelton lambdan


text:
Vite 5 throws several warnings about deprecations

Hello and thank you for your plugin 🙌
I've updated Vite to v5 and now it's throwing these warnings and all of them seem to be related to vite-plugin-html-inject:
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
plugin 'static-html-loader' uses deprecated 'enforce' option. Use 'order' option instead.
plugin 'static-html-loader' uses deprecated 'transform' option. Use 'handler' option instead.

Hi, thanks for the heads-up.
Will review the changes and deprecations in Vite 5 and implement them into the plugin.
May the code be with you!

@donnikitos would you like help with that? I could submit a PR if so. I already have another PR open to address a typing issue (#7).

@limonte, @IGx89 Fixes are on the way and will be most likely published tomorrow :)

@donnikitos thank you for addressing this issue!
These 2 warnings are gone:

plugin 'static-html-loader' uses deprecated 'enforce' option. Use 'order' option instead.
plugin 'static-html-loader' uses deprecated 'transform' option. Use 'handler' option instead.

However, this one is still there:

The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.

So, I guess this issue should be re-opened 🙌

authors: IGx89 donnikitos limonte

repo: donnikitos/vite-plugin-html-inject


text:
Currency is different from googleplay

Version of react-native-iap
2.4.8
Version of react-native
0.59.1
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
The currency that is expected to be displayed is JP.
Actual behavior
The currency shown now is HK
Tested environment (Emulator? Real Device?)
Real Device
Steps to reproduce the behavior
VPN set to Japan.GooglePlay clear cache and restart.The currency display in googleplay is JP.

Have you tried to change your google account/play region also?

Have you tried to change your google account/play region also?

not yet.I guess this should be related to my account, but I don't know what to do.I can try your way.Thanks a lot.

authors: gufengpiaoyi putuyoga

repo: dooboolab/react-native-iap


text:
add group attr api

You can modify app seat attributes

@YangYiYing 你好，这几个 api，在官方文档中没有吧？

汇总一下问题：

REST API 官方文档没有找到对应的接口 https://cloud.tencent.com/document/product/269/1614

Request or Request Item 对象需要统一支持 builder 模式创建，e.g. https://github.com/doocs/qcloud-im-server-sdk-java/blob/main/src/main/java/io/github/doocs/im/model/request/GroupMsgGetSimpleRequest.java#L70-L96

Result 对象的 toString() 方法中，应该包含 GenericResult 中的几个属性，e.g. https://github.com/doocs/qcloud-im-server-sdk-java/blob/main/src/main/java/io/github/doocs/im/model/response/AddGroupMemberResult.java#L24-L31

我们文件头的注释统一采用一种格式（包含 author, since，没有冒号，时间格式采用 yyyy/MM/dd HH:mm）
/**
 * @author hyh
 * @since 2021/08/01 13:46
 */

而不是
/**
 * @author: Young
 * @date: 2021-11-05 21:37
 */

@YangYiYing
hi，可以修改后重新提 pr 哈，期待你的 contributions

authors: YangYiYing yanglbme

repo: doocs/qcloud-im-server-sdk-java


text:
dont support for 0.10 colyseus

hi
can you add support for 0.10 colyseus ?
its 0.9

Hi,
I'm waiting for Colyseus v0.10 to support state filtering feature and become more stable

authors: Alireza-hr doorbash

repo: doorbash/colyseus-java


text:
Reusability of *Runtime

Hi this isn't an issue, but more a clarification request:
Given the expense associated with goja.New() call, we would like to cache the *goja.Runtime, so we can run it with different *goja.Program repeatedly (all on a single goroutine). The documentation isn't very clear on the feasibility of doing this. So far in trial, we don't see any problem. Advice?
However, I do have a question with our code:
rt := getRuntimeFromCache()
rt.Set("v1", blah)
rt.Set("v2", blah)
rt.RunProgram(some program)

My question is after rt.RunProgarm how can we clear all the vars such as v1 and v2 we set on global object? Practically it doesn't matter too much, since new run will overwrite existing v1/v2 values, but I still prefer a reset/wipe before running a program again. Also imagine a new program needs v3/v4. The code will set v3/v4 but leaving v1 and v2 still set. Advice?
Thanks a lot!

I don't think it would make sense to introduce a mechanism of resetting a Runtime to the initial state, because its complexity would be similar to creating the Runtime from scratch.
So, if you run a 3rd party code the only option for you is to create a new Runtime. Otherwise you can set the known variables to Undefined(). Also, I've just realised there is no Object.Delete() method, I'll add it shortly.

Sure as long as there is a way to reset / delete a var that is set on global object by calling vm.Set() that would solve my problem. Something like vm.Unset. If vm.Set(name, Undefined()) is equivalent of that, that's okay too. Thanks!

Setting a value to undefined and deleting is not the same (although in most cases it does not make any difference), but you can now use vm.GlobalObject().Delete(name)


text:
Moved Button.js to plugin Folder

Moved Buton.js file from lib/node/ to lib/plugin
Issue - https://github.com/dot-six/suilib/issues/5

https://github.com/Ritikkhulbe/suilib/blob/e769a9534edb0a4c97564197957693574c8c61f3/lib/node/index.js#L1-L2
Button.js is not yet exported in lib/plugin/index.js. It's still in lib/node/index.js.

authors: HanzCEO Ritikkhulbe

repo: dot-six/suilib


text:
[typescript-operations] @skip, @include doesn't respect avoidOptionals config

Describe the bug

Related to #3836
When using @skip, @include with plugin typescript-operations it always uses MakeOptional.
When using avoidOptionals in the config, it should instead use MakeMaybe
To Reproduce
Steps to reproduce the behavior:

My GraphQL schema:

type Query {
    user(id: ID!): User!
}

type User {
    id: ID!
    username: String!
    email: String!
}

My GraphQL operations:

query user {
    user(id: 1) {
        id
        username
        email @skip(if: true)
    }
}

My codegen.yml config file:

schema: schema.graphql
documents: document.graphql
generates:
  types.ts:
    plugins:
      - typescript
      - typescript-operations
    config:
      avoidOptionals: true

Expected behavior

// Note this type is much simpler than the one currently used
type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };

export type UserQuery = (
  { __typename?: 'Query' }
  & { user: (
    { __typename?: 'User' }
    & MakeMaybe<Pick<User, 'id' | 'username' | 'email'>, 'email'>
  ) }
);

Now UserQuery['user']['email'] is Maybe, but not optional
Environment:

@graphql-codegen/typescript: no versions published with this new feature
@graphql-codegen/typescript-operations: 1.17.10

Thank you for reporting this @Cellule ! You are right, the avoidOptionals was missed in that implementation.
@gilgardosh is working on a fix in https://github.com/dotansimha/graphql-code-generator/pull/5104 :)

Fixed :)

authors: Cellule dotansimha

repo: dotansimha/graphql-code-generator


text:
React Query infinite pagination

I would love to use the react query plugin, but unfortunately it doesn't have a support for infinite scrolling and for me itvs really important, I would really appreciate it if you add it.

Since my PR (https://github.com/dotansimha/graphql-code-generator/pull/5863) is merged and released in typescript-react-query@1.3.0 now there is an option exposeDocument for exposing document from the hook. So I've written a custom hook for infinite queries:
interface UseQueryFn<
  TData extends Record<string, any>,
  TVariables extends Record<string, any>
> {
  (variables: TVariables, options?: UseQueryOptions<TData>): unknown
  document: string
  getKey: (variables: TVariables) => unknown[]
}

export function useInfiniteGraphQLQuery<
  TData extends Record<string, any>,
  TVariables extends Record<string, any>
>(
  useQuery: UseQueryFn<TData, TVariables>,
  getVariables: ({ pageParam }: { pageParam?: number }) => TVariables,
  options?: UseInfiniteQueryOptions<TData, Error>,
): UseInfiniteQueryResult<TData, Error> {
  return useInfiniteQuery<TData, Error>(
    useQuery.getKey(getVariables({})),
    ({ pageParam }) => gqlRequest(useQuery.document, getVariables({ pageParam })),
    options,
  )
}

And use it like this:
// All types, key and document are infered from the passed hook
const { fetchNextPage, hasNextPage, data, isLoading } = useInfiniteGraphQLQuery(
  useGetFolderDocumentsQuery, // this is a hook generated by typescript-react-query
  ({ pageParam = 0 }) => ({ // return variables
    folderId,
    limit: 100,
    offset: 100 * pageParam,
   }),
  // getNextPageParam and other options
)

In codegen config I'm setting  exposeQueryKeys: true and exposeDocument: true. I hope you find it helpful

anyone who tracks this issue, do you think @lynxtaa solution (thank again for the PR!) is enough, or something else is needs?
(that might include just a receipt or a mention in the docs)
Thanks!

I think the best solution is to add an option useInfiniteQuery which takes a list of operations names similarly to useSRWInfinite option in plugin-typescript-swr:  https://www.npmjs.com/package/graphql-codegen-plugin-typescript-swr#useswrinfinite

Thanks for the comment @lynxtaa
I think in order to advance this to the next phase, it would be great if someone would start with a draft PR with a failing test for the wished API

Hey, has anyone worked on this in the meantime? I would love to use useInfiniteQuery with my graphql calls. Or should I opt for the solution from @lynxtaa for now?

hey @nandorojo my company started working on it mid-last week. We are planning on testing it as a patch this week to confirm we are happy. The only thing that we are doing that is slightly out of spec is we are passing the react query options to the Custom Fetcher as an optional parameter then if you do something like...
declare module 'react-query' {
  interface UseInfiniteQueryOptions<
    TQueryFnData = unknown,
    TError = unknown,
    TData = TQueryFnData,
    TQueryData = TQueryFnData,
    TQueryKey extends QueryKey = QueryKey,
  > extends InfiniteQueryObserverOptions<
      TQueryFnData,
      TError,
      TData,
      TQueryData,
      TQueryKey
    > {
    optionsParam: string
  }
}

interface MetaData {
  queryKey: Array<string | object>
  pageParam: string | number
}

export const useFetchData =
  <TData, TVariables>(
    query: string,
    options: UseInfiniteQueryOptions,
  ): ((variables?: TVariables, metaData?: MetaData) => Promise<TData>) =>
  async (variables?: TVariables, metaData?: MetaData) => {
    if (metaData?.pageParam != null) {
      variables[options.optionsParam] = metaData.pageParam ?? 0
    }
    const { data } = (await API.graphql({
      query,
      variables: variables as unknown as object,
    })) as GraphQLResult<Promise<TData>>
    return await (data as Promise<TData>)
  }

then in the query we are doing
export const Foo = () => {
  const [queryParams, setQueryParams] = useState<QueryGetFooArgs>({
    limit: 5,
    from: 0,
  })

  const { data, hasNextPage, fetchNextPage } = useInfiniteGetFooQuery(
    {
      limit: 5,
      from: 0,
    },
    {
      optionsParam: 'from',
      getNextPageParam: (lastPage, allPages) => {
        const totalLocal = (allPages.length ?? 0) * (queryParams.limit ?? 1)
        const totalServer =
          lastPage.getFoo.__typename === 'fooList'
            ? lastPage.getFoo.total ?? 0
            : 0
        if (totalLocal < totalServer) {
          return (allPages.length ?? 0) * (queryParams.limit ?? 1)
        }
      },
    },
  )

does anyone have an issue with this approach or have a better one before I write the tests or is this acceptable? It was the most consistent way with a single fetcher that I could find would be nice that wouldn't require adding more and more to it.

I've now got the pr and changed the API so its less hacky and much more re-usable. the only thing it has is there is a key on the useInfiniteGetFooQuery that is the field that accepts the key for the pageParam in the useInfinitequery

This is now available in @graphql-codegen/typescript-react-query@3.2.0. Thanks!

@jrwpatterson
const patientActivityQuery = useInfiniteGetPatientActivityQuery(
		{
			patientId,
			requiredPage: {
				Page: 1,
				Limit: 10,
			},
		},

		{
			optionsParam:'Page',
			getNextPageParam: (lastPage, allPages) =>
				lastPage.listPatientActivity.pageInfo.pageSize,
		}
	);

optionsParam doesn't seem to be supported. How should I fetch next page as I press my Load more button it seems to fetch only same page data everytime
	<Button
						// isLoading={isFetchingNextPage}
						onClick={() => {
							fetchNextPage({ pageParam: 1 });
						}}
						disabled={isFetchingNextPage}
						// onClick={() => setPage((prev) => ({ ...prev, Page: page.Page + 1 }))}
					>
						Load More
					</Button>

How are you setting setQueryParams?  Trying to follow along with what you provided but I'm not able to tack on the next page results to the previous results, since I have using the state value of queryParams as by before/after filter in the query.
Furthermore, is it possible to have multiple infinite paginated queries within a single query?  My example has a query with two arrays of data, each with cursors and Id like to be able to infinitely paginate both but as far as I can see this will just support one set of page params per query?  Not the biggest deal as I can break out my larger query into smaller useQuery's for each array of data that I want to paginate on.

Hey, has anyone worked on this in the meantime? I would love to use useInfiniteQuery with my graphql calls. Or should I opt for the solution from @lynxtaa for now?

hey @nandorojo my company started working on it mid-last week. We are planning on testing it as a patch this week to confirm we are happy. The only thing that we are doing that is slightly out of spec is we are passing the react query options to the Custom Fetcher as an optional parameter then if you do something like...
declare module 'react-query' {
  interface UseInfiniteQueryOptions<
    TQueryFnData = unknown,
    TError = unknown,
    TData = TQueryFnData,
    TQueryData = TQueryFnData,
    TQueryKey extends QueryKey = QueryKey,
  > extends InfiniteQueryObserverOptions<
      TQueryFnData,
      TError,
      TData,
      TQueryData,
      TQueryKey
    > {
    optionsParam: string
  }
}

interface MetaData {
  queryKey: Array<string | object>
  pageParam: string | number
}

export const useFetchData =
  <TData, TVariables>(
    query: string,
    options: UseInfiniteQueryOptions,
  ): ((variables?: TVariables, metaData?: MetaData) => Promise<TData>) =>
  async (variables?: TVariables, metaData?: MetaData) => {
    if (metaData?.pageParam != null) {
      variables[options.optionsParam] = metaData.pageParam ?? 0
    }
    const { data } = (await API.graphql({
      query,
      variables: variables as unknown as object,
    })) as GraphQLResult<Promise<TData>>
    return await (data as Promise<TData>)
  }

then in the query we are doing
export const Foo = () => {
  const [queryParams, setQueryParams] = useState<QueryGetFooArgs>({
    limit: 5,
    from: 0,
  })

  const { data, hasNextPage, fetchNextPage } = useInfiniteGetFooQuery(
    {
      limit: 5,
      from: 0,
    },
    {
      optionsParam: 'from',
      getNextPageParam: (lastPage, allPages) => {
        const totalLocal = (allPages.length ?? 0) * (queryParams.limit ?? 1)
        const totalServer =
          lastPage.getFoo.__typename === 'fooList'
            ? lastPage.getFoo.total ?? 0
            : 0
        if (totalLocal < totalServer) {
          return (allPages.length ?? 0) * (queryParams.limit ?? 1)
        }
      },
    },
  )

does anyone have an issue with this approach or have a better one before I write the tests or is this acceptable? It was the most consistent way with a single fetcher that I could find would be nice that wouldn't require adding more and more to it.

How are you setting setQueryParams? Trying to follow along with what you provided but I'm not able to tack on the next page results to the previous results, since I have using the state value of queryParams as by before/after filter in the query.
Furthermore, is it possible to have multiple infinite paginated queries within a single query? My example has a query with two arrays of data, each with cursors and Id like to be able to infinitely paginate both but as far as I can see this will just support one set of page params per query? Not the biggest deal as I can break out my larger query into smaller useQuery's for each array of data that I want to paginate on.

authors: Urigo bytesagar dotansimha drewbietron galkatz373 jrwpatterson lynxtaa


text:
Pass through onlyOperationTypes and onlyEnumTypes but warn if they are used

Description
Related # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Screenshots/Sandbox (if appropriate/relevant):
Adding links to sandbox or providing screenshots can help us understand more about this PR and take action on it as appropriate
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Environment:

OS:
@graphql-codegen/...:
NodeJS:

Checklist:

[ ] I have followed the CONTRIBUTING doc and the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Reverting instead of adding option here: https://github.com/dotansimha/graphql-code-generator/pull/10182


text:
Connection not completing or getting weird errors

ble-plx verison 0.10.0
I have acquired a new android device (samsung SM-T380 on android 7.1) which exhibits a weird behavior quite often actually. At some point (which I have not been able to point how to reproduce, but usually triggers with hot reload), the bluetooth connection starts to act weird, receiving various errors which prevents connection with device.
The only way I was able to actually come back on track is to reset network settings of Android. Restarting the SM-T380 doesn't even seem to resolve the issue.
Here's one of the log extract with logcat when the device actually doesn't "complete" the connection :
08-01 11:06:02.307  7809  8319 I ReactNativeJS: [ { [Error: Disconnected]
08-01 11:06:02.307  7809  8319 I ReactNativeJS:     line: 193325,
08-01 11:06:02.307  7809  8319 I ReactNativeJS:     column: 22,
08-01 11:06:02.307  7809  8319 I ReactNativeJS:     sourceURL: 'http://192.168.1.30:8081/index.delta?platform=android&dev=true&minify=false' } ]
08-01 11:06:08.200  1049  1599 E Watchdog: !@Sync 24 [2018-08-01 11:06:08.200]
08-01 11:06:11.443  7809  8419 D BluetoothGatt: connect() - device: 00:13:43:3B:18:XX, auto: false
08-01 11:06:11.444  7809  8419 D BluetoothGatt: registerApp()
08-01 11:06:11.445  7809  8419 D BluetoothGatt: registerApp() - UUID=bdb7b1a5-d41b-441f-92f4-16a0fec23b41
08-01 11:06:11.549  7809  7838 D BluetoothGatt: onClientRegistered() - status=0 clientIf=7
08-01 11:06:11.672  1472  1862 E bt_btif : bta_gattc_rebuild_cache: bta_gattc_rebuild_cache
08-01 11:06:11.697  1472  1571 E BluetoothRemoteDevices: aclStateChangeCallback: State:Connected to Device:00:13:43:3B:18:XX, linktype is 2
08-01 11:06:11.701  7809  7839 D BluetoothGatt: onClientConnectionState() - status=0 clientIf=7 device=00:13:43:3B:18:XX
08-01 11:06:11.732  7809  8419 D BluetoothGatt: discoverServices() - device: 00:13:43:3B:18:XX
08-01 11:06:11.738  7809  7838 D BluetoothGatt: onSearchComplete() = Device=00:13:43:3B:18:XX Status=0
08-01 11:06:11.756  7809  8320 D BluetoothGatt: setCharacteristicNotification() - uuid: 18cda784-4bd3-4370-85bb-bfed91ec86af enable: true
08-01 11:06:12.354  7809  7839 W BluetoothGatt: onCharacteristicRead() - Device=00:13:43:3B:18:XX handle=22 Status=0
08-01 11:06:12.451  7809  7838 W BluetoothGatt: onCharacteristicRead() - Device=00:13:43:3B:18:XX handle=33 Status=0

The communication stays there without any further bluetooth message.
Here's another case where I would receive different errors and my new android just wouldn't let me connect. The first few lines are errors I have accumulated in an array and displaying on button press to help troubleshoot.
08-01 10:57:24.211  3871  3988 I ReactNativeJS: [ { [Error: Disconnected]
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     line: 193324,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     column: 22,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     sourceURL: 'http://192.168.1.30:8081/index.delta?platform=android&dev=true&minify=false' },
08-01 10:57:24.211  3871  3988 I ReactNativeJS:   { [Error: Device 00:13:43:3B:18:6C was disconnected]
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     errorCode: 201,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     attErrorCode: 8,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     iosErrorCode: null,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     androidErrorCode: null,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     reason: 'Disconnected from 00:13:43:3B:18:6C with status 8 (GATT_INSUF_AUTHORIZATION)',
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     line: 193768,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     column: 72,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     sourceURL: 'http://192.168.1.30:8081/index.delta?platform=android&dev=true&minify=false' },
08-01 10:57:24.211  3871  3988 I ReactNativeJS:   { [Error: Device 00:13:43:3B:18:6C was disconnected]
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     errorCode: 201,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     attErrorCode: null,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     iosErrorCode: null,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     androidErrorCode: 133,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     reason: 'Disconnected from 00:13:43:3B:18:6C with status 133 (GATT_ERROR)',
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     line: 193768,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     column: 72,
08-01 10:57:24.211  3871  3988 I ReactNativeJS:     sourceURL: 'http://192.168.1.30:8081/index.delta?platform=android&dev=true&minify=false' } ]
08-01 10:57:34.504  3871  6120 D BluetoothGatt: connect() - device: 00:13:43:3B:18:XX, auto: false
08-01 10:57:34.505  3871  6120 D BluetoothGatt: registerApp()
08-01 10:57:34.506  3871  6120 D BluetoothGatt: registerApp() - UUID=c4899d1c-8cb6-4423-9fe9-658f72e07f4d
08-01 10:57:34.610  3871  3888 D BluetoothGatt: onClientRegistered() - status=0 clientIf=7
08-01 10:57:34.780  1472  1862 E bt_btif : bta_gattc_cache_load: can't open GATT cache file /data/misc/bluetooth/gatt_cache_0013433b186c for reading, error: No such file or directory
08-01 10:57:34.815  1472  1571 E BluetoothRemoteDevices: aclStateChangeCallback: State:Connected to Device:00:13:43:3B:18:XX, linktype is 2
08-01 10:57:34.827  3871  3888 D BluetoothGatt: onClientConnectionState() - status=0 clientIf=7 device=00:13:43:3B:18:XX
08-01 10:57:34.862  3871  6120 D BluetoothGatt: discoverServices() - device: 00:13:43:3B:18:XX
08-01 10:57:35.414  3871  3889 D BluetoothGatt: onClientConnParamsChanged() - Device=00:13:43:3B:18:XX interval=6 status=0
08-01 10:57:35.858  3871  3888 D BluetoothGatt: onSearchComplete() = Device=00:13:43:3B:18:XX Status=0
08-01 10:57:35.875  3871  3989 D BluetoothGatt: setCharacteristicNotification() - uuid: 18cda784-4bd3-4370-85bb-bfed91ec86af enable: true
08-01 10:57:35.928  3871  3888 D BluetoothGatt: onClientConnParamsChanged() - Device=00:13:43:3B:18:XX interval=39 status=0
08-01 10:57:35.950  3871  3889 W BluetoothGatt: onCharacteristicRead() - Device=00:13:43:3B:18:XX handle=22 Status=0
08-01 10:57:36.047  3871  3888 W BluetoothGatt: onCharacteristicRead() - Device=00:13:43:3B:18:XX handle=33 Status=0
08-01 10:57:38.104  1049  1599 E Watchdog: !@Sync 7 [2018-08-01 10:57:38.103]
08-01 10:58:08.110  1049  1599 E Watchdog: !@Sync 8 [2018-08-01 10:58:08.110]
08-01 10:58:14.404  2182  2287 E ContactsProvider_EventLog: Flush buffer to file cnt : 1 size : 0Kb duration : 1ms lastUpdatedAfter : 56897 ms mFlush_time_threasold : 2000 mCurrentSize : 257
08-01 10:58:38.117  1049  1599 E Watchdog: !@Sync 9 [2018-08-01 10:58:38.116]
08-01 10:59:08.123  1049  1599 E Watchdog: !@Sync 10 [2018-08-01 10:59:08.123]
08-01 10:59:14.507  2182  2287 E ContactsProvider_EventLog: Flush buffer to file cnt : 1 size : 0Kb duration : 1ms lastUpdatedAfter : 60103 ms mFlush_time_threasold : 2000 mCurrentSize : 257
08-01 10:59:38.129  1049  1599 E Watchdog: !@Sync 11 [2018-08-01 10:59:38.129]
08-01 10:59:47.001  3871  6120 D BluetoothGatt: cancelOpen() - device: 00:13:43:3B:18:XX
08-01 10:59:47.007  3871  3889 D BluetoothGatt: onClientConnectionState() - status=0 clientIf=7 device=00:13:43:3B:18:XX
08-01 10:59:47.011  3871  3889 D BluetoothGatt: setCharacteristicNotification() - uuid: 18cda784-4bd3-4370-85bb-bfed91ec86af enable: false
08-01 10:59:47.012  1472  6753 E BtGatt.GattService: registerForNotification() - No connection for 00:13:43:3B:18:XX...
08-01 10:59:47.017  3871  6120 D BluetoothGatt: close()
08-01 10:59:47.017  3871  6120 D BluetoothGatt: unregisterApp() - mClientIf=7
08-01 10:59:48.024  1472  1571 E BluetoothRemoteDevices: aclStateChangeCallback: State:DisConnected to Device:00:13:43:3B:18:XX
08-01 10:59:48.029  6877  6877 E BluetoothEventManager: ACTION_ACL_DISCONNECTED
08-01 10:59:48.031  1483  1692 E BluetoothEventManager: ACTION_ACL_DISCONNECTED
08-01 10:59:48.049  1472  1571 E BluetoothRemoteDevices: devicePropertyChangedCallback: bdDevice: 00:13:43:3B:18:XX, value is empty for type: 241
08-01 10:59:57.068  2256  2256 E SearchServiceStarter: Task 174 failed or timed out. Client 9923526064305787 disconnecting from SearchService!

We have an app currently available on the store which was working fine for me with a samsung SM-T113 (samsung tab e-lite with android 4.4.4) that doesn't present as much trouble with this new android. When I restart my external bluetooth device and I try to connect to and use the SM-T113, it connects without much problem, but even a fresh reboot of my external device doesn't allow the SM-T380 to connect to it.
It's as if the bluetooth manager went in a weird state on android but I have no way to know if it's the library's fault (through the calls of the RxBleAndroid lib) or the device itself.
I actually searched on Google for some hint but the best hint I was able to find (https://stackoverflow.com/questions/23076641/ble-device-bonding-remove-automatically-in-android) is that android has a problem that puts the bonding in a weird state but I have not seen the messages the user was mentionning in my logcat extract.
Any help troubleshooting this would be greatly appreciated.

@darkrift You can always download and send HCI logs from your Android device. It's easier to see what's going on in the low-level implementation of Bluetooth stack.

I'm experiencing the same the same connection errors tested. samsung s7, s8, samsung 10.1
as well when it does connect it is taking anywhere from 20-60 seconds before It finds my device and attempts the connect.
I couldn't find the btsnoop_log.text file  I'm hoping you can extract what you need from the manager dumsys log.
It seems like this 133 is a known issue in the android community. I too hope you have some luck finding a solution.
One possible solution was to delay the connect method by 500 milliseconds to allow the manager to stop scanning.  No luck for me.
bluetooth_manager_dumpsys.txt

@GroupXTech thanks

authors: Cierpliwy GroupXTech darkrift handsameliu

repo: dotintent/react-native-ble-plx


text:
More fields for list of attendees

The list of attendees is pretty cool, but there's a lot of empty space. Could this be filled with some useful information? We've already added usernames, which could be useful for some edge cases.

Boy, it's been a while.
As it stands right now we can't think of any fields other than the name and the timestamp to add. We removed usernames by the way.
Use it as a question when consulting fagkom and bedkom for input though.

Fagkom and bedkom (and prokom FWIW) had no input on this issue. So, it's a non-issue.

repo: dotkom/regme