Dspace 5.11 and 6.4 error uploading via JSPUI on Windows

It is impossible to upload a files via web interface because of hardcoded paths...
For example - java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:/dspace/upload)
2022-12-12 21:54:08,656 ERROR org.dspace.app.webui.util.FileUploadRequest @ Error processing resumable upload chunk: temporary chunk file would be created outside permissible temp dir (c:/dspace/upload) for file: nito_2022_2_001.pdf
2022-12-12 21:54:08,656 WARN  org.dspace.app.webui.servlet.InternalErrorServlet @ :session_id=D73871843206AD4BF1898E9760805C91:internal_error:-- URL Was: http://test.ideafix.co/tools/edit-item
-- Method: POST
-- Parameters were:

java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:/dspace/upload)
	at org.dspace.app.webui.util.FileUploadRequest.<init>(FileUploadRequest.java:171)
	at org.dspace.app.webui.servlet.admin.EditItemServlet.processUploadBitstream(EditItemServlet.java:940)
	at org.dspace.app.webui.servlet.admin.EditItemServlet.doDSPost(EditItemServlet.java:175)
	at org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:115)
	at org.dspace.app.webui.servlet.DSpaceServlet.doPost(DSpaceServlet.java:73)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.dspace.app.webui.filter.RegisteredOnlyFilter.doFilter(RegisteredOnlyFilter.java:66)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:689)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:/dspace/upload)
	at org.dspace.app.webui.util.FileUploadRequest.<init>(FileUploadRequest.java:142)
	... 33 more

@monokini3d : Took a quick look at this.
Could you try simply updating the upload.temp.dir setting in your "dspace.cfg" or "local.cfg" to use Windows backslashes?
# NOTE: you have to use double backslashes for each slash, as backslash is a special character
upload.temp.dir = C:\\dspace\\upload

It appears that a security fix in 5.11/6.4 may now require that this upload.temp.dir setting has operating-system appropriate slashes.  This means that Unix/Linux would require it to use forward slashes /, while Windows would require it to use backward slashes \.

May be I will get same error with reports, sitemaps, csv metadata and saf/zip files... I think, It is enough complex case. Isnt it?

feedback:
config:
# Where to temporarily store uploaded files
upload.temp.dir = c:\\dspace\\upload

log
2022-12-12 22:35:18,250 ERROR org.dspace.app.webui.util.FileUploadRequest @ Error processing resumable upload chunk: temporary chunk file would be created outside permissible temp dir (c:\dspace\upload) for file: nito_2022_2_001.pdf
2022-12-12 22:35:18,250 WARN  org.dspace.app.webui.servlet.InternalErrorServlet @ :session_id=86698A7DEB74E35723AAA88FD49000BF:internal_error:-- URL Was: http://test.ideafix.co/tools/edit-item
-- Method: POST
-- Parameters were:

java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:\dspace\upload)
	at org.dspace.app.webui.util.FileUploadRequest.<init>(FileUploadRequest.java:171)
	at org.dspace.app.webui.servlet.admin.EditItemServlet.processUploadBitstream(EditItemServlet.java:940)
	at org.dspace.app.webui.servlet.admin.EditItemServlet.doDSPost(EditItemServlet.java:175)
	at org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:115)
	at org.dspace.app.webui.servlet.DSpaceServlet.doPost(DSpaceServlet.java:73)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.dspace.app.webui.filter.RegisteredOnlyFilter.doFilter(RegisteredOnlyFilter.java:66)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:689)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:\dspace\upload)
	at org.dspace.app.webui.util.FileUploadRequest.<init>(FileUploadRequest.java:142)
	... 33 more

I also tried this - upload.temp.dir = c:\dspace\upload\
and got htis - java.io.IOException: Error processing resumable chunk directory c:\dspace\upload\nito_2022_2_001.pdf (filename: nito_2022_2_001.pdf). Temporary upload directory would be created outside permissible base temp dir (c:\dspace\upload)

@monokini3d : Thanks for trying.  This error is very confusing to me, as obviously c:\dspace\upload\nito_2022_2_001.pdf is in the directory c:\dspace\upload... even though the error claims it is not.   The error is being thrown in this area of the code: https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-jspui/src/main/java/org/dspace/app/webui/util/FileUploadRequest.java#L139-L145   The code there looks correct at a glance, so it's surprising that this isn't working on Windows.
I suspect this will take some digging, so I'll see if I can locate a volunteer to help dig into this.   The code linked to above is all brand new code in 5.11 / 6.4, but it's necessary to avoid this vulnerability in the JSPUI.  That also does mean this particular bug ticket would only affect the JSPUI on Windows. Unfortunately, it's not obvious to me why this code isn't working on Windows.

@tdonohue
I spend a lot of time to find a mistake on catalina side (catalina.policy), but it is our own mistake :)

@monokini3d : Are you saying you have already found a fix for this bug ticket on your side?  I'm confused about your last message.  Could you clarify what you mean by "it is our own mistake"?

No, only locate... sorry, english is not my own.

https://github.com/DSpace/DSpace/commit/d1dd7d23329ef055069759df15cfa200c8e3.patch
The problem is here. I checked 5.11 code without this pach and it is working fine. I can not make a woirking code with "JPSUI resumable upload dir validation", but I can fix it on my instance with old code witjout a patch. I think, it is an overengineering to make such validations. It is possible to validate via catalina.policy. I use built in policy tools in linux distributions to allow tomcat to wtite in /dspace/upload or /dspace/var, and now we have two validators to write in /dspace/upload in linux - on OS side and on service side.

From slack:
The only thing I can think of is that getCanonicalPath may not be returning what you expect.  You might need to canonicalize both paths.  Also Path.startsWith() might be better for paths than String.startsWith().  Windows filesystem paths include weird things that we usually don't see.

@monokini3d : This ticket was closed automatically as 5.x and 6.x are both end of life.  Apologies for the confusion.


Do you accept PRs?

Hey,
this project is awesome and I would consider contributing a bit. Do you generally accept PRs?
Best!
Julian

Hi @JulianFeinauer.
I haven't had a lot of time to work on this recently, but I'd be happy to look at any PRs. However, this project is still in an experimental state, so I can't guarantee that work done in PRs will remain before the APIs and functionality are more finalised and supported.
Do you have any specific contributions in mind?

