Command and Conquer

Project Link
https://www.openra.net/download/#linux
Project License
GPL3
Steam App Ids
https://store.steampowered.com/app/1213210/Command__Conquer_Remastered_Collection/
Additional Context
Also does Dune 2000, but that's not on Steam.
Also there is,
https://github.com/MustaphaTR/Romanovs-Vengeance
For Red Alert2, but that games not on Steam.

@ddlyarcher It looks like currently, only Tiberian Dawn has had a project for implementing remaster support so far: https://github.com/pchote/TiberianDawnHD
I haven't seen anything for red alert. Implementing the tiberian dawn one should be pretty straight forward, so I'll look into that soon.

Added in https://github.com/luxtorpeda-dev/packages/commit/33738b52998cee14a8080f4f536354adc90e4395 for tiberian dawn, since it does not look like there's red alert support yet. Feel free to comment in this issue if that changes.

@d10sfan Vanilla Conquer seems to support cross-platform multiplayer for non-remastered version. Wouldn't it be good idea to add it for Tiberian Dawn and Red Alert?
https://github.com/TheAssemblyArmada/Vanilla-Conquer

@rea987 It looks like Remastered has the original cnc game data in it, and Vanilla Conquer does have support for the non-remastered on linux (but not the remastered content), so I'll look into it, basically having options for openra for remastered tiberian, then original for td and ra.

@rea987 You can see progress of this in here: https://github.com/luxtorpeda-dev/packages/pull/830

@rea987 This has been merged and should be live shortly. Note that like the notice says, the steam assets does not include campaign videos for the soviet campaign.

@d10sfan Nice! Would it be feasible to add OpenRA Playtest for Red Alert to use non-remastered assets? I understand that its current builds automatically downloads assets from a mirror featuring 2008 freeware release. For music and videos, user is expected to provide ISOs. Can this be made to use non-remastered assets of Steam release? If not, can it be added as it is? Thanks!

@rea987 Looking at OpenRA, it does not look like it detects the steam original game assets, so I don't think it'd make sense to add it as an option. If you find a way to do so, please let me know and I can implement that.


LF will be replaced by CRLF the next time Git touches it ,  ruff-format Failed forever.

pycham on windows ,
`- repo: https://github.com/astral-sh/ruff-pre-commit
Ruff version.
rev: v0.7.0
hooks:
# Run the linter.
- id: ruff
# Run the formatter.
- id: ruff-format`
LF will be replaced by CRLF the next time Git touches it

Hi @linpan
I'm struggling reproducing the issue. Could you help me by sharing your ruff configuration and describing what steps you took and when git replaces LF with CRLF?


Where can I find the description about the adreno’s counters?

I want to collect performance datas which are the same as SnapDragon profiler. But I can't find any information about the counters which this project collects at Qcom Websites, and the counters are different from Snapdragon profiler.
Could you give me some suggestions? Thanks a lot.

Right there aren't much information about Adreno perf counters readily available from QC. What I have here in the repo is from reading QC kernel source code (see my blog post here) and Mesa open source drivers for it. I summarized some resources at the end of this blog post. Helpfully that helps.
The purpose of this project is actually to collect and aggregate such information in a minimal and cross-vendor C library so one can feel free to link into the normal app to show performance numbers without resorting to heavy vendor-specific GPU tools. Curious what's your needs here? Does what's provided in this repo satisfying it? It's half backed for sure for now; but right now it has all the low-level counters exposed for both Adreno and Mali. Just need to build up the cross-vendor upper layer. I'm hoping to push it further later if I have more free time. Let me know. :)

Thanks for your reply!
I want to collect mobile GPU performance data, which can help us locate performance problems. I have finished collecting Mali with HWCPipe and PVR GPU's counters with PVR SDK, only Adreno GPU is left. I try to decomplie Snapdragon profiler, and find the same counters as yours. But it's difficult for me to find the formula between counters and performance data in decompiled code.
I would like to know how to calculate the performance data displayed by Snapdragon profiler with low-level counters.

Yeah, I see what you are trying to do there. But unfortunately it's also something TODO for me so I don't have the it readily available..

mark. I also have plan to do it.

Hi, everyone. I have the same questions and requirements. I know mesa are some formulas for calculating indicators, but I haven't fully verified their accuracy at present.I hope this problem can be opened continuously, and you can continue to collect and supplement it together.

Hi, everyone. I have the same questions and requirements. I know mesa are some formulas for calculating indicators, but I haven't fully verified their accuracy at present.I hope this problem can be opened continuously, and you can continue to collect and supplement it together.

It's great!
I try to decompile Snapdragon Profiler and get some key about A6XX counter. My results is basically the same as mesa's, but something is different.

The Instructions values in mesa is 4 times smaller than mine, and my test result shows I am right.
The mesa calculates Fragment Shader with 4 * HLSQ_QUADS, but I try to collect A6XX_HLSQ_QUADS and find it's always 0. I try to use A6XX_HLSQ_PIXELS instead and it works for my case. (Maybe HLSQ_QUADS works for A5XX or other)

Besides, it seems to face the same problems as me. For example, I can't get formula about Read Total, Write Total, which is diffcult to get by static analysis, but these counters are important for me.

There are several counters, which is calculated by max_freq in mesa. So I read the source of mesa, trying to find how it gets max_freq. Unfortunately, I found that there is no way to get the value of max_freq.
mesa use mesa-drm to communication with gpu driver. And in mesa-drm, there are two functions about max_freq.

one is kgsl_pipe, which return -1 default.
one is msm_pipe. I tried it in Pixel 4a but got 0.

Now, I focu on agi, and find it uses libgpudataproducer.so to get counter. libgpudataproducer.so seems to be a gpu driver, and I have no idea about it.
This is all my progress so far。

@HackHarry I use one rooted phone (Mi 8) and try to hook the ioctl systemcall while runing perfdog/snapdragon profiler.
It seems that's work for me to find which counter they are using：
for example，Write Total (GPU Memory Stats) should be group = 13 and counter id = 84; Read Total (GPU Memory Stats) should be group = 13 and counter id = 63;
I will try to test it.
Following is my wechat code. As it seems not so convenient to do discuss on github so anyone interested can contact me  and I would prefer to do more discuss on online group.


Add set "charset" for webpage.

Subject of the issue
Describe your issue here.
Your environment

version of node: run node --version
version of npm: run npm --version

Steps to reproduce
Tell us how to reproduce this issue.
Expected behaviour
Tell us what should happen.
Actual behaviour
Tell us what happens instead.

https://github.com/matthewmueller/x-ray/issues/183

Closing as duplicate of #183


ios not registering

Expected Behaviour
To register device, or actually get data when push.on('registration') is called
Actual Behaviour
it's just not happening. I tried debugging from the console and I just get undefined
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
debugging on ios 7.1.2
Cordova CLI version and cordova platform version
cordova --version 5.4.1
cordova platform version ios 4.1.0

Plugin version
latest one

Same here with phonegap build service.
PushNotification is not defined.

I had the pushNotification is not defined issue, but I fixed it by updating cordova ios to 4

Yeah, me too, by now :)
Discovered you could use Phonegap 6 on the build service, which uses cordova ios 4+

@FutoRicky Cordova iOS 4 only support iOS 8 or greater. You'll have to test on a new device, sorry.

@macdonst tested it on a greater ios and still the same issue

@FutoRicky okay, do you have the iOS certificates with push enabled installed for your bundle ID?

@macdonst That is correct

@FutoRicky super weird. Can you run the app in Xcode? It should give some better clue as to why registration isn't being called.

@macdonst
getting this:
FAILED pluginJSON = ["PushNotification677907933","PushNotification","init",[{"android":{"senderID":"395336045307"},"ios":{"clearBadge":"true","alert":"true","badge":"true","sound":"true"}}]]

@FutoRicky weird. I bet if you look in your Xcode project you'll see that PushPlugin.m hasn't been added to the project in the Plugins folder. You might be better off deleting your platforms and plugin directories and starting from scratch.

@macdonst That fixed it. Thanks!


HARP-7835: Removal of MapView.worldRoot

Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
CI Check
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

Codecov Report

Merging #1405 into master will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1405      +/-   ##
==========================================
+ Coverage   54.73%   54.86%   +0.13%
==========================================
  Files         255      266      +11
  Lines       23469    23755     +286
  Branches     5277     5330      +53
==========================================
+ Hits        12845    13034     +189
- Misses      10624    10721      +97

Impacted Files
Coverage Δ

@here/harp-mapview/lib/MapView.ts
61.28% <ø> (+0.09%)
:arrow_up:

@here/harp-materials/lib/IconMaterial.ts
44.44% <0%> (-55.56%)
:arrow_down:

@here/harp-map-controls/lib/Utils.ts
46.15% <0%> (-23.85%)
:arrow_down:

@here/harp-omv-datasource/lib/OmvTiler.ts
50% <0%> (-16.67%)
:arrow_down:

@here/harp-utils/lib/ObjectUtils.ts
83.33% <0%> (-10.22%)
:arrow_down:

@here/harp-utils/lib/UrlUtils.ts
84.09% <0%> (-7.81%)
:arrow_down:

@here/harp-datasource-protocol/lib/Extruder.ts
8.33% <0%> (-5.96%)
:arrow_down:

@here/harp-lines/lib/TriangulateLines.ts
11.9% <0%> (-2.99%)
:arrow_down:

@here/harp-materials/lib/Utils.ts
81.42% <0%> (-1.91%)
:arrow_down:

@here/harp-utils/lib/Logger/ConsoleChannel.ts
69.23% <0%> (-0.77%)
:arrow_down:

... and 29 more

Continue to review full report at Codecov.

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


How can I receive resize event?

It says that blackgate doesn't maintain this project.. but let me ask this here anyway... (hopefully someone can answer).
How can I subscribe / receive onresize type event when user moves the splitter?

I've added scope.$broadcast for various resizing events and submitted a pull request

https://github.com/blackgate/bg-splitter/pull/20


Mono Compiler

Hi,
In the readme you stated that the mono compiler needs to be in the same folder as the project, where can I get the mono compiler? Can you please provide a path? Thanks!

You can just copy it from the Unity folder, around /Editor/Data/Mono. Copy the Mono folder into the root of your project (so it'd be the same folder where Assets is located) and it should work.

Okay I see, I'll try and figure out where the unity folder is haha as I'm on linux. Thanks for the help!

/opt/Unity/Editor/Data
Got it!

I still have the same error, any ideas?
Unable to compile Mod Bundle 'Character'System.ComponentModel.Win32Exception: ApplicationName='/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Mono/bin/gmcs', CommandLine='-target:library -out:"/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Mods/Character/Character.dll" -r:"/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Library/ScriptAssemblies/Assembly-CSharp.dll" -r:"/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Sample_Data//Managed/UnityEngine.dll" -r:"/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Sample_Data//Managed/UnityEngine.UI.dll" "/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Mods/Character/Scripts/Character.cs"', CurrentDirectory='/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample'
  at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0
  at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x00000] in <filename unknown>:0
  at Mod.Init () [0x0037a] in /home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/Scripts/Modding/Mod.cs:128
UnityEngine.Debug:Log(Object)
Mod:Init() (at Assets/Scripts/Modding/Mod.cs:145)
ModManager:LoadMod(String) (at Assets/Scripts/Modding/ModManager.cs:62)
ModManager:Initialize() (at Assets/Scripts/Modding/ModManager.cs:132)
ModManager:get_Instance() (at Assets/Scripts/Modding/ModManager.cs:20)
Game:Start() (at Assets/Scripts/Game.cs:9)

I'm currently unable to test on Linux but i'll be able to test it on OSX tomorrow (It uses the same version of Mono).
In the meantime, could you check if your Mono folder has a file named gmcs in the bin folder?

I managed to find a work around in the meantime at https://github.com/aeroson/mcs-ICodeCompiler.
Yes the folder does have gmcs. One thing that came to mind was that maybe the paths were different in linux/osx than windows so something like
Unity-CSharp-Mod/Sample/Assets/../Mono/bin/gmcs
is handled differently. I'm not too sure. However I think it would be a great idea to implement the solution used in the link above as it is fully contained.
I will look into that project in the meantime and try to understand how I can integrate these two projects.

Thanks for the tip, I didn't know the paths could cause problems, and that repo will let me also make the Mono bundle smaller. I'll look into it soon.

Just wanted to report that the compiler above definitely seems to have some wierd bugs... Just to make sure I'll load this project on Windows with the same code and see if the problem persists

Something I found useful was the article below, which states three different routes: Roslyn, CodeDom and MCS.
Currently MCS is being used (I believe? correct me if I am wrong) while Roslyn cannot be used as Unity (via Mono) uses quite an ancient version of .NET while Roslyn requires .NET 4.5 (afaik).
I am going to go ahead and try the CodeDOM route as it seems it would be much more platform agnostic and also supposedly faster.
Article: http://benohead.com/three-options-to-dynamically-execute-csharp-code/

Thanks, I'll have a look at this soon and see if I can find out the best way to make things work out for this repo.

Good news!
I some how got it to find Mono, now I have a different error.
Unable to compile Mod Bundle 'Character': error CS0006: cannot find metadata file `/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Sample_Data//Managed/UnityEngine.dll'
error CS0006: cannot find metadata file `/home/bismarck/Documents/Development/Unity-CSharp-Mod/Sample/Assets/../Sample_Data//Managed/UnityEngine.UI.dll'

UnityEngine.Debug:Log(Object)
Mod:Init() (at Assets/Scripts/Modding/Mod.cs:133)
ModManager:LoadMod(String) (at Assets/Scripts/Modding/ModManager.cs:62)
ModManager:Initialize() (at Assets/Scripts/Modding/ModManager.cs:132)
ModManager:get_Instance() (at Assets/Scripts/Modding/ModManager.cs:20)
Game:Start() (at Assets/Scripts/Game.cs:9)

Ah yes, you have to build it once and copy the Sample_Data folder to the Sample folder. So basically make a build, copy Sample_Data, into the Unity-CSharp-Mod/Sample folder. It should work that way.

You may choose to enable compilation with the MODMANAGER_COMPILES_MODS define on your player. Otherwise, it'll only try to load the mod .dll. You need a Mono folder containing the Mono compiler (usually from your Unity installation) in the same folder as the project folder in order to compile.

You may choose to disable mod loading at runtime and instead load all mods from memory by compiling all mods into your project and adding the MODMANAGER_LOADS_FROM_MEMORY define to make the mod manager search for all Moddable Types in your Unity assemblies. This is useful in Mobile builds where you can't run the compiler.

Ah yes, you have to build it once and copy the Sample_Data folder to the Sample folder. So basically make a build, copy Sample_Data, into the Unity-CSharp-Mod/Sample folder. It should work that way.

So I take it from this that "metadata" is referring to a ".dll"? And if so shouldn't doing the following fix it?

You may choose to enable compilation with the MODMANAGER_COMPILES_MODS define on your player. Otherwise, it'll only try to load the mod .dll. You need a Mono folder containing the Mono compiler (usually from your Unity installation) in the same folder as the project folder in order to compile.

You may choose to disable mod loading at runtime and instead load all mods from memory by compiling all mods into your project and adding the MODMANAGER_LOADS_FROM_MEMORY define to make the mod manager search for all Moddable Types in your Unity assemblies. This is useful in Mobile builds where you can't run the compiler.

Game.cs

#define MODMANAGER_COMPILES_MODS
#define MODMANAGER_LOADS_FROM_MEMORY

using UnityEngine;

public class Game : MonoBehaviour
{
    public GameObject Player;

	void Start ()
    {
        Player = ModManager.Instance.Spawn("Character", Vector3.zero);
	}
}

Yes, the metadatas are usually DLLs.
You should define MODMANAGER_COMPILES_MODS on your Unity Player Settings if you want to compile the mods yourself, or MODMANAGER_LOADS_FROM_MEMORY to load the mods from your source code in Unity. It'll find all Mods and load them.

Yep that did the trick! Sorry, I had no idea how to use defines in Unity

Now onwards to reverse engineering this project and then replacing the Mono SDK with the compiled .dll provided in the other project... Haha hopefully it's as simple as it sounds

Let me know how that goes! Don't worry, if you aren't able to do it I can do it myself when I get a chance :)

Fear not! The only thing I enjoy more than solving a challenge, is finding another one :smile:

When you get a chance however could you briefly outline how this project works? Just a small summary would go a long way, Thank you!

Of course! Basically I find all Mods inside the Mods folder, search for a .mod file which is really a JSON, parse the JSON, read the details and configurations, if needed, then try to compile the .cs files inside it into a DLL which I can load in Unity.
Then, I search for all Moddable subclasses and register them as available moddables with the same name.
You can create instances of the Moddables yourself or do like I did and make them subclasses of MonoBehaviour. Or both, you can make it search for Moddables and ModdableBehaviours!
I used this more in depth for a game I am working on, where I could create entities and resources from Moddables.

Awesome that makes a lot of the code much clearer. I'll be running through and expect to have a first beta release done in about 16 or so hours (not sure what timezone you're in so it makes more sense to refer to hours).
I was thinking it would be a great idea if we could then work on creating something branching off of this project into something a bit more inclusive and production ready which we could then put on the Asset Store?
Would working on something like that together be something you would be interested in?

There's not a lot of modding support for Unity when it comes to assets, so it might be a good idea.

Okay great, once I have something meaningful I will create a repo and share it with you and we can go from there.

If it's okay with you I'd like to use this issue to ask some specific questions about the code. Feel free to answer only at your convenience.

Sure, that sounds good

ModManager.cs : ~ line 100
        Array.ForEach(AppDomain.CurrentDomain.GetAssemblies(), (Assembly) =>
        {
            Array.ForEach(Assembly.GetTypes(), (Type) =>
            {
                if(Type.IsSubclassOf(typeof(Moddable)))
                {
                    MemoryMod.Moddables.Add(Type.Name, Type);
                }
            });
        });

In this it gets all the loaded assemblies but then adds it to the MemoryMod? Is there a reason for adding Moddables to the MemoryMod? And on that note what exactly is the MemoryMod? it seems like it might be some kind of special mod that oversees other mods?
It seems that it adds "Character" as a Moddable when this snippet of code is run, however when the "Mods" folder is removed from "Assets/Scripts/Mods" which contains a duplicate of the "Character" mod which is also found in the "${Project}/Mods" folder this no longer occurs and Memory.Moddables is empty.
So then is it correct for me to assume that this snippet of code serves to search the Unity project's assets for any Moddables so that they are also loaded, and if so then I would assume they are not compiled? As they are already compiled by Unity.
And if that assumption is correct then MemoryMod serves to handle Moddables that are loaded from the Unity Project?
P.S: sorry for being so verbose with my questions, once again only reply at your own convenience :smile"

Okay I think I think most of my assumptions above are correct which leads me to believe that this Mod System supports either loading from the "Assets" which includes anything inside the "${Project}/Assets OR loading from the "Mods" which is "${Project}/Mods" but never both at the same time.
If so then this itself would be a limitation that needs to be overcome in order to allow both user supplied mods and developer supplied mods.
#2

Wouldn't lines like the following cause errors on Windows? As the backslashes are replaced, I'm speaking from memory on this but I was pretty sure last I checked that Windows used backslashes for paths.
string ModDirectory = Environment.CurrentDirectory.Replace('\\', '/') + "/Mods/";

Line

Regarding the memory mods and non-memory mods: You're supposed to bundle your developer mods the same way as the non-developer mods, that's why it doesn't support both.
Regarding ModDirectory: Windows actually supports forward slashes when it comes to code, so I'm basically formatting everything so it's always using forward slashes. I know this because my main platform is Windows and I've done that for a long time.

And yes, loading from memory searches all loaded assemblies for compatible scripts and adds them into the dummy memory mod.

Regarding the memory mods and non-memory mods: You're supposed to bundle your developer mods the same way as the non-developer mods, that's why it doesn't support both.

That's clever! I haven't gotten all the way through Mod.Init() but then I am assuming that loading ".dll"  Mods (probably by copying to a place where Unity can load it) is a planned feature if it is not already included. I say this because many developers may decide to ship mods that contribute a lot to the game and that they would want to remain closed source, hence providing only a ".dll" for that and not the complete source code.

Windows actually supports forward slashes when it comes to code

Haha, that's good to know but greatly confusing. Great job Microsoft :smile:

And yes, loading from memory searches all loaded assemblies for compatible scripts and adds them into the dummy memory mod.

Okay that makes a lot more sense seeing as mods are ideally not supposed to come from within "${Project}/Assets"

Wow! Just wanted to comment that your code is quite excellent to follow, after your clarification of the MemoryMod everything else seems to be implemented very well, great job!

Mod.Init() tries to load the mod and compiles it (but only if MODMANAGER_COMPILES_MODS is on) before attempting to load it (Could maybe make this simpler)
And thank you kindly for that last comment about my code quality. I always try to make very readable code in general!

Okay so I've finished digesting and reverse engineering :) that usually take a while longer. And two things come to mind first.

As per Mono should 'mcs' not be used in place of 'gmcs'

Doesn't this compilation method require shipping the game with the complete Mono SDK

For point two, it may be a good idea to look into CodeDOM which may require less dependencies. But still last I tried, calling CodeDOM from unity just wants gmcs... So this may be something to look into.

Yeah, I wanna see if there's some better way to do these. What issues did you have with that other project?

The main issue is that the binary mcs all is compiled in a non verified way which creates many variables and more directly I guess I found a case where I could not run a mod that would simply crash unity. The code itself was fine as I spent a few hours verifying so. But since the mcs is compiled oddly I suspect something in there is buggy.
I know there's a thread somewhere with a few extra details on how mcs was compiled so I'll see if I can find it and the we can try to make a modified version for this library.

Here's the thread. But there weren't any responses unfortunately
http://forum.unity3d.com/threads/compiling-c-at-runtime.376611/

It might be worth noting that the Mono folder used by Unity is only ~100 MB. So from that angle the current solution isn't a big deal. However, for flexibility it may be more suitable to use something like CodeDOM, which as far as I can tell is a much more elegant solution.

Tada! The fruits of my labor. I will get to work on this and invite you to the repo I'm working on once I make a commit to it. But for now here's the compile mcs.
Plugins.zip

Unfortunately it continues to crash with my test case... Back to square one

I still believe that using a compiled mcs is preferable to providing a MonoRuntime so I will go ahead and write my own implementation of aeroson's ICodeCompiler and see if I can get anywhere...

Okay, this is quite basic but if you look at the following it is a very simple implementation of CodeDom that can easily be built upon.
Modding System.zip

I think that might work but you shouldn't store the assemblies in memory, that will likely cause issues with Unity's unloading of assemblies and also we want the assemblies to be loadable from files anyway. The Load from Memory is mostly available because it's loaded with the game DLL itself.

Okay so I am at a crossroad of sorts right now.
In either method, as you have pointed out, ideally we want to create and load a DLL. However, regardless of how we make the dll it should not be made within the unity game because then we would need to setup a system where the user has to restart the game after the mod has been compiled from Source.
This is because we should always keep dynamic compilation as an option, so instead the only solution I can come up with is to script a "launcher" that does the compiling, puts the dll in the right place and then launches the Unity game, what do you think/

Do you know where the .dll needs to be placed to be detected by the built game?

Managed to get dll loading with this little hack.

 string dataPath = Application.dataPath;
        #if UNITY_EDITOR
        dataPath = Application.dataPath.Replace("/Assets", "");
        #endif
        string path = dataPath.Replace("\\","/") + "/CoreMod";
        LogWriter.Log("Looking for dlls in '" + path + "'");

        List<string> dlls = new List<string>();;

        var files = Directory.GetFiles(path, "*.dll", SearchOption.AllDirectories);
        foreach (var file in files)
        {
            LogWriter.Log("DLL Found: " + file);
            dlls.Add(file.Replace("\\", "/"));
        }

        Assembly assembly = Assembly.LoadFrom(dlls[0]);
        var types = assembly.GetTypes();

        foreach (var type in types)
        {
            gameObject.AddComponent(type);
            LogWriter.Log(type.ToString());
        }

Regarding the mod compilation, we already compile the mods when loading them, so the user doesn't have to wait till mods are done and have to restart, because it compiles the mods on startup.
Regarding the DLLs, they should likely remain in the same folder as the mod that is being compiled, and the DLL should be named the same name as that folder.

Regarding your DLL loading, I hope that's demonstration code, because you don't want to add components to some gameobject of every component found on the mods.

thanks for that catch, I was supposed to add a routine so that only those scripts with monobehvaiour are attached to a game object

You can just make a list of all Types that subclass Monobehaviour

Yep. I was going to use a small snippet that checks if the class can be
attached to a gameobject and if not then to just load it directly
On Friday, 8 July 2016, Nuno Silva<EMAIL_ADDRESS>wrote:

You can just make a list of all Types that subclass Monobehaviour
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/LittleCodingFox/Unity-CSharp-Mod/issues/1#issuecomment-231326875,
or mute the thread
https://github.com/notifications/unsubscribe/AIlUfeBWAyaOkInlIv407ciBBmOHYBj9ks5qTiVCgaJpZM4JD1cp
.

--
Thanks,
Rafi Khan

You can just use LINQ to filter through the types. Check what I do when I'm done loading the assembly.


Generating enums with "-" from spec

Problem statement
Enum values with the character - generated with literal Dash as MyEnumLovelyDashValue MyEnum = "lovely-value"
The main problem that before last update it skipped the - and generated proper names as `MyEnumLovelyValue MyEnum = "lovely-value"
Swagger specification
swagger: '2.0'
Steps to reproduce

Create swagger.yaml with enum type:

  MyType:
    type: string
    enum:
      - one-two
      - two-three
      - ten-one

Run swagger generate model --spec=swagger.yaml

Environment
swagger version: 0.26.1
go version: go1.13.9
OS:   darwin/amd64

The problem here is inconsistency, the older versions of go-swagger didn't name enumerations this way, so when upgrading the tool to the newest versions, you don't have an option to avoid an enormous refactor.
A simpler solution would be to parametrize the environmentCleanup function logic, allowing the user to select the behaviour he wants

Any updates regarding this issue? i have the same issue

I see that it was added in https://github.com/go-swagger/go-swagger/pull/2464
The problem is that it's not backward compatible, it will be nice to have at least an option to work with the old format.
Otherwise we will need to go over all the code + clients that are generated to fix it in multiple repos

OK i saw that you resolved it by https://github.com/openshift/assisted-service/pull/2872/files#diff-cd3c90d4f4561232dd163f1783d1fe993d24389537eda6e615219a98ca05716cR57
not sure how i feel about it


nixos/filesystems: enum type for supportedFilesystems

Description of changes
Restricted the boot.supportedFilesystems option to the known filesystems in nixpkgs (by grepping for supportedFilesystems).
My motivation for this change was a silly typo, boot.supportedFilesystems = [ "ntfs " ]; (notice the space), and it took me a while figuring out why did my system build but didn't have ntfs support.
I was surprised about how was this not an enum yet, please let me know if there is a good reason for it. The only things I can think of is a tiny maintenance burden, where new filesystems must also be registered in this file OR someone using a filesystem that wasn't registered in nixpkgs, thus breaking their config with this change. However, I assume these are pretty rare cases.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

More generally, how can we be sure that this in an exhaustive list of filesystems?

@999eagle good question. Looking at /proc/filesystems, there's a lot more filesystems that are not in this PR, but I'm not sure if we need them.
My /proc/filesystems is pretty small compared to someone else's I found online:
cat /proc/filesystemsnodev	sysfs
nodev	tmpfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cgroup2
nodev	cpuset
nodev	devtmpfs
nodev	configfs
nodev	debugfs
nodev	tracefs
nodev	securityfs
nodev	sockfs
nodev	bpf
nodev	pipefs
nodev	ramfs
nodev	hugetlbfs
nodev	devpts
	ext3
	ext2
	ext4
	squashfs
	vfat
nodev	ecryptfs
	fuseblk
nodev	fuse
nodev	fusectl
nodev	efivarfs
nodev	mqueue
nodev	pstore
	btrfs
nodev	autofs
	xfs
	jfs
	msdos
	ntfs
	minix
	hfs
	hfsplus
	qnx4
	ufs
nodev	zfs
nodev	binfmt_misc
</details

there's a lot more filesystems that are not in this PR, but I'm not sure if we need them.

That's exactly the issue with this in my opinion. If we make this an enum, we have to list all possible filesystems people would want to use, not just the common ones. Of course we could provide an escape hatch using something like types.either (types.enum [...]) types.str but then we also wouldn't error out on unknown filesystems like "ntfs ".
Another approach might be to use something like types.either (types.enum [...]) (types.submodule {...}) which would allow something like boot.supportedFilesystems = [{otherFs = "ceph";}]; to list filesystems not allowed in the enum. This would be somewhat unwieldy and surprising to use though.

Thanks for coming up with and sharing some ideas! Yes, the first option would defeat the motive of this PR and the second would introduce more complexity which won't outweigh the benefits of saving users from a typo IMO.
For now I'll just add the aforementioned filesystems.

At least ceph and overlayfs are still missing. I still think we need some kind of escape so arbitrary filesystems not listed here can be used.

Added those 2 filesystems as well, thanks! Do you think we should go with the submodule aproach for other filesystems?


Add changeset to the PR 5593

Hey, I just made a Pull Request!
PR 5593 is missing changeset which is blocking it from being merged https://github.com/backstage/backstage/pull/5593#issuecomment-834159686
We would like to be able to use this functionality to allow displaying new types in the catalog. According to @blam this is the missing piece.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thanks for adding this @taras! 😄 I ended up adding a changeset, so I am closing this out.


Update from CoreOS to Flatcar linux for az vm images list

As CoreOS is deprecated and there is no Image in the marketplace any more, update to use Flatcar linux instead in the list of available images.
There is already a PR (https://github.com/Azure/azure-rest-api-specs/pull/14796) in the API Specs repo which holds the master list.  We need to update our local fallback copy (https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/vm/_alias.py) so that this work in environments where endpoint_vm_image_alias_doc is not set.

Once this is merged we should also update the example in https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage

Add @dbradish-microsoft to help with updating the example in example in https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage once this is merged.


(GH-92) Create reports for MsBuild warnings

Creates reports for MsBuild warnings using Cake.CodeAnalysisReporting.
Fixes #92

@pascalberger so, I have been giving this some thought, and I think we need some changes to what you have here.  Let me try to explain, and see if you agree.
I think that the new work of performing the code analysis reporting should be added as a new sub-task here:
https://github.com/cake-contrib/Cake.Recipe/blob/develop/Cake.Recipe/Content/resharper.cake#L96
In the same way that the DupFinder and InspectCode analyses are done.  With that done, I think the name of that file needs to change to more accurately reflect what it is being used for.  Once that is done, we should be able to put the similar Criteria in place to allow the end-user to decide whether or not to perform the analysis or not.
Does your addin return an error if problems are found?  i.e. can it stop the build?  If so, it might be good to use a similar ReportError to open the report that was generated.
What do you think?

@gep13 Sounds good to me. I'll update the PR

@gep13 I've moved the code to a sub-task with the other code analysing task.
I didn't have added any criteria yet to disable creation of the reports yet. How can the other analyzing tasks be disabled? Looking at the code it seems like they always run.
Since the plugin doesn't actually run the code analysis (this is done during build) but only creates reports, it currently didn't report back if any warnings were found or not. The reports are currently always build even though there are no warnings available. I think this could be enhanced in the plugin to only create the report if warnings exist in the MsBuild log and add a setting if build should break if warnings were found (but IMHO this should be the job ob the build executing the code analysis and not of the addin creating the reports)

@pascalberger apologies, I thought I had added in build parameters to control whether or not DupFinder and InspectCode were executed, but it looks like I haven't added that step yet 😢

@pascalberger hmmm...
Ok, thinking about this some more...  If the build doesn't succeed, this task will never execute.  Would you want this step to occur in the Finally section of the Build Task instead of here?  That way, it would be ran always, and can provide additional information about the build failure?

@gep13 See #94


feat(a11y): alternative text for the FontIcon

add attribute to set an alternative text to the icon.
hide the text inside the component used by Material to render the icon.
remove unused attribute children. This attribute had the same description as the value attribute in the README file.

It is related with #225.

Thank you!!


fix: annoy indexer remove jina from requirements

New jina version after https://github.com/jina-ai/jina/pull/1557 is published should work


Embellish introduction

Just a few small changes to the introduction.
A couple of points we might consider addressing in the introduction:

Why containers and not VMs e.g. easily version controllable and to an extent self-documenting, less bulk / minimal information to reproduce the environment etc.
The rise of containers' popularity and therefore ease of integration in other parts of the ecosystem e.g. their use in CI, development in VS Code, mybinder.org etc.

@bdevans Re. your "other points": I agree these might be interesting for readers to learn about, but we should weigh additional context against what we already have (are these points more important than an existing argument) and if we can add them in a succinct way. If you want to make a stab, that would be great. If you have time though, adding a couple of examples would also be helpful.


#319 - added path() to TestRpm.java

Part of #319 - added path() method to TestRpm and used it instead of Paths.get(). Also corrected RpmTest to use TestRpm.Invalid().

This pull request #324 is assigned to @vatavuk/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @g4s8/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be a monetary reward for this job

@Vatavuk ping

Job was finished in 23 hours, bonus for fast delivery is possible (see §36)

@sereshqua/z please review this job completed by @vatavuk/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@0crat quality bad

Quality is low, no payment, see §31


Questions about two different parameterizations

Could the author explain the difference between x_param and epsilon_param? In the paper, there is no detailed introduction to this aspect of thinking. What are the main differences in code?

Check this paper. https://arxiv.org/pdf/2202.00512. Just two different prediction objective. x predicts the denoised image while epsilon predict the denoiser.

Ok, thank you very much for your answer. With best wishes.


[BUG] Failed to open file (filename). Cant scroll to line

When I start looking for something in a search, it gives me the results correctly.
When I click on one of the results, the note opens, but the place I am looking for where the word is located is not listed.
It gives me an error:
Failed to open file "folder/filename.md"
Cant scroll to line (line number)
This problem was also in previous versions of the plugin.
OS: Windows 10
Obsidian version 1.3.5

Hello, @TonyAtlas,
Thank you for the input! Which file are you trying to open? Is it a regular markdown file? Or is it some special view like Canvas or Kanban?

Thank you for the helpful plugin!
This happens when I open a regular markdown file.

This happens with any markdown file that has the simplest YAML or no YAML at all. I have tried doing different queries for different notes.
Yes, it always happens. No exceptions. Everything comes up correctly in the search box. But when I want to click on a specific part in the search query to be taken to the right place in the note, this error comes up.
I created an empty file without YAML and wrote one word there. When I tried to open this note with that word in the search, the same error occurred.
Maybe there is a conflict with some plugin. Or do you have any suggestions what else it could be?

If this is a conflict with some other plugin, it's easy enough to know: turn off all other plugins, reload Obsidian and try the behavior that doesn't work. If it helps, turn on plugins one by one and see which one causes it.
This is getting interesting... Let's gather more info:

What OS do you have?
What version of Obsidian are you using?
What version of the plugin are you using?

As I wrote above in the first post
OS: Windows 10
Obsidian version 1.3.5
And your plugin version is 0.2.0
But the same error was also with the previous two versions.
I will check the work with disabled plugins and will share the results with you immediately.

I completely reinstalled Obsidian with all plugins and the problem disappeared. This problem can be closed.
Thank you for your attention and for the plugin.

I completely reinstalled Obsidian with all plugins and the problem disappeared. This problem can be closed.
Thank you for your attention and for the plugin.


Rephrase README - the lints reach outside the scope of effective Dart

The readme says:

Note that everything here fits within the guidelines set out in Effective Dart. You could think of that document as the design and this package as one possible partial implementation.

I don't think that is quite true. Effective Dart is intentionally not opinionated about double vs single quotes, for instance.
I think we should find a way to explain that in addition to best practices, we also add lints for the sake of having consistent style when there are competing but equal options.

Thanks, you are correct. I think I'll explicitly list lints that are stricter than Effective Dart.


Pass parameters with using FLEXFIX

How does reflex use the FLEXFIX argument to pass arguments to yylex like flex？

Can you point to the Flex documentation that defines this FLEXFIX argument? It's not mentioned in the official Flex documentation.
Arguments passed to yylex() depend on options. The argument list can also be extended with whatever parameters you want using %option params="PARAMS" see manual and also YY_DECL alternatives

I solved the problem of passing parameter values by using %option params="PARAMS", thanks.


Fix "No handlers could be found for logger"

This change is not a good idea. Configuring logging should be handled by the top-level script/application, never as a side effect of importing some library. This change means that any application using caffe2 and trying to call basicConfig itself will now have its config ignored, since all calls to basicConfig after the first one are ignored.

I don't think it's a good ideas either. It actually breaks logging in some internal applications at FB.
Library shouldn't configure logging (http://docs.python-guide.org/en/latest/writing/logging/)
What was the main issue that prompted this diff? I'm curious whether we can just add NullHandler to suppress warnings
In the meantime I'll revert this diff.

I was just tired of the warnings from data_parallel_model.

The maybe add the main logger in the top-level training script?


Issues with the current version of Yao.jl

Just downgrades most of my packages related to Yao when I add YaoQASM to Julia

I'm going to close this since I'll be moving this to the new parser in OpenQASM.


Loss of candidates when deleting a poll.

While working on a different issue, I found, that in a (not totally improbable) use case, I can make a candidate disappear from the candidate's list.

Make an assignment
Start the election, enter values.
Mark John Doe as "elected" (by activating the star), but don't publish.
(At this point: Create pdf --> incorrect list of candidates, missing John Doe)
Delete this round of election, without "unelecting" John Doe.
Make new round of election
--> John Doe is no candidate anymore, does not appear on the list, and cannot be added again

Use case: An election round is processed, and in the last check before publishing, an error is noted, making it necessary to do the election again. The administrator just deletes the wrong election. Result: Anyone "elected" in the first election round disappears from the list and cannot be added anymore.
The cause is that a candidate must be candidate && not elected to appear on the list. If a round of votes is deleted, the "elected" flags of the round are not, leaving us in a case of "elected without election".

There is a simple workaround: Just remove the elected candidate from candidate list and readd again from drop down list.
The pdf from step (3) shows now all candidates - also the elected candidates.
I think we can close this issue. The workaround works good enough.


How can I get lat & lon coordinates from an image?

How can I get lat & lon coordinates from the exif file from an image?

If you are using Android, you can try the Media Metadata Retriever plugin, or if you want to access the native API directly - android.media.ExifInterface
For iOS, you should be able to call the native API with the PHAsset that is returned from the image picker plugin. Example (where selection is the returned array from the image picker plugin):
const ios = selection[0].ios;
console.log(ios.location);

Closing due to inactivity.

I know this is kind of old and closed, but I as well as some of us over on the Nativescript-Vue slack channel have been struggling to retrieve this metadata out of the image. As far as I have tested on my ios device: putting selection[0].ios as a variable in the store I see that it is an PHAsset but if you log it, it shows as an empty object. Using selection[0].ios.location (even as two lines as you showed) returns undefined.  I know the photos I have chosen have additional data as my phone will show me when/where they are taken.
As far as I can tell in all the logging I have done each image comes across as an object with
  _observers: {},
  _options: {
    keepAspectRatio: true,
    autoScaleFactor: true
  },
  _ios: {}
}

Everything I have tried to get the metadata out of the photo has been a total bust returning either undefined, null or {}

@Spacarar Any luck? Running into this very issue with Nativescript Vue.


Invalid JSON in the example

The post request for searching using the geo profile has an invalid JSON. It should be
{
    "search": "inn",
    "scoringProfile": "geo",
    "scoringParameters": ["currentLocation--122.123,44.77233"]
}

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

ID: 1a4500af-aa55-57cc-98b6-6994f64101a1
Version Independent ID: c662d3eb-971c-4acf-f78d-45c9628c3184
Content: Add scoring profiles - Azure Cognitive Search
Content Source: articles/search/index-add-scoring-profiles.md
Service: cognitive-search
GitHub Login: @shmed
Microsoft Alias: ramero

@jishnu-purath
Thanks for your feedback! We will investigate and update as appropriate.


Add StructToMapEx with parsing custom tag

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (51c91d6) 93.07% compared to head (a317077) 93.18%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
+ Coverage   93.07%   93.18%   +0.10%
==========================================
  Files           6        6
  Lines         390      396       +6
==========================================
+ Hits          363      369       +6
  Misses         22       22
  Partials        5        5

Files
Coverage Δ

struct.go
90.08% <100.00%> (+0.51%)
:arrow_up:

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


Would it be possible to make this code work natively for CUDA pytorch tensors?

I appreciate it might be difficult to program but I'm currently creating a loss function for my autoencoder by turning a pytorch tensor into numpy, calculating indicies of nearest neighbour pairs and then just indexing the tensor to get a differentiable loss function from it.
Would it be possible to make this algorithm natively compatible with pytorch cuda tensors to immediatly get a differentiable loss function between two point clouds?

Hi there,
I appreciate the desire to have this functionality natively integrated with PyTorch (I'm mostly using this library in machine learning applications).
Unfortunately, it would be a very large amount of effort to deeply integrate this library with PyTorch and I don't have time to do it. To make things work natively with CUDA tensors would essentially require a full rewrite of this library.
Other than nearest neighbor, what other functionality do you need?

Pretty much just creating loss functions with the distance metrics so I have permutation invariant back propogation. I'm currently trying to get some code working that pulls the numpy array out and passes indices to a pytorch sum layer - I'm pretty new to using pytorch but is there a convinient way to make a "convert to numpy as the pass the indicies to pytorch" paradigm beyond what will probably be my own naive approach

Not sure if it's what you're looking for but for a differentiable permutation invariant loss between point clouds you can try Sinkhorn Distances (it's a regularized optimal transport loss).
I have a PyTorch implementation of the sinkhorn loss with code examples in my other library.
For your nearest neighbor based loss, you can index a PyTorch tensor with a numpy array of integers (you may have to convert it to a torch long tensor torch.from_numpy(indices).to(torch.long)). You won't be able to backprop through the index array of course (they're not computed with PyTorch and they're in a discontinuous space of integers).
Something to note though is that the set of k nearest neighbors will change discontinuously as the points move. This is okay so long as the function you're indexing changes continuously (which is the case if each point contributes a continuous function of distance to the loss so that two points contribute the same value if they're at the same distance).
Best of luck with everything and let me know if you have more questions!

Thank you this is incredibly helpful, the final thing I'm aiming for is a point cloud autoencoder where the loss function doesn't care about the order, rotation or the translation vs the input so that only the... I'm not sure of the precise language, the 'concept' of the structure is in the latent space. The point clouds I'm using are crystal structures of atoms where the point cloud represents a ground truth rather than a sampling of a shape or something.
Is the sinkhorn distance rotation invariatn? Is it possible to make it such?

If you have two point clouds A and B, and you apply the same rotation to both of them, then the sinkhorn distance won't change. So in that sense it is rotation invariant.
Something to note about sinkhorn distances is that they're relatively expensive to backprop through (you're backpropping through a big unrolled for loop). If you run into performance issues you can take the ouput correspondence matrix of sinkhorn and "project" it to a permutation (set the max in each row to 1 and everything else to zero and then compute a permuted mean square loss). This is almost equivalent and has worked well for me in the past.


Problems with Inbound primary key in some cases

I tried to use dexie in a create-react-app environment using typescript.
In this environment using an inbound primary key (++id) fails if the model class contains that key as a field. (Like shown in the typescript example in the docs)
An example of this problem can be found in this repository
As far as i can tell, this might happen because the model class actually has a field named id. (so that it can be accessed)
Without the id field, the example works.
This is reflected in the compiled code.
In the create react app example, the compiled Entry class looks like this:
class Entry {
  constructor(text) {
    this.id = void 0;
    this.text = void 0;
    this.text = text;
  }
}

In this case, the id field is explicitly defined.
In this example the compiled Entry class looks like this:
var Entry = function Entry(text) {
  (0, _classCallCheck2.default)(this, Entry);
  this.text = text;
};

In this case, the id field is not explicitly defined.
Changing this example in such a way that the id field is set to undefined in the constructor (see the Entry class in DB.ts) leads to the same issues like in the create-react-app example.

undefined is not a valid key in indexeddb. There is a difference between not having a prop set at all and to having it set to undefined. IndexedDB allows you to have auto-incremented primary keys in case you do not specify the inbound key on the object. If you do, the system will not provide the key for you. But in this case you specify the key as undefined, which is not supported.

The issue here is, that no value is specified. I just define that id as a field exists (the same thing that is done in the example from the official docs.
There should at least be a way to define the id field in such a way that dexie would not treat it this way.
Also, undefined is (IMO) not a value, but an indicator and should be treated as such.
If no such way is provided, dexie is only usable with several workarounds for about everyone using a similiar build system then cra (like using @babel/plugin-transform-typescript)

I see the issue which basically comes since JS class fields where introduced. If you transpile with typescript tsc to ES5 or ES6 you won't have this issue since a declaration will not do anything. But as babel-plugin-transform interprets the new JS spec correctly, the declaration will also mean an initializer to undefined.
What Dexie could do here is possibly to workaround this new situation when declared fields correspond to a key or index and delete it in case it is undefined before passing it to IndexedDB. But it's a good question whether it is the right thing to do. On one hand this could be to intrusive but on the other hand, it would not be nice not being able to declare the indexed  fields.
Ideas and comments are welcome!

A workaround for now is probably to use merged declarations:
interface Entry {
  id: string;
  text;
}
class Entry {
  constructor(text: string) {
    this.text = text;
  }
}

...or how does plugin-transform-typescript handle the situation when property as optional?
class Entry {
  id?: string
  text: string
}

Will it still transpile it with a class field for id?

I agree. It could be intrusive and subsequently lead to issues for others, that actually may rely on this behaviour...
The workaround looks nice enough, i give it a try.
An optional field doesn't work (see my example repository)

This would be a problem for everyone that wants to store class instances in Dexie and have auto-incremented keys.
I came to the conclusion that this needs to be fixed. I don't want to change the docs to require people to use merged declaration just for this sake. I've fixed it now in PR #1119 and I don't think the fix is too intrusive, as it clones the given object and deletes the primary key in case it is set to undefined prior to forwarding it to add() or put().


Deprecate unused ButtonStyleButton.iconAlignment property

Fixes Deprecate unused ButtonStyleButton.iconAlignment property
Refactor done in https://github.com/flutter/flutter/pull/158503 makes ButtonStyleButton.iconAlignment redundant. In this PR I'm marking it as deprecated without migration guide. However, it may possible to remove it altogether.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Could we add a dart fix that just removes uses of this?

It's an abstract class that is implemented by the buttons. I never wrote a dart fix for an abstract class. I'll look into it :)

Could we add a dart fix that just removes uses of this?

It's an abstract class that is implemented by the buttons. I never wrote a dart fix for an abstract class. I'll look into it :)

I really tried to find some existing non-widget prop that are deprecated with dart fix so I can base this PR on it but couldn't find it such deprecation. It seems non-widget prop are deprecated without dart fix.
Good news is anyone extending ButtonStyleButton might not have have use case for this redundant prop and default dart fix automatically removed unused overrides.

Button classes use ButtonStyle customisation to get icon alignment similar to icon size and icon color. As a result, abstract ButtonStyleButton IconAlignment is now redundant.

Ah ok thank you, just double checking.


Update nginx.conf to support ipv6 at the container start

Thank you for contributing to Nginx!
Nginx does not use GitHub for code submissions.
Please visit http://nginx.org/en/docs/contributing_changes.html
and follow the instructions there to submit changes.


flex does not install libfl.{a,so}

Issue description
Installing the flex package makes available the flex binary, but not the libraries that you are required to link with, e.g. libfl.{a,so}.
Steps to reproduce

$ echo "%%" > repro.l
$ flex repro.l
$ cc lex.yy.c -lfl

Technical details

system: "x86_64-linux"
host os: Linux 4.15.0-20-generic, Ubuntu, 18.04 LTS (Bionic Beaver)
multi-user?: no
sandbox: no
version: nix-env (Nix) 2.0
channels(sgraf): "nixpkgs-18.09pre140702.c68996f147a"
nixpkgs: /afs/info.uni-karlsruhe.de/user/sgraf/.nix-defexpr/channels/nixpkgs

Can't reproduce:
$ find $(nix-build -A flex)/lib
/nix/store/ppn0x6csda68xjrwqq9jinlr939x8fr6-flex-2.6.4/lib
/nix/store/ppn0x6csda68xjrwqq9jinlr939x8fr6-flex-2.6.4/lib/libfl.so.2
/nix/store/ppn0x6csda68xjrwqq9jinlr939x8fr6-flex-2.6.4/lib/libfl.so.2.0.0
/nix/store/ppn0x6csda68xjrwqq9jinlr939x8fr6-flex-2.6.4/lib/libfl.la
/nix/store/ppn0x6csda68xjrwqq9jinlr939x8fr6-flex-2.6.4/lib/libfl.so

Hmm... nix-build -A flex only complains that it couldn't find a default.nix file:
error: getting status of '/afs/info.uni-karlsruhe.de/user/sgraf/default.nix': No such file or directory

You need to do that in a nixpkgs checkout.

I guess that you have installed flex with nix-env: this won't work. See https://nixos.wiki/wiki/FAQ/Libraries
Try compiling inside nix-shell -p flex instead.

Very helpful, thanks!

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-replicate-libfl-dev-in-nix/54361/1


Request to add font color picker like used in rune pouch plugin

Originally I was against providing options but I can't remember why. However, looking at things now, I think I'll go ahead and provide the option to change the color of the stored or remaining counts. Although now I'm considering keeping it simple and just keeping it as two colors or allowing users to choose 4 colors (most empty color to least empty color and most remaining uses to least remaining uses). Perhaps keeping it simple and just providing two color options would be best.

As someone with poorish eyesight having a red color as a font made it harder to see and I would still consider to have a decent enough eyesight so its more of a better accessibility change for the plugin and obviously cant use any other plugin for pouches because its by far the best, dont know how it was even made but its perfectly in sync with updating essence count


APEX-256 Added unit tests to verify that checkpointed is or is not …

…called immediately after triggering a copyToHDFS for the different processing modes for asynchronous checkpointing.

@gauravgopi123 Please review

@ilooner can you please rebase and address the review comments?


fmt.Printf does not zero pad.

The following code does not 0-pad on tip.  It does work expected with 1.4.2, see http://play.golang.org/p/A7oXWwj5s_
$ go version
go version devel +a1cc84f Fri Jun 26 09:53:36 2015 +0000 openbsd/amd64
package main

import (
        "fmt"
        "math/big"
)

func main() {
        value := []byte{
                0x89, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        }
        targetDifficulty := new(big.Int).SetBytes(value)

        fmt.Printf(" got: %064x\n", targetDifficulty.Bytes())
        fmt.Printf("want:<PHONE_NUMBER>000000896c00000000000000000000000000000000000000000000\n")
}

 got: 896c00000000000000000000000000000000000000000000
want:<PHONE_NUMBER>000000896c00000000000000000000000000000000000000000000

Confusing example - there's no need to involve math/big. But you're right, tip appears to be wrong. On the playground: http://play.golang.org/p/pnJg1u_z2K:
package main

import "fmt"

func main() {
	fmt.Printf("%08x\n", []byte{1})
}

we get:
00000001

On tip we get:
01

Given
fmt.Printf("%04x\n", []byte{0xab})
fmt.Printf("% 04x\n", []byte{0xab})
fmt.Printf("%04x\n", []byte{0xab, 0xbc})
fmt.Printf("% 04x\n", []byte{0xab, 0xbc})
1.4 does this:
00ab
00ab
abbc
ab bc
while tip does this:
ab
ab
abbc
ab bc
Both are wrong. The root bug is original; the change in behavior applies because of a fix at tip that, coincidentally, propagates the original bug.
I will fix.

I was mistaken; there has been a regression from 1.4, where the output was correct:
00ab
00ab
abbc
ab bc
At issue is whether the width and flags apply elementwise or to the whole, and the answer is: width: whole; flags, elementwise. And this must be consistent for []byte and for string when using this format.
The CL listed here restores and explains the behavior.


Test suite errors

Hi,
I ran the test suite by the following three commands in the version 0.9.3,
$ git clone https://github.com/chapmanb/bcbio-nextgen.git
$ cd bcbio-nextgen/tests
$ ./run_tests.sh
and found the following two errors after running. Could you give me any suggestions to fix them?
Thank you.
======================================================================
ERROR: Test variant calling with GATK pipeline.
Traceback (most recent call last):
File "./bcbio/bcbio-nextgen/tests/test_automated_analysis.py", line 273, in test_1_variantcall
subprocess.check_call(cl)
File "./bcbio/anaconda/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['bcbio_nextgen.py', './bcbio/bcbio-nextgen/tests/test_automated_output/bcbio_system.yaml', './bcbio/bcbio-nextgen/tests/data/automated/../100326_FC6107FAAXX', './bcbio/bcbio-nextgen/tests/data/automated/run_info-variantcall.yaml']' returned non-zero exit status 1
======================================================================
ERROR: Allow BAM files as input to pipeline.
Traceback (most recent call last):
File "./bcbio/bcbio-nextgen/tests/test_automated_analysis.py", line 285, in test_5_bam
subprocess.check_call(cl)
File "./bcbio/anaconda/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['bcbio_nextgen.py', './bcbio/bcbio-nextgen/tests/test_automated_output/bcbio_system.yaml', './bcbio/bcbio-nextgen/tests/data/automated/run_info-bam.yaml']' returned non-zero exit status 1

Ran 11 tests in 266.138s
FAILED (errors=2)

Sorry about the error problems. Unfortunately there isn't enough information in these error messages to diagnose the underlying issue. We'd need to be able to see the traceback from where the individual tests failed during the run.
Practically, the tests track the latest releases and development. My suggestion would be to upgrade to the latest release:
bcbio_nextgen.py upgrade -u stable --tools --data

which will hopefully resolve the problem. Hope this fixes it for you.

Hi,
I used the command
bcbio_nextgen.py upgrade -u stable --tools --data
to upgrade bcbio but found the follow error. Could you help me to debug it?
Thanks.
Running GGD recipe: sranseq
Traceback (most recent call last):
File "./bcbio/anaconda/bin/bcbio_nextgen.py", line 207, in
install.upgrade_bcbio(kwargs["args"])
File "./bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 98, in upgrade_bcbio
upgrade_bcbio_data(args, REMOTES)
File "./bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 257, in upgrade_bcbio_data
cbl_deploy.deploy(s)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 65, in deploy
_setup_vm(options, vm_launcher, actions)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 110, in _setup_vm
configure_instance(options, actions)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 268, in configure_instance
setup_biodata(options)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 250, in setup_biodata
install_proc(options["genomes"], ["ggd", "s3", "raw"])
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 350, in install_data
_prep_genomes(env, genomes, genome_indexes, ready_approaches)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 477, in _prep_genomes
retrieve_fn(env, manager, gid, idx)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 767, in _install_with_ggd
ggd.install_recipe(env.cwd, recipe_file)
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/ggd.py", line 30, in install_recipe
recipe["recipe"]["full"]["recipe_type"])
File "./bcbio/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/ggd.py", line 62, in _run_recipe
subprocess.check_output(["bash", run_file])
File "./bcbio/anaconda/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['bash', './bcbio/genomes/Mmusculus/mm10/txtmp/ggd-run.sh']' returned non-zero exit status 4

Hi,
it seems there is an error with the srnaseq annotation data.
Could you try to run that command alone to see if you get some error?
bash ./bcbio/genomes/Mmusculus/mm10/txtmp/ggd-run.sh

Hi,
I ran this command alone and it was successful. Then should I re-run the
bcbio_nextgen.py upgrade -u stable --tools --data
command?
Thank you.

I would try, maybe was some network problem with some of the files...
let me know if you get the same error. I would remove anything inside genome/Mmusculus/mm10/srnaseq if there is anything.

Yes, I got the same error. But now it returned non-zero exit status 1 instead of 4 as previous. In the notice
Running GGD recipe: sranseq
, there may be a typo. Should it be "sranseq" or "srnaseq"? Is this the reason for the error?
Thanks.

Hi,
I saw the typo, but is only the name. I will fix that, thanks.
If you run again the BASH script it finishes without problems? or you have an errors as well.
If it finished and you see the srnaseq folder I can tell you how to hack the installation so it will skip that.
Is there any temporary file inside genomes/Mmusculus/mm10 folder? liek tx or tmp or anything that can trace to files that you see in the BASH file?
So sorry about that, I am trying to think in an alternative to skip this.

I ran the bash command alone
bash ./bcbio/genomes/Mmusculus/mm10/txtmp/ggd-run.sh
was successful and all the files were generated successful under srnaseq folder.
There are no tx or tmp folders.
However, when I re-ran
bcbio_nextgen.py upgrade -u stable --tools --data
The error appeared again.

It appears any message when it run, or you don't get anything else? Sometimes I get error if there is these files already exists when running again the installation because the bash script gives some messages.
A way to skip this is to hack the files.
You need this folders inside mm10
 ls ~/soft/bcbio/genomes/Mmusculus/mm10/
rnaseq/            rtg/               srnaseq/
rnaseq-2014-07-14/ seq/               versions.csv

and the version.csv should be:
cat ~/soft/bcbio/genomes/Mmusculus/mm10/versions.csv
sranseq,20151014

I just re-run the update command again and it was successful. You may have changed something. So I do not need to hack the installation anymore. Thank you.

I also re-ran the test suite and it was all okay with any error. Thank you.


[FLINK-13608] [docs] Update upgrade compatibility table for 1.9.x

What is the purpose of the change
This PR updates the upgrade compatibility table in https://ci.apache.org/projects/flink/flink-docs-master/ops/upgrading.html#compatibility-table for 1.9.0.
It also includes a fix to move 1.2.x related limitations to the correct row in the table.
Verifying this change
This change only touches documents.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Thanks for the review. Merging to master and release-1.9.


lib/kaskara/clang/backend/Dockerfile fails during build [ issue with /opt/llvm11 path ]

In docker image built by kaskara.clang.post_install:post_install:23, the resultant docker image fails to build.
Actual error:
    raise BuildError(chunk['error'], result_stream)
docker.errors.BuildError: The command '/bin/sh -c mkdir /tmp/kaskara/build  && cd /tmp/kaskara/build  && cmake       -DCMAKE_BUILD_TYPE=Debug       -DCMAKE_PREFIX_PATH=/opt/llvm11       -DCMAKE_CXX_COMPILER=/opt/llvm11/bin/clang++       -DCMAKE_LINKER=/opt/llvm11/bin/lld       -DCMAKE_CXX_FLAGS="-I/opt/llvm11/include -g -std=c++14 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"       ..  && make -j4' returned a non-zero code: 1

The docker image in lib/kaskara/clang/backend/Dockerfile relies on christimperley:llvm11, and expects clang++ to be located at /opt/llvm11/bin/clang++ , yet the /opt/llvm11 directory does not exist.
However, /opt/llvm does exist.
@ChrisTimperley , A quick and dirty solution would be to add the following line to lib/kaskara/clang/backend/Dockerfile:
RUN [ ! -e /opt/llvm11 ] && [ -e /opt/llvm ] && ln -sf /opt/llvm /opt/llvm11
but this would probably need to be reformulated in case /opt/llvm11 does exist

Interesting. I made changes to the underlying repo for christimperley/llvm11 to make it support multiple versions of LLVM a little more easily (e.g., /llvm12). I didn't consider this downstream effect 😱
Symlinking /opt/llvm11 to /opt/llvm is totally fine here.


APOBEC enrichment estimation

Hello,
I was trying to calculate the APOBEC enrichment manually, but the result I got is different from the output of the TrinucleotideMatrix()
On the line 240 (https://github.com/PoisonAlien/maftools/blob/master/R/TrinucleotideMatrix.R) I found

sub.tbl[,APOBEC_Enrichment := (tCw_to_G+tCw_to_T/n_C>G_and_C>T)/(tcw/C)]

It seems that the ratio term in the denominator didn't consider the reverse complement cases. Should it be something like ((tcw+wga)/(C+G)), or did I miss something?
Thanks

@qxxxd
The method used in maftools is right. The APOBEC should fill TcW motif, and in 96 mutation matrix, the "G" base will be transformed to "C". like G>C will be C>G, so the result of signature will not have G>C. You can use the plotSignatures in maftools to see this.
I can give you some description about this.

APOBECs deaminate cytidines predominantly in a TCW motif (W = A or T). The APOBEC mutagenesis signature is composed of approximately equal numbers of two kinds of changes in this motif: TCW → TTW and TCW → TGW mutations. The analysis calculates the enrichment of the APOBEC mutational signature among all mutated cytosines in comparison with the fraction of cytosines that occur in the TCW motif among ±20 nucleotides surrounding each mutated cytosine on a per sample basis, and is described in detail in Roberts et al. (Roberts SA, Lawrence MS, Klimczak LJ, Grimm SA, Fargo D, Stojanov P, et al. An APOBEC cytidine deaminase mutagenesis pattern is widespread in human cancers. Nat Genet. 2013;45:970–6.)

APOBEC_enrich mean the enrichment over random of APOBEC pattern mutations. This is calculated as:

{[(TCW to TGW) + (TCW to TTW)]/[(C to G) + (C to T)]}/[TCW/C].

The enrichment value > 2, which implies that in such samples at least 50% of APOBEC signature mutations have been in fact made by APOBEC enzyme(s).

from https://www.nature.com/articles/s41388-018-0245-9#Sec10)

https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L115
https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L116
The TCW and reverse WGA are used,  they are summarized as TcW.

@ShixiangWang
Thank you for the prompt reply! And I agree with you that C->A is a case that needs to be excluded from the enrichment calculation, based on my understanding.
And I would like to clarify my question. In the code, the enrichment score was computed as:
https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L239-L240
where  tCw_to_G+tCw_to_T counts the number of both the TCW and the reverse motif WGA:
https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L232-L233
and n_C>G_and_C>T , too, takes the reverse complements into account, as shown in the code below:
https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L213
but the tcw and C in the denominator part seem to ignore the complements, because variables wga and G were separately defined.
https://github.com/PoisonAlien/maftools/blob/9180830198bc4ea1e686ad5ff2030ae3f8ff4146/R/TrinucleotideMatrix.R#L205-L206
I think this might cause some problems, since the motif counting criteria for the two ratios are not consistent.
And by the way, is there a standard for counting overlapping motifs, such as TCTCTCT, when calculating this type of score? I would appreciate it if you could also comment on this.
Thanks!

Hi @qxxxd ,
Thanks for going through the code. Please give me some time, I will get back to you soon by weekend as I am not in the lab at the moment.
Thanks @ShixiangWang for answering and posting references.

@qxxxd Maybe you are right.
the second part should calculated as
tCw+wGa / n_G + n_C
@PoisonAlien  I am looking forward to your answer. You opinion is valuable.

@qxxxd
I just got a problem about APOBEC, could you help me?
The thing is when a random mutation happen, like C[C>T]C, how could I calculate the probability this mutation is related to APOBEC? in more detail, how can this probability described by Mutation Signature (2 and 13) data (like COSMIC signature https://github.com/PoisonAlien/maftools/blob/master/inst/extdata/signatures.txt)

Hello @qxxxd
You are correct regarding denominator being incorrect. Nice catch and sorry for the sloppy mistake - I will update it soon.
Regarding overlapping motif, for now motifs are calculated with trinucleotideFrequency from Biostrings package which will count all possible combinations.
For your example:
x = Biostrings::DNAString(x = "TCTCTCT")
trinucleotideFrequency(x = x)
AAA AAC AAG AAT ACA ACC ACG ACT AGA AGC AGG AGT ATA ATC ATG ATT CAA CAC CAG CAT CCA CCC CCG CCT CGA CGC CGG CGT CTA CTC CTG CTT GAA GAC GAG GAT GCA GCC GCG
  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   0   0   0   0   0   0   0   0   0
GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC TAG TAT TCA TCC TCG TCT TGA TGC TGG TGT TTA TTC TTG TTT
  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   3   0   0   0   0   0   0   0   0

As you can see TCT is counted thrice. I am not sure how much these kind of repeats influece the results but if I have to guess - it should not affect much. Maybe one could try @ShixiangWang suggestion and see how it goes, but that would be out of context for now.
Thanks again to both of you.

feel feel to open the issue if needed.

Hello @PoisonAlien
Sorry for reopening this issue. I just got the chance to look at this problem again, and I found another potential issue related to this one.
According to Roberts et al.,

mutationsTCW is the number of mutated cytosines (and guanines) falling in a TCW (or WGA) motif, mutationsC (or G) is the total number of mutated cytosines (or guanines), contextTCW is the total number of TCW (or WGA) motifs within the 41-nucleotides region centered on the mutated cytosines (and guanines) and contextC (or G) is the total number of cytosines (or guanines) within the area 41-nucleotides region centered on the mutated cytosines (or guanines).

As I understand it, the TCW/WGA motifs or C/G in the context are counted only if the mutated C->T/G or G->A/C at the center is present.
For example, below is a summary of my toy data,

I believe that to get the TCW frequency in the context, one needs to sum the tcw conditioning on the variable SubstitutionType, so the code would be like
n_bg_tcw = sum(tcw[SubstitutionType %in% c("C>T", "C>G")])
rather than sum over all the rows.
I'm not very certain if my understanding agrees with the idea in the paper, so please forgive me if I'm wrong.
Also, thank you for telling me about the trinucleotideFrequency function, that's really helpful!
@ShixiangWang
Sorry I'm not familiar with the COSMIC signature, but for APOBEC I think the Fisher's exact test described in Roberts et al. might be useful for testing if random mutations within a certain region have the APOBEC pattern.

Hi,
Thanks again for being meticulous and once again apologies for the delay.
I went through the code and the reference. You are right again - context should be with tcw/wga motif. I have corrected it.
On my test samples with known APOBEC enrichment, this correction increases the number of samples classified as APOBEC enriched by about 3%. I will push this update to Bioconductor soon.
I really appreciate your corrections - please do let me know if you encounter any other issues.

good to know, it's time to update maftools. :smile:


Replace SwaggerUI and SwaggerScope option with OpenAPI document

Summary
Remove the interactive SwaggerUI and SwaggerScope configuration option in favor of returning the OpenAPI document directly from the root route.

Release Notes Entry

/backport to release/7.x


Throw an error on duplicate archive names in a release

This had me head scratching when testing this with Hugo yesterday, getting some weird 404 errors
from GitHub.
Note that this error will be thrown even with the -try flag, so you can do:
hugoreleaser all -tag v1.2.3 -commitish main -try

To do a basic verification of your setup.

Codecov Report

Merging #20 (18306b5) into main (130ca16) will decrease coverage by 0.03%.
The diff coverage is 80.95%.

:exclamation: Current head 18306b5 differs from pull request most recent head bc2c1b5. Consider uploading reports for the commit bc2c1b5 to get more accurate results

@@            Coverage Diff             @@
##             main      #20      +/-   ##
==========================================
- Coverage   64.64%   64.60%   -0.04%
==========================================
  Files          35       35
  Lines        2110     2119       +9
==========================================
+ Hits         1364     1369       +5
- Misses        568      571       +3
- Partials      178      179       +1

Impacted Files
Coverage Δ

internal/config/release_config.go
55.88% <ø> (ø)

cmd/corecmd/core.go
78.57% <63.63%> (-0.69%)
:arrow_down:

cmd/releasecmd/release.go
63.57% <100.00%> (-0.26%)
:arrow_down:

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


Update CSV Schema Documentation to Include New Standard Schema Column for Patient's Email

Problem Statement
The standard schema being used for senders who use the CSV Upload feature has been modified to include an optional column to hold the patient's email. We need to update the CSV Upload Guide and the accompanying template to account for this new field.
Background info

Acceptance Criteria

[x] Add the new column to the "CSV Schema Documentation" page on the website
[x] Add the new column to the "standard CSV with example data" csv file available for download on the website

Q: is this necessary as this is an optional field??????

[x] Update website content
[x] Update the "last updated" date for the guide

Updated 2.22.2022: "content updates" have been made via shared working doc. @drew-usds , it's ready to be populated onto RS website. Lmk if you have questions, happy to help!


Are SCP CF Websocket endpoints secured? How can we enable security for Websocket endpoints?

Hi Colleagues,
We want to expose websocket enpoint to clients for big file uploads. Do XSUAA support security on websocket endpoints in SCP CF?
If yes,

is it recommended to expose websocket for secure communication?

How can we secure websocket endpoint securely? Do you have any examples, links, suggestions?

Thank You
Regards
Sreeram

Hi @githubsree,

your communication should be secured via SSL.
before you open the connection you should perform a check on whether the user is authenticated and authorized to upload the file. This can be done with bearer tokens (Authorization header)...

for that you can use java-security client lib for example.

and last but not least you should invest in resiliency, i.e. rate limitation, elasticity (auto-scaling) and check of payload size...

Let's see whether someone replies to your question on SAP Jam community and provides other ideas...
Best regards,
Nena


Missing details

[It seems rather odd, that that there are a lot of functions in the model view not explained - one of them being "Key Column" how to organise fields on a table using folders etc... is there a full document on all Power BI functions like this?]

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

ID: 1f402391-8dfc-cfa4-89b1-335f7c9dad1c
Version Independent ID: 31ba30b8-61df-54d2-f97c-93ba77319cba
Content: Model view in Power BI Desktop - Power BI
Content Source: powerbi-docs/transform-model/desktop-relationship-view.md
Service: powerbi
Sub-service: pbi-transform-model
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @MathewWest. This issue has been assigned to the doc author for review.

Thanks for your feedback. There are many capabilities in Model view that correspond to commonly understood database and data model management and interactions, which are outside the scope and intent of this overview article.


PC console: scroll position trapped to top when navigating to a different page

it seems that user won't be able to scroll down for a few seconds when navigating using pagination
https://user-images.githubusercontent.com/60613434/116456302-1ccc9c00-a830-11eb-8b55-7d47f48cf4c7.mp4

@xkopenreview is this an open issue?

I thin i can't reproduce this anymore


Fix cmake configuration

COMMAND_ERROR_IS_FATAL was introduced in cmake 3.19, see here for details. This is inconsistent with the cmake minimum required version 3.11.
In addition, the CMAKE_EXPORT_COMPILE_COMMANDS option is enabled by default for LSP backend usage.

@benjaminwinger I know that the CMAKE_EXPORT_COMPILE_COMMANDS option can be modified by environment variable or cmake argument, because the corresponding compile_commands.json file is always generated in the build directory, and the build directory is ignored, so it is no problem to turn on it by default. However, I have removed this change, please review this PR again.  Thanks.

Okay, sounds good.
Also, since this is your first time contributing to this repository, you need to agree to the contributor license agreement (see here) (I guess it doesn't actually say that you have to do so explicitly, but stating it explicitly in your PR lets us know that you've read and understand that part).

@yixinglu Could you please take a look at our CLA at https://github.com/kuzudb/kuzu/blob/master/CLA.md and add a sentence "I have read and agree to the terms under CLA.md." to your PR description if it looks good to you? Once you agree with the CLA we can get this PR merged. Thank you.

@yixinglu Could you please take a look at our CLA at https://github.com/kuzudb/kuzu/blob/master/CLA.md and add a sentence "I have read and agree to the terms under CLA.md." to your PR description if it looks good to you? Once you agree with the CLA we can get this PR merged. Thank you.

done


STD driver needs a reentrant mutex; logic fixed to be reentrancy-safe

...or to summarize it in another way, the code in the alarm thread loop is written as if - when calling the user-supplied callback - the callback will never, ever call alarm.set_alarm().
But this happens of course - at least with the generic timer queue implementation. Not sure if that would happen with embassy-executor's own queue, but probably yes?
The end result on Linux is that the code deadlocks because when calling the user-supplied callback, the mutex of the alarms is locked, yet - the code in set_alarm tries to take the lock again leading to UB. (I suspect on Windows this will crash rather than deadlock but that's a bit irrelevant.)
(Note also that calling the user-supplied callback outside of the alarms' lock is also NOK, because at that time, the callback and/or context itself might be invalid as well, as the user might had changed it with a new one by calling set_callback. Right?)
I also had to fix the logic that computed the next timestamp when the alarm should fire; it was running a simple for {} loop, not anticipating that the just-traversed alarm might get a new timestamp.
The new code is slightly less efficient, in that on each loop {} iteration it always starts traversing the alarms from the beginning, whereas in reality only the timestamp of the alarm that just-fired could've changed, but given the complexities introduced by RefCell, I don't think we should bother with these micro-optimizations, for just 4 alarms in total.

@Dirbaio Can somebody look into this? No rush though.


istioctl: command not found

Bug description
istioctl: command not found
Expected behavior
istioctl should be in bin, when export PATH=$PWD/bin:$PATH, istioctl should be able to call
Steps to reproduce the bug
Trying to follow procedures,
https://istio.io/docs/examples/integrating-vms/
when running this command
istioctl kube-inject -n bookinfo -f samples/bookinfo/platform/kube/bookinfo-ratings-v2-mysql-vm.yaml | kubectl apply -n bookinfo -f -
Version (include the output of istioctl version --remote and kubectl version)
1.1.4
1.14.1
How was Istio installed?
Download package and helm
Environment where bug was observed (cloud vendor, OS, etc)
Ubuntu 18.10
Affected product area (please put an X in all that apply)
[ x] Configuration Infrastructure
[ ] Docs
[ x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

What is in $PWD/bin? You will need to download the Istio release, and istioctl will be inside the bin folder of the release

from 1.1.3, 1.1.4 and 1.1.5, all bin does not contain the command,
kindly let me know where I can download.
root@d-201-20:~/istio# ll istio-1.1.5/bin/
total 184
drwxrwxr-x  3 root root  4096 May  7 10:48 ./
drwxrwxr-x 20 root root  4096 May  2 02:18 ../
drwxrwxr-x  3 root root  4096 May  2 02:18 boilerplate/
-rwxrwxr-x  1 root root  1017 May  2 02:18 check_boilerplate.sh*
-rwxrwxr-x  1 root root  1152 May  2 02:18 check_dashboards.sh*
-rwxrwxr-x  1 root root  2258 May  2 02:18 check_license.sh*
-rwxrwxr-x  1 root root   861 May  2 02:18 check_links.sh*
-rwxrwxr-x  1 root root   978 May  2 02:18 check_pilot_codegen.sh*
-rwxrwxr-x  1 root root  1677 May  2 02:18 check_shell_scripts.sh*
-rwxrwxr-x  1 root root  1240 May  2 02:18 check_spelling.sh*
-rwxrwxr-x  1 root root  2189 May  2 02:18 ci2gubernator.sh*
-rwxrwxr-x  1 root root  2751 May  2 02:18 codecov_diff.sh*
-rwxrwxr-x  1 root root  3631 May  2 02:18 codecov.sh*
-rwxrwxr-x  1 root root  1084 May  2 02:18 counterfeiter.sh*
-rwxrwxr-x  1 root root  4562 May  2 02:18 diff_yaml.py*
-rw-rw-r--  1 root root   345 May  2 02:18 Dockerfile.goimports
-rwxrwxr-x  1 root root  2784 May  2 02:18 envsetup.sh*
-rwxrwxr-x  1 root root  3442 May  2 02:18 fmt.sh*
-rwxrwxr-x  1 root root  1654 May  2 02:18 get_workspace_status.sh*
-rwxrwxr-x  1 root root  2167 May  2 02:18 ghdata.py*
-rwxrwxr-x  1 root root  1057 May  2 02:18 go-bindata.sh*
-rwxrwxr-x  1 root root  2056 May  2 02:18 gobuild.sh*
-rwxrwxr-x  1 root root  2445 May  2 02:18 init_helm.sh*
-rwxrwxr-x  1 root root  6319 May  2 02:18 init.sh*
-rwxrwxr-x  1 root root 13220 May  2 02:18 istio-proxy-cfg.py*
-rwxrwxr-x  1 root root  3856 May  2 02:18 linters.sh*
-rwxrwxr-x  1 root root  6996 May  2 02:18 mixer_codegen.sh*
-rw-rw-r--  1 root root    64 May  2 02:18 OWNERS
-rwxrwxr-x  1 root root 16630 May  2 02:18 perfcheck.sh*
-rwxrwxr-x  1 root root  1138 May  2 02:18 protoc.sh*
-rwxrwxr-x  1 root root    15 May  2 02:18 .spelling_failures*
-rwxrwxr-x  1 root root 12374 May  2 02:18 testEnvLocalK8S.sh*
-rwxrwxr-x  1 root root  3828 May  2 02:18 testEnvRootMinikube.sh*

Interesting, that doesn't seem right. Where did you download from? I think I have the 1.1.5 binary in the bin folder from https://github.com/istio/istio/releases (Linux). Is that where you downloaded from?
On mobile though so can't verify.

hmm... I know the problem
curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.5 sh -
When you not run this command to download, the download package will miss something.

Thanks for your kind response.
I recall when I first try 1.1.3, the curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.3 sh - not work
so that I download from the link you provide https://github.com/istio/istio/releases via wget and tar xvf the package, run the installation according to
https://istio.io/docs/setup/kubernetes/install/kubernetes/
also attempted
https://istio.io/docs/setup/kubernetes/install/helm/
even I upgrade 1.1.4 I still can't locate istioctl
I just try the
root@d-201-20:~/istio# curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.5 sh -
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1631  100  1631    0     0   1707      0 --:--:-- --:--:-- --:--:--  227k
Downloading istio-1.1.5 from https://github.com/istio/istio/releases/download/1.1.5/istio-1.1.5-linux.tar.gz ...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   614    0   614    0     0    812      0 --:--:-- --:--:-- --:--:--   812
100 14.9M  100 14.9M    0     0   378k      0  0:00:40  0:00:40 --:--:--  377k
Downloaded into istio-1.1.5:
bin  install  istio.VERSION  LICENSE  README.md  samples  tools
Add /root/istio/istio-1.1.5/bin to your path; e.g copy paste in your shell and/or ~/.profile:
export PATH="$PATH:/root/istio/istio-1.1.5/bin"
root@d-201-20:~/istio# istioctl
Istio configuration command line utility. Available configuration types: [destination-policy ingress-rule route-rule]
Usage:
istioctl [command]
Available Commands:
create      Create policies and rules
delete      Delete policies or rules
get         Retrieve a policy or rule
kube-inject Inject istio sidecar proxy into kubernetes resources
replace     Replace policies and rules
version     Display version information and exit
Flags:
-h, --help                             help for istioctl
-c, --kubeconfig string                Use a Kubernetes configuration file instead of in-cluster configuration
--log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
-n, --namespace string                 Select a Kubernetes namespace (default "default")
-v, --v Level                          log level for V logs
--vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging
Use "istioctl [command] --help" for more information about a command.
the command installed

@apacoco9861 anything we should improve in our doc to make it easier for u?

I think the first curl link I tried some how not work and I tried another way round partially work causing the problem. It's ok now I think. Thanks,

Hello,
I am facing the same issue. It shows:
-bash: istioctl: command not found

I tried it twice and in different gke clusters as per the said specification but it does not work.
Though all the services are running smoothly.

istioctl is just a binary we include in the bin folder of the release, you don't run it on your cluster you run it locally, just like kubectl

@howardjohn : Thanks for yoru response.
I am trying to run:
arindam_gcp_atos@cloudshell:~/istio-gke/football-wcservice/k8s (rcup-mza-dev)$ kubectl apply -f <(istioctl kube-inject -f deployment.yml)
-bash: istioctl: command not found
error: no objects passed to apply

Got this error.

I see you are using cloudshell - I am not familiar with it but I would guess that comes with kubectl, but not istioctl. You can download the release https://github.com/istio/istio/releases, extract it, and run istioctl from the bin folder.
There are some more instructions here https://istio.io/docs/setup/kubernetes/download/

On the Linux system, you can follow these steps.

Download the latest Istio release to your $HOME.
$ sudo gedit ~/.bash_profile

Add following:
export ISTIOPATH=$HOME/istio-1.4.3
export PATH=$ISTIOPATH/bin:$PATH

$ source ~/.bash_profile.
$ istioctl version