text:
Cyr17/delete integration

Description
A summary of the change
Implemented Delete Account functionality, which provides the user with two options
1: Delete account data but keep deployed website on GH pages
2: Delete all data including deployed website
Type of change

[x] Bug fix
[x] New feature
[x] Refactoring
[x] Documentation

Problem
Briefly describe the root cause and analysis of the problem
An option to delete the already deployed GH pages of a user and to delete the collected user data from the system.
Solution description
Describe your code changes in detail for reviewers.
Explain the technical solution you have provided and how it fixes the issue.
Tests
All unit tests pass?
yes
Builds successfully?
yes
Attach a screenshot of the expected result (e.g. UI of the website/ postman API call result/ database changes)

Deleting repo without having github pages

Deleting repo without logging in

Provide steps in detail for reviewers to reproduce the expected result of the code changes.
Deploy a website using ur Github account
Click on the Team Profile button --> Delete Account --> relevant option
Relevant document/ link (if any)
Any related documents could help reviewers to review this PR
https://trello.com/c/Fl6kQMnX
Risk
Identity the risk level (low, medium, high) and indicate which component(s) will be affected if bugs exist.
low- deleteGHPages wouldn't work unless you have logged in with GitHub and deployed your website

The static analyzer is failing because of localStorage being an undefined variable, this can be fixed by including the localstorage as a global variable in the .eslintrc

Please configure your linter to adhere to the existing indenting scheme. There are 700 changes in the team.js controller and it's hard to review the actual changes.

Im pretty confused on how to tackle this but for reviewing the actual changes you can view the conflicting files section, ill try to fix that but as ive said before im a bit confused on how to do it .

Found a bug - If I go to reset data, and click back on the login modal, this modal shows up:

Same thing happens if I click on delete data.

When I click on "Reset Data" the publications, team data, etc. is removed from sidebar. But when I add the respective pages I still get the original data. Was this intentional?

When I click on "Reset Data" the publications, team data, etc. is removed from sidebar. But when I add the respective pages I still get the original data. Was this intentional?
Delete account functionality works for me though 👍

Yes , this should be like this but can you check if the publications is removed though ( it should be ).

I think the reset data/delete account buttons are triggering the submit form logic:

Because the 'team is updated' toast shows up after I click them

Works well. Produces no errors on the console. Rename the back button on the modal to "Continue without Github" or something like that as it may be a concern from the UX perspective.

+1

repo: Researchify/Researchify


text:
LLVM all the things

We should LLVM all the things -- support LLDB for debugging (do we have to change anything?), use LLD for linking, and if at all possible use an LLVM x86 assembler. This helps us stay consistent.

So it looks like LLDB can support the GDB protocol, so we don't have to change anything there.

I'm not sure if we necessarily need to do this, but it might be nice for consistency. @gegy1000 opinions?

I hear that lld is packaged with rust under rust-lld. If we switched to that, that would remove a dependency.

source: gharchive/issue

repo: Restioson/flower

license_type: permissive

license_source: github-api


text:
offckb create my-ckb-dapp

When offckb creates my-ckb-dapp
but
error：/usr/local/lib/node_modules/@offckb/cli/dist/util/template.js:26
throw new Error(Error fetching JSON: ${error.message});
^
Error: Error fetching JSON:
at /usr/local/lib/node_modules/@offckb/cli/dist/util/template.js:26:19
at Generator.throw ()
at rejected (/usr/local/lib/node_modules/@offckb/cli/dist/util/template.js:6:65)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
I don't ask. Why
node-Version:v20.13.1

and
offckb node
/bin/sh: /usr/local/lib/node_modules/@offckb/cli/target/ckb/ckb: No such file or directory
/usr/local/lib/node_modules/@offckb/cli/target/ckb/ckb not found, download and install the new version 0.113.1..

can you connect to github in your terminal? it looks like a network issue to me

Thank you for your reply! I can ping, wget can also, do I need to uninstall and reinstall the lower version? offckb 0.2.6.

0.2.6 is fine. The command will make request to github repo to get some information https://github.com/RetricSu/offckb/blob/master/src/util/template.ts#L21 The log shows that it has some problem to make that connection

to be more specific, can you connect to raw.githubusercontent.com in your terminal?

Thank you very much for your reply, is my end cannot visit: raw.githubusercontent.com, I have carried on the repair. Now it has been able to create normally, but there is a problem with my environment. 0.2.6 No problem

In addition, the offckb node also seemed to work after I waited a few minutes

In addition, the offckb node also seemed to work after I waited a few minutes

yea it needs to download ckb binary from network for the first time. after the first time, it should be instantly to run offckb node

authors: RetricSu mrqinxd

repo: RetricSu/offckb

license: MIT


text:
Dream disc for Microbee with 8" drive support

G'day,
I was going through the process of trying to recreate the dreamdisk for microbee when I came across your Project.  Would it be as simple as changing the 50 way interface wiring to get it to work with the bee, and adding the 50 pin 8" interface?  Looking at the RM001 schematics you have added BusDir and BusEn...    is this from the later version?
Did you also manage to actually get a real original Board?
Thanks
Paul

Hi Paul,
The Dreamdisk FDC is based on the RM001 per the schematics from the original manual. We don't have an original RM001 FDC board - so everything was reverse engineered from the schematics only.
The circuit was modified for Sorcerer 50 PIN BUS pinout (i.e. not requiring the external original dreamdisk adapter PCB for the Sorcerer).
If you build an external PCB of your own design, you can remap the 50 PIN BUS pinouts back to Microbee. The bus pinout mapping is described in the original Dreamdisk Sorcerer manual.
We deleted the 8" disk drive header from the PCB to simplify and have only a 5.25" drive interface.
We also added the Busdir and BusEn pcb jumpers for testing and these can be removed from a future revision PCB.
Have a look at the files at the exidy sorcerer forums on how to setup and test the PCB including the jumpers.
https://www.exidysorcerer.net/
https://filebrowser.exidysorcerer.net/
Without any changes to the current PCB - You can add external PCB (your design) to remap the 50 way bus signals back to Microbee and also you can use one of the many commercially available (pre-built) 8" to 5.25" PCB adapters.
Like this one.
https://texelec.com/product/8-inch-floppy-adapter/
We hope to have an updated Dreamdisk PCB with both Sorcerer and Microbee 50 way bus headers on the same PCB (and some minor updates such as removing the Busdir and BusEn jumpers). @marcelerz
John

Thanks for keeping me informed....
I have a microbee, but not a sorcerer, I will try to find one as well.
Thanks
On Sun, 27 Oct 2024, 8:40 pm John Halkiadakis, @.***>
wrote:

Hi Paul,
The Dreamdisk FDC is based on the RM001 per the schematics from the
original manual. We don't have an original RM001 FDC board - so everything
was reverse engineered from the schematics only.
The circuit was modified for Sorcerer 50 PIN BUS pinout (i.e. not
requiring the external original dreamdisk adapter PCB for the Sorcerer).
If you build an external PCB of your own design, you can remap the 50 PIN
BUS pinouts back to Microbee. The bus pinout mapping is described in the
original Dreamdisk Sorcerer manual.
We deleted the 8" disk drive header from the PCB to simplify and have only
a 5.25" drive interface.
We also added the Busdir and BusEn pcb jumpers for testing and these can
be removed from a future revision PCB.
Have a look at the files at the exidy sorcerer forums on how to setup and
test the PCB including the jumpers.
https://www.exidysorcerer.net/
https://filebrowser.exidysorcerer.net/
Without any changes to the current PCB - You can add external PCB (your
design) to remap the 50 way bus signals back to Microbee and also you can
use one of the many commercially available (pre-built) 8" to 5.25" PCB
adapters.
Like this one.
https://texelec.com/product/8-inch-floppy-adapter/
We hope to have an updated Dreamdisk PCB with both Sorcerer and Microbee
50 way bus headers on the same PCB (and some minor updates such as removing
the Busdir and BusEn jumpers). @marcelerz https://github.com/marcelerz
John
—
Reply to this email directly, view it on GitHub
https://github.com/RetroStack/Sorcerer_DreamDisk/issues/1#issuecomment-2439928461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVKNH4LGQNSCCAUG56IDWL3Z5SYI5AVCNFSM6AAAAABQVUZ5TWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZHEZDQNBWGE
.
You are receiving this because you authored the thread.Message ID:
@.***>


text:
IOS crashes when calling Purchases.configure

App crashes on startup when calling Purchases.configure using the latest version of the SDK. Verified that both API key and appUserId exists. Works as expected on Android.
Note: Only using purchases-kmp-core and PurchasesHybridCommon.
            Purchases.configure(
                PurchasesConfiguration(
                    apiKey = <API KEY>,
                ) {
                    appUserId(appUserId)
                }
            )

Environment

Platform: iOS
SDK version: 1.0.0+13.2.0
OS version: 17.5
IDE (e.g. Android Studio, Xcode, Fleet): Android Studio
IDE version:
Device and/or emulator/simulator:

[ ] Device
[X] Emulator/simulator

Environment:

[X] Closed testing / Sandbox
[ ] TestFlight
[ ] Production

How widespread is the issue. Percentage of devices affected.

Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to
have context, eg. stackoverflow, etc.)

*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804ae0f8 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x0000000180087db4 objc_exception_throw + 56
	2   CoreFoundation                      0x00000001804c2da4 _CFAutoreleasePoolAddObject + 0
	3   CoreFoundation                      0x00000001804b2248 ___forwarding___ + 1280
	4   CoreFoundation                      0x00000001804b456c _CF_forwarding_prep_0 + 92
	5   VAC                                 0x0000000102016e78 kfun:com.revenuecat.purchases.kmp.Purchases.Companion.checkCommonVersion#internal + 424
	6   VAC                                 0x0000000102016810 kfun:com.revenuecat.purchases.kmp.Purchases.Companion#configure(com.revenuecat.purchases.kmp.PurchasesConfiguration){}com.revenuecat.purchases.kmp.Purchases + 428
	7
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[RCCommonFunctionality hybridCommonVersion]: unrecognized selector sent to class 0x106f28dd8'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001804ae0f8 __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x0000000180087db4 objc_exception_throw + 56
	2   CoreFoundation                      0x00000001804c2da4 _CFAutoreleasePoolAddObject + 0
	3   CoreFoundation                      0x00000001804b2248 ___forwarding___ + 1280
	4   CoreFoundation                      0x00000001804b456c _CF_forwarding_prep_0 + 92
	5   VAC                                 0x0000000102016e78 kfun:com.revenuecat.purchases.kmp.Purchases.Companion.checkCommonVersion#internal + 424
	6   VAC                                 0x0000000102016810 kfun:com.revenuecat.purchases.kmp.Purchases.Companion#configure(com.revenuecat.purchases.kmp.PurchasesConfiguration){}com.revenuecat.purchases.kmp.Purchases + 428
	7   VAC                                 0x00000001006f3780 kfun:se.sabumbi.vacapp.data.revenuecat.RevenueCatRepository.Companion#configure(kotlin.String){} + 648
	8   VAC                                 0x000000010065d528 kfun:$App$lambda$12COROUTINE$0.invokeSuspend#internal + 1372
	9   VAC                                 0x00000001012d6428 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 72
	10  VAC                                 0x000000010118c7a8 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 648
	11  VAC                                 0x00000001012d6514 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 100
	12  VAC                                 0x000000010140a3bc kfun:kotlinx.coroutines.DispatchedTask#run(){} + 1760
	13  VAC                                 0x000000010143aab8 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 92
	14  VAC                                 0x0000000101a67b38 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.dispatch$lambda$1$lambda$0#internal + 476
	15  VAC                                 0x0000000101a6917c kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$lambda$0$FUNCTION_REFERENCE$4.invoke#internal + 76
	16  VAC                                 0x0000000101a69278 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$lambda$0$FUNCTION_REFERENCE$4.$<bridge-DNN>invoke(){}#internal + 72
	17  VAC                                 0x00000001012d3628 kfun:kotlin.Function0#invoke(){}1:0-trampoline + 100
	18  VAC                                 0x0000000101a673d8 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.performRun#internal + 320
	19  VAC                                 0x0000000101a67ce0 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.dispatch$lambda$1#internal + 256
	20  VAC                                 0x0000000101a68c18 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 140
	21  VAC                                 0x00000001012d6b38 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 116
	22  VAC                                 0x00000001011901ec kfun:kotlin.coroutines.intrinsics.object-4.invokeSuspend#internal + 740
	23  VAC                                 0x00000001012d6428 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 72
	24  VAC                                 0x000000010118c7a8 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 648
	25  VAC                                 0x00000001012d6514 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 100
	26  VAC                                 0x000000010140a484 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 1960
	27  VAC                                 0x000000010143aab8 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 92
	28  VAC                                 0x000000010143603c kfun:kotlinx.coroutines.DarwinMainDispatcher.dispatch$lambda$0#internal + 68
	29  VAC                                 0x00000001014362c4 kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 72
	30  VAC                                 0x0000000101436394 kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.$<bridge-DNN>invoke(){}#internal + 72
	31  VAC                                 0x00000001012d3628 kfun:kotlin.Function0#invoke(){}1:0-trampoline + 100
	32  VAC                                 0x000000010143733c _6f72672e6a6574627261696e732e6b6f746c696e783a6b6f746c696e782d636f726f7574696e65732d636f72652f6f70742f6275696c644167656e742f776f726b2f343465633665383530643563363366302f6b6f746c696e782d636f726f7574	33  libdispatch.dylib                   0x0000000180170104 _dispatch_call_block_and_release + 24
	34  libdispatch.dylib                   0x0000000180171978 _dispatch_client_callout + 16
	35  libdispatch.dylib                   0x00000001801807c8 _dispatch_main_queue_drain + 1276
	36  libdispatch.dylib                   0x00000001801802bc _dispatch_main_queue_callback_4CF + 40
	37  CoreFoundation                      0x000000018040e960 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
	38  CoreFoundation                      0x0000000180409078 __CFRunLoopRun + 1936
	39  CoreFoundation                      0x00000001804084d4 CFRunLoopRunSpecific + 572
	40  GraphicsServices                    0x000000018ef2aae4 GSEventRunModal + 160
	41  UIKitCore                           0x00000001853d0a28 -[UIApplication _run] + 868
	42  UIKitCore                           0x00000001853d46b0 UIApplicationMain + 124
	43  SwiftUI                             0x00000001ccf100e4 OUTLINED_FUNCTION_65 + 492
	44  SwiftUI                             0x00000001ccf0ff8c OUTLINED_FUNCTION_65 + 148
	45  SwiftUI                             0x00000001ccbcd6d8 OUTLINED_FUNCTION_0 + 92
	46  VAC                                 0x00000001005f84b8 $s3VAC6iOSAppV5$mainyyFZ + 40
	47  VAC                                 0x00000001005f8708 main + 12
	48  dyld                                0x0000000105cc9544 start_sim + 20
	49  ???                                 0x00000001057de154 0x0 + 4387103060
	50  ???                                 0xd54d800000000000 0x0 + 15370081840773726208
)
libc++abi: terminating due to uncaught exception of type NSException```

Hi @Qw4z1, thanks for reporting with the stack trace!
This line makes me think PurchasesHybridCommon is not properly linked:
reason: '+[RCCommonFunctionality hybridCommonVersion]: unrecognized selector sent to class 0x106f28dd8'

Just checking, did you run pod install --repo-update after you switched from the RevenueCat pod to PurchasesHybridCommon?

@JayShortway I thought I had, but it turned out that I had an issue in my cocoapod installation preventing me from updating pods. 😅 Closing this as it was an error on my part.
One thing before I go though I got this error now, which is pretty self explanatory. But shouldn't patch versions be allowed?
Uncaught Kotlin exception: kotlin.IllegalStateException: Unexpected version of PurchasesHybridCommon ('13.2.1'). Make sure to use '13.2.0' exactly.

@Qw4z1 Happy to hear it's solved!
Yea that could be a good idea. For now we want to minimize the variation in people's setups, but it could be something to consider for the future, thanks!

repo: RevenueCat/purchases-kmp


text:
JS refactor

Pull out constants to the top of the file, as suggested in https://github.com/Ribbit-Network/ribbit-network-dashboard/pull/87#discussion_r929215829
Pull out the rest of the magic constants while we're at it
Wrap JS with an immediate function to reduce line noise: this allows defining functions normally, and assigning them to the window.ribbit namespace in one clean declaration at the end. It also makes sure we don't leak the above constants into the global namespace.

Looks good to me!

source: gharchive/pull-request

authors: abesto keenanjohnson

repo: Ribbit-Network/ribbit-network-dashboard


text:
ah scan

hey! when i try to full scan ah, the game freezes as if the internet connection has been interrupted, but you stay in the game

at this screenshot u can see that i moved soul shards on my bag, and it doesnt move

Full scan not working is server dependent. It doesn't work on most private servers, but nothing can be done about that from the client side. A workaround is to do a manual full scan by searching with a single blank character (space). It takes a lot longer, but should work on all servers.


text:
[Bug]自动连续播放不了 会直接黑屏

第一个视频可以播放，第二个直接卡死黑屏了最新版

与 #792 应是同一问题，合并处理


text:
Rename mapping files correct giact fields

Renamed the classes
Added the Giact matching code
Moved some code around to avoid duplication.

rejecting these changes because your branch to many updates behind the master.

authors: Rickcau codearoo-conduent

repo: Rickcau/api-process-runner-api


text:
convert regex to c++ code

Converted the regex to C++ code.
I couldn't get the nano node building, so i couldn't run the actual tests, but replicating them by myself, it seems to be working.
If some tests don't pass, tell me which ones failed and I'll fix them.

All tests runs successfully. Thank you so much @marcusmmmz

authors: RickiNano marcusmmmz

repo: RickiNano/nano-node


text:
Make the GetKey protected & virtual to allow overriding it

Hi,
In this change the JsonSchemaResolver's GetKey is made protected & virtual in order to use additional information than just the FullName as the mapping key. In our case we would like to use Assembly version in addition to fullname.
In our scenario controllers are loaded runtime and there might be two classes with the exact same FullName coming from two different assemblies and we need to generate schemas for both of them as the types may be different (different properties etc.).

Shouldnt we fix that directly instead of externally? ie. change the current impl to fix your issue?

Thanks for the comment! The idea was to break as little as possible :) This way the developer can override the JsonSchemaResolver (or OpenApiSchemaResolver) and provide their own implementation.
Using the Type.Assembly and its version in addition to Type.FullName isn't always possible as the assemblies can be dynamic. For example in one of our cases we are generating the assemblies on the fly using Roslyn and the assembly is memory only and missing the version details. In this case the current implementation works fine as we must rely on the Type.FullName.
In another case it may be that we use the Type's FullName to map it to some other non-type related data, for example to Nuget package. In this scenario the application may have loaded two versions of the same Nuget-package as plugins (using Plugin Framework) and even though both packages have different versions, the assemblies inside them may have the same 1.0.0 version. We need some application specific mechanism for deciding if we expect the schema's to be the same or not.

Renamed to GetTypeKey

authors: RicoSuter mikoskinen

repo: RicoSuter/NJsonSchema


text:
Generated Csharp client - How to set specific timeout for an operation

I've seen that the C# client can get HttpClients from a CreateHttpClientAsync method that I provide. This gives me a way to set HttpClient.Timeout
However this will be standard across my client. I'd rather just set it for one particular operation I know is slow.
Any decent way to achieve this?

(I guess I can achieve this by messing with HttpClient parameters while inside the PrepareRequest method).

I've added the extension template Client.Class.BeforeSend.liquid which is rendered just before SendAsync, you can overwrite it with the TemplateDirectory option... In there you could conditionally set the timeout on the client based for example on the operation.ActualOperationName

Apart from that, we could generate a PrepareMyMethodRequest partial method for each method...

You could also change the injected httpclint to IHttpClient and add the timeout in your implementation...

Any way to add PrepareMyMethodRequest to c# and typescript client generators?

Same question for js/ts fetch client. Timeout option is not available in config file.

Same question for js/ts fetch client. Timeout option is not available in config file.

The fetch client allows you to pass in an http object and it will use that object's fetch function. For example:
client = new api.Client(apiHost, { fetch: fetchWithTimeout })

...

async function fetchWithTimeout(input: RequestInfo, init?: RequestInit) {
    const timeout = 8000

    const controller = new AbortController()
    const id = setTimeout(() => controller.abort(), timeout)
    const response = await fetch(input, {
        ...init,
        signal: controller.signal,
    })
    clearTimeout(id)
    return response
}

authors: MrFoxPro RSuter ishepherd mykter tomasomaso

repo: RicoSuter/NSwag


text:
Error while rendering Liquid template TypeScript/Client.RequestUrl:

May relate to #2131 Error while rendering Liquid template CSharp/Class
May relate to change from DotLiquid to Fluid
The same swagger.json (attached) works with NJsonSchema.CodeGeneration [+ .TypeScript ] 10.5.2 but fails on 10.6.6
Unhandled exception. System.IenvalidOperationException: Error while rendering Liquid template TypeScript/JQueryPromisesClient:
System.InvalidOperationException: Error while rendering Liquid template TypeScript/Client.RequestUrl:
Fluid.ParseException: '{% endif %}' was expected at (12:1)
   at Fluid.FluidParserExtensions.Parse(FluidParser parser, String template)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.<Render>b__12_0(ValueTuple`2 _)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
 ---> Fluid.ParseException: '{% endif %}' was expected at (12:1)
   at Fluid.FluidParserExtensions.Parse(FluidParser parser, String template)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.<Render>b__12_0(ValueTuple`2 _)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   --- End of inner exception stack trace ---
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidParser.RenderTemplate(List`1 arguments, TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Parser.ParserTagStatement`1.WriteToAsync(TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Ast.ForStatement.WriteToAsync(TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Ast.IfStatement.Awaited(ValueTask`1 conditionTask, ValueTask`1 incompleteStatementTask, TextWriter writer, TextEncoder encoder, TemplateContext context, Int32 statementStartIndex)
   at Fluid.Parser.FluidTemplate.Awaited(ValueTask`1 task, TextWriter writer, TextEncoder encoder, TemplateContext context, IReadOnlyList`1 statements, Int32 startIndex)
   at Fluid.FluidTemplateExtensions.<RenderAsync>g__Awaited|3_0(ValueTask task, StringWriter writer, StringBuilderPool builder)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
 ---> System.InvalidOperationException: Error while rendering Liquid template TypeScript/Client.RequestUrl:
Fluid.ParseException: '{% endif %}' was expected at (12:1)
   at Fluid.FluidParserExtensions.Parse(FluidParser parser, String template)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.<Render>b__12_0(ValueTuple`2 _)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
 ---> Fluid.ParseException: '{% endif %}' was expected at (12:1)
   at Fluid.FluidParserExtensions.Parse(FluidParser parser, String template)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.<Render>b__12_0(ValueTuple`2 _)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   --- End of inner exception stack trace ---
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidParser.RenderTemplate(List`1 arguments, TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Parser.ParserTagStatement`1.WriteToAsync(TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Ast.ForStatement.WriteToAsync(TextWriter writer, TextEncoder encoder, TemplateContext context)
   at Fluid.Ast.IfStatement.Awaited(ValueTask`1 conditionTask, ValueTask`1 incompleteStatementTask, TextWriter writer, TextEncoder encoder, TemplateContext context, Int32 statementStartIndex)
   at Fluid.Parser.FluidTemplate.Awaited(ValueTask`1 task, TextWriter writer, TextEncoder encoder, TemplateContext context, IReadOnlyList`1 statements, Int32 startIndex)
   at Fluid.FluidTemplateExtensions.<RenderAsync>g__Awaited|3_0(ValueTask task, StringWriter writer, StringBuilderPool builder)
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   --- End of inner exception stack trace ---
   at NJsonSchema.CodeGeneration.DefaultTemplateFactory.LiquidTemplate.Render()
   at NJsonSchema.CodeGeneration.CodeArtifact..ctor(String typeName, CodeArtifactType type, CodeArtifactLanguage language, CodeArtifactCategory category, ITemplate template)
   at NSwag.CodeGeneration.TypeScript.TypeScriptClientGenerator.GenerateClientTypes(String controllerName, String controllerClassName, IEnumerable`1 operations)+MoveNext() in D:\SpitfireDev\NSwag\src\NSwag.CodeGeneration.TypeScript\TypeScriptClientGenerator.cs:line 112
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
   at NSwag.CodeGeneration.ClientGeneratorBase`3.GenerateAllClientTypes() in D:\SpitfireDev\NSwag\src\NSwag.CodeGeneration\ClientGeneratorBase.cs:line 117
   at NSwag.CodeGeneration.ClientGeneratorBase`3.GenerateFile(ClientGeneratorOutputType outputType) in D:\SpitfireDev\NSwag\src\NSwag.CodeGeneration\ClientGeneratorBase.cs:line 73
   at NSwag.CodeGeneration.ClientGeneratorBase`3.GenerateFile() in D:\SpitfireDev\NSwag\src\NSwag.CodeGeneration\ClientGeneratorBase.cs:line 65
   at APIClientGenerator.Program.Main(String[] args) in D:\SpitfireDev\TypeScriptClientGenerator\Program.cs:line 124
   at APIClientGenerator.Program.<Main>(String[] args)

sf-swagger-8048.zip
Code from C# generator
var settings = new NSwag.CodeGeneration.TypeScript.TypeScriptClientGeneratorSettings
{
	ClassName = "{controller}Client",
	Template = TypeScriptTemplate.JQueryPromises,
	PromiseType = PromiseType.Promise,
	HttpClass = HttpClass.HttpClient,
	WithCredentials = false,
	UseSingletonProvider = false,
	InjectionTokenType = InjectionTokenType.OpaqueToken,
	RxJsVersion = 6.0M,
	GenerateClientClasses = true,
	GenerateClientInterfaces = false,
	WrapDtoExceptions = false,
	GenerateOptionalParameters = true,
	ExceptionClass = "ApiException",
	ClientBaseClass = "APIClientBase",
	WrapResponses = false,
	WrapResponseMethods = Array.Empty<string>(),
	GenerateResponseClasses = true,
	ResponseClass = "SwaggerResponse",
	ProtectedMethods = Array.Empty<string>(),
	ExcludedParameterNames = Array.Empty<string>(),
	ConfigurationClass = "",
	UseTransformOptionsMethod = false,
	UseTransformResultMethod = false,
	ImportRequiredTypes = true,
	UseGetBaseUrlMethod = true,
	//BaseUrlTokenName = "API_BASE_URL", // angular
	QueryNullValue = "",
	UseAbortSignal = false,
	//serviceHost = null,
	//serviceSchemes= null,
	//output = "src/SwaggerClients.ts",
	//newLineBehavior = "Auto"

	TypeScriptGeneratorSettings =
	{
		TypeScriptVersion = 2.7M,
		//propertyNameGeneratorType= null,
		PropertyNameGenerator = UseNameGenerator,
		DateTimeType =  TypeScriptDateTimeType.Date,
		NullValue  = TypeScriptNullValue.Undefined,
		ExportTypes= true,
		//generateDtoTypes": true,
		//operationGenerationMode = "MultipleClientsFromOperationId",
		MarkOptionalProperties = true,
		GenerateCloneMethod=  true,
		TypeStyle =  TypeScriptTypeStyle.Class,
		EnumStyle = TypeScriptEnumStyle.Enum ,
		UseLeafType = false,
		ClassTypes=  Array.Empty<string>(),
		ExtendedClasses = Array.Empty<string>(),
		ExtensionCode =  "import { APIClientBase } from './APIClientBase';",
		GenerateDefaultValues = true,
		ExcludedTypeNames= Array.Empty<string>(),
		HandleReferences=  false,
		GenerateConstructorInterface = true,
		ConvertConstructorInterfaceData = false,
		InlineNamedAny = false,
		InlineNamedDictionaries= false,
		TemplateDirectory = null
		//typeNameGeneratorType = null,
		//enumNameGeneratorType= null,
	}
};

var resolver = new TypeScriptTypeResolver(settings.TypeScriptGeneratorSettings);
var generator = new NSwag.CodeGeneration.TypeScript.TypeScriptClientGenerator(document, settings, resolver);
var client = generator.GenerateFile();

Are you using a custom template? This error usually means that you have used elseif instead of correct Liquid syntax elsif.

I may be answering the wrong question, but I believe that setting
TemplateDirectory = null
in TypeScriptGeneratorSettings means that I am using the default templates.

Tried with the attached file in NSwagStudio but didn't get an error.

Ditto.  (nswag settings file attached).
The only difference is that the custom client builder includes
PropertyNameGenerator = (IPropertyNameGenerator)new CustomRespectSwaggerPropertyNameGenerator(), defined as below.
Is there a way to provide a PropertyNameGenerator  now in NSwagStudio?
public class CustomRespectSwaggerPropertyNameGenerator : IPropertyNameGenerator {     /// <summary>Generates the property name.</summary>     /// <param name="property">The property.</param>     /// <returns>The new name.</returns>     string IPropertyNameGenerator.Generate(JsonSchemaProperty property)     {         return property.Name.Replace('_', '_')             .Replace("@", "")             .Replace(".", "-") ;     } }

So the problem goes away if you disable your custom generator? Still the error seems to be related to markup and not the generated property name.

No, as expected the custom generator does not matter.
I went through DLL by DLL and found the difference between my BIN and NSwagStudio, then tracked it back.
My NuGet packages were NSwag.Core + NJsonSchema.CodeGeneration + NJsonSchema.CodeGeneration.Typescript
Changed NuGet packages to NSwag.Code + NSwag.CodeGeneration + NSwag.CodeGeneration.TypeScript.
Working again now!

authors: lahma stanyork


text:
Use .rbxmx instead of .rbxm

While Rojo supports both .rbxmx (XML version) and .rbxm (binary version). The support for the binary version is not actually fully done yet, properties will not be synced when Rojo is "loading" a .rbxm file. However, the XML version can.

Woops, accidentally pushed something that is not for this PR.

repo: RigidStudios/roblox-discord-presence


text:
Pages: How to use

Buy a free 1 year server on AWS and mail you the invoice
Run Postmaster on the server
Finish the wiki on how to install postmaster on AWS

@supermansi to resolve this (No inbound permission) issue

Move (delete) this security group settings

(add) to rds

repo: RimeOfficial/postmaster

license_source: bigquery


text:
Establish order of events in a day

Consider the following:

events starting on previous days
event types (full-day vs timed)
starting hours

Blocked by #1

repo: RinneganOrg/React-Calendar


text:
Pauses between pages at Deviantart

v1.5.7
When downloading galleries, there's a huge pause between pages with "downloading next page" message in log. I've tried reducing and increasing timeout in settings to get rig of that pause, but it isn't working.
Tried with random galleries.
P.S. It would also be nicie to have an extra option in settings, that would allow to download not only the main gallery, but also the folders. Thanks.

Sadly, that huge pause is a problem on DA's end, at least for 99% of the time. You should use only 1 thread for that reason and if possible not run multiple RipMe instances, with a minimum of 6000 milliseconds (6 seconds) timeout. It doesn't seem like you'll get banned anytime soon, though, but the pause will just get worse. My advice by experience is let it run for max 45mins and if it doesn't get anywhere regardless of the timeout, stop it and re-start.
The support for recursive ripping at DA is broken (https://github.com/4pr0n/ripme/issues/550, back at the old GitHub location) and there aren't many ppl who can write the Java, and those ppl are busy with other stuff.

Thank you for the clarification.

authors: AlexFundorin rautamiekka

repo: RipMeApp/ripme


text:
Write Unit Test for end-points

Write unit test to validate all our endpoints from the backend, (use a testing MongoDB database to do that), and then write a Github actions workflow to run all those tests before making any changes!

@Rishabh-malhotraa can you assign this to me?

How do you plan to implement testing(I want to know your approach)? Plus, what library are you thinking of using?

Hello, I tried setting up testing on backend using mocha for running tests, chai for assertions and supertest libraries.

So if no one is working on this maybe you can assign this to me ? and I will open a PR for the same for code review ?

Sure, remember with testing, adding test cases are more important than the test itself

Great! I will start writing good test cases once you approve the pattern I followed for setting up testing.

repo: Rishabh-malhotraa/Vita


text:
feat(plugins/backend/okta): hide oauth creds and token from logs and config api

Add visibility tags to token and oauth config option so these get hidden in the config api and from logs.
The former makes this tokens hidden on the devtools config page.

:heavy_check_mark: Checklist

[ ] Added tests for new functionality and regression tests for bug fixes
[x] Added changeset (run yarn changeset in the root)
[ ] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)

Still an issue in 0.9.11

@punkle Can you reopen this PR, this is still needed to mask credentials.

repo: RoadieHQ/roadie-backstage-plugins


text:
Have day of week appear in DNP feed

https://roamresearch.slack.com/archives/C016N2B66JU/p1670588068354889?thread_ts=1670509930.578549&cid=C016N2B66JU

quasi live

repo: RoamJS/workbench

license: Unlicense


text:
🛑 ai is down

In 3a8b5eb, ai (https://ai.sensoro.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ai is back up in 28dc646.

repo: Roarain/upptime


text:
interfacing acs712 with esp32

hii, I want to interface acs712(5 A) with ESP32(Doit esp32 Devkit v1) and measure AC RMS current through a load. I am confused about the isuue #15 . Whether  do i need to connect the voltage divider or not,  if needed, how to connect and the resistor values??Where do i connect the sensor output (like which pin , because some pins cant be interfaced if we use wifi as I read). Can you please tell me the hardware connections and corresponding arduino IDE code for it from scratch(step by step). I request you to solve my confusions.

here are some extra details,  in my country  the voltage is 230V 50Hz AC.

Thanks for your question,
As I am quite busy this week it will take several days before having time to dive into your question.
Sorry for the inconvenience.
Probably you will get answers faster on the Arduino forum.
Have you searched youtube for ESP32 tutorials?
Expect there are several that explain it.

yeah, there are no youtube tutorils as far i searched, everything is for arduino . Thanks for your response . I request you to give  us (esp32 community) the solution as quick as possible.

I cannot find anything clear and crisp on the arduino forum(or rather anywhere) . There are many confusions related to this. I request you to give the exact hardware connections and code by taking your time. It will be very useful for my project and for others in future too.Thank you.

To get started I propose to use a voltage divider of a 20 KΩ and a 10 KΩ resistors (1% or better).
This will reduce the maximum voltage of the ACS with one third from 5.0 Volt to 3.3 Volt.
This will reduce the signal to be within range of the ESP32.
ACS712-OUT ----- 10 KΩ -----X------20 KΩ ------- GND
                            |
                            |
                            |
                        ADC of ESP32

The voltage divider will also reduce the 185 mV per Ampere steps with one third to 123.4 mV per Ampere.
So use 123.4 as the mVperAmpere parameter in the constructor.
ACS712  ACS(34, 3.3, 4095, 123.4);

optionally you can use a voltage divider with two 10 KΩ resistors. That will reduce with one half.
So the parameter should become 92.5 mVperAmpere
Success

I request you to give the exact code for my purpose ( as there are some confusions in the void setup() function related to the setADC, Automidpoit functions...) And void loop() too.

See examples

Which example should I use for my purpose? Suggest one thing from those which gives accurate values of AC rms current

ACS712_20_AC_compare.ino

That compares both AC methods, and you can verify which gives the best values.
Be aware that the form factor of the AC will differ if there is noise on your 230 lines or when dimmers are used.
You can compensate for that with the appropriate function. Default the library uses sqrt(2)/2 ~~ 0.707

I will test and give the result so if I have problems I will report.

I have done the testing, the current value always shows greater than the original value when the noise value is higher. How can I reduce the noise?

My circuit

My code:
//
//    FILE: ACS712_20_AC_compare.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: demo AC measurement comparison
//     URL: https://github.com/RobTillaart/ACS712
#include "ACS712.h"
//  Arduino UNO has 5.0 volt with a max ADC value of 1023 steps
//  ACS712 5A  uses 185 mV per A
//  ACS712 20A uses 100 mV per A
//  ACS712 30A uses  66 mV per A
//ACS712  ACS(A0, 5.0, 1023, 100);
//  ESP 32 example (might requires resistors to step down the logic voltage)
ACS712  ACS(35, 3.3, 4095, 123.4);
void setup()
{
Serial.begin(115200);
while (!Serial);
Serial.println(FILE);
Serial.print("ACS712_LIB_VERSION: ");
Serial.println(ACS712_LIB_VERSION);
ACS.autoMidPoint(50,100);
//ACS.setMidPoint(1903);
Serial.print("MidPoint: ");
Serial.print(ACS.getMidPoint());
float a = ACS.mVNoiseLevel(50,100);
ACS.setNoisemV(a); //25mV if needed or a if
Serial.print(". Noise mV: ");
Serial.println(ACS.getNoisemV());
ACS.suppressNoise(1);
}
void loop()
{
//int m1 = ACS.mA_AC(50,60);
int m2 = ACS.mA_AC_sampling(50,90);
//Serial.print("mA:\t");
//Serial.print(m1);
//Serial.print("\t\t");
if(m2<400) m2=0;
Serial.println(m2);
//delay(1000);
}
//  -- END OF FILE --

Output
When the load is off:

When the load is on:

While the load draws 650 to 690 milliAmps, this shows much  greater value. But the one thing I noticed is that when I reset the program and sometimes the noise gets reduced (because of some unknown factors) , the values are accurate. So I think the noise is the problem. What may be the unknown factors or any other things??

I have done the testing, the current value always shows greater than the original value when the noise value is higher. How can I reduce the noise?

What did you exactly test?
What do you mean by original value?
What levels of noise do you measure?
Noise will always disturb peak to peak measurements as you dont know how the peak is affected. The sampling method has the stochastic behaviour (if enough measurements are made) that the + and - noise cancel each other out.

Please observe the details given and give me some inference, it's my kind request

Please do not post images of output.
Text can be used for analysis (spreadsheet).
Images cannot.

Sorry

What may be the unknown factors or any other things??

Loose wires?
Unshielded wires?
Running motors nearby?
Indecent power supplies?
Noise in the AC signal itself?
Fake ACS712 chip?
....

I have used jumper wires and breadboard

E.g.
if the power supply of the ESP32 is not stable, it might affect the ADC readings.

While load off:
12:33:12.130 -> D:\8thSemProject\ACS712_20_AC_compare\ACS712_20_AC_compare.ino
12:33:12.130 -> ACS712_LIB_VERSION: 0.3.9
12:33:16.110 -> MidPoint: 2094. Noise mV: 63
12:33:19.925 -> 0
12:33:21.736 -> 0
12:33:23.543 -> 0

While load on:
12:34:12.266 -> 0
12:34:14.093 -> 479
12:34:15.863 -> 808
12:34:17.665 -> 808
12:34:19.489 -> 806
12:34:21.305 -> 806
12:34:23.104 -> 807
12:34:24.891 -> 809

So zero point looks ok

So current is stable around 808.
What value did you expect?

E.g.
if the power supply of the ESP32 is not stable, it might affect the ADC readings.

I have checked the value with multimeter it's ok like 5.05 volts

So current is stable around 808.
What value did you expect?

650 to 690 milliAnps, this is the max, it can't go greater than this

So zero point looks ok

Yeah I think so,  noise is the thing that makes the noise, I guess

Note that the noise level often is in the mV level.
Your multimeter does not show 3rd or 4th decimal.
That said, lets assume it is stable.

Note that the noise level often is in the mV level.
Your multimeter does not show 3rd or 4th decimal.
That said, lets assume it is stable.

Yeah you are right, but esp32 power supply is regulated I guess

So you read 808 and you expect ~670.
That is ~15% off,
Be aware that with these values you use less than
20 % of the ADC range == max 1000 steps.
So your precision will be in the order of 0.5% if all rest is perfect stable etc.

15% off is way more than normal noise.
Can you put your multimeter in series with your load so you can compare the current measurements with the multimeter?

15% off is way more than normal noise.
Can you put your multimeter in series with your load so you can compare the current measurements with the multimeter?

Yeah the multimeter measures ~670mA

The jumper wires do slightly shake because of the ceiling fans air , so do  they make any problem

My code:
//
//    FILE: ACS712_20_AC_compare.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: demo AC measurement comparison
//     URL: https://github.com/RobTillaart/ACS712
#include "ACS712.h"
//  Arduino UNO has 5.0 volt with a max ADC value of 1023 steps
//  ACS712 5A  uses 185 mV per A
//  ACS712 20A uses 100 mV per A
//  ACS712 30A uses  66 mV per A
//ACS712  ACS(A0, 5.0, 1023, 100);
//  ESP 32 example (might requires resistors to step down the logic voltage)
ACS712  ACS(35, 3.3, 4095, 123.4);
void setup()
{
Serial.begin(115200);
while (!Serial);
Serial.println(FILE);
Serial.print("ACS712_LIB_VERSION: ");
Serial.println(ACS712_LIB_VERSION);
ACS.autoMidPoint(50,100);
//ACS.setMidPoint(1903);
Serial.print("MidPoint: ");
Serial.print(ACS.getMidPoint());
float a = ACS.mVNoiseLevel(50,100);
ACS.setNoisemV(a); //25mV if needed or a if
Serial.print(". Noise mV: ");
Serial.println(ACS.getNoisemV());
ACS.suppressNoise(1);
}
void loop()
{
//int m1 = ACS.mA_AC(50,60);
int m2 = ACS.mA_AC_sampling(50,90);
//Serial.print("mA:\t");
//Serial.print(m1);
//Serial.print("\t\t");
if(m2<400) m2=0;
Serial.println(m2);
//delay(1000);
}
//  -- END OF FILE --

Is there any problem in the code corresponding to the circuit

Yeah the multimeter measures ~670mA

So sometimes the measurements are quite good as you had 650-690 mA. That means there is no error in the library or the code you use.

The jumper wires do slightly shake because of the ceiling fans air, so do they make any problem

No, what you see is a higher current and it is rather stable. More current means a lower resistance. Loose wires give higher resistance.
A fan has a motor which can generate a decent amount of noise. Do you see differences when you switch off all fans?

Q: what is the load you use?

Resistive load (incandescent bulb)

Is there any problem in the code corresponding to the circuit

No as you get values.

Yeah the multimeter measures ~670mA

So sometimes the measurements are quite good as you had 650-690 mA. That means there is no error in the library or the code you use.

The jumper wires do slightly shake because of the ceiling fans air, so do they make any problem

No, what you see is a higher current and it is rather stable. More current means a lower resistance. Loose wires give higher resistance.
A fan has a motor which can generate a decent amount of noise. Do you see differences when you switch off all fans?

No change, but everytime I reset the esp32 by pressing reset,   the noise value keeps changing drastically around min 40mV to max 130mV , everytime I reset. There is something to do with the supply I guess

Can you add a delay(5000) in setup.
That could give everything time to stabilize.

Where should I exactly add the delay in the code

the noise gets found automatically through the code, so the loads need to be off initially while measuring the noise. So how can it be a problem with the load or home supply.

The noise measurement is only done once in time.
The code assumes that the noise level is constant after that.
It might be interesting to run a sketch that measures the noise constantly and plot it.
It might give hints what causes the extreme noise.

Where should I exactly add the delay in the code

As first statement in setup()

the noise gets found automatically through the code, so the loads need to be off initially while measuring the noise. So how can it be a problem with the load or home supply.

The noise measurement is only done once in time.
The code assumes that the noise level is constant after that.
It might be interesting to run a sketch that measures the noise constantly and plot it.
It might give hints what causes the extreme noise.

Yeah I will do it

@vishaala
Any progress to report?

As there was no answer I assume the problem is solved and I close the issue.

authors: RobTillaart vishaala


text:
Fix typos

Found via codespell

Thanks!

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:

authors: RobertCraigie kianmeng

repo: RobertCraigie/pyright-python


text:
Advanced error handling

Closes (#84 ).
It's a good thing no code is sacred!
This PR adds my "Heapstack" class which sets up a stack on the heap. It stores function call parameters on the heap and calls one function at a time, only moving onto another function when the running function returns. Running functions can push another function to run on the stack, the last function pushed is the first run once the function returns. Since functions are not being called inside each other, little actual lua stack space is used, and only the currently running function's frame is removed when an error occurs. Since stack traces are no longer helpful, I've implemented Heapstack traces which can be enabled when a Heapstack is created. Note that functions can still use the stack and make nested calls, but they wont be safe from errors. Also, Heapstack traces don't include calls allocated on the stack, allowing some gaps in the trace to occur if the Heapstack isn't used religiously. (While I believe this could be fixed, it doesn't seem worth it to me.)
I've included the changes from my previous PR, "Enhanced error handling", and "Refactored checks". This is a WIP and I still have the following to work on: 9 failing tests, look into integrating the _setRbxProps enhanced error handling with Heapstack (they look similar), lots of code cleanup, and running benchmarks. Unfortunately I don't see these changes positively affecting the benchmarks, but what error handling does? Hopefully the effect will be minimal and optimizations can be made. I don't think that we need to be using the Heapstack everywhere, only where we need to protect the state. That being said, I did use it pretty much everywhere.
I found myself getting really annoyed with all those pesky, "expect ___ to throw" test cases and may have removed one to two of them since Roact shouldn't be throwing errors anymore.
What are your thoughts on this?
Checklist before submitting:

[ ] Added entry to CHANGELOG.md
[ ] Added/updated relevant tests
[ ] Added/updated documentation

This is nuts! We're not doing to switch to a different mechanism of calling functions and ditch Lua's regular stack for a table-backed 'heap stack'.

Lol! Perhaps I have scared you, but consider it a simple task scheduler that just runs tasks LIFO. It isn't all to different from the system in the new reconciler. Also, to recover from errors, the current solution without creating "tasks" in a task scheduler or "frames" in a heapstack would be to use a different calling mechanism, pcall.
BTW, I'm working a nightshift which accounts for my night activity on GitHub.

authors: LPGhatguy TylerRHoyer

repo: Roblox/roact


text:
Main screen is DONE :)

Не отклоняй плз )))))

АЗАЗА нужен аппрув!

license: mit


text:
RobotiumRC: Emulator unexpected terminated after launching on Mac

From enduranc...@gmail.com on August 22, 2013 07:43:24
What steps will reproduce the problem? 1. After launching emulator, it is terminated unexpected suddenly. What is the expected output? What do you see instead? Expected: Keep working.
Actual: Emulator closed. What version of the product are you using? On what operating system? RobotiumRCOverlay2013809, mac os x 10.8.3 Please provide any additional information below. console log:
Attempting to initialize Android Tools...
C:\Program Files\Android\android-sdk doesn't exist.
Setting Android Tools SDK Dir to /Users/TobyTang/android/android/sdk
SoloTest INFO: Detected 0 device/emulators attached.
SoloTest INFO: Attempting to launch EMULATOR_AVD: Test_A2
Bypassing ServerSocket Socket Thread...
Watching emulator for boot completion within 300 seconds.
Boot detection checking Window for Launcher Activity...
HAX is working and emulator runs in fast virt mode
Boot detection has not found Launcher Activity yet...
Boot detection has not found Launcher Activity yet...
Boot detection has not found Launcher Activity yet...
Emulator boot completion detected!
Emulator: null, Bypassing Reaper Thread...
Emulator launch appears successful.
SoloTest INFO: Emulator launch appears to be successful...
error: device not found
May have failed to unlock device screen due to RuntimeException, Tool return 255
SoloTest INFO: Emulator screen was NOT successfully unlocked!
SoloTest DEBUG: BYPASSING INSTALLATION of target AUT...
SoloTest DEBUG: INSTALLING ./Apks/SAFSTCPMessenger-debug.apk
INSTALLING ./Apks/SAFSTCPMessenger-debug.apk
Checking for devices going offline...
No 'offline' devices detected.
ATTEMPTING ADB Install command: adb [Ljava.lang.String;@7a0d85cc
error: device not found

waiting for device -

Original issue: http://code.google.com/p/robotium/issues/detail?id=503

From carl.na...@sas.com on August 22, 2013 08:18:32
Interesting...it sounds like the action to unlock the screen actually closed (or crashed) the emulator.  Can you provide details of your emulator configuration?  The type and settings?
Owner: carl.na...@sas.com

From enduranc...@gmail.com on August 22, 2013 08:35:38
I tried two emulators,

Android 2.3.3

Settings:
avd.ini.encoding=ISO-8859-1
hw.dPad=no
hw.lcd.density=240
sdcard.size=50M
hw.cpu.arch=x86
hw.device.hash=499058361
hw.camera.back=none
disk.dataPartition.size=200M
skin.path=480x800
skin.dynamic=no
hw.keyboard=yes
hw.ramSize=343
hw.device.manufacturer=Google
hw.sdCard=yes
hw.mainKeys=yes
hw.accelerometer=yes
skin.name=480x800
abi.type=x86
hw.trackBall=no
hw.device.name=Nexus S
hw.battery=no
hw.sensors.proximity=yes
image.sysdir.1=system-images/android-10/x86/
hw.sensors.orientation=yes
hw.audioInput=yes
hw.camera.front=none
hw.gps=yes
vm.heapSize=32

Android 4.2.2

Settings:
avd.ini.encoding=ISO-8859-1
hw.dPad=no
hw.lcd.density=240
sdcard.size=128M
hw.cpu.arch=x86
hw.device.hash=499058361
hw.camera.back=none
disk.dataPartition.size=256M
partition-size = 128M
hw.gpu.enabled=yes
skin.path=480x800
skin.dynamic=no
hw.keyboard=yes
hw.ramSize=343
hw.device.manufacturer=Google
hw.sdCard=yes
hw.mainKeys=yes
hw.accelerometer=yes
skin.name=480x800
abi.type=x86
hw.trackBall=no
hw.device.name=Nexus S
hw.battery=no
hw.sensors.proximity=yes
image.sysdir.1=system-images/android-17/x86/
hw.sensors.orientation=yes
hw.audioInput=yes
hw.camera.front=none
hw.gps=yes
vm.heapSize=32

From carl.na...@sas.com on August 29, 2013 11:17:48
I have successfully duplicated the issue in my environment and have started to evaluate causes and solutions.
Status: Accepted

From carl.na...@sas.com on September 04, 2013 08:36:52
This has been fixed and the code has been pushed to CVS.
This fixes launch detection issues, abrupt closure at launch, and emulators sometimes left running at test completion.
This will be available in the next release of RobotiumRC. This is tentatively set for later this week or next week alongside an anticipated tentative core Robotium release.
Carl Nagle
SAS Research & Development
Planning, Operations and Strategy
General Applications and Tools
carl.nagle@sas.com
Status: Fixed

repo: RobotiumTech/robotium


text:
work with dialogs

From mikenere...@gmail.com on April 16, 2010 07:17:41
I don't see any way of working with dialogs.
I should be able to

assert that one is present or not present
detect which buttons are present (affirmative, neutral, or negative)
click any of the buttons (affirmative, neutral, or negative)
wait for them to close (for a indeterminate progress bar)
read the title text
read the message text

Original issue: http://code.google.com/p/robotium/issues/detail?id=3

From renasr...@gmail.com on April 29, 2010 02:19:31
Working on support for Dialogs. Will be included in the next release.
Status: Started

From renasr...@gmail.com on May 10, 2010 08:52:25
Status: Verified


text:
TransformToStart（featureAssociation）error

when i run the lego_loam using my own bag,it crashed. I found that the intensity of one point is nan,so after the conversion of TransformToStart, the coordinate(x,y,x) of the point is nan.
Then kdtreeSurfLast->nearestKSearch will crash.
So, 　I want to know what is the function of TransformToStart,and why needs intensity?
    float s = 10 * (pi->intensity - int(pi->intensity));
    float rx = s * transformCur[0];
    float ry = s * transformCur[1];
    float rz = s * transformCur[2];
    float tx = s * transformCur[3];
    float ty = s * transformCur[4];
    float tz = s * transformCur[5];
    float x1 = cos(rz) * (pi->x - tx) + sin(rz) * (pi->y - ty);
    float y1 = -sin(rz) * (pi->x - tx) + cos(rz) * (pi->y - ty);
    float z1 = (pi->z - tz);

    float x2 = x1;
    float y2 = cos(rx) * y1 + sin(rx) * z1;
    float z2 = -sin(rx) * y1 + cos(rx) * z1;

    po->x = cos(ry) * x2 - sin(ry) * z2;
    po->y = y2;
    po->z = sin(ry) * x2 + cos(ry) * z2;
    po->intensity = pi->intensity;

The intensity here represents the time stamp of a point in the scan.

This repo has some explanations for the code.
https://github.com/wykxwyc/LeGO-LOAM_NOTED

You can also remove the nan point using pcl::removeNaNFromPointCloud()

You can also remove the nan point using pcl::removeNaNFromPointCloud()

thanks

authors: TixiaoShan hehern

repo: RobustFieldAutonomyLab/LeGO-LOAM


text:
I can not run

I can not run but I've done all configuration's steps in manual.
Actually I build the Project successful but it doen't run
I think that android studio has problem with "dependencies.gradle"

Take care of following these steps and also avoid opening duplicated issues.


text:
[BUG] Compile error

Description
When some of us compile (or actually even when we "Clean Project" in Android Studio Preview RC 2), we get an error like the following:

Failed to transform '/Users/plepeska/github/Rocket.Chat.Android/app/libs/core-be4989b.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.) To disable Jetifier, set android.enableJetifier=false in your gradle.properties file.

Version info
This is using the latest develop branch code from this repo (https://github.com/RocketChat/Rocket.Chat.Android) and Kotlin SDK up to this commit: https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK/commit/a5ad9b38a5ecbd7600da682d74c8245080e389ed.
Reproducibility
This issue is not experienced by everyone. In this chatroom, there are three of us who are blocked on this error. And others who are not seeing it at all. So we wonder if it has something to do with our Android Studio Preview being in a bad state. We have tried many things including uninstall, manual cleanup, and reinstall. So any help on this issue would be very much appreciated.
Note
Others online have experienced similar sounding issues (https://stackoverflow.com/questions/50270599/failed-to-transform-error-after-migrating-to-androidx) after migrating to Android Studio Preview versions.

Currently we can't disable the Jetifier because some libraries that we use are not on androidx yet.
Can you try to build via the console? ./gradlew assemblePlayDebug --info and paste the error log please.

Output of ./gradlew assembleDebug --info after successfully building by ./build-sdk.sh:
Note: This is for the widechat version not the Rocket.Chat one but same error comes for both.
Initialized native services in: /home/utkarsh/.gradle/native
The client will now receive all logging from the daemon (pid: 15975). The daemon log file: /home/utkarsh/.gradle/daemon/4.6/daemon-15975.out.log
Starting 3rd build in daemon [uptime: 2 mins 20.036 secs, performance: 100%]
Using 4 worker leases.
Starting Build
Settings evaluated using settings file '/home/utkarsh/Projects/Rocket.Chat.Android/settings.gradle'.
Projects loaded. Root project using build file '/home/utkarsh/Projects/Rocket.Chat.Android/build.gradle'.
Included projects: [root project 'Rocket.Chat.Android', project ':app', project ':emoji', project ':player']
Evaluating root project 'Rocket.Chat.Android' using build file '/home/utkarsh/Projects/Rocket.Chat.Android/build.gradle'.
Evaluating project ':app' using build file '/home/utkarsh/Projects/Rocket.Chat.Android/app/build.gradle'.
Creating configuration androidTestUtil
Creating configuration compile
Creating configuration apk
Creating configuration provided
Creating configuration api
Creating configuration implementation
Creating configuration runtimeOnly
Creating configuration compileOnly
Creating configuration wearApp
Creating configuration annotationProcessor
Creating configuration androidTestCompile
Creating configuration androidTestApk
Creating configuration androidTestProvided
Creating configuration androidTestApi
Creating configuration androidTestImplementation
Creating configuration androidTestRuntimeOnly
Creating configuration androidTestCompileOnly
Creating configuration androidTestWearApp
Creating configuration androidTestAnnotationProcessor
Creating configuration testCompile
Creating configuration testApk
Creating configuration testProvided
Creating configuration testApi
Creating configuration testImplementation
Creating configuration testRuntimeOnly
Creating configuration testCompileOnly
Creating configuration testWearApp
Creating configuration testAnnotationProcessor
Creating configuration debugCompile
Creating configuration debugApk
Creating configuration debugProvided
Creating configuration debugApi
Creating configuration debugImplementation
Creating configuration debugRuntimeOnly
Creating configuration debugCompileOnly
Creating configuration debugWearApp
Creating configuration debugAnnotationProcessor
Creating configuration androidTestDebugCompile
Creating configuration androidTestDebugApk
Creating configuration androidTestDebugProvided
Creating configuration androidTestDebugApi
Creating configuration androidTestDebugImplementation
Creating configuration androidTestDebugRuntimeOnly
Creating configuration androidTestDebugCompileOnly
Creating configuration androidTestDebugWearApp
Creating configuration androidTestDebugAnnotationProcessor
Creating configuration testDebugCompile
Creating configuration testDebugApk
Creating configuration testDebugProvided
Creating configuration testDebugApi
Creating configuration testDebugImplementation
Creating configuration testDebugRuntimeOnly
Creating configuration testDebugCompileOnly
Creating configuration testDebugWearApp
Creating configuration testDebugAnnotationProcessor
Creating configuration releaseCompile
Creating configuration releaseApk
Creating configuration releaseProvided
Creating configuration releaseApi
Creating configuration releaseImplementation
Creating configuration releaseRuntimeOnly
Creating configuration releaseCompileOnly
Creating configuration releaseWearApp
Creating configuration releaseAnnotationProcessor
Creating configuration testReleaseCompile
Creating configuration testReleaseApk
Creating configuration testReleaseProvided
Creating configuration testReleaseApi
Creating configuration testReleaseImplementation
Creating configuration testReleaseRuntimeOnly
Creating configuration testReleaseCompileOnly
Creating configuration testReleaseWearApp
Creating configuration testReleaseAnnotationProcessor
Parsing the SDK, no caching allowed
SDK initialized in 3 ms
Using incremental javac compilation for :app debug.
Using incremental javac compilation for :app debugUnitTest.
Using incremental javac compilation for :app release.
Using incremental javac compilation for :app releaseUnitTest.
Using incremental javac compilation for :app debugAndroidTest.
Could not find google-services.json while looking in [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug]
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Could not find google-services.json while looking in [src/nullnull/release, src/release/nullnull, src/nullnull, src/release, src/nullnullRelease]
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Evaluating project ':player' using build file '/home/utkarsh/Projects/Rocket.Chat.Android/player/build.gradle'.
Creating configuration androidTestUtil
Creating configuration compile
Creating configuration publish
Creating configuration provided
Creating configuration api
Creating configuration implementation
Creating configuration runtimeOnly
Creating configuration compileOnly
Creating configuration wearApp
Creating configuration annotationProcessor
Creating configuration androidTestCompile
Creating configuration androidTestPublish
Creating configuration androidTestProvided
Creating configuration androidTestApi
Creating configuration androidTestImplementation
Creating configuration androidTestRuntimeOnly
Creating configuration androidTestCompileOnly
Creating configuration androidTestWearApp
Creating configuration androidTestAnnotationProcessor
Creating configuration testCompile
Creating configuration testPublish
Creating configuration testProvided
Creating configuration testApi
Creating configuration testImplementation
Creating configuration testRuntimeOnly
Creating configuration testCompileOnly
Creating configuration testWearApp
Creating configuration testAnnotationProcessor
Creating configuration debugCompile
Creating configuration debugPublish
Creating configuration debugProvided
Creating configuration debugApi
Creating configuration debugImplementation
Creating configuration debugRuntimeOnly
Creating configuration debugCompileOnly
Creating configuration debugWearApp
Creating configuration debugAnnotationProcessor
Creating configuration androidTestDebugCompile
Creating configuration androidTestDebugPublish
Creating configuration androidTestDebugProvided
Creating configuration androidTestDebugApi
Creating configuration androidTestDebugImplementation
Creating configuration androidTestDebugRuntimeOnly
Creating configuration androidTestDebugCompileOnly
Creating configuration androidTestDebugWearApp
Creating configuration androidTestDebugAnnotationProcessor
Creating configuration testDebugCompile
Creating configuration testDebugPublish
Creating configuration testDebugProvided
Creating configuration testDebugApi
Creating configuration testDebugImplementation
Creating configuration testDebugRuntimeOnly
Creating configuration testDebugCompileOnly
Creating configuration testDebugWearApp
Creating configuration testDebugAnnotationProcessor
Creating configuration releaseCompile
Creating configuration releasePublish
Creating configuration releaseProvided
Creating configuration releaseApi
Creating configuration releaseImplementation
Creating configuration releaseRuntimeOnly
Creating configuration releaseCompileOnly
Creating configuration releaseWearApp
Creating configuration releaseAnnotationProcessor
Creating configuration testReleaseCompile
Creating configuration testReleasePublish
Creating configuration testReleaseProvided
Creating configuration testReleaseApi
Creating configuration testReleaseImplementation
Creating configuration testReleaseRuntimeOnly
Creating configuration testReleaseCompileOnly
Creating configuration testReleaseWearApp
Creating configuration testReleaseAnnotationProcessor
Parsing the SDK, no caching allowed
SDK initialized in 0 ms
Using incremental javac compilation for :player debug.
Using incremental javac compilation for :player debugUnitTest.
Using incremental javac compilation for :player release.
Using incremental javac compilation for :player releaseUnitTest.
Using incremental javac compilation for :player debugAndroidTest.
Evaluating project ':emoji' using build file '/home/utkarsh/Projects/Rocket.Chat.Android/emoji/build.gradle'.
Creating configuration androidTestUtil
Creating configuration compile
Creating configuration publish
Creating configuration provided
Creating configuration api
Creating configuration implementation
Creating configuration runtimeOnly
Creating configuration compileOnly
Creating configuration wearApp
Creating configuration annotationProcessor
Creating configuration androidTestCompile
Creating configuration androidTestPublish
Creating configuration androidTestProvided
Creating configuration androidTestApi
Creating configuration androidTestImplementation
Creating configuration androidTestRuntimeOnly
Creating configuration androidTestCompileOnly
Creating configuration androidTestWearApp
Creating configuration androidTestAnnotationProcessor
Creating configuration testCompile
Creating configuration testPublish
Creating configuration testProvided
Creating configuration testApi
Creating configuration testImplementation
Creating configuration testRuntimeOnly
Creating configuration testCompileOnly
Creating configuration testWearApp
Creating configuration testAnnotationProcessor
Creating configuration debugCompile
Creating configuration debugPublish
Creating configuration debugProvided
Creating configuration debugApi
Creating configuration debugImplementation
Creating configuration debugRuntimeOnly
Creating configuration debugCompileOnly
Creating configuration debugWearApp
Creating configuration debugAnnotationProcessor
Creating configuration androidTestDebugCompile
Creating configuration androidTestDebugPublish
Creating configuration androidTestDebugProvided
Creating configuration androidTestDebugApi
Creating configuration androidTestDebugImplementation
Creating configuration androidTestDebugRuntimeOnly
Creating configuration androidTestDebugCompileOnly
Creating configuration androidTestDebugWearApp
Creating configuration androidTestDebugAnnotationProcessor
Creating configuration testDebugCompile
Creating configuration testDebugPublish
Creating configuration testDebugProvided
Creating configuration testDebugApi
Creating configuration testDebugImplementation
Creating configuration testDebugRuntimeOnly
Creating configuration testDebugCompileOnly
Creating configuration testDebugWearApp
Creating configuration testDebugAnnotationProcessor
Creating configuration releaseCompile
Creating configuration releasePublish
Creating configuration releaseProvided
Creating configuration releaseApi
Creating configuration releaseImplementation
Creating configuration releaseRuntimeOnly
Creating configuration releaseCompileOnly
Creating configuration releaseWearApp
Creating configuration releaseAnnotationProcessor
Creating configuration testReleaseCompile
Creating configuration testReleasePublish
Creating configuration testReleaseProvided
Creating configuration testReleaseApi
Creating configuration testReleaseImplementation
Creating configuration testReleaseRuntimeOnly
Creating configuration testReleaseCompileOnly
Creating configuration testReleaseWearApp
Creating configuration testReleaseAnnotationProcessor
Parsing the SDK, no caching allowed
SDK initialized in 0 ms
Using incremental javac compilation for :emoji debug.
Using incremental javac compilation for :emoji debugUnitTest.
Using incremental javac compilation for :emoji release.
Using incremental javac compilation for :emoji releaseUnitTest.
Using incremental javac compilation for :emoji debugAndroidTest.
file or directory '/home/utkarsh/Projects/Rocket.Chat.Android/player/libs', not found
file or directory '/home/utkarsh/Projects/Rocket.Chat.Android/player/libs', not found
All projects evaluated.
Analytics other plugin to proto: Unknown plugin type com.android.build.gradle.LibraryPlugin expected enum COM_ANDROID_BUILD_GRADLE_LIBRARYPLUGIN
Analytics other plugin to proto: Unknown plugin type com.android.build.gradle.LibraryPlugin expected enum COM_ANDROID_BUILD_GRADLE_LIBRARYPLUGIN
Selected primary task 'assembleDebug' from project :
file or directory '/home/utkarsh/Projects/Rocket.Chat.Android/player/libs', not found
file or directory '/home/utkarsh/Projects/Rocket.Chat.Android/player/libs', not found
file or directory '/home/utkarsh/Projects/Rocket.Chat.Android/player/libs', not found
Tasks to be executed: [task ':app:checkDebugClasspath', task ':app:compileSdk', task ':app:preBuild', task ':emoji:preBuild', task ':emoji:preDebugBuild', task ':emoji:checkDebugManifest', task ':emoji:processDebugManifest', task ':player:preBuild', task ':player:preDebugBuild', task ':player:checkDebugManifest', task ':player:processDebugManifest', task ':app:preDebugBuild', task ':emoji:compileDebugAidl', task ':player:compileDebugAidl', task ':app:compileDebugAidl', task ':emoji:packageDebugRenderscript', task ':player:packageDebugRenderscript', task ':app:compileDebugRenderscript', task ':app:checkDebugManifest', task ':app:generateDebugBuildConfig', task ':app:mainApkListPersistenceDebug', task ':app:mergeDebugShaders', task ':app:compileDebugShaders', task ':app:generateDebugAssets', task ':emoji:mergeDebugShaders', task ':emoji:compileDebugShaders', task ':emoji:generateDebugAssets', task ':emoji:packageDebugAssets', task ':player:mergeDebugShaders', task ':player:compileDebugShaders', task ':player:generateDebugAssets', task ':player:packageDebugAssets', task ':app:mergeDebugAssets', task ':app:processDebugGoogleServices', task ':app:createDebugCompatibleScreenManifests', task ':app:processDebugManifest', task ':app:fabricGenerateResourcesDebug', task ':app:generateDebugResValues', task ':app:generateDebugResources', task ':emoji:compileDebugRenderscript', task ':emoji:generateDebugResValues', task ':emoji:generateDebugResources', task ':emoji:packageDebugResources', task ':player:compileDebugRenderscript', task ':player:generateDebugResValues', task ':player:generateDebugResources', task ':player:packageDebugResources', task ':app:mergeDebugResources', task ':app:splitsDiscoveryTaskDebug', task ':emoji:generateDebugRFile', task ':player:generateDebugRFile', task ':app:processDebugResources', task ':emoji:generateDebugBuildConfig', task ':emoji:compileDebugKotlin', task ':emoji:prepareLintJar', task ':emoji:generateDebugSources', task ':emoji:javaPreCompileDebug', task ':emoji:compileDebugJavaWithJavac', task ':emoji:processDebugJavaRes', task ':emoji:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug', task ':player:generateDebugBuildConfig', task ':player:compileDebugKotlin', task ':player:prepareLintJar', task ':player:generateDebugSources', task ':player:javaPreCompileDebug', task ':player:compileDebugJavaWithJavac', task ':player:processDebugJavaRes', task ':player:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug', task ':app:kaptGenerateStubsDebugKotlin', task ':app:kaptDebugKotlin', task ':app:compileDebugKotlin', task ':app:prepareLintJar', task ':app:generateDebugSources', task ':app:javaPreCompileDebug', task ':app:compileDebugJavaWithJavac', task ':app:compileDebugNdk', task ':app:compileDebugSources', task ':app:transformClassesWithDexBuilderForDebug', task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug', task ':app:transformDexArchiveWithDexMergerForDebug', task ':app:mergeDebugJniLibFolders', task ':emoji:compileDebugNdk', task ':emoji:mergeDebugJniLibFolders', task ':emoji:transformNativeLibsWithMergeJniLibsForDebug', task ':emoji:transformNativeLibsWithIntermediateJniLibsForDebug', task ':player:compileDebugNdk', task ':player:mergeDebugJniLibFolders', task ':player:transformNativeLibsWithMergeJniLibsForDebug', task ':player:transformNativeLibsWithIntermediateJniLibsForDebug', task ':app:transformNativeLibsWithMergeJniLibsForDebug', task ':app:checkDebugLibraries', task ':app:processDebugJavaRes', task ':app:transformResourcesWithMergeJavaResForDebug', task ':app:validateSigningDebug', task ':app:packageDebug', task ':app:assembleDebug', task ':emoji:extractDebugAnnotations', task ':emoji:mergeDebugConsumerProguardFiles', task ':emoji:transformResourcesWithMergeJavaResForDebug', task ':emoji:transformClassesAndResourcesWithSyncLibJarsForDebug', task ':emoji:transformNativeLibsWithSyncJniLibsForDebug', task ':emoji:bundleDebugAar', task ':emoji:compileDebugSources', task ':emoji:assembleDebug', task ':player:extractDebugAnnotations', task ':player:mergeDebugConsumerProguardFiles', task ':player:transformResourcesWithMergeJavaResForDebug', task ':player:transformClassesAndResourcesWithSyncLibJarsForDebug', task ':player:transformNativeLibsWithSyncJniLibsForDebug', task ':player:bundleDebugAar', task ':player:compileDebugSources', task ':player:assembleDebug']
:app:checkDebugClasspath (Thread[Task worker for ':',5,main]) started.
:app:checkDebugClasspath FAILED
:app:checkDebugClasspath (Thread[Task worker for ':',5,main]) completed. Took 0.072 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Failed to transform file 'core-95d8a89.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
   > Failed to transform '/home/utkarsh/Projects/Rocket.Chat.Android/app/libs/core-95d8a89.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.) To disable Jetifier, set android.enableJetifier=false in your gradle.properties file.

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
1 actionable task: 1 executed
VCS Checkout Cache (/home/utkarsh/Projects/Rocket.Chat.Android/.gradle/vcsWorkingDirs) has not been cleaned up in 0 days

@ubarsaiyan @bizzbyster Can you check the jetifier version?? Have no idea where it is on Linux or Windows. On my mac
luciofm@Lucios-MacBook-Pro /Applications/Android Studio 3.2 Preview.app/Contents $ find .|grep jetifier
./gradle/m2repository/com/android/tools/build/jetifier
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/NOTICE
./plugins/android/lib/jetifier-core-1.0.0-alpha10.jar

./plugins/android/lib/jetifier-core-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier/NOTICE
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.jar

@luciofm on my box:
./gradle/m2repository/com/android/tools/build/jetifier
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-processor/1.0.0-alpha10/jetifier-processor-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.jar
./gradle/m2repository/com/android/tools/build/jetifier/jetifier-core/1.0.0-alpha10/jetifier-core-1.0.0-alpha10.pom
./gradle/m2repository/com/android/tools/build/jetifier/NOTICE
./plugins/android/lib/jetifier-core-1.0.0-alpha10.jar

@bizzbyster @ubarsaiyan Could you test the sdk with the changes made by this PR to the sdk and see if it all works?
(please, remember to clean up libs and everything beforehand)

Closing it guys since bug is gone.

authors: bizzbyster filipedelimabrito leonardoaramaki luciofm ubarsaiyan


text:
[BUG] The last item is not visible in settings menu

Your Rocket.Chat.Android version: 3.4.0 (2061)
Mobile device model: Xiaomi Redmi 3
OS version: Lineage OS, Android 7.1.2
Your Rocket.Chat Server version: 0.74.3
Possibly due to the fact that for administrators there is a menu item "Admininistration".

Thanks for submitting issue. I'll work on it.

authors: Adizbek Pitstopper


text:
Scrolling down member list causes a crash

Your Rocket.Chat.Android version: latest
I was in #dev on community server.  I opened member list (2k people) so I started scrolling.  I got maybe 3/4th down page and it crashed.  I can reproduce pretty easily.  I can hook up and provide logcat if needed

@geekgonecrazy I tried this on #general at demo server where there're more than 130k users and the list won't show up. Which channel did you get this? Just #dev?

@leonardoaramaki scroll speed seems to be a factor.  Flick through like you are attempting to get to a name towards the bottom

@geekgonecrazy What device and Android version are you using?

Pixel XL Android 8.0
I'll grab logs.  I doubt you'll be able to reproduce in an emulator.  Generally hard to scroll like that in an emulator

@leonardoaramaki / @rafaelks heres the exception I get when it crashes
07-01 14:52:33.550 12015 12127 E AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
07-01 14:52:33.550 12015 12127 E AndroidRuntime: Process: chat.rocket.android, PID: 12015
07-01 14:52:33.550 12015 12127 E AndroidRuntime: java.lang.ClassCastException: android.system.UnixSocketAddress cannot be cast to java.net.InetSocketAddress
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at libcore.io.IoBridge.getLocalInetSocketAddress(IoBridge.java:700)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at libcore.io.IoBridge.connectDetail(IoBridge.java:197)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at libcore.io.IoBridge.connect(IoBridge.java:138)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:129)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:356)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.net.Socket.connect(Socket.java:616)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.platform.AndroidPlatform.connectSocket(AndroidPlatform.java:63)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:223)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:149)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:192)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at chat.rocket.android.api.rest.CookieInterceptor.intercept(CookieInterceptor.java:26)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
07-01 14:52:33.550 12015 12127 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:764)
07-01 14:52:33.551 12015 12127 E UncaughtException:
07-01 14:52:33.551 12015 12127 E UncaughtException: java.lang.ClassCastException: android.system.UnixSocketAddress cannot be cast to java.net.InetSocketAddress
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at libcore.io.IoBridge.getLocalInetSocketAddress(IoBridge.java:700)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at libcore.io.IoBridge.connectDetail(IoBridge.java:197)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at libcore.io.IoBridge.connect(IoBridge.java:138)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:129)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:356)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.net.Socket.connect(Socket.java:616)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.platform.AndroidPlatform.connectSocket(AndroidPlatform.java:63)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:223)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:149)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:192)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at chat.rocket.android.api.rest.CookieInterceptor.intercept(CookieInterceptor.java:26)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
07-01 14:52:33.551 12015 12127 E UncaughtException: 	at java.lang.Thread.run(Thread.java:764)
07-01 14:52:33.555 12015 12035 I FA      : Tag Manager is not found and thus will not be used
07-01 14:52:33.629 22866 28286 D b.a.a.a.a.a: line1: : -1
07-01 14:52:33.629 22866 28286 D b.a.a.a.a.a: SSE EVENT DATA: : -1
07-01 14:52:33.643   633   633 W netd    : type=1400 audit(0.0:322704): avc: denied { read write } for path="socket:[85097927]" dev="sockfs" ino=85097927 scontext=u:r:netd:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=unix_stream_socket permissive=0
07-01 14:52:33.720   633   633 W netd    : type=1400 audit(0.0:322705): avc: denied { read write } for path="socket:[85101355]" dev="sockfs" ino=85101355 scontext=u:r:netd:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=unix_stream_socket permissive=0
07-01 14:52:33.800   907  1721 W ActivityManager:   Force finishing activity chat.rocket.android/.activity.MainActivity

Zenfone 3 Laser
Android 7.1.1
It took a while in my case, flicking the list up and down quickly, but it did crash  😞

I'm not using this library, just found this crash from google while searching for a solution :)
Don't look too much, because it's android bug

thanks @zokipirlo, this is probably related yes...

Update

The issue is fixed in 1.0.20, releasing to the store today. Should be available in the next 24 hours.

authors: Sing-Li geekgonecrazy leonardoaramaki luciofm rafaelks zokipirlo


text:
App turns gray on joining or opening a video call in a separate window

My Setup

Operating System: Windows

App Version: 3.0.7

Installation type: exe

[x] I have tested with the latest version

[x] I can simulate the issue easily

Description

Join or open a jitsi call with the server option to start calls in a seperate window.

Current Behavior
The rocket.chat app turns gray.

Expected Behavior
The rocket.chat apps dosent turn gray.
Addition
This happens also on Linux and MacOS

duplicate -> https://github.com/RocketChat/Rocket.Chat.Electron/issues/1881


text:
Teach bot some respect

Need to respect other bots.  In a multi-bots environment.   Bots 'chatter' can ping-pong for minutes ! :open_mouth:

The idea here is maybe once roles are assigned it ignores input from other bots?

:+1:

Even this is a rather old issue, some things crossed my mind:
What if I set up two different bots in the same channel, talking to each other?
The idea is that I can "connect" two different bots (one is jenkins, the other is some fancy libvirt-bridge), where the jenkins.bot talks to libvirt.bot asking for a fresh VM ... e.g. for running tests for it. To make the communication transparent to Ops, this might happen in a "read-only"-channel visible to Dev-/SysOps.
This means, that ignoring ALL bots should make it impossible to have such setup, maybe it should include some blacklist/whitelist of other bots ?!

I agree with @FibreFoX , as a DevOps engineer, I definitely want to build something that he had suggested. To ignore all bots at an adapter's level seemed really odd to me.
And I further suggest that we should do nothing to change the current situation. It is rather easy for a bot to recognise other bots and ignore what the bot had said, so as to avoid an endless bot-chat loop.

With recent updates to the SDK and adapter develop branch (soon to be released), all messages from a bot are given the .bot attribute. Scripts can assess that property on received messages to ignore bots if they need to.

Can you provide an example of how to do this? I've updated hubot, hubot-rocketchat and @rocket.chat/sdk to the latest versions but still can't seem to determine whether the message is coming from a bot user.

authors: FibreFoX Sing-Li geekgonecrazy joshuaspence timkinnane xiaket

repo: RocketChat/hubot-rocketchat


text:
Multi-arch support and more

Better error checking on restoredb
Organization (renaming, cleanup)
Regression test guidance

If all works well, should close #3 , #6 and #10

repo: RocketChat/rocketchat-server-snap


text:
Rocket file I/O fails complety on Linux / Mono

It doesnt even create the Rocket folder at < Unturned>/Servers/< Serverinstance>/.
I created the directory manually and moved some plugins to < Unturned>/Servers/< Serverinstance>/Rocket/Plugins. They are for the latest Rocket  version (4.4.1.0) which is the one I am using, but none of them work nor they appear in the log file (the Player.log, not the Rocket log since it doesn't get created). The config file for permissions etc are also missing and were not created.
Well, I can still use the build-in commands of Rocket (e.g. /god) and the logs show that Rocket has been successfully loaded. I didn't found any exceptions of it.
(Unturned has been installed with Steamcmd and launched with mono)
Tested it successfully on Windows with the same setup.

Are you using the Linux build? I can't replicate, loading plugins works for me on linux

I downloaded the latest version from "Get Rocket"

Why do you think that this version works with linux? Why do you consider this a bug?

See https://rocket.foundation/api for more information on the linux builds

It never said anywhere that there is a version for linux. I though that was a universal version which could be used on both - Linux and Windows

The windows build of Unturned 3 does also not work on linux, why should the windows build of Rocket do :P

repo: RocketFoundation/Rocket