Hey Jordan,
I worked a bit with FastAPI and Tortoise ORM and I really liked how Tortoise bridges the Gap to Pydantic / FastAPI. But since I want to use my Django Models your project comes into play. So nothing very special.. just playing around in this area, generally.
Julian
Von: Jordan Eremieff<EMAIL_ADDRESS>Antworten an: jordaneremieff/pydantic-django<EMAIL_ADDRESS>Datum: Mittwoch, 25. November 2020 um 13:36
An: jordaneremieff/pydantic-django<EMAIL_ADDRESS>Cc: Julian Feinauer<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [jordaneremieff/pydantic-django] Do you accept PRs? (#13)
Hi @JulianFeinauerhttps://github.com/JulianFeinauer.
I haven't had a lot of time to work on this recently, but I'd be happy to look at any PRs. However, this project is still in an experimental state, so I can't guarantee that work done in PRs will remain before the APIs and functionality are more finalised and supported.
Do you have any specific contributions in mind?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jordaneremieff/pydantic-django/issues/13#issuecomment-733680811, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AECOQCVTXLRZVQKNAPOCWILSRT23VANCNFSM4T5WLW3A.

@JulianFeinauer ah, cool. I'm not sure when I'm going to come back to this next, but I'll curate the issues tracker at some point and see if I can work out a general direction for things. If you have any ideas yourself, feel free to open an issue or comment on an existing one, and we can go from there.

@JulianFeinauer I've cleaned up the issue tracker a bit with the things I'm considering atm. Closing this issue now, but feel free to follow-up in the other issues or create your own with any ideas you might have.


Refresh fuzzing corpus again following the fix of #222

Increases edge coverage from ~1500 to ~1950. Also shrinks the corpus to 615Kb.

That's a good increase in coverage. We should think about how and when to do this in the future. Every changed file in the corpus is permanently part of the git history and we probably don't want to have a situation where you first download 1Gb of old fuzzing corpi on a fresh clone.

What about moving the fuzzing into a separate repo tracked via a submodule (or the opposite with the png repo tracked via submodule in the fuzzer repo), so only CI and people interested in running the fuzzer have to check it out, and can usually get by with a shallow clone?

I hoped that that such changes would be infrequent enough not to become a problem. I've re-generated the corpus following the switch to miniz_oxide and then again after I found that the fuzzing target was broken and fixed it (#222). Prior to that the fuzzing corpus was untouched for about a year. I think an extra ~2Mb of git history per year should be tolerable.

It's mostly the current influx that worried me. We shouldn't let this become the new norm. In particular you may want to wait for #227 which might also change the coverage by opening the possibility of fuzzing on 32-bit targets.


iOS does not build on x86 Simulators

On iOS, we currently build TensorFlowLiteC from source. This builds a fat iOS binary: https://github.com/mrousavy/react-native-fast-tflite/blob/5b8d61270e777dd5b66bbe06004e5109bac8f874/scripts/build-tensorflow-ios.sh#L16-L17
..for some reason users have reported that this does not work when running the app on an iOS Simulator on a Intel x86 Mac.
I don't have such Mac anymore, but I am not sure what's going wrong - maybe there is a way to also build for x86?

Hey thanks for this project!
I am seeing a similar build failure on an M2 (pro) mac as well that seems related and separately I have an Intel based mac (i9) and it is able to build for an IOS simulator just fine.  I can build for physical device no problem on both.
here's the error message from the build on an iPhone 15 Pro Max simulator on the M2 mac; perhaps there is a caching issue?
Building for iOS Simulator, but linking in object file built for iOS, file '/Users/XXX/Repos/notewize-player/node_modules/react-native-fast-tflite/ios/TensorFlowLiteC.framework/TensorFlowLiteC' for architecture arm64
I can paste up more of the build log if that is helpful!
I'm happy to help debug if you can give me any pointers as to where to start or look.

Honestly not sure why this is failing, might be interesting to see if TFLite works for Simulators or if they have some patches for that.

Hey thanks for this project!
I am seeing a similar build failure on an M2 (pro) mac as well that seems related and separately I have an Intel based mac (i9) and it is able to build for an IOS simulator just fine. I can build for physical device no problem on both.
here's the error message from the build on an iPhone 15 Pro Max simulator on the M2 mac; perhaps there is a caching issue?
Building for iOS Simulator, but linking in object file built for iOS, file '/Users/XXX/Repos/notewize-player/node_modules/react-native-fast-tflite/ios/TensorFlowLiteC.framework/TensorFlowLiteC' for architecture arm64
I can paste up more of the build log if that is helpful!
I'm happy to help debug if you can give me any pointers as to where to start or look.

I got same error message, is there a fix?

Me too
Building for 'iOS-simulator', but linking in object file (.../node_modules/react-native-fast-tflite/ios/TensorFlowLiteC.framework/TensorFlowLiteC) built for 'iOS'

Solved my adding arm64

Honestly not sure why this is failing, might be interesting to see if TFLite works for Simulators or if they have some patches for that.

@mrousavy there are issues with iOS Simulators it seems, #74


Clarify the ordering of Ztso in ISA Extension Naming Conventions

Since Ztso belongs to Standard Extension, the description of the ordering of this extension in the current manual is:
The first letter following the "Z" conventionally indicates the most
closely related alphabetical extension category, IMAFDQCVH. For the
"Zfa" extension for additional floating-point instructions, for example, the letter "f"
indicates the extension is related to the "F" standard extension. If
multiple "Z" extensions are named, they should be ordered first by
category, then alphabetically within a category—for example,
"Zicsr_Zifencei_Zam".

In this case, the Zicsr and Zifencei are categorized as Additional Integer Standard Extension since they appear before Zam in Additional Atomic Extension. Thus, the order of "IMAFDQCVH" is correct.
However, the ISA naming table shows Ztso there. But 'T' is not in the "IMAFDQCVH" ordering string.
Also, other extensions like B (Bitmanip) and P (Packed-SIMD) are not in the naming string.
I want to fix it, but I need to know where to place T for Ztso.

I proposed a draft PR #1391, which categorized Ztso and any other extensions that do not relate to any alphabetical
extension category as the "others" category and placed it in the last place among the ordering of all Z* extensions.

There is another concern about T extension standards for transactional memory. Since TSO memory ordering is not related to transactional memory, can we reuse the canonical order defined in RISC-V Linux User ABI? If yes, I think it's OK now.

Fixed in #1391


TRANSLUCENT display incorrect.(use method in sample-transparent-view)

#4084
use android sample:sample-gltf-viewer
In ModelViewer.kt, use the method in sample-transparent-view,the code changed as blow(no other code change)
inSurfaceCallback :
swapChain = engine.createSwapChain(surface, SwapChain.CONFIG_TRANSPARENT)

In MainActivity.kt:
do not use sky box
//        readCompressedAsset("envs/$ibl/${ibl}_skybox.ktx").let {
//            scene.skybox = KtxLoader.createSkybox(engine, it)
//        }

and I set the view background #0f0 in layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/simple_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#f00">
....

It show as blow

not right.

What's not right? The background is set to red and visible through the 3D view. What issue are you reporting?

What's not right? The background is set to red and visible through the 3D view. What issue are you reporting?

The face is missing some part.

Is the face okay when you're NOT setting the view to transparent?

Could you share the glTF file you are loading please?

debug in metal.
after colorGrading, the texture begin not right.

Could you share the glTF file you are loading please?

https://github.com/google/filament/issues/4084

the missing part same as the face node exceed the hair node.

Is the face okay when you're NOT setting the view to transparent?

Yes, it is OK when not set transparent.

How did you modify gltf_viewer? When I remove the skybox and set the swap chain to transparent, everything renders properly:

How did you modify gltf_viewer? When I remove the skybox and set the swap chain to transparent, everything renders properly:

```
dest->setBlendMode(View::BlendMode::TRANSLUCENT);
```

Ah I was able to repro. There's no need to set the swap chain to use CONFIG_FLAG_TRANSPARENT. What triggers the bug is setting the View's blend mode to TRANSLUCENT:
view->setBlendMode(View::BlendMode::TRANSLUCENT);

@pixelflinger I forgot, is the app supposed to set the ClearOptions in this case? It looks like we're not properly clearing the depth buffer (or depth test is still incorrectly enabled).

Ah I was able to repro. There's no need to set the swap chain to use CONFIG_FLAG_TRANSPARENT. What triggers the bug is setting the View's blend mode to TRANSLUCENT:
view->setBlendMode(View::BlendMode::TRANSLUCENT);

yes, very smart!

@pixelflinger I found the bug. It's caused by this line in the post processing material:
color.rgb /= color.a + FLT_EPS;

I'm not sure why it causes the problem yet. But it's fine when returning just before and it's broken when returning right after. I imagine we have bad values in color.a.

Alright I found the issue. The problem is the asset.  And the alpha channel of said texture looks like this:

So what's happening is that in "view transparent" mode the alpha of the alpha masking is used to blend and we correctly interpret it and the model disappears. The bug doesn't appear in opaque mode because we disable blending so all pixels are treated as alpha=1.
Please disable alpha masking on the face, it'll fix your issue and improve rendering performance.

Alright I found the issue. The problem is the asset.  And the alpha channel of said texture looks like this:

So what's happening is that in "view transparent" mode the alpha of the alpha masking is used to blend and we correctly interpret it and the model disappears. The bug doesn't appear in opaque mode because we disable blending so all pixels are treated as alpha=1.
Please disable alpha masking on the face, it'll fix your issue and improve rendering performance.

Yes, I also suspect that this model has a problem, because other models don't have this problem. I'll try to modify it. Thank you.

Hi, @romainguy, I also met this issue in version 1.15.0. Does that mean the issue is still not fixed? From your comments above I thought it was a model issue at first, but since the model is correctly rendered in other renderer(https://gltf-viewer.donmccurdy.com/), I concluded that it's still a filament blending issue. Seems filament does not correctly use the alpha masking.  Am I right ?
Thanks.


Issue with chunks unloading after players logout or leaves the region

SpongeForge version: 1.10.2-2281-5.2.0-BETA-259
Java version: Java 8
Operating System: Ubuntu
Plugins/Mods: Skyfactory 3 ftb modpack

Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, Not Enough Items, OpenComputers (Core), SpongeAPI, SpongeForge, FoamFixCore, ccl-entityhook, Fence Overhaul, AdminShop, Block Restrictor, CatClearLag, DisableSkeletonHorse, NuVotifier, Enjin Minecraft Plugin, FoxCore, FoxGuard, GriefPrevention, LuckPerms, LuckRankup, MMCReboot, MultiChat - Sponge Bridge, Nucleus, Nucleus API, Project Core, SeriousVote, Stack Ban, TickProfiler, Total Economy, WorldEdit, Actually Additions, CodeChicken Lib, CodeChicken Core, EnderStorage, Just Enough Items, OpenComputers, ActuallyComputers, Baubles, Extra Utilities 2, AngelRing 2 Bauble, AppleCore, apple_shields, AppleSkin, AutoPackager, Psi, AutoRegLib, Baconators, CraftTweaker JEI Support, MineTweaker 3, B.A.S.E, BD Lib, Bed Bugs, Better Builder's Wands, BiomeTweaker, BlockDispenser, Guide-API, Blood Magic: Alchemical Wizardry, Bookshelf, Botania, Brandon's Core, Mantle, Tinkers' Construct, Ceramics, Chameleon, Chance Cubes, MCMultiPart, ‽, |, /, Chest Transporter, ChickenChunks, Chickens, Chisel, Chisels & Bits, ShadowMC, Clipboard, Clumps, Cyclops Core, Colossal Chests, CommonCapabilities, Cooking for Blockheads, Waila, Dark Utilities, PTRModelLib, Decocraft, Dimensional Cake, Draconic Evolution, Dragon Mounts, Storage Drawers, Drawers & Bits, Elevator Mod, EnderCore, Ender IO, Engineers Workshop, Valkyrie Lib, Environmental Tech, ET Lunar, Ex Nihilo Adscensio, Ex Compressum, Extra Bit Manipulation, Zero CORE, Extreme Reactors, Fairy Lights, Farming for Blockheads, Flat Colored Blocks, SonarCore, FluxNetworks, FoamFix, Shadowfacts' Forgelin, FTBLib, FTBUtilities, Funnels, Garden of Glass, Advanced Generators, Gravestone, Grue, Get Ya' Tanks Here, Hammer Core, Hatchery, Headcrumbs, Hopper Ducts, HydroGel, Immersive Engineering, LunatriusCore, InGame Info XML, MTLib, InitialInventory, Integrated Dynamics, Integrated Tunnels, Simple Inventory sorting, Iron Backpacks, Iron Chest, YUNoMakeGoodMap, ItsBecauseUHasNoGoodSpawn, It's Raining Food, JourneyMap, KleeSlabs, LLibrary, Literal Ascension, Long Fall Boots, Loot Bags, Mercurius, MineMenu, MiniCoal, Natura, Missing Pieces, Random Things, Roots, MoarSigns, mob_grinding_utils, Mod Tweaker, More Chickens, More Shearables, More Shears, Morpheus, ModPack Utilities, ModPack Basic Tools, Mystical Agriculture, Nice, Not Enough Wands, OreExcavation, Packing Tape, Pam's HarvestCraft, ShetiPhian-Core, Platforms, RebornCore, QuantumStorage, Ranged Pumps, reborncore-MCMultiPart, Refined Storage, RebornStorage, Redstone Paste, Reliquia, RFTools, RFTools Control, RFTools Dimensions, Wooden Shears, Scanner, Shear Madness, Simple Achievements, Simple Barrels, Simple Corn, Simple Generators, SimpleLabels, Simply Jetpacks 2, Snad, Solar Flux Reborn, Steve's Carts 2, Super Circuit Maker, The Beneath, Tinkers Tool Leveling, Tiny Progressions, TorchMaster, Translocator, Twerk-Sim 2K16, Twitchcrumbs, voidcup, Waddles, WanionLib, I Can See Everything, What Are We Looking At, Wither Crumbs, Experience Rings, UniDict
The Issue im having is when a player comes on to our server and plays and loads there base at that time everything is fine but the problem is when they leave, so far from what i gathered by using the tools i have at hand is that chunks with machines in them fail to unload "some of them" as with chunks with nothing in them always unload without a problem.
Now this could be a issue with a mod, or even a error in my sponge config file here = https://pastebin.com/et5CKP1F
I tracked this down by using a mod called ChickenChunks and the /chunkloaders command when im in the area this is what is shows
http://i.imgur.com/njfRMl2.png
now when i leave the area it shows the main chunks with all the players machines within them still loaded
http://i.imgur.com/83YUr9A.png
this happens with every players that comes and goes so after a hour or 2 of up time the lag get out of control and TE get to super high nums as u can see here http://i.imgur.com/hyWNDZe.jpg
any Idea what i can do or how i can go about dealing with this issue it also happens on our beyond and dw20 servers both use the same spongeforge

You are setting very bad chunk settings in your config. Reset your sponge global config and test again with DEFAULTS.

i know they are, its not for normal use i just set some of the settings low to speed up things to be able to gather the info i need to post here, the setting i normally use are default just maybe some changes with mob spawn rates. The point im trying to show u is chunks arent being marked as inactive for unload, it may not be the fault of sponge it could even be the fault of a mod, but im here i n search of help.

new config https://pastebin.com/NN0YqiyM
same issue just, bases arent fully unloading after leaving them

Test without sponge.

i ran a test server without sponge still the same issue so i guess its not sponge but im still looking to see what could be the cause of chunks not unloading, when i find out i could post here if u guys wanna know,  just the last 2 days ive been sick, i also did notice when i removed enderIO i seem to stop on a few of the bases i tested this on, but i still got alot more testing to do to see if its enderIO or Forge

Not a Sponge bug then.

thanks for the help...


Error [parser.cc:689] Unable to find uri[model://iris_depth_camera]

Please help me

run export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:~/catkin_ws/src/avoidance/sim/models

It worked for me . THANK YOU VERY MUCH!


Event _id property is not unique when calendar rendering is toggled with ng-if

If I use ng-if to hide and then show a calendar containing events, then any new events added thereafter will have '_id's starting from 1 again. Removing these new events will cause the old events with corresponding '_id' also to be removed.
I was able to solve the issue by replacing the code on lines 73 - 75 of calendar.js with:
for(var eI = 0;eI < source.events.length;eI++){
  var event = source.events[eI];
  if (eventSerialId <= event._id) {
    eventSerialId = event._id + 1;
  }
  angular.extend(event, extEvent);
}

Not sure if that's a good solution, though.
I expect there's a similar issue with sourceSerialId when adding sources with ng-if, but didn't need that use case, since I have a set number of event sources.

I suspect this is still an issue. Could you explain why it matters that the ids change though? Are you referencing them directly via some $ selector?


Split up gamepad.rs into smaller chunks

Objective

Part of the splitting process of #3692.

Solution

Split up gamepad.rs into smaller chunks.

Reasons

It makes navigating the file structure easier.
It helps to find particular things faster.
It's a good practice to not just dump everything into one huge file.
Discussion in #3692.

Is it really that big? It's just 370 lines of not tests and most of it is just type declarations used in the 2 systems in the file. Personally, there's nothing about this file or the other files in the input module that feels troublesome to work with. I personally prefer having all those things in the same file, I actually find it easier to find things this way and I like not having to constantly change files.
To be clear, I don't think it's wrong, but it just doesn't feel necessary to me and I prefer how it is currently.
I'll let cart decide on this one and related PRs because this seems to be something very subjective.

Yeah I think this split is too aggressive. I don't buy the "one struct per file" pattern (common in languages like C#), especially for Rust (where that pattern is very uncommon). Files should be used to group by subject and roughly by module. The subject here is "gamepads".
This is definitely a matter of opinion, but I think this takes things a bit too far.

I agree that this is a matter of taste. I feel like this file definitely needs some splitting, but if that is not perceived this way by others than that's good to know.
@cart
Is your opinion similar for the other 3 PRs I made (see below)? If so then I'll close all of them so that I can continue working on the splitting process of #3692.
Related PRs

#4315
#4316
#4317

Yeah this opinion applies to all of those PRs and my preference is to close them. Thanks for being understanding! Feel free to continue discussing this if you have strong opinions. If you garner enough support for this pattern, I'll revisit this decision.

There's no need to fight about this since this is just matter of taste and if this is an unusual pattern for Rust then that's totally fine to me. I'm probably biased by using C# at work :D Thanks for sharing your thoughts!


Validate social media input

There are 2 issues described in #200

Grammatical error in the command box and UG
Invalid social media characters

We will fix bug 1 because it is a valid bug.
We will not impose any validation on in platformName because platform names can be quite varied.
See this list of social media platforms.
We will not impose any validation on platformDescription since we cannot possibly encompass all the different types of regex used across different platforms.

Codecov Report

Merging #230 (96d04b3) into master (0cf977a) will increase coverage by 0.30%.
The diff coverage is 95.00%.

@@             Coverage Diff              @@
##             master     #230      +/-   ##
============================================
+ Coverage     47.58%   47.88%   +0.30%
- Complexity      629      636       +7
============================================
  Files           133      133
  Lines          2940     2957      +17
  Branches        390      393       +3
============================================
+ Hits           1399     1416      +17
  Misses         1407     1407
  Partials        134      134

Impacted Files
Coverage Δ

.../logic/commands/add/AddSocialsToPersonCommand.java
0.00% <ø> (ø)

...a/seedu/address/model/socialmedia/SocialMedia.java
44.44% <ø> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
25.64% <ø> (ø)

...c/main/java/seedu/address/model/person/Person.java
95.55% <50.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
96.90% <100.00%> (+0.65%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0cf977a...96d04b3. Read the comment docs.

the merge went ok 👍


As a CIF administrator, I want to be alerted if the calculated province's share is different than the one entered on the "budgets, expenses and payments" form, so that I can ensure data consistency

Description:
Should we have an alert / an indicator showing if the calculated province's share is different than the target one (typically 50%) ?
Acceptance Criteria:
Given I am on the 'budgets' page
When the calculated province's share is different (by > 1%? TBC Business area) than the funding agreement value
Then I can see an alert near the field
Development Checklist:

[ ] Implement the alert component
[ ] Display the alert component near the calculated province share field if the value exceeds the threshold
[ ] Meets the DOD

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

·Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

Notes:

During CIF Prioritization session on August 16, CIF team indicated that this is an easy win of high impact and medium/high urgency.

Do we require a wireframe for this issue? What kind of wording/messaging do we want? @nanyangpro /  @suhafa - thoughts?

@nanyangpro @suhafa What would you need to design this "field alert"? Should we use something similar to the json validation - except with a yellow, warning font?

A quick design/copy suggestion (not final design suggestion) - @nanyangpro feel free to edit up as you deem fit. This component can be found in the '#598/#599' page draft in Figma

Does it mean we allow the user to dismiss the warning? What are the rules to displaying / hide the message?

This ticket isn't relevant any more thus closed.
Warning would be handled by the Proponent's Share Percentage field on the Budgets, Expenses, & Payments form, see details in #717.


Unhelpful Error :  Argument not a subtype of parameter

I had trouble understanding the error message and sean helped me
The error was produced by this code https://playground.ponylang.io/?gist=c174653b148dc6a17c8a31cd2ecfa9af
use "time"
use "promises"

actor Nonce
  var _last: I64
  var _again: I64
  new create () =>
    _last = 0
    _again = 0
  be apply (res: Promise[I64]) =>
    var now : I64 = 100 * Time.seconds()
    if now == _last then
      _again = _again + 1
    else
      _again = 0
      _last = now
    end
    now = now + _again
    res(now)

actor Main
  new create(env: Env) =>
    let p = Promise[I64]
    p.next[None]({(stamp: I64)(env) =>
      env.out.print(stamp.string())
    } val)
    let nonce = Nonce
    nonce(p)

it appears the val in the lambda is the problem but the error does not really point you in this direction

For posterity, here's the ponyc error output from the given playground link:
0.26.0 [release]
compiled with: llvm 3.9.1 -- cc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
Defaults: pic=false ssl=openssl_0.9.0
Error:
main.pony:23:18: argument not a subtype of parameter
    p.next[None]({(stamp: I64)(env) =>
                 ^
    Info:
    main.pony:23:18: argument type is {(I64): None val} val
        p.next[None]({(stamp: I64)(env) =>
                     ^
    packages/promises/promise.pony:137:5: parameter type is Fulfill[I64 val, None val] iso
        fulfill: Fulfill[A, B],
        ^
    main.pony:23:18: {(I64): None val} val is not a subtype of Fulfill[I64 val, None val] iso: val is not a subcap of iso
        p.next[None]({(stamp: I64)(env) =>
                     ^

I think the error output makes sense - you're explicitly marking the lambda to be a val, but the Fulfill interface requires iso. Removing the val should fix this message.

This is @SeanTAllen suggestion to bug this. Personally I think the last message in the list is the most relevant message here and it would be better if it was the error that is listed first. If you're new to pony its hard to know what the format and meaning of these errors and traces are but I (as a noob) freak out at the ignorance of the first message before reaching the clarity of the last one.


reduced code duplication in color-title by creating menu item map

fix for https://github.com/ThatCrazyIrishGuy/less-to-palette/issues/2

Coverage increased (+0.9%) to 95.0% when pulling 2564ca977c6b13b0a9480a14f81a6d8746986dbe on issue/2 into c213266792205da9b0dbbacc900104267e313f72 on master.

Coverage increased (+0.9%) to 95.0% when pulling 2700cc7db6a2db2184c73cfa5a739658b0015d75 on issue/2 into c213266792205da9b0dbbacc900104267e313f72 on master.


Oparin PostgreDB issue, missing internal DB on OpenStack image

Hi,
I am trying to run Oparin as an upgrade to Najdorf. I have noticed that in OpenStack image, there is no internal PostgreDB preinstalled and pre-configured as it used to be with the previous versions. Moreover, there is no volume mounted to expected PostreDB data path /var/lib/pgsql/data , so now to use internal DB, it is necessary to create the volume, run PostgreDB, initialize and then configure ManageIQ to use it. However, even after doing so, we have a significant problems and are unable to run ManageIQ with even internal or existing external DB. From Appliance console, I am able to connect to the internal/external DB but evm server wont start. No logs are present in log directory except from appliance_console.log , top and vmstat. In journalctl, I can only find the following loop:
Feb 03 08:41:17 vncco0177 manageiq-db-ready[1391]: P013TT01.TEST 5432 - accepting connections
Feb 03 08:41:22 vncco0177 manageiq-db-ready[3247]: psql: error: FATAL:  LDAP authentication failed for user "root"
Feb 03 08:41:22 vncco0177 manageiq-db-ready[3247]: FATAL:  LDAP authentication failed for user "root"
Any idea what might be wrong? The DB connection is not using root to connect, there is another user in database.yml
Is the image now really released without internal DB configuration prepared or are we doing anything completely wrong?
Thank you

Is the image now really released without internal DB configuration prepared or are we doing anything completely wrong?

Yes, this was an intentional choice.  In a multi-appliance region, there is usually only 1 database appliance but multiple non-database appliances. Having a pre-installed database, requires the end-user to "uninstall" it multiple times, which is complicated.  So, we flipped it such that the end user is required to set up the database just once, and do nothing on all of the other appliances.

Otherwise I'm not sure what's going on in manageiq-db-ready.  @jrafanie do you know?

so now to use internal DB, it is necessary to create the volume, run PostgreDB, initialize and then configure ManageIQ to use it.

@eggoide Sorry that isn't working for you.  This shouldn't be required.  In all appliances I deploy, I attach a new disk and run the appliance_console to configure the application using an internal database.  If you try to do this manually, it will not configure the database in the same way.  We have several things we do in the internal database that should make it very easy to configure an internal database disk from scratch with no volumes or partitions.
See: https://github.com/ManageIQ/manageiq-appliance_console/blob/v7.0.6/lib/manageiq/appliance_console/internal_database_configuration.rb#L75-L110
Please let me know if that's failing for you.  Please provide the appliance_console logging and ensure you remove any internal hostname or any sensitive data.

@eggoide Also, if you're going from from 14(najdorf) to 15(oparin), you probably want to review these steps:  https://github.com/ManageIQ/manageiq/discussions/22295#discussioncomment-4686436
Specifically, @tjyang wrote up some instructions based on some feedback I provided.  Please review that and provide any feedback you have.  See: https://docs.google.com/document/d/1BJL1NG3Htvu8SIRakFlFZvtbhwXU2EPBfJ34AOsrpDk/edit?usp=sharing
We upgraded from postgresql 10 to 13 and there are some specific steps needed to do that properly.

Thank you all for important information!


source.organizeImports organizes imports to a sort order that tslint complains about

Issue Type: Bug
settings:
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true
}
tslint.json:
{
"extends": "tslint-microsoft-contrib",
...
Code:
import * as cp from 'child_process';
import * as fse from 'fs-extra';
import { IActionContext, parseError } from 'vscode-azureextensionui';
import { ImageNode } from '../explorer/models/imageNode';
import { ext } from '../extensionVariables';
import { docker, DockerEngineType } from './utils/docker-endpoint';
import { ImageItem, quickPickImage } from './utils/quick-pick-image';
import os = require('os');
import vscode = require('vscode');

That gives this error:

Auto-fixing the lint issue reorders to this code:
import * as cp from 'child_process';
import * as fse from 'fs-extra';
import os = require('os');
import vscode = require('vscode');
import { IActionContext, parseError } from 'vscode-azureextensionui';
import { ImageNode } from '../explorer/models/imageNode';
import { ext } from '../extensionVariables';
import { docker, DockerEngineType } from './utils/docker-endpoint';
import { ImageItem, quickPickImage } from './utils/quick-pick-image';

Then pressing CTRL+S to save puts it back to the first form, which causes the lint error again.
VS Code version: Code - Insiders 1.33.0-insider (d77d8d561143cc021a82664efc056755c075d070, 2019-03-11T08:47:23.627Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Xeon(R) W-2133 CPU @ 3.60GHz (12 x 3600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.73GB (16.54GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

vscode-antlr4
mik
2.1.1

vscode-cosmosdb
ms-
0.10.0

extension-manifest-editor
ms-
0.1.5

azure-account
ms-
0.8.0

csharp
ms-
1.17.1

vscode-typescript-tslint-plugin
ms-
1.0.0

azurerm-vscode-tools
msa
0.5.0

vscode-docker
Pet
0.5.2

vscode-sort-json
ric
1.13.0

scope-info
sie
0.2.0

tmcolor
sle
0.0.1

sort-lines
Tyr
1.8.0

win-ca
uko
2.4.0

I don't know what we're going to do when tslint and eslint disagree about import order, but someone can send a PR to tweak this order for now I guess

ESLint is even worse, because it requires import * from imports to come before all cherry-picking imports

also one issue is that
import './file'
import './z-file-which-should-load-first'

will lead to incorrect sort order....

It would be really nice to be able to switch the ordering off, not everyone wants that but we do want to remove unused imports, i raised it here: https://github.com/microsoft/TypeScript/issues/43141


Heroic Games Launcher init at 1.8.2

Project description
A Native GUI Epic Games Launcher for Linux, Windows and Mac.
Metadata

homepage URL: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher
source URL: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher.git
license: gpl3
platforms: windows, linux, darwin, ...

Merged


Add pipeline run on Sunday

Get new scores into the dashboard earlier with an additional run on Sunday. Update as-of date logic so that Sundays display the most recent Saturday date.

@krivard At Kate's suggestion, changed logic for calculating as-of dates to display.


Emtpy .mtx

Hi @cdarby
Thanks for making this tool! I'm having some trouble interpreting the outputs, and I'm hoping you can help.
So I've run the pipeline twice now on two different 3' scRNA-seq PBMC datasets -- one is the Frozen Donor B data from Zheng et al (2017, Nat Comm - V1 chemistry), and another is a dataset of 4 unrelated PBMC donors that I generated (V2 chemistry). It may be worth noting that I can split the cellID list by donor if necessary, but I ran it as a batch here.
The pipeline completes successfully, and I see distinct allele labels in the labels.tsv file for each output. However, I have no counts in the .mtx file for either dataset, and I don't really know what to make of the weights.tsv output.
If the .mtx matrix is 'empty', does this mean that scHLAcount is not accurately characterizing the data? My end goal for this analysis is to get an HLA-type for each donor (as you would normally do with standard HLA typing assays).
Chris McGinnis
Here's my script, for reference:
./sc_hla_count --bam /Users/gartnerlab/Desktop/scHLAcount/possorted_genome_bam.bam --cell-barcodes /Users/gartnerlab/Desktop/SLNR_PBMC/REVIEW/cellIDs_B.txt -d /Users/gartnerlab/Desktop/scHLAcount/IMGT/
./sc_hla_count --bam /Volumes/MULTIseq_1/SLNR_PBMC/crRNA/SLNR_L2/outs/possorted_genome_bam.bam --cell-barcodes /Users/gartnerlab/Desktop/SLNR_PBMC/REVIEW/cellIDs_ficoll.txt -d /Users/gartnerlab/Desktop/scHLAcount/IMGT/

Hi Chris
I'm not sure why the matrix file is empty. But if you have weights.tsv, then the genotyping stage has been completed, which seems to be the goal of your analysis. After genotyping, the top genotypes should have been selected (and will appear in the labels.tsv file) and the molecule counting stage should have run. What was the output log to the command line for the molecule counting stage?
The weights.tsv file columns are: the allele name, weight of the allele in the expectation maximization (EM) algorithm, and the number of reads explained by that allele. By default it reports the top 10 alleles for each gene.
You should also see a pairs file, where the first two columns are the allele name and the third column is the number of reads explained by this pair of alleles - this is relevant when the individual is heterozygous. By default it reports the top 5 pairs for each gene.
The genotyping algorithm assumes the individual is diploid and will not work properly if there are cells from more than one individual in the dataset.
Please let me know if you have further questions
Charlotte

Hi Charlotte (@cdarby),
Thanks for the quick response. I agree that I don't necessarily need the .mtx file for my purposes, I was just curious if this could suggest that the pipeline is not working properly.
For the record, here's the output log:
Sharding sequences...
Got 364365 sequence chunks
Assembling 111 shards...
Done separate de Bruijn graph construction
Starting merging disjoint graphs
Merger of graphs complete
Indexing de Bruijn graph
Total 56910 kmers to process in dbg
Making mphf of kmers
Assigning offsets to kmers
Sharding sequences...
Got 10720 sequence chunks
Assembling 6 shards...
Done separate de Bruijn graph construction
Starting merging disjoint graphs
Merger of graphs complete
Indexing de Bruijn graph
Total 71838 kmers to process in dbg
Making mphf of kmers
Assigning offsets to kmers
Sharding sequences...
Got 1203 sequence chunks
Assembling 1 shards...
Done separate de Bruijn graph construction
Starting merging disjoint graphs
Merger of graphs complete
Indexing de Bruijn graph
Total 8078 kmers to process in dbg
Making mphf of kmers
Assigning offsets to kmers
On a semi-related note, are there any 'red-flags' that you could look for in the outputs that would suggest the HLA typing was inaccurate? I do not have HLA-type ground-truth for these samples and I am basically trying to determine whether cells with the predicted the HLA-type would engage in an allogeneic response.
For example, when I look at the 'pairs' file from one run, I see that the top 5 pairs explain similar  proportions of the total reads (e.g., +/- 0.2%):

Given this result, how confident would you be in claiming that these cells are heterozygous at HLA-A with the 02:52 and 24:234 alleles?
Chris

Follow-up question:
I understand that the algorithm won't work properly if more than one donor is present in the dataset. However, is this also true if you use donor-specific cell ID lists for the input? For example, I assigned cells into donor groups using an in silico genotyping approach and then processed the same bam file using these different cell ID sets -- this resulted in the same set of HLA alleles being identified for the two unrelated donors.
If there's no way to handle this within the algorithm itself, what are your thoughts on parsing the FASTQs according to the cell ID lists before generating BAM files which can then be used for scHLAcount?

Hi Chris
Quick note - the genotyping algorithm is still a work-in-progress, although none of the team are actively developing it right now. Limited testing was performed on samples with known HLA type. You may consider running other tools designed for genotyping from other sequencing types (e.g. bulk RNA-seq) on your reads to see if they agree with the scHLAcount results. For the HLA-A results you show, I would say there is not enough evidence to prefer one of the two-field resolution types over the other because the top pairs are nearly exactly tied. It does seem to give evidence for the genotype at one-field resolution of A02/A24 though.
In terms of giving you confidence that the scHLAcount genotype agrees with the genotype that would be reported by HLA typing assays, we just didn't get to that point with validating the performance of the genotyping algorithm. If I were to brainstorm how you might validate the genotypes from scHLAcount or another software, perhaps you could get the coding sequences of the top alleles from the IMGT/HLA database, remap the HLA-A reads to the allele sequences using Bowtie2/BWA-MEM for example, and explore whether there are fewer mismatches in the alignments to the personalized alleles compared to the STAR alignments (from Cell Ranger) to the reference genome.
I see you're using 3'GEX data. Anecdotally, we noticed that genotyping from 3'GEX was less reliable than from 5'GEX, possibly due to lower coverage in the typing exons (of HLA class I). We did not test any datasets using V1 chemistry, so I can't speak to any considerations for that dataset.
It looks like the command line output you posted only completed the database graph construction and did not report analysis of any reads, so I am surprised that genotypes were reported. (e.g. there should be a log entry that says "Processed X reads, Y pseudoaligned to HLA reference".) Did it crash?
I checked the code and it appears that scHLAcount only ignores reads with barcodes that are not in the list you provide for the molecule counting step and uses all reads for the genotyping step. This would explain why you see the same results when providing different barcode files. To manually separate the files, given your lists of cell barcodes, I suppose you could write a script to scan the "CB" tags in the BAM files and match them with the ones on the lists.
Charlotte


Unable to run specific windows model information for flutter

Run error:
`
EGL: Failed to initializeEGL: Failed to initializeEGL: Failed to initializeEGL: Failed to initializeEGL: Failed to choose first context
[FATAL:flutter/shell/gpu/gpu_surface_gl_delegate.cc(50)] Check failed: gl_version_string. The GL proc resolver's glGetString(GL_VERSION) failed
Error connecting to the service protocol: _flutter.listViews: (-32000) Bad state: The client closed with pending request "_flutter.listViews".
Specific code:
const char* gl_version_string = gl_get_string(GPU_GL_VERSION);
FML_CHECK(gl_version_string)
<< "The GL proc resolver's glGetString(GL_VERSION) failed";
`
My device (DxDiag):

System Information
Time of this report: 12/28/2020, 01:56:39
Machine name: COLIN-MWS
Operating System: Windows 7 旗舰版 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.150202-1526)
Language: Chinese (Simplified) (Regional Setting: Chinese (Simplified))
System Manufacturer: LENOVO
System Model: 4270CTO
BIOS: Default System BIOS
Processor: Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz (8 CPUs), ~2.4GHz
Memory: 8192MB RAM
Available OS Memory: 8076MB RAM
Page File: 4294MB used, 11854MB available
Windows Dir: C:\Windows
DirectX Version: DirectX 11
DX Setup Parameters: Not found
User DPI Setting: 120 DPI (125 percent)
System DPI Setting: 96 DPI (100 percent)
DWM DPI Scaling: Disabled
DxDiag Version: 6.01.7601.17514 32bit Unicode

DxDiag Notes
  Display Tab 1: No problems found.
    Sound Tab 1: No problems found.
      Input Tab: No problems found.

DirectX Debug Levels
Direct3D:    0/4 (retail)
DirectDraw:  0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay:  0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow:  0/6 (retail)

Display Devices
      Card name:
   Manufacturer:
      Chip type:
       DAC type:
     Device Key: Enum\
 Display Memory: n/a

Dedicated Memory: n/a
Shared Memory: n/a
Current Mode: 1280 x 1024 (32 bit) (1Hz)
Driver Name:
Driver File Version:  ()
Driver Version:
DDI Version: unknown
Driver Model: 未知
Driver Attributes: Final Retail
Driver Date/Size: , 0 bytes
WHQL Logo'd: n/a
WHQL Date Stamp: n/a
Device Identifier: {D7B70EE0-4340-11CF-B123-B03DAEC2CB35}
Vendor ID: 0x0000
Device ID: 0x0000
SubSys ID: 0x00000000
Revision ID: 0x0000
Driver Strong Name: Unknown
Rank Of Driver: Unknown
Video Accel:
Deinterlace Caps: n/a
D3D9 Overlay: n/a
DXVA-HD: n/a
DDraw Status: Not Available
D3D Status: Not Available
AGP Status: Not Available

Sound Devices
        Description: 扬声器 (2- Conexant 20672 SmartAudio HD)

Default Sound Playback: Yes
Default Voice Playback: Yes
Hardware ID: HDAUDIO\FUNC_01&VEN_14F1&DEV_506E&SUBSYS_17AA21CF&REV_1000
Manufacturer ID: 1
Product ID: 100
Type: WDM
Driver Name: CHDRT64.sys
Driver Version: 8.32.0023.0005 (Chinese (Simplified))
Driver Attributes: Final Retail
WHQL Logo'd: Yes
Date and Size: 6/5/2012 18:40:42, 1580704 bytes
Other Files:
Driver Provider: Conexant
HW Accel Level: Basic
Cap Flags: 0xF1F
Min/Max Sample Rate: 100, 200000
Static/Strm HW Mix Bufs: 1, 0
Static/Strm HW 3D Bufs: 0, 0
HW Memory: 0
Voice Management: No
EAX(tm) 2.0 Listen/Src: No, No
I3DL2(tm) Listen/Src: No, No
Sensaura(tm) ZoomFX(tm): No

Sound Capture Devices
        Description: 内装麦克风 (2- Conexant 20672 SmartAudio HD)

Default Sound Capture: Yes
Default Voice Capture: Yes
Driver Name: CHDRT64.sys
Driver Version: 8.32.0023.0005 (Chinese (Simplified))
Driver Attributes: Final Retail
Date and Size: 6/5/2012 18:40:42, 1580704 bytes
Cap Flags: 0x1
Format Flags: 0xFFFFF

DirectInput Devices
  Device Name: 鼠标
     Attached: 1
Controller ID: n/a

Vendor/Product ID: n/a
FF Driver: n/a
  Device Name: 键盘
     Attached: 1
Controller ID: n/a

Vendor/Product ID: n/a
FF Driver: n/a
Poll w/ Interrupt: No

USB Devices

USB Root Hub
| Vendor/Product ID: 0x8086, 0x1C2D
| Matching Device ID: usb\root_hub20
| Service: usbhub
|
+-+ Generic USB Hub
| | Vendor/Product ID: 0x8087, 0x0024
| | Location: Port_#0001.Hub_#0001
| | Matching Device ID: usb\class_09
| | Service: usbhub

Gameport Devices

PS/2 Devices

PS/2 标准键盘
| Matching Device ID: *pnp0303
| Service: i8042prt
|
Terminal Server Keyboard Driver
| Matching Device ID: root\rdp_kbd
| Upper Filters: kbdclass
| Service: TermDD
|
ThinkPad UltraNav Pointing Device
| Matching Device ID: acpi\len0015
| Upper Filters: SynTP
| Service: i8042prt
|
HID-compliant mouse
| Vendor/Product ID: 0x1C4F, 0x0003
| Matching Device ID: hid_device_system_mouse
| Service: mouhid
|
Terminal Server Mouse Driver
| Matching Device ID: root\rdp_mou
| Upper Filters: mouclass
| Service: TermDD

Disk & DVD/CD-ROM Drives
  Drive: C:

Free Space: 112.2 GB
Total Space: 228.9 GB
File System: NTFS
Model: SanDisk SDSSDA240G ATA Device
  Drive: D:

Free Space: 110.7 GB
Total Space: 183.3 GB
File System: NTFS
Model: Hitachi HTS723232A7A364 ATA Device
  Drive: E:

Free Space: 76.1 GB
Total Space: 121.9 GB
File System: NTFS
Model: Hitachi HTS723232A7A364 ATA Device

System Devices
 Name: Intel(R) Active Management Technology - SOL (COM6)

Device ID: PCI\VEN_8086&DEV_1C3D&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&B3
Driver: n/a
 Name: 标准 AHCI 1.0 串行 ATA 控制器

Device ID: PCI\VEN_8086&DEV_1C03&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&FA
Driver: n/a
 Name: 2nd Generation Intel(R) Core(TM) Processor Family DRAM Controller - 0104

Device ID: PCI\VEN_8086&DEV_0104&SUBSYS_21CF17AA&REV_09\3&33FD14CA&0&00
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 4 - 1C16

Device ID: PCI\VEN_8086&DEV_1C16&SUBSYS_21CF17AA&REV_B4\3&33FD14CA&0&E3
Driver: n/a
 Name: Intel(R) Management Engine Interface

Device ID: PCI\VEN_8086&DEV_1C3A&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&B0
Driver: n/a
 Name: Synaptics SMBus Driver

Device ID: PCI\VEN_8086&DEV_1C22&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&FB
Driver: n/a
 Name: Xeon E3-1200/2nd Generation Intel(R) Core(TM) Processor Family PCI Express Root Port - 0101

Device ID: PCI\VEN_8086&DEV_0101&SUBSYS_21CF17AA&REV_09\3&33FD14CA&0&08
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 2 - 1C12

Device ID: PCI\VEN_8086&DEV_1C12&SUBSYS_21CF17AA&REV_B4\3&33FD14CA&0&E1
Driver: n/a
 Name: Intel(R) 82579LM Gigabit Network Connection

Device ID: PCI\VEN_8086&DEV_1502&SUBSYS_21CE17AA&REV_04\3&33FD14CA&0&C8
Driver: n/a
 Name: NVIDIA Quadro 2000M

Device ID: PCI\VEN_10DE&DEV_0DDA&SUBSYS_21D117AA&REV_A1\4&1DE8C1ED&0&0008
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D

Device ID: PCI\VEN_8086&DEV_1C2D&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&D0
Driver: n/a
 Name: High Definition Audio 控制器

Device ID: PCI\VEN_8086&DEV_1C20&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&D8
Driver: n/a
 Name: Intel(R) HD Graphics 3000

Device ID: PCI\VEN_8086&DEV_0126&SUBSYS_21D117AA&REV_09\3&33FD14CA&0&10
Driver: n/a
 Name: Intel(R) Centrino(R) Advanced-N 6205 #2

Device ID: PCI\VEN_8086&DEV_0085&SUBSYS_13118086&REV_34\4&8780354&0&00E1
Driver: n/a
 Name: Renesas Electronics USB 3.0 Host Controller

Device ID: PCI\VEN_1033&DEV_0194&SUBSYS_21CF17AA&REV_04\4&2581CC1&0&00E6
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 1 - 1C10

Device ID: PCI\VEN_8086&DEV_1C10&SUBSYS_21CF17AA&REV_B4\3&33FD14CA&0&E0
Driver: n/a
 Name: Intel(R) QM67 Express Chipset Family LPC Interface Controller - 1C4F

Device ID: PCI\VEN_8086&DEV_1C4F&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&F8
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26

Device ID: PCI\VEN_8086&DEV_1C26&SUBSYS_21CF17AA&REV_04\3&33FD14CA&0&E8
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 7 - 1C1C

Device ID: PCI\VEN_8086&DEV_1C1C&SUBSYS_21CF17AA&REV_B4\3&33FD14CA&0&E6
Driver: n/a
 Name: Intel(R) 6 Series/C200 Series Chipset Family PCI Express Root Port 5 - 1C18

Device ID: PCI\VEN_8086&DEV_1C18&SUBSYS_21CF17AA&REV_B4\3&33FD14CA&0&E4
Driver: n/a

DirectShow Filters
DirectShow Filters:
WMAudio Decoder DMO,0x00800800,1,1,WMADMOD.DLL,6.01.7601.17514
WMAPro over S/PDIF DMO,0x00600800,1,1,WMADMOD.DLL,6.01.7601.17514
WMSpeech Decoder DMO,0x00600800,1,1,WMSPDMOD.DLL,6.01.7601.17514
MP3 Decoder DMO,0x00600800,1,1,mp3dmod.dll,6.01.7600.16385
Mpeg4s Decoder DMO,0x00800001,1,1,mp4sdecd.dll,6.01.7600.16385
WMV Screen decoder DMO,0x00600800,1,1,wmvsdecd.dll,6.01.7601.17514
WMVideo Decoder DMO,0x00800001,1,1,wmvdecod.dll,6.01.7601.17514
Mpeg43 Decoder DMO,0x00800001,1,1,mp43decd.dll,6.01.7600.16385
Mpeg4 Decoder DMO,0x00800001,1,1,mpg4decd.dll,6.01.7600.16385
DV Muxer,0x00400000,0,0,qdv.dll,6.06.7601.17514
Color Space Converter,0x00400001,1,1,quartz.dll,6.06.7601.18741
WM ASF Reader,0x00400000,0,0,qasf.dll,12.00.7601.17514
Screen Capture filter,0x00200000,0,1,wmpsrcwp.dll,12.00.7601.17514
AVI Splitter,0x00600000,1,1,quartz.dll,6.06.7601.18741
VGA 16 Color Ditherer,0x00400000,1,1,quartz.dll,6.06.7601.18741
SBE2MediaTypeProfile,0x00200000,0,0,sbe.dll,6.06.7601.17528
Microsoft DTV-DVD Video Decoder,0x005fffff,2,4,msmpeg2vdec.dll,12.00.9200.16426
AC3 Parser Filter,0x00600000,1,1,mpg2splt.ax,6.06.7601.17528
StreamBufferSink,0x00200000,0,0,sbe.dll,6.06.7601.17528
MJPEG Decompressor,0x00600000,1,1,quartz.dll,6.06.7601.18741
MPEG-I Stream Splitter,0x00600000,1,2,quartz.dll,6.06.7601.18741
SAMI (CC) Parser,0x00400000,1,1,quartz.dll,6.06.7601.18741
VBI Codec,0x00600000,1,4,VBICodec.ax,6.06.7601.17514
MPEG-2 Splitter,0x005fffff,1,0,mpg2splt.ax,6.06.7601.17528
Closed Captions Analysis Filter,0x00200000,2,5,cca.dll,6.06.7601.17514
SBE2FileScan,0x00200000,0,0,sbe.dll,6.06.7601.17528
Microsoft MPEG-2 Video Encoder,0x00200000,1,1,msmpeg2enc.dll,6.01.7601.17514
Internal Script Command Renderer,0x00800001,1,0,quartz.dll,6.06.7601.18741
MPEG Audio Decoder,0x03680001,1,1,quartz.dll,6.06.7601.18741
DV Splitter,0x00600000,1,2,qdv.dll,6.06.7601.17514
Video Mixing Renderer 9,0x00200000,1,0,quartz.dll,6.06.7601.18741
Haali Media Splitter,0x00800001,0,1,splitter.ax,1.13.0138.0014
Haali Media Splitter (AR),0x00400000,1,1,splitter.ax,1.13.0138.0014
Microsoft MPEG-2 Encoder,0x00200000,2,1,msmpeg2enc.dll,6.01.7601.17514
ACM Wrapper,0x00600000,1,1,quartz.dll,6.06.7601.18741
Video Renderer,0x00800001,1,0,quartz.dll,6.06.7601.18741
MPEG-2 Video Stream Analyzer,0x00200000,0,0,sbe.dll,6.06.7601.17528
Line 21 Decoder,0x00600000,1,1,qdvd.dll,6.06.7601.18741
Video Port Manager,0x00600000,2,1,quartz.dll,6.06.7601.18741
Video Renderer,0x00400000,1,0,quartz.dll,6.06.7601.18741
Haali Video Renderer,0x00200000,1,0,dxr.dll,
VPS Decoder,0x00200000,0,0,WSTPager.ax,6.06.7601.17514
WM ASF Writer,0x00400000,0,0,qasf.dll,12.00.7601.17514
VBI Surface Allocator,0x00600000,1,1,vbisurf.ax,6.01.7601.17514
File writer,0x00200000,1,0,qcap.dll,6.06.7601.17514
iTV Data Sink,0x00600000,1,0,itvdata.dll,6.06.7601.17514
iTV Data Capture filter,0x00600000,1,1,itvdata.dll,6.06.7601.17514
Haali Simple Media Splitter,0x00200000,0,1,splitter.ax,1.13.0138.0014
DVD Navigator,0x00200000,0,3,qdvd.dll,6.06.7601.18741
Overlay Mixer2,0x00200000,1,1,qdvd.dll,6.06.7601.18741
Haali Matroska Muxer,0x00200000,1,0,splitter.ax,1.13.0138.0014
AVI Draw,0x00600064,9,1,quartz.dll,6.06.7601.18741
RDP DShow Redirection Filter,0xffffffff,1,0,DShowRdpFilter.dll,
Microsoft MPEG-2 Audio Encoder,0x00200000,1,1,msmpeg2enc.dll,6.01.7601.17514
WST Pager,0x00200000,1,1,WSTPager.ax,6.06.7601.17514
MPEG-2 Demultiplexer,0x00600000,1,1,mpg2splt.ax,6.06.7601.17528
DV Video Decoder,0x00800000,1,1,qdv.dll,6.06.7601.17514
SampleGrabber,0x00200000,1,1,qedit.dll,6.06.7601.17514
Null Renderer,0x00200000,1,0,qedit.dll,6.06.7601.17514
MPEG-2 Sections and Tables,0x005fffff,1,0,Mpeg2Data.ax,6.06.7601.17514
Microsoft AC3 Encoder,0x00200000,1,1,msac3enc.dll,6.01.7601.17514
StreamBufferSource,0x00200000,0,0,sbe.dll,6.06.7601.17528
Smart Tee,0x00200000,1,2,qcap.dll,6.06.7601.17514
Overlay Mixer,0x00200000,0,0,qdvd.dll,6.06.7601.18741
AVI Decompressor,0x00600000,1,1,quartz.dll,6.06.7601.18741
AVI/WAV File Source,0x00400000,0,2,quartz.dll,6.06.7601.18741
Wave Parser,0x00400000,1,1,quartz.dll,6.06.7601.18741
MIDI Parser,0x00400000,1,1,quartz.dll,6.06.7601.18741
Multi-file Parser,0x00400000,1,1,quartz.dll,6.06.7601.18741
File stream renderer,0x00400000,1,1,quartz.dll,6.06.7601.18741
Microsoft DTV-DVD Audio Decoder,0x005fffff,1,1,msmpeg2adec.dll,6.01.7140.0000
StreamBufferSink2,0x00200000,0,0,sbe.dll,6.06.7601.17528
AVI Mux,0x00200000,1,0,qcap.dll,6.06.7601.17514
Line 21 Decoder 2,0x00600002,1,1,quartz.dll,6.06.7601.18741
File Source (Async.),0x00400000,0,1,quartz.dll,6.06.7601.18741
File Source (URL),0x00400000,0,1,quartz.dll,6.06.7601.18741
Haali Video Sink,0x00200000,1,0,splitter.ax,1.13.0138.0014
Infinite Pin Tee Filter,0x00200000,1,1,qcap.dll,6.06.7601.17514
Enhanced Video Renderer,0x00200000,1,0,evr.dll,6.01.7601.18741
BDA MPEG2 Transport Information Filter,0x00200000,2,0,psisrndr.ax,6.06.7601.17669
MPEG Video Decoder,0x40000001,1,1,quartz.dll,6.06.7601.18741
WDM Streaming Tee/Splitter Devices:
Tee/Sink-to-Sink 转换程序,0x00200000,1,1,ksproxy.ax,6.01.7601.17514
Video Compressors:
WMVideo8 Encoder DMO,0x00600800,1,1,wmvxencd.dll,6.01.7600.16385
WMVideo9 Encoder DMO,0x00600800,1,1,wmvencod.dll,6.01.7600.16385
MSScreen 9 encoder DMO,0x00600800,1,1,wmvsencd.dll,6.01.7600.16385
DV Video Encoder,0x00200000,0,0,qdv.dll,6.06.7601.17514
MJPEG Compressor,0x00200000,0,0,quartz.dll,6.06.7601.18741
Cinepak Codec by Radius,0x00200000,1,1,qcap.dll,6.06.7601.17514
Intel IYUV 编码解码器,0x00200000,1,1,qcap.dll,6.06.7601.17514
Microsoft RLE,0x00200000,1,1,qcap.dll,6.06.7601.17514
Microsoft Video 1,0x00200000,1,1,qcap.dll,6.06.7601.17514
Audio Compressors:
WM Speech Encoder DMO,0x00600800,1,1,WMSPDMOE.DLL,6.01.7600.16385
WMAudio Encoder DMO,0x00600800,1,1,WMADMOE.DLL,6.01.7600.16385
IMA ADPCM,0x00200000,1,1,quartz.dll,6.06.7601.18741
PCM,0x00200000,1,1,quartz.dll,6.06.7601.18741
Microsoft ADPCM,0x00200000,1,1,quartz.dll,6.06.7601.18741
GSM 6.10,0x00200000,1,1,quartz.dll,6.06.7601.18741
CCITT A-Law,0x00200000,1,1,quartz.dll,6.06.7601.18741
CCITT u-Law,0x00200000,1,1,quartz.dll,6.06.7601.18741
MPEG Layer-3,0x00200000,1,1,quartz.dll,6.06.7601.18741
Audio Capture Sources:
内装麦克风 (2- Conexant 20672 SmartA,0x00200000,0,0,qcap.dll,6.06.7601.17514
PBDA CP Filters:
PBDA DTFilter,0x00600000,1,1,CPFilters.dll,6.06.7601.17528
PBDA ETFilter,0x00200000,0,0,CPFilters.dll,6.06.7601.17528
PBDA PTFilter,0x00200000,0,0,CPFilters.dll,6.06.7601.17528
Midi Renderers:
Default MidiOut Device,0x00800000,1,0,quartz.dll,6.06.7601.18741
Microsoft GS Wavetable Synth,0x00200000,1,0,quartz.dll,6.06.7601.18741
WDM Streaming Capture Devices:
Conexant HD Audio capture,0x00200000,1,1,ksproxy.ax,6.01.7601.17514
,0x00000000,0,0,,
Integrated Camera,0x00200000,0,1,ksproxy.ax,6.01.7601.17514
WDM Streaming Rendering Devices:
,0x00000000,0,0,,
Conexant HD Audio output,0x00200000,1,1,ksproxy.ax,6.01.7601.17514
BDA Network Providers:
Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.7601.17514
Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.7601.17514
Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.7601.17514
Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.7601.17514
Microsoft Network Provider,0x00200000,0,1,MSNP.ax,6.06.7601.17514
Video Capture Sources:
Integrated Camera,0x00200000,0,1,ksproxy.ax,6.01.7601.17514
Multi-Instance Capable VBI Codecs:
VBI Codec,0x00600000,1,4,VBICodec.ax,6.06.7601.17514
BDA Transport Information Renderers:
BDA MPEG2 Transport Information Filter,0x00600000,2,0,psisrndr.ax,6.06.7601.17669
MPEG-2 Sections and Tables,0x00600000,1,0,Mpeg2Data.ax,6.06.7601.17514
BDA CP/CA Filters:
Decrypt/Tag,0x00600000,1,1,EncDec.dll,6.06.7601.17708
Encrypt/Tag,0x00200000,0,0,EncDec.dll,6.06.7601.17708
PTFilter,0x00200000,0,0,EncDec.dll,6.06.7601.17708
XDS Codec,0x00200000,0,0,EncDec.dll,6.06.7601.17708
WDM Streaming Communication Transforms:
Tee/Sink-to-Sink 转换程序,0x00200000,1,1,ksproxy.ax,6.01.7601.17514
Audio Renderers:
扬声器 (2- Conexant 20672 SmartAud,0x00200000,1,0,quartz.dll,6.06.7601.18741
Default DirectSound Device,0x00800000,1,0,quartz.dll,6.06.7601.18741
Default WaveOut Device,0x00200000,1,0,quartz.dll,6.06.7601.18741
DirectSound: 扬声器 (2- Conexant 20672 SmartAudio HD),0x00200000,1,0,quartz.dll,6.06.7601.18741

EVR Power Information
Current Setting: {5C67A112-A4C9-483F-B4A7-1D473BECAFDC} (Quality)
Quality Flags: 2576
Enabled:
Force throttling
Allow half deinterlace
Allow scaling
Decode Power Usage: 100
Balanced Flags: 1424
Enabled:
Force throttling
Allow batching
Force half deinterlace
Force scaling
Decode Power Usage: 50
PowerFlags: 1424
Enabled:
Force throttling
Allow batching
Force half deinterlace
Force scaling
Decode Power Usage: 0

My device doesn't have "OpenGL es-cm 1.1" information.This should be the cause of the error. Is there a patch that can be forced to start or skip this error, because my device actually has the ability to run the flutter application

Hi @leielyq
Can you please provide your flutter doctor -v and flutter run -d windows --verbose logs, and a minimal complete reproducible code sample?
Thank you


Send client_id in authentication requestion for OAuth2 Password Grant

My Authorization server requires me to send a client id.  Can we make this an option in the config.

Adding a config option for client_id should be fine. Want to submit a pull request?

Yeah I have been trying to put something together, but I can't seem to get end to end testing working.  I have tried to bower link my fork and then bower link ember-simple-auth to test my changes, but ember-cli does not like that.  End up getting a nasty stacktrace about Invalid Version: * (which I think is how bower sets it after linking).  How do you typically test this stuff out?

Ember Simple Auth's bower package is currently in an external repository which makes testing non-released versions a little hard. While that needs to be fixed, for now you can simply use the examples included in the repository which will use your local code.

I JUST ran into this with a new project. Is this available yet somewhere?

Currently have a pull request under review.  #508

1.0 has been released with this feature


Fix typos, fox irregular names

Also refactor login procedure

Also merge renyao's product manager with this pr.


Generated documentation alternating between two states

I've been scratching my head as to why certain parts of the documentation seem to change on unrelated PRs still and I think I figured it out. I don't have time to fix it right now so I'm opening an issue.
rake generate_cops_documentation has been specifically alternating between two states for manual/cops_rails.md. To see for yourself run git --no-pager log -S ConvertTry -- manual/cops_rails.md. Here are the commits that turns up:

a9c598c
1838089
36fe656
0f514d0
96a53db
bb9ac67
f7e00f2
476297d
d516771

The task seems to be swapping the documentation for Style/SafeNavigation and Rails/SafeNavigation! I don't know where in the code this is happening, but it seems like something in tasks/cops_documentation.rake is not properly grouping YARD docs by the corresponding cop and as a result we are getting nondeterministic manual builds. Fixing this should finally make building the rubocop manual deterministic :smile:

Yeah, I've recently noticed this myself. It's extremely annoying.

Yeah. Personally I think this code should be significantly refactored since right now it isn't tested at all and its just a bag of methods inside a rake task

Ah looking a bit closer, this is the problem code https://github.com/bbatsov/rubocop/blob/767b546285eb7f818a8c44e2ce1d5f0b220bf6d7/tasks/cops_documentation.rake#L99

I lied, I was able to find time :smile:. I think #3852 fixes the problem


Shorten long job name

What this PR does / why we need it:
The job name {{ template "minio.fullname" . }}-make-bucket-job can easily get too long. The fullname part truncated at 63 characters, but the whole job name is causing issues (spec.template.labels: Invalid value: "[our-relatively-long-release-name]-minio-make-bucket-job": must be no more than 63 characters).
While not an absolute solution, shortening the suffix -make-bucket-job to just -make-bucket works in our case. Other resources also don't include the resource type in their name.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed

/assign @wlan0


Refactor: disable meaningless warnings

Description
Disable meaningless warnings (linters are too dumb to figure out we pass fixtures)
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

/lgtm

/approve

/lgtm

/override "ci/prow/unit"
/override "ci/prow/verify"

/test security


Cannot create container with more than 127 parents

When I try to rebuild an app I get this error:
What does it mean and how to fix it?
time="2015-03-02T17:57:06+01:00" level="fatal" msg="Error response from daemon: Cannot create container with more than 127 parents"

Related to https://github.com/docker/docker/issues/7095

$ docker info

Containers: 5
Images: 259
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: <unknown>
 Dirs: 269
Execution Driver: native-0.2
Kernel Version: 3.13.0-44-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 2
Total Memory: 1.955 GiB
Name: dokku
ID: 7W27:4RHQ:LNUE:6MXS:6ZZP:EMMQ:G22C:AKHQ:JXZD:KSI4:T2K2:4NWP
WARNING: No swap limit support

I guess that didn't relate in the way I intended. I believe the current layer limit of aufs is 127.

What is the official way of handling this?
Right now I cleaned it up by: docker rmi $(docker images -aq) But that generates so many errors:
Error response from daemon: Conflict, cannot delete f35aba9b44a2 because the running container 03f5e10a904c is using it, stop it and use -f to force

But it enables me to run the rebuild of an app again.

dokku cleanup would sort out the removal of dependent containers and subsequent images. If give that a try. Honestly I haven't run into this yet.

Would it be best practice to run  dokku cleanup in a cron?

I don't think so? It gets run prior to every deployment. Perhaps we could run it prior to rebuild. For clarity, what command are you running to rebuild your app(s)?

A image uses less than 20 layers generally. Each time you use dokku config:set which calls dokku deploy, it creates a new layer in your image. If you do that more than 100 times, then you can get to the 127 layers limit. In this case, you need to rebuild your application to go below 20. You can see the layers with "docker images --tree"
Executing dokku cleanup will not resolve your problem here.

Interesting.
To rebuild an app we run dokku rebuild my_app_name
@vincentfretin  We have multiple apps running on the system so it could be possible that we ran the dokku config:set command a lot of times.
Are we supposed to run dokku rebuild my_app_name every time after dokku config:set?

@sebastiaandegeus I meant "dokku config:set myapp" will add a layer only for your dokku/myapp image, so the fact you have multiple apps is not an issue.

Are we supposed to run dokku rebuild my_app_name every time after dokku config:set?
No

Do you use buildpacks or a Dockerfile?
What "docker images --tree" gives you? You should normally see if your image has lots of layers.

I know but we probably ran the config:set command multiple times per app without doing a push after.
We have apps running the standard ruby on rails buildpack and apps that run the heroku php buildpack (wordpress).
I cannot access the network right now so I will check docker images --tree tomorrow.

The gist of the result:
https://gist.github.com/sebastiaandegeus/cc0b46fede008c071081

Wahou, your dokku/vakmedianet-missethoreca-rails:latest image has really lots of layer, but your progrium/buildstep:latest is even worse. What did you do with your progrium/buildstep:latest image?
To see the details of each layer to investigate which files create a new layer:
docker history --no-trunc progrium/buildstep:latest
If you have some sort of script to do an apt-get upgrade of your buildstep image, don't do it, best to rebuild your image completely.

If you do
docker pull progrium/buildstep:latest
to retrieve the latest progrium/buildstep:latest from Docker Hub
this should fix your error, but you should investigate why your image is like this. The progrium/buildstep:latest should actually never change. You just rebuild it from time to time, or do a pull to have security patches, that's all.

docker history --no-trunc progrium/buildstep:latest
https://gist.github.com/sebastiaandegeus/d8f54f83a27d6d162550
docker history --no-trunc progrium/buildstep:latest
https://gist.github.com/sebastiaandegeus/59b54caa7f54ef73883b

There is some weird things about supervisord, do you use a specific dokku plugin?

I have a suspicion it is related to puppet somehow. I think it's either puppet or a cron. Something that comes around again and again.
dokku
https://gist.github.com/sebastiaandegeus/e55bcf8f416b2e6c6779

My colleague told me about supervisord. It's used as an alternative to upstart on the server. To keep everything in the Procfile running. Maybe that causes to creation of endless layers?

Apparently we use this plugin: https://github.com/statianzo/dokku-supervisord

Well, look no further, this plugin is your problem. https://github.com/statianzo/dokku-supervisord/blob/master/post-release I shouldn't do all that in a post-release hook, but probably better in a post-build-buildstep hook with latest dokku version or post-build if you have an older version.
Try to rename post-release to post-build-buildstep in your /var/lib/dokku/plugins/dokku-supervisord directory. Please contact the maintainer of the plugin, create an issue or PR there.

An update on this. I changed the post-release to post-build-buildstep but that didn't really solve our problem.
docker history progrium/buildstep:latest
https://gist.github.com/sebastiaandegeus/c302d18a704fd8a01cb5
We still need to investigate more why this is run every 5 minutes.

Cron?

Wow! @sebastiaandegeus something is definitely not right there.

There are no crontabs. /var/spool/cron/crontabs is empty.
I have some more investigation to do. I'm thinking puppet, automatic updates or the dokku-supervisord plugin. I will do some testing to figure out what is causing it.

Maybe sudo logs could help?

I think this is it:
https://github.com/statianzo/dokku-supervisord/blob/41300fefe35bfd97b0fd8a067984a19caa98989a/install
Do you have a cron with "dokku plugin-install" or a "make install" from a dokku git repo?
And FYI, apt-get clean is useless because apt-get is already configured to clean the download packages. You should use "rm -rf /var/lib/apt/lists/*" instead of apt-get clean
here https://github.com/statianzo/dokku-supervisord/blob/41300fefe35bfd97b0fd8a067984a19caa98989a/install#L6 and here https://github.com/statianzo/dokku-supervisord/blob/41300fefe35bfd97b0fd8a067984a19caa98989a/post-release#L72
This is the /var/lib/apt/lists/* files that takes 10Mo on a layer each time.
cc @statianzo the author of the plugin. You should rename the file post-release to post-build-buildstep, see discussion above.

There is no cron.
Right now I'm 99% sure the problem is the dokku-supervisord plugin.
I will remove it for now and keep monitoring our dokku server.

Pushed v0.4.0 of dokku-supervisord with the pluginhook rename.

@statianzo Renaming the hook did not solve the problems for us. So maybe it needs some more reviewing.

Switched to doing rm -rf /var/lib/apt/lists/* as @vincentfretin suggested.

It seems like there isn't anything for dokku to do here. Please feel free to re-open if there is disagreement.

Agreed.

If you find that it does link back to the supervisord plugin, open an issue there.


Write development guide

Developing with many persons is challenging if not done right. I'll write a developer guide including VSC settings and a dockerfile so that all developers can work in the same environment.
Relates to #4

in order to track the individual progress:

[ ] dockerfile
[ ] dev guide

With poetry, Docker isn't necessary. I also believe that the guide is comprehensive enough at this point to set up new developers.


SipMask-VIS Build Issue

Hi,
Many thanks for sharing your work on instance segmentation!
I am writing regarding the error during installation of SipMask-VIS code. On running setup.py file from the SipMask-VIS repo ( as python setup.py build_ext install), I am getting the following error:
"distutils.errors.DistutilsSetupError: each element of 'ext_modules' option must be an Extension instance or 2-tuple"
On debugging, the error is happening due to extension checking at function "def check_extensions_list(self, extensions)" in the file ".../lib/python3.7/distutils/command/build_ext.py".
This instance checking fails for mmcv extension: setuptools.extension.Extension('mmcv._flow_warp_ext'). It is strange though because the mmcv._flow_warp_ext is a correct extension instance.
At first, logically, it should not fail while instance checking because the extension is of correct instance (setuptools.extension.Extension). Second, this is happening while installing mmcv 1.1.1 (as best match for mmcv>=0.2.10) as part of the setup.py code flow.
How shall I resolve this error? I even tried pre-installing mmcv-full both directly and compiled from source, both the same error happens. Shall I explicitly pre-install mmcv=0.2.1 as mentioned in your settings?
Let me know if I can provide further details. Looking forward to hearing from you!
Thanks!

@gauravmunjal13 Could you try to install it using my settings: PyTorch1.1.0, cuda9.0/10.0, and mmcv0.2.1.

Many thanks @JialeCao001 for your reply!
Yes, I did try with the same settings, with mmcv 0.2.1, it seems that the build is successful, with the last output log as:
Finished processing dependencies for mmdet==1.0rc0+unknown
However, while running training file dist_train.sh, it gives the following runtime error:
ImportError: cannot import name 'deform_conv_cuda' from 'mmdet.ops.dcn' (/home/.../SipMask/SipMask-VIS/tools/../mmdet/ops/dcn/__init__.py)
From the build logs, it does seem that it builds the extension "mmdet.ops.dcn.deform_conv_cuda".
Also, I did follow the error on the issues in mmdetection repo but haven't figured out how to resolve it in my case. I have followed the instructions as stated to install the mmdetection.
Any suggestions?

@gauravmunjal13 I feel that you still donot compile the project successfully.  Could you provide more details about the settings? Is it installed in conda? I suggest that you use my pytorch version.

Thanks, @JialeCao001 for your message!
Here are my settings:
PyTorch 1.1.0
Torchvision 0.3.0
CUDA version 10.0
Cudatoolkit 10.0
mmcv 0.2.10
pycocotools 2.0
mmdet 1.0rc0+unknown
GCC 6.5.0
Here is the list of instructions I followed:

conda create -n sip-mask python=3.7 -y
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
pip install mmcv==0.2.10
pip install git+https://github.com/youtubevos/cocoapi.git#"egg=pycocotools&subdirectory=PythonAPI"
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
python setup.py develop
cd ..
git clone https://github.com/JialeCao001/SipMask.git
cd SipMask/SipMask-VIS
python setup.py build_ext install

On running the 11th step, there are no errors and seems that the build is successful.
After that on running ./tools/dist_train.sh with the config file and GPU number, it gives the same error:
ImportError: cannot import name 'deform_conv_cuda' from 'mmdet.ops.dcn' (/home/.../SipMask/SipMask-VIS/tools/../mmdet/ops/dcn/__init__.py)
Possibly, I am missing something in the installation. Please let me know if I can provide further information.
Thanks!

@gauravmunjal13 Hi. You do not need to download the newest mmdetection and compile it (steps6-8), become our sipmask contains mmdetection of an old version. Try the command "python setup.py develop" after step 11.

@JialeCao001
Great! This solves the issue. Many thanks for your help!


Encountering "attempt to shift left with overflow" with 64-bit slice

I am newly trying to use the BitField API (.load() in particular), and I might be doing something wrong, but I found that the following code panics :
#[test]
fn fails_with_u64() {
    use bitvec::prelude::*;

    // The numeric value in `val` makes no difference
    let val = 0_u64; // u32, u16, u8 pass; u64 fails
    // Lsb0 vs. Msb0 makes no difference
    let boxed = BitBox::new(val.bits::<Msb0>());
    let _: u64 = boxed[0..64].load(); // 0..63 passes, 0..64 fails
}

like this :
   Compiling debug_bitbox2 v0.1.0 (/Users/kulp/Documents/Code/Rust/debug_bitbox2)
    Finished test [unoptimized + debuginfo] target(s) in 0.94s
     Running target/debug/deps/debug_bitbox2-c997261e3972ef97

running 1 test
test fails_with_u64 ... FAILED

failures:

---- fails_with_u64 stdout ----
thread 'fails_with_u64' panicked at 'attempt to shift left with overflow', /Users/kulp/.cargo/registry/src/github.com-1ecc6299db9ec823/bitvec-0.17.4/src/fields.rs:579:25
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    fails_with_u64

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

error: test failed, to rerun pass '--lib'

whereas using a u32 (or smaller) type to initialize the BitBox does not panic.
It smells like a fencepost error, given that boxed[0..63] passes while boxed[0..64] fails.
This occurs for me both on macOS 10.14.6 and on Arch Linux, with rustc 1.42.0 (b8cedc004 2020-03-09).

I should clarify that "using a u32 ..." makes sense only if the range is changed from the one I wrote. The original range where I found the issue was simply boxed[..]. Later I discovered the behavioral difference between [..63] and [..64].

Something isn't calling mask_for like it should be. I'll chase it down, thanks.

I found the issue; the load/store implementations were attempting to shift the accumulator value by the width of the transfer type, which causes a runtime error when the BitSlice<_, T>::load::<M> types T and M are the same width. I have fixed this in my development branch by removing the shift when it would cause overflow.
I want to keep the behavior that a bit slice fully spanning an element is a Region, not an Enclave, as this avoids needless aliasing in Domain views.

I want to keep the behavior that a bit slice fully spanning an element is a Region, not an Enclave, as this avoids needless aliasing in Domain views.

I will have to take your word for it. I think it would be wise at least to add this specific case to your document since it is still not clear into which of the nine cases in your diagram this case is supposed to fall.

Can you test if current develop works correctly for you? Sorry for the delay; it's been. Quite the year.

Can you test if current develop works correctly for you?

I started to test my original (private) code using
bitvec = { git = "https://github.com/myrrlyn/bitvec.git", branch = "develop" }

but I immediately noticed some API differences :
error[E0599]: no method named `bits` found for type `u32` in the current scope
  --> src/lib.rs:30:46
   |
30 |             bv.extend_from_slice(u.to_bits().bits::<Lsb0>());
   |                                              ^^^^ method not found in `u32`

and also
error[E0277]: can't compare `&bitvec::slice::BitSlice` with `bitvec::vec::BitVec`
   --> src/lib.rs:293:34
    |
293 |                 } else if header == bitvec![0, 0] {
    |                                  ^^ no implementation for `&bitvec::slice::BitSlice == bitvec::vec::BitVec`
    |
    = help: the trait `std::cmp::PartialEq<bitvec::vec::BitVec>` is not implemented for `&bitvec::slice::BitSlice`

I just wanted to check first whether these API differences are expected before I go to effort to port to the new API.

Sorry for the delay; it's been. Quite the year.

No big deal from my perspective. Thanks for your work on bitvec.

Yes, the trait renames are marked in the CHANGELOG, and I will restore the names for a deprecation cycle.
The equality failure is weird. That should work, and clearly my attempt to refactor these implementations dropped some support that I will restore. I will also emphasize in the documentation that bits! should be preferred over bitvec! for the construction of a literal sequence that will not be used as a persistent buffer.

I believe that equality is now as broadly-implemented as I can get it. If you are still having equality issues in 0.18, please file an issue again; as the BitField implementation is now correct; I am going to close this issue. Thanks again for the report!


python list output in Jupyter notebooks does not appear

Type: Bug
Jupyter notebook cells do not output lists.
steps:

Create a new notebook x.ipynb
Kernel Python 3.9.5
Enter list(range(5)) in the first cell and evaluate
The output pane is empty.
Running the same at the terminal prompt returns the proper result.

  The grid renderer does not display list objects.

@amunger is this possible affected by the scrollable output (I'm guessing by the screenshot)

I don't think there's any scrolling output here.

John Mark Agosta
Palo Alto, CA
@.***
On Tue, Feb 28, 2023 at 3:44 PM Peng Lyu @.***> wrote:

@amunger https://github.com/amunger is this possible affected by the
scrollable output (I'm guessing by the screenshot)
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/175608#issuecomment-1449094723,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAVKO3NJ46NIJNBCSSPNKLWZ2EUTANCNFSM6AAAAAAVKC6LLU
.
You are receiving this because you authored the thread.Message ID:
@.***>

yeah that's how the Data Table Renderers renders output.
It looks like that renderer just doesn't like arrays in plain text output.
Nothing we can do on this side though, that's the output that we receive from the kernel. If you click the three dot menu (on the left side of your screenshot) you can switch the renderer to the built-in one.


fix: node spec ip

Always check/update the node IPs because the network IP may change after node eviction, especially in the case of spot instances.
Pull Request

What? (description)
Why? (reasoning)
Acceptance
Please use the following checklist:

[ ] you linked an issue (if applicable)
[ ] you included tests (if applicable)
[ ] you ran conformance (make conformance)
[ ] you linted your code (make lint)
[ ] you linted your code (make unit)

See make help for a description of the available targets.

/m


Location of tdm-gcc-4.9.2.exe on SF was changed

Previous location of tdm-gcc-4.9.2.exe is no longer valid.

Sorry, we don't accept pull requests for this repo. Maybe we could if you signed a CLA, but I can't check right now. Generally we just fix this repo when we need to update our Windows VM images, which is incredibly rarely.
(Hey @adg, can you hook up @gopherbot to this repo? Should we make this repo's upstream be go.googlesource.com with the rest?)

Ok, I've just followed instructions in WindowsBuild in golang/go Wiki in which is recommended the winstrap method for getting working Go build environment for development on Windows. I've thought it's not only for gopherbot, but generally for developers too.
I actually don't want to go through CLA for a simple URL change. I only want to get lower entry barrier for Windows developers, because winstrap is not working now. Please take ownership of the change and commit it yourself if you want (or any other Go developer with CLA).


⚠ AZ-Launcher has degraded performance

In b8bd840, AZ-Launcher (https://az-launcher.nz/) experienced degraded performance:

HTTP code: 200
Response time: 12374 ms

Resolved: AZ-Launcher performance has improved in ed73377 after 11 minutes.


fix: If a message is from a DM, don't try setting its guild_id

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition

Description
Fixes #230
Changes
Two fixes:
First, ensures the channel is actually in cache, as message.channel does not fallback
Secondly, checks that the channel is actually a GuildChannel before accessing it's .guild property.
Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.10.x
[x] I've tested my code

[x] Works


RFC: Standardized Seed Mnemonic System

Motivation
Creating a standardized mnemonic system for storing seeds seems like it would be a great benefit to the community.
A mnemonic code or sentence is superior for human interaction compared to the handling of raw binary or hexadecimal representations of a wallet seed. The sentence could be written on paper or spoken over the telephone.
This is one of the future items on the docket for nanovault and I think it would a good idea to standardize this across multiple wallets so as not to introduce vendor lock by using a mnemonic to write down your seed.
This standard is meant to be a way to transport computer-generated randomness with a human readable transcription. It's not a way to process user-created sentences (also known as brainwallets) into a wallet seed.
Proposal
My proposal is a standard similar to BIP39, modified for use with our 256 bit seeds. The mnemonic generation would be the same, which is copied here for easy reference:
Generating the mnemonic
The mnemonic must encode entropy in a multiple of 32 bits. With more entropy
security is improved but the sentence length increases. We refer to the
initial entropy length as ENT. The allowed size of ENT is 128-256 bits.
First, an initial entropy of ENT bits is generated. A checksum is generated by
taking the first ENT / 32 bits of its SHA256 hash. This checksum is
appended to the end of the initial entropy. Next, these concatenated bits
are split into groups of 11 bits, each encoding a number from 0-2047, serving
as an index into a wordlist. Finally, we convert these numbers into words and
use the joined words as a mnemonic sentence.
The following table describes the relation between the initial entropy
length (ENT), the checksum length (CS) and the length of the generated mnemonic
sentence (MS) in words.

CS = ENT / 32
MS = (ENT + CS) / 11

|  ENT  | CS | ENT+CS |  MS  |
+-------+----+--------+------+
|  128  |  4 |   132  |  12  |
|  160  |  5 |   165  |  15  |
|  192  |  6 |   198  |  18  |
|  224  |  7 |   231  |  21  |
|  256  |  8 |   264  |  24  |

Wordlist
An ideal wordlist has the following characteristics:
a) smart selection of words

the wordlist is created in such way that it's enough to type the first four
letters to unambiguously identify the word

b) similar words avoided

word pairs like "build" and "built", "woman" and "women", or "quick" and "quickly"
not only make remembering the sentence difficult, but are also more error
prone and more difficult to guess

c) sorted wordlists

the wordlist is sorted which allows for more efficient lookup of the code words
(i.e. implementations can use binary search instead of linear search)
this also allows trie (a prefix tree) to be used, e.g. for better compression

The wordlist can contain native characters, but they must be encoded in UTF-8
using Normalization Form Compatibility Decomposition (NFKD).
From mnemonic to seed
This section is modified from the BIP39 standard to fit with our seed key length and use the new Argon2 hashing function.
A user may decide to protect their mnemonic with a passphrase. If a passphrase is not present, an empty string "" is used instead.
To create a binary seed from the mnemonic, we use the Argon2 function with a mnemonic sentence (in UTF-8 NFKD) used as the password and the string "mnemonic" + passphrase (again in UTF-8 NFKD) used as the salt.
Argon2di is used as a key derivation function with the parameters:

iterations: 128
parallelization (number of threads): 1
memory size: 1024kb
output length: 32 bytes (the default for Argon2)

This gives a good compromise of time and memory protection while being fast enough to calculate relatively quickly even on low-power devices like cell phones.

In the meantime I use this tool https://github.com/iancoleman/bip39 to generate 24-word seed & use its entropy as seed to Nano Desktop wallet.

I second this

BIP39 please. That would open a potential road / make it easier to integrate into hardware wallets in the future (i.e. Trezor Model T).