Don't ignore icon and splash images for mobile app

Pull Request
Thank you for contributing to @dvcs/gitignore and https://www.gitignore.io.
New or update
Select the appropriate check box for this pull request. This helps when merging to ensure there are no conflicts with other templates or misunderstandings of how thee template list works.
New

[ ] Template - New .gitignore template
[ ] Composition - Template made from smaller templates
[ ] Inheritance - Template similar to an existing template
[ ] Patch - Template extending functionality of existing template

Update

[x] Template - Update existing .gitignore template

Details
Icon and splash images for mobile that added with unreal engine editor will be stored to:
Build/IOS/Resources/Graphics/*.png
Build/Android/res/*/*.png
(include Build/Android/res/drawable/*.png, Build/Android/res/drawable-hdpi/*.png, etc)

Force include them with this update.

Oh, should i create file named like UnrealEngine+[patchname].patch for this update?

I created new pull request #196.


How to run a simple python function, with inputs & outputs, from blueprints?

I searched the forum for this issue specifically but didn't see any answers that seemed to fit.
If I wanted to write a python function that took an integer as input, squared it, then spit out the new integer as an output, how do I call this from a blueprint node? The current execute python method is just a string input for path with no other inputs or outputs.
Cheers,
Tyler

I was able to use the 'Execute Python String' in conjuction with the 'Format Text' node to get my python script running inside of my blueprint. Just click add pin on the 'Format Text' node and you can have as many variables as you want. However, I still have not been able to figure out how to get any output from this method. One potential solution I haven't tested yet is to create a CSV file from the python script containing output data, but I'm not sure if this would work inside of a packaged project. If you are able to test this method, could you let me know if it works?

Ah! So you’re passing in the arguments by calling the method with the arguments in the same string? That makes sense now that I think about it.
I did think about using text files or CSV for the output data, but it feels like there has to be a better way to pass data back.
I suppose I could place the code on an actor, and run the execute python string for the input. Then create a blueprint function that takes inputs, and call that function from the python script to pass the data back? I may be creating issues with this process but it’s worth a shot.

Creating new files for output definitely isn’t the cleanest solution. I did find this example for creating variables in a blueprint from python, but I'm not sure how to use the variables in a blueprint after creating them at runtime.
https://github.com/20tab/UnrealEnginePython/blob/master/examples/blueprint_variables.py

@TylerDuncan Hey, just wanted to follow up and see if you were able to do what you were trying to do. I was able to get a variable added to my blueprint, but that's no good for a runtime solution. Do you know if there's any way to set the value of a variable from python?

I took another stab at it tonight and got farther! I've successfully been able to call a function in the python script, pass an argument to the function (number as a string), run the function that multiplies the number by itself, then print to console,  and print screen, the output of multiplication.
My next tests will be:

See if I can import a python library and then print to string some output from using the library.
See if I can create a custom blueprint node that lets me pass back more than just a string or bool. These "execute actor method" functions are written in the plugin so maybe I can replicate them and add more output types.
If I can't pass back anything but a string, then I'll test passing back multiple arguments as a combined string and separating them in blueprint code, then try using them.

To answer your question: I believe I have seen a way to set the value of a variable from blueprint code. It's either in the examples or the docs on github. Depending on if you're creating the actor from code then referencing it, or getting the actor in python via some find by class method.  I haven't successfully done this yet, because I'm still not able to get a reference to the actor properly in python. I just tried for half an hour but didn't get anywhere. I see there are "set python attr int" and other nodes for python character or component. I'm trying from a PyActor but those nodes don't exist there.

@TylerDuncan It sounds like we’re both struggling with getting a reference. I think either “unreal_engine.editor_select_actor(an_actor)” or “ue.editor_get_selected_actors()[0]” should be able to reference an actor. For my workflow, I’m not using an actor. I have my python script running from a Widget blueprint, and I’m trying to reference and modify a variables default value in a different blueprint. You wouldn't happen to remember which example shows how to modify a variable, would you?

@TylerDuncan I'm honestly really new to Unreal and really new to Python, so I have no idea if it would be editor only or not. I did notice this note in the doc: "NOTE: currently structs are not supported". Unfortunately, I'm trying to work with a struct array containing struct vectors so I don't think this will be able to work for me.

@tempaccountforissue I think you can break the struct up and pass it back and forth as a string if absolutely necessary, it would just be more tedious to have to convert it back and forth. I also don't know if that doc is old and maybe they are supported now?

@TylerDuncan Yeah, I had a similar idea. My primary data is a vector which is just a stuct of floats, so if I'm able to get the floats in there then something should be possible from the blueprint side of things. I'm not really sure how to work with it as a uobject, though? I'm able to reference my blueprint with "ue.load_object(Blueprint, '/Game/WidgetBP')", but I'm not really sure where to go from there.

@TylerDuncan Hey, long time no see. I was using a temporary solution to get output from my python script in the editor, but now that I'm trying to packaging my project it is no longer working. I was wonderig if you ever figured out a way to get python output inside of a blueprint?

@tempaccountforissue Unfortunately, I never figured out how to get this to properly work. I think I lack the understanding of c++ to do so. Instead I’m attempting to pay someone on fiverr to just create me a c++ library that will hopefully do what I wanted to do in Python, natively in c++. If you ever figure it out, let me know!

@TylerDuncan The way I solved it in the editor was by writing to the default values of the variables in a seperate blueprint that isn't loaded into memory (this is important because saving a blueprint that is loaded into memory crashes the engine). Then I used the 'Get Class Defaults' node to bring the variables from the other blueprint to the one I needed them in.
Python code I used for this:
bp = ue.load_object(Blueprint, '/Game/FooActor1679359081') bp.NewVariables[0].DefaultValue = value ue.compile_blueprint(bp) bp.save_package()
When I wrote my previous comment, I thought my script wasn't working because it wasn't able to access the blueprint after it's packaged into a pak file. However, I just tried tried to do a simple print statement to see if it was able to access my python modules, and it doesn't seem to be able to locate them.
Print statement I tested:
import unreal_engine as ue print(ue.get_asset('/Game/FooActor1679359081'))
The above code segment returns this in the editor:
LogPython: <unreal_engine.UObject '/Game/FooActor1679359081' (0x00000500107ABE00) UClass 'Package' (refcnt: 2)>
However, it returns this error in a packaged project:
LogPython: Error: AttributeError: module 'unreal_engine' has no attribute 'get_asset'
I believe the reason for this has something to do with the ue_site.py file mentioned in the readme. I have tried adding a ue_site.py file in the Content/Scripts/ directory, but I keep getting this error:
LogPython: ue_site Python module not found
If you could help me with setting up the ue_site.py file I think we'd be able to solve each others problems (and save you some money as well).


Include static assets in doc generator

The doc generator currently only renders the Readme file from the repository. It does not allow to link to any assets included in the repository because they won't be included in the generator output.
An example for that would be an image file used in the Readme (#13755).
I think the easiest implementation would be to copy the contents of a specific directory (proposal: /doc) into the generator output: FileUtils.cp_r("doc", @output_dir).

I think this could possibly be implemented in this way:

Have the docs generator find all links in the markdown
Select links that point to files in the repository
For each link, verify it's a file (not a symlink), that it's not too big (50MB? 100MB?), and (maybe) that it's an image
copy those images to /docs/assets and override the link in the generated docs to the new place, modifying the filename if there are duplicates

What do you think about this? My thought is that it allows people to put images wherever and link to them however, while also allowing a consistent place in the output. This also adds some security through not allowing images that are too big and (possibly) only allowing images. This is also backwards compatible with how images are called now, without needing people to change their READMEs.
If you think this is a good idea I could start trying to implement it.

Yeah, I suppose that could work as well. It's quite a bit more complex than exposing the contents of a well-defined location, though.
So I'm wondering what the benefits over that approach would be. I suppose there's more flexibility as you can put assets anywhere in the repo (even use assets from dependencies in lib/). This still allows users to put all assets into one folder, but that's not a technical requirement.
A limitation is that only assets linked in the docs would be made available. That's probably not much of an issue. But there could be use cases where you might want an unreferenced assets in the doc output.
I'm not sure about filtering by size or file type. That certainly makes sense for hosting 3rd party code. But it could easily be implemented outside the doc generator, to keep it simple.
I also would prefer to keep the original paths. Altering them seems to add unnecessary overhead and confusion.

That makes sense and works for me. So the process would be this, right?

Have the docs generator find all links in the markdown
Select links that point to files in the current directory, leaving the others as-is
Copy those images, preserving the paths, into /docs, creating folders as necessary

Example:

Link in markdown `
Found by doc generator
Check if it's a relative link (it is)
Copy image to /docs/doc/image.png

@nobodywasishere That solution seems nice at the first glance, yet due to its implicit (magic) nature, it's will end up as either too complex, or too simple to cover all of the use cases. Explicit way requires less code and it's more reliable due. IIRC that's how it's being done in ExDoc for example, and that's the direction I'd go in.

Hi,
What if it works for any markdown links not using a URI, i.e. without file://, http://, etc.
An use case for this would be a documentation that want to have a link to a CSV file, a text file or some other file that isn't an image but is useful for the documentation to show to the user.
So I think that using /docs/assets for the destination directory would be a better fit, and a 3rd party hosting service could just check the file sizes there to decide what to host or not host.
How path resolutions are going to work? I imagine that:

Relative paths are relative to the current file where it's located.
Absolute paths are relative to project root directory

I think it also needs to keep the directory structure of the source image to avoid files with same name to be overwritten, e.g.:
# [Nice chart](/assets/doc/nicechart.png)
def foo
end

Would copy the nicechar.png to the ugly location /docs/assets/assets/doc/nicechart.png (assuming the generated docs assets directory is /docs/assets)
I imagine people putting this doc images in their repositories in places like /assets/doc/, since we can't put anything under /docs because it's the doc output directory.

@Sija I can definitely see that and agree, and think it would be good do define/implement a more consistent doc format similar to what's done with exdoc. Copying images from /doc to /docs/doc would mesh well with #13184 if/when that gets implemented, making sure images are available consistently between GitHub and the generated docs.


Clean up SKU handling

As the display name of SKUs is being written to CSV files, it has to be accepted on input
In print users, the skuIds values need to be separated by something other that space as the display names have spaces in them
I'm wondering if writing the display names to the CSV files is going to break existing users scripts. In print licenses, we could leave the skuId column with the actual SKU ID and add a new column skuDisplay with the SKU display name.
In print users, we could leave the skuId column with space separated actual SKU IDs and add a new column skuDisplay with comma (or some other character) separated SKU display names
In the info user Licenses section, we could show SKU ID (SKU display name)

Jay,
Any thoughts on how you'd like to proceed.
Ross

By applying this PR, Gam is internally consistent. My concern is still that users have taken the SKUs from Gam and have used them in external data/apps. By switching to the SKU display name that's going to break. By leaving the existing data alone and added an additional column for print licenses/users, nothing breaks and the user gets the friendlier SKU display name as a bonus.

The fact is the API is currently in an inconsistent state. For example, Google apps business maps to g suite basic while g suite business maps to google apps unlimited.
I'm not concerned about possibly breaking we admins downstream scripts, they can update them. Right now I'm aiming to have gam aligned with what the admin console diaplays. No further work is necessary here.


"Array index out of range" error

I repeatedly get this error and I can't understand where it is coming from... Can you help me?
Simulation error: Array index is out of range.
at NodeController.Patches.VehicleSuperElevation.SuperElevationCommons.GetLaneInfo (PathUnit/Position&) <0x00056>
at NodeController.Patches.VehicleSuperElevation.SuperElevationCommons.GetCurrentSE (PathUnit/Position,single,Vehicle&) <0x00263>
at NodeController.Patches.VehicleSuperElevation.SuperElevationCommons.Postfix (Vehicle&,Vehicle/Frame&) <0x000b6>
at NodeController.Patches.VehicleSuperElevation.CarAI_SimulationStepPatch.Postfix (Vehicle&,Vehicle/Frame&) <0x0003d>
at (wrapper dynamic-method) CarAI.CarAI.SimulationStep_Patch1 (CarAI,uint16,Vehicle&,Vehicle/Frame&,uint16,Vehicle&,int) <0x0365d>
at PassengerCarAI.SimulationStep (uint16,Vehicle&,Vehicle/Frame&,uint16,Vehicle&,int) <0x000a9>
at VehicleAI.SimulationStep (uint16,Vehicle&,uint16,Vehicle&,int) <0x003b9>
at TrafficManager.Custom.AI.CustomCarAI.CustomSimulationStep (uint16,Vehicle&,UnityEngine.Vector3) <0x005cf>
at TrafficManager.Custom.AI.CustomPassengerCarAI.CustomSimulationStep (uint16,Vehicle&,UnityEngine.Vector3) <0x000cb>
at VehicleManager.SimulationStepImpl (int) <0x00511>
at SimulationManagerBase`2.SimulationStep (int) <0x0004c>
at VehicleManager.ISimulationManager.SimulationStep (int) <0x00024>
at SimulationManager.SimulationStep () <0x00693>
at SimulationManager.SimulationThread () <0x0018a>
[Core]

@kianzarrin ? 🙃

@kianzarrin ? 🙃

@Klaksix you see where its coming from if you just read the text.
hint:
at NodeController.Patches.VehicleSuperElevation.SuperElevationCommons.GetLaneInfo

@Klaksix you see where its coming from if you just read the text.
hint:
at NodeController.Patches.VehicleSuperElevation.SuperElevationCommons.GetLaneInfo

@DaEgi01 I know it's probably from the node controller mod, but can you tell me how I should fix it?
Sorry if I messed up here but I am new...

@DaEgi01 I know it's probably from the node controller mod, but can you tell me how I should fix it?
Sorry if I messed up here but I am new...

Nah, you did not "messed up", everything is fine. You posted your mc donald's complaint to the burger king board ;D
But since @kianzarrin is here too, it does not matter that much. He is the one who will probably fix that issue.

Nah, you did not "messed up", everything is fine. You posted your mc donald's complaint to the burger king board ;D
But since @kianzarrin is here too, it does not matter that much. He is the one who will probably fix that issue.

@Klaksix

@Klaksix

Does anyone know what is <0x00056> in the stack trace? maybe it can help me to find the line or instruction or something?

Does anyone know what is <0x00056> in the stack trace? maybe it can help me to find the line or instruction or something?

Do you use skip prefab from Loading Screen mod @Klaksix ?

Do you use skip prefab from Loading Screen mod @Klaksix ?

Do you use skip prefab from Loading Screen mod @Klaksix ?

No I am not using it. Most of the mods I have are with default setting.
I do get some missing assets warning in the loading screen but they seem not related

Do you use skip prefab from Loading Screen mod @Klaksix ?

No I am not using it. Most of the mods I have are with default setting.
I do get some missing assets warning in the loading screen but they seem not related

Can you please send me the output_log.txt? Please directly after the Error Message appears

output_log.txt
@chameleon-tbn here it is, right after the error message popped out

First subscribe all dependencies...
Harmony 2.0.4 is a dependency for Node controller V2.1 and Lifecycle Rebalance Revisited 1.5.2
https://steamcommunity.com/workshop/filedetails/?id=2040656402
Hide TMPE crosswalks V3.0 is a dependency for Node controller V2.1
https://steamcommunity.com/workshop/filedetails/?id=1934023593
and second clean up your mod list....
Topographic Lines Toggle
Comment by creator of the mod: [OBSOLETE / PROBABLY BROKEN] Please consider using "Toggle It! by Keallu" instead. Thank you ;)
https://steamcommunity.com/sharedfiles/filedetails/?id=1764637396
And you are already subbed to Toggle It. Never use two mods doing the same
Precision Engineering
This mod has noticeable issues to some players, but unseen issues (behind the scenes) for all players.
It is recommended you unsubscribe from this mod and use Precision Engineering 2
https://steamcommunity.com/sharedfiles/filedetails/?id=2083188521
RM Crossings
several players have massve issues with it. Use Node controller instead, that you are already subscribed to.
No Radioactive Desert And More!
Several players have issues with it. maybe use Hide It instead
https://steamcommunity.com/sharedfiles/filedetails/?id=1591417160
Network Extensions 2
Causing massive issues for a lot of players. Totally outdated and there are better free available options like Vanilla+ Roads... You can't simply unsubscribe if you already have placed roads of it. You must either exchange them manually ingame oder they will be removed if you load your save after unsubscribing
Automatic Bulldoze v3
Several players reported it as not working
Touch This! Tool 4
Not needed as you have Move it... Marque Tool - Segments - Alt+click - Del - Ctrl+Z ...

@Klaksix do you get this bug when you load the game again?
Have you tried removing ghost nodes or broken nodes

@kianzarrin I got this error mostly during the game, when I was hovering around the city and not really doing anything. I can't remember if I also got the error right after the game was loaded, but in any case it was not the most common appearence.
I used the mod that looks for broken nodes but none was found.
Now I haven't got it again after 3 more hours of play... I was already subbed to the 2 dependencies that @chameleon-tbn indicated. I removed topographic line toggle, precision engineering and RM crossings (not the others).
Additionally I have realised that in the roundabouts (made with the popular mod) which had Radius=20 and "three-lanes one-way roads" (not highways), the arrows were not correctly displayed and i could not change them even with TMPE. I have downgraded them to two-lanes and they look fine now.
I will keep you posted if the error comes out again.

I will soon update NC to put more info on the log file and do not bother you when this error occurs.
if you do see this error on the log file then you should use a mod called network detective to find the segment that is faulty and give me a screenshot.
then I may be able to understand what is going on


Cloning encrypted git repository failed with "bad object"

I tried to git clone my repository from Keybase and got this error:
Cryptographic cloning: (100.00%) 1.70/1.70 MB... done.
fatal: bad object 4d0eab67156ac53dbdf775fdaf18469215343ee4
fatal: remote did not send all necessary objects
my log id: 7c5168e63ec5c0077cbe461c
This was on Windows running git through cygwin, which may or may not be a factor.

@scotthammack do you know the details about how this repo was initializing?  Was it a pre-existing repo that was initializing by pushing it into keybase, or has it been built up within keybase commit-by-commit, starting from an empty repo?

It was initialized through the Keybase app on OS X. I then used "git clone" on that same machine, and all commits and pushes thus far have come from there. This was my first attempt to clone it to anywhere else, and it never existed outside of keybase.

It seems to think that 4d0eab67156ac53dbdf775fdaf18469215343ee4 is the HEAD of your master branch, but somehow it either can't find that object, or it's corrupted in some way (or maybe your cygwin git version is way older than your osx git version?).
I'm curious about a few things:

Is 4d0eab67156ac53dbdf775fdaf18469215343ee4 the HEAD commit in your macOS checkout?
What happens when you pull from keybase to another directory on your macOS machine?

I just installed the cygwin git version today, so it's not way older than the osx version (the opposite could be true, but it's a fairly recent install of osx, so I doubt it would be a huge disparity).
I don't have access to the osx machine right now but I'll check those things when I get home tonight.

Ok thanks.  Yeah once you're at your macOS machine, we can debug a little easier, especially if you have the Finder integration enabled. If so, you can access your actual git bare repo at /keybase/private/shammack/.kbfs_git/<repo_name>, and we can inspect it to see what's going on with that object.

Yes, 4d0eab67156ac53dbdf775fdaf18469215343ee4 is the HEAD commit in macOS:
commit 4d0eab67156ac53dbdf775fdaf18469215343ee4 (HEAD -> master, origin/master)
Author: Scott Hammack<EMAIL_ADDRESS>Date:   Tue Jul 10 07:10:33 2018 -0700

When I clone the repo into another directory on my macOS machine, it works as expected; no errors and I end up with a copy of it.
What should I be looking for in the bare repo?

When I clone the repo into another directory on my macOS machine, it works as expected; no errors and I end up with a copy of it.

Oh, ok!  This is from a clone using the keybase;// URL right, and not cloning from your local copy?  If so, that suggests there is something about the standard git prototol that your cygwin git install can't deal with.
You can cd /keybase/private/shammack/.kbfs.git/<repo_name and try commands like this to check the repo:
git show 4d0eab67156ac53dbdf775fdaf18469215343ee4
git fsck

There is one StackOverflow answer that seems relevant: https://stackoverflow.com/questions/11834108/fatal-bad-object-xxx
Specifically:

While this would normally indicate repository corruption, it turns out to occur on Windows when some command—usually, another Git in another task—is holding internal files open and locked. In this case, terminating the other task should fix it. Original answer is below.

Is there any chance you were running two git commands around the same time, or maybe your cygwin shell is doing something git-related?  I know it seems unlikely since this is a fresh clone, but just checking all our bases.
Also, have you tried this more than once, or did it just fail the one time?
Also also, have you tried to clone from a regular windows command prompt, rather than cygwin?

I wasn't doing anything else with git at the time. This was the first time I had tried to do anything with git at all on the Windows machine; I installed it just to work with this repo. I haven't tried from a regular windows command prompt; I only have git installed through cygwin and I don't know how to access it outside of that.
I tried this twice. Here's the full sequence of events:

installed the git binary package through the cygwin installer
opened a cygwin terminal
ran git "clone keybase://whatever". It failed.
Asked for advice in the Keybase chat and you told me to open this issue.
Tried to do "keybase log send" from cygwin terminal. For whatever reason, this just printed the privacy warning and sat there without ever giving me the prompt to type "YES", so I couldn't send the log. Decided "whatever, I'll deal with this later."
Thought maybe something was wrong with my Keybase session. Opened the Keybase app and checked my kbfs files.
Noticed that Keybase's Explorer integration wasn't turned on anymore (this seems to happen from time to time after Keybase updates itself). Thought maybe that was causing a problem, so I tried to turn it on.
Attempting to turn on that option asked me to update my Dokan library. Agreed to do this, but it failed because there was a previous Dokan installation. (This also usually happens after Keybase updates.)
Sighed.
Went into Windows's "add/remove programs" thing, uninstalled the Dokan library. This required me to reboot. Rebooted.
Opened Keybase again and tried to turn on the Explorer integration. This time it installed the updated Dokan library successfully.
Went into my K: drive in Explorer and verified that my stuff was showing up. Thought maybe that would fix it.
Opened cygwin terminal and tried to clone the repo again. Got the same error.
Decided to try running "keybase log send" from the Windows command prompt instead of cygwin. This time it worked. Sent log.
Opened this issue.

I wouldn't be surprised if this is more of a problem with my cygwin/git setup rather than a Keybase problem, though if that's the case I have no idea how to fix it. I should probably test my git setup with a non-Keybase repo and see if that even works. I assumed the git installation would just work since it was just a standard install through cygwin's package management, but who knows.

Thanks for the detailed rundown.  cc @zanderz and @taurti for the Dokan issues.
I think it's pretty straight forward to download and install the normal git package for Windows, which you can use from the regular command prompt.  It might be worth a try, and would be interesting to see if it works.  Also interesting to know if other non-keybase repos have similar issues in your cygwin.

On the Mac, I tried git show and fsck from .kbfs_git as you suggested. git show showed me a diff of that commit, which looked normal. git fsck just showed:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (581/581), done.

I didn't have a chance to do any of the tests on Windows yesterday but will try to get to it today.

OK, so, on Windows, cloning non-keybase repos works fine, even in cygwin.
When I try to clone my Keybase-encrypted repo from the Windows command line or git bash, I get this:

Cloning into 'cragnemanor'...
Initializing Keybase... done.
Syncing with Keybase... done.
Counting: 1.95 MB... done.
Cryptographic cloning: (100.00%) 1.95/1.95 MB... done.
error: unable to create file Cragne Manor CHU4.materials/Icon?: Invalid argument
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

The "Icon" file that it's choking on is one I noticed was odd on macOS -- it's actually "Icon^M". I don't know why it's named that way (I didn't create it, it's a file that gets generated automatically by the tools I'm working with).
However, that may still not be the problem. I tried again with a completely different Keybase repository of mine that doesn't include that file. It still didn't work in cygwin (same error as I opened this issue with), but did work with the normal git package for Windows. So it seems that it's something about the cygwin installation of git.
For the record, the cygwin installation is git version 2.17.0, and the other one is 2.18.0.windows.1.

I'm having this same issue again months later with a completely unrelated repository, again using cygwin, although this time it's cygwin on both ends. Pushing from one machine seems to work fine, but cloning onto the other machine fails.
It only fails in the cygwin configuration of git. If I use the standard Windows installation, it works as expected. I wish I knew what the cygwin configuration's problem with it is so I wouldn't have to work around it, but it seems like it's probably not Keybase's fault, so this can probably be closed.

@scotthammack @strib  Hi! I just read all issue posts and made similar tests. My config is:

Win10Pro64 with latest cygwin64;
git from cygwin (alias gitcyg) is 2.17.0 and;
git for Windows from git-scm.com (alias gitwin) is 2.20.1.windows.1. Portable bundle;
Reinstalled last keybase version. I previously deleted %LocalAppData%\Keybase and %AppData%\Keybase (I am making use of more than 2 devices, including paperkey);
I took care of not mixing git binaries, so cygwin only uses its gitcyg and cmd.exe only uses gitwin;
I created a repo from Keybase GUI and I did clone, add 1 text file (a keybase log copy, autocrlf=false), commit, push, reclone, md5sum.

Results: gitwin work with Keybase as gitcyg doesn't.

Also interesting to know if other non-keybase repos have similar issues in your cygwin.

Definitly no. Gitcyg works solid! I use it to comunicate with published (https, ssh) plain git repos (tested with github and bitbucket).
gitcyg show and gitcyg fsck work if against a gitwin repo. I tested it after all steps above. As gitcyg can't reclone, I can't test gitwin show/fsck againt a gitcyg repo.
I suspect the issue is with git interaction with git-remote-keybase.exe (keybase:// transport). I suppose it is a git remote helper program and both git uses the same program ($PATH/%PATH%). Gitcyg is a POSIX executable (cygwin layer). Git-remote-keybase.exe is a plain Windows executable. IMHO it doen't smell good mix both.
So the solution for now is: use gitwin.

If you check the .git/objects/* folders? does it contain any symlinks?
I'm having this issue too on Termux (Android)

If you check the .git/objects/* folders? does it contain any symlinks?
I'm having this issue too on Termux (Android)


Improve platformio demo/tutorial

In continuation of #667
Goals
Simplify quick-start for beginers and promote modern best practices

Allow setup as simple as possible (1-click preferred).
Allow quick start with interface prototyping without hardware.
Provide good example of project structure.

Suggestion

Create demo/template with platformio (improve existing)

When project opened in vscode, it will install as much as possible automatically for current OS (platformio itself, compilers, flashers, lib dependencies, ...).

Support most demanded pio platforms:

native - mandatory, for prototyping on PC.
stm32 - desired. Example 1, Example 2, example 3 + display
esp32 - optional. Example 1, example 2, example 3 + display.

Suggest good project structure, to minimize platform-specific code.

For discuss

Should demo be RTOS-based to minimize difference between platforms (delays, timers, internal communications)?
What platforms should be supported?

native - mandatory
stm32/esp32 - both optional, just to prove code is working and suggested project structure is convenient.

Is it possible to use CubeMX for stm32 specific code setup/update? IMHO it's convenient for beginners and has nice GUI. But it's horrible for integration, because contains main() in generated code.
Display content?

transparent overlay for debug messages (convenient)
"settings" menu with +/- incremented params (popular demand)
animated graph (just for fun)

anything else missed?

It played with it for a while but it gave same tough hours. Even if I remove a lib lib_deps it's still rebuilt and linked. Maybe it's cached somehow.
Unfortunately, I need to postpone it to work on the new features in v6.0.
@puzrin
Do you time to deal with it?

If this not require good C knowledge - i could try. I mean, if knowledge of PIO required, or "merge 2 existing demo into single one" and so on.
Could you push your current progress somewhere into temporary branch and explain details?

I'll put together what I have so far and clean up the required STM32 driver. I think no serious C knowledge is required.

I've have created two branches:

Drivers: https://github.com/littlevgl/platformio_sdl_drivers/tree/stm
Main projects: https://github.com/littlevgl/pc_simulator_sdl_platformio/tree/stm

I've used an #if BUILD_ENV_NAME == stm32f429_disco / native #endif guard in the platform specific files.
The STM drivers are tested on STM32F429 Discovery board.

this is not stale

I started to dig demo and have some questions.

Did you published lvgl? I see driver only.
Warning! Library `{'requirements': None, 'name': 'littlevgl'}` has not been found in PlatformI
O Registry.

You can ignore this message, if `{'requirements': None, 'name': 'littlevgl'}` is a built-in li
brary (included in framework, SDK). E.g., SPI, Wire, etc.

Is it necessary to put everything in repo into subdirectiry (lv_pio_sdl) instead of root?

May be worth give me temporary permissions for direct commits to pio demo repo?

May be worth give me temporary permissions for direct commits to pio demo repo?

I sent the invitation.

Did you published lvgl? I see driver only.

I published it but it seems when I renamed the repos and changed the project structure I messed it up somehow. What do you think where should we add library.json for LittlevGL? Open a new repo for it? Or when lvgl is restructured (adding src folder) add a misc folder for things like that?

Is it necessary to put everything in repo into subdirectiry (lv_pio_sdl) instead of root?

I think it's not necessary.

What are reasons to put headers into /include folder?

I though the include folder is for header files. It's not the usual way in Pio feel free to change it.

I sent the invitation

Seems you added me to https://github.com/littlevgl/lvgl instead of https://github.com/littlevgl/pc_simulator_sdl_platformio

What do you think where should we add library.json for LittlevGL? Open a new repo for it? Or when lvgl is restructured (adding src folder) add a misc folder for things like that?

I have no experience to give qualified advice about. All projects i know, have library.json in the root, in the same repo. Usually they also have library.properties for arduino.
You can open libs with empty search from "pio home" tab in editor, and inspect top downloaded packages.

Seems you added me to https://github.com/littlevgl/lvgl instead of https://github.com/littlevgl/pc_simulator_sdl_platformio

Uh, really. I added you to both PIO projects.

I have no experience to give qualified advice about. All projects i know, have library.json in the root, in the same repo. Usually they also have library.properties for arduino.

Ok, I'll figure out something until tomorrow.

Thanks. I need something build-able under linux to verify upcoming updates. Any branch, at least 1 platform. Then i'll be able to suggest reorganized project.

Finally, I've created a library branch in the pio repo and added library.json there:  https://github.com/littlevgl/pc_simulator_sdl_platformio/tree/library
We can add examples here later too.
Once the library will be approved the PC simulator should work again.
This repo should be renamed later once we will have more than 1 supported platform.

https://github.com/littlevgl/pc_simulator_sdl_platformio/tree/vit

Reorganized everything to isolate hw dependencies into drivers/ folder (no messy #ifdefs everywhere)
Make native build-able. I have no idea what should it do, but at least it show some window on run.

What is not done:

Not sure to split main loop code right.
Not touched stm32 driver (need back cleanup from #if BUILD_ENV_NAME == stm32f429_disco + check on real hardware).
May be functions/files names can be improved. I did only preliminary iteration of project structure cleanup.

Could you take a look and fix the reset or should i improve something else?

Note, i don't know why lvgl did not appeared in pio registry, so used github links in config
https://github.com/littlevgl/pc_simulator_sdl_platformio/blob/40138deb5b2d43a4598cec87738e7905081bd9ff/platformio.ini#L25
If you have problems with sdl drivers - use the same approach.
Also note, stm32 hal headers should be included without subdirs in path. The same problem was with sdl drivers (already fixed).

Hi,
littlevgl is available in PIO again: https://platformio.org/lib/show/6228/littlevgl
Can you add it to platformio.ini? After that I can test it on PC and STM too.
Your approach with the driver folder is way better. :+1:  I didn't know it can be solved this way.

Can you add it to platformio.ini? After that I can test it on PC and STM too.

See https://github.com/littlevgl/pc_simulator_sdl_platformio/commit/dd3b4373206e567fac8733f3f66aec8ac912c267. It was build-able (native), but i replaced link as you requested. If something goes wrong again - uncomment old variant.
Probably main loop in sdl is broken now. I was not sure how to do it right (HAL_Delay not available in SDL). It can be emulated from event via flag polling:
https://github.com/speedcontrols/ac_sc_grinder/blob/master/src/app.cpp#L56-L59
but i was not sure and left it intact.

Your approach with the driver folder is way better. +1 I didn't know it can be solved this way.

Thanks. It's incomplete. Only to move forward with demo.

Still has to decide, should we use RTOS or not for timer events. Current main loop in drivers are kludge to allow work with more important things.
Should we abstract "delay()" into driver (i don't like use of delay() at all, but in this case we need some events interface)

I plan return to this questions after sdl2 builds start work and show ~ "hello world".

https://github.com/platformio/platform-ststm32/blob/develop/builder/frameworks/stm32cube.py seems PIO does some magick with paths to include libraries. I did not understood yet, how to include board-specific headers.
Since disco-specific things are not very useful for final bare metal, i suggest to postpone it and finalize [demo + sdl2] to useable state first. Then i'll be able to create list of usability issues (for example, sdl window is not scaled on retina displays).

https://community.platformio.org/t/how-in-include-disco-f429zi-headers/7001
Got preliminary help at pio forum. Change of framework from stm32cube to mbed, will magically repair extra libs :). In short - mbed is well supported, stm32cube - not. But i did not used both and can not insist.
Consider this as memo for next iterations, after simulator start work somehow.

Here are details how to fix things for stm32cube framework:
https://community.platformio.org/t/how-in-include-disco-f429zi-headers/7001/13?u=vit
It also contains basic sample for LCD. With next release patching of variants_remap.json will not be needed.
After inspecting current stm32-releted sources, seems most are copy-paste of standard libs, not needed for normal work. Stubs for stdio (syscalls.c) can be removed too.
Everything from dropped files can be replaced by this strings in driver.c:
void SysTick_Handler(void)
{
	HAL_IncTick();
	HAL_SYSTICK_IRQHandler(); // Is this really needed?
	lv_tick_inc(1);
}
void NMI_Handler(void) {}
void HardFault_Handler(void) { while (1) {} }
void MemManage_Handler(void) { while (1) {} }
void BusFault_Handler(void) { while (1) {} }
void UsageFault_Handler(void) { while (1) {} }
void SVC_Handler(void) {}
void DebugMon_Handler(void) {}
void PendSV_Handler(void) {}

https://github.com/littlevgl/pc_simulator_sdl_platformio/commits/vit - pushed more commits.
Seems simulator finally works.

I can't type from PC keyboard and don't see reaction to arrows. No ideas if this should work at all.
Need to clean/fix/test stm32 build.

@puzrin

I can't type from PC keyboard and don't see reaction to arrows. No ideas if this should work at all.

This is how the regular PC simulator is by default as well.

I'd like to try the updates but something seems to be wrong with PIO at this moment. I can't log in, nothing is loaded in VS Code and nothing happens when I hit the build button. Probably it's a server issue. I 'll try in a few hours again.

You can try atom editor with pio. The only difference - no debugger.
Just checked atom and installed vscode - both works.

I've tried Atom but still not working. My older projects are working with Atom and VS Code too.
It halts here in Atom:

In VSCode I noticed that "IntelliSense Index Rebuild" is running indefinitely.

The first link in google VSCode "IntelliSense Index Rebuild" is running indefinitely:
https://github.com/platformio/platformio-vscode-ide/issues/68
May be that helps?

In the lined issue they said it working without an Internet connection. And it was really for me too. It seems like an issue with the Python version. Thank you for the hint.
Anyway, the PC simulator was working here too.
I'd like to try the STM version too but without an internet connection, PIO couldn't download the required libraries/boards. I'll investigate it.

Consider increase priority of this issue if possible. When it's solved, i could do some things in parallel:

polish multiplatform samples/recommendations
create pio demo for lv_i18n
ask friends to start some projects for disco (need real touchscreen)
kick pio devs to add emscripten support

Of cause, all that can be done for SDL only, but full-featured project is more "impressive" when asking new people for help.

I've spent some time with investigating my issue with Pio. However, I didn't find an appropriate solution yet... It's just not working with internet connection. Probably my Python version is not compatible with Pio but I don't want to change it because I use it other projects and toolchains too.
Anyone else can test it on STM32F429?
I move this issue to the PIO repository because it's related to it instead of LittelvGL core.


fix(connection): error message hiding in auth get

This line was hiding the "minimum client version required" error
Behaviour after removal:
Traceback (most recent call last):
  File "/home/javi/Documents/qilimanjaro/projects/qiboconnection/src/qiboconnection/errors.py", line 73, in custom_raise_for_status
    raise HTTPError(json.dumps(json_text, indent=2), response=response)
requests.exceptions.HTTPError: {
  "title": "Upgrade Required",
  "status": 426,
  "detail": "Client Version (0.13.3) < Client Version required by the method (0.14.2) 426 Client Error:  for url: https://qilimanjaroqaas.ddns.net:8080/api/v1/jobs/1234"
}

Hello. You may have forgotten to update the changelog!
Please edit changelog-dev.md with:

A one-to-two sentence description of the change. You may include a small working example for new features.
A link back to this PR.


bashmount: 4.3.1 -> 4.3.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/jamielinux/bashmount/releases.
meta.description for bashmount is: "A menu-driven bash script for the management of removable media with udisks"
meta.homepage for bashmount is: "https://github.com/jamielinux/bashmount"
meta.changelog for bashmount is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.3.2 with grep in /nix/store/lg2vj4a1xf5vsyv790mzpb5263a3bdsj-bashmount-4.3.2

directory tree listing: https://gist.github.com/f826c997d000ba429bdf2e0daaca8f4f

du listing: https://gist.github.com/cd360885bd1c2e8009b60316e383e938

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
bashmount

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lg2vj4a1xf5vsyv790mzpb5263a3bdsj-bashmount-4.3.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bashmount https://github.com/r-ryantm/nixpkgs/archive/4d89887f5b598f1f7b80ddc0de07cf8066843305.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lg2vj4a1xf5vsyv790mzpb5263a3bdsj-bashmount-4.3.2
ls -la /nix/store/lg2vj4a1xf5vsyv790mzpb5263a3bdsj-bashmount-4.3.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

bashmount

Maintainer pings
cc @k0ral for testing.

Result of nixpkgs-review pr 98671 1

1 package built:

bashmount


Automated cherry pick of #6565: antctl: fix cluster checker image (#6565)

Cherry pick of #6565 on release-2.1.
#6565: antctl: fix cluster checker image (#6565)
For details on the cherry pick process, see the cherry pick requests page.

/skip-all


all block devices of host are visible in /sys/block/

Distribution: Ubuntu
Distribution version: 18.04
The output of "lxc info" or if that fails:

Kernel version: 4.15.0
LXC version: 3.0.2
LXD version: 3.0.2
Storage backend in use: ceph

Issue description
all block devices, disk, rbd etc of host are visible in /sys/block/
they also show up with tools like lsblk
Steps to reproduce

setup lxd with ceph backend
start multiple containers
ls /sys/block in one of them and see all rbdX devices

Yeah, /sys isn't namespaced, except for /sys/class/net, so this is expected behavior from the Linux kernel.


add import of data protection rules

https://github.ibm.com/Developer-Playground/work-items/issues/642


NoPermissionsInAccesToken

Hi. I'm trying to get this mail provider working but I get the following exception when sending mail:
Microsoft Graph API responded with code NoPermissionsInAccessToken: The token contains no permissions, or permissions can not be understood.
I know the credentials I'm using are correct as they are the same ones that I use for the Microsoft Graph API in other parts of my app.
Any ideas?

I figured it out -- at least for work accounts. In case it helps anyone else...
You need to add an App Role when creating your App Registration in Azure Active Directory. The App Role needs the Mail.Send permission and this also needs adding as an 'Application' type permission in the API Permissions (which also need to be granted via the Azure Portal, as there will be no login box displayed).
Then everything works fine.
Thanks.


Using other markdown or html in titles

Hi, awesome tool!
Question, is it possible to somehow use markdown or html formating within titles ?
EG
admonish tip title="Some New Structure my_structure"
Any way to achieve this currently ?
Greetings,

Sorry for the issue.... mostly this is solved by using tildes for outer fence as per documentation
https://tommilligan.github.io/mdbook-admonish/#nested-markdownhtml
What I can not make work though is using a html element with a class in there

Maybe you know the correct escape ?

Awesome! thanks!

Hi, this should be fixed by #181
If you're able to, please install from git directly and see if it fixes your use case:
cargo install --git https://github.com/tommilligan/mdbook-admonish --branch main

I'll cut a 0.17.0 release with the fix after a few other things.

And sorry to clarify, for your HTML example this should render correctly on main:
```admonish block title='With <div class="advanced">HTML</div>'
Body content
```

This is great, I have just tested it successfully! Thanks for the insanely fast fix


[WIP] Implement feature to use a TOML config file

This PR will close #9.
This is a draft for the config file implementation. I'll make additional commits and we can discuss along the way.

Quick question: Do you prefer the code added to the main class file, or should I create a new one?
Thanks!

If you create a separate file , would be nice

The code is ready for review! Feel free to take a look. Let me know if you have any concerns or feedback 🙏

Good job, code works really good 🎊
Thank you for the contribution!


chore: document big integers

Description
Problem*
Resolves #4205
Summary*
Add a section on standard library documentation
Additional Context
Documentation*
Check one:

[ ] No documentation needed.
[X] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[X] I have tested the changes locally.
[X] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Looking into this as I think the sidebar isn't showing... Please don't merge 👍

To-do: @guipublic will swap example out with imported test snippet.

We're getting an error being thrown in bb  which seems be to related to bigints.

We're getting an error being thrown in bb which seems be to related to bigints.

But the PR is green?

The "report gates diff" is workflow is failing on this PR:
https://github.com/noir-lang/noir/actions/runs/8236586075/job/22523469192


Enhancement #47 : Splitting RPICAM2DNG.convert() into sub functions

Splitted convert() into some sub functions.
Added new dataclasses Profile and FmProfile to represent camera Profiles.
Refactured classes Type and Tag into addict Dictionaries. Do not use classes if you can use something simpler and better.
Added repr functions for classes using Tag and Type for better debug information.
Changed variable 'length' to 'height', since width and length are in most cultural circles the same entity.
Added a simple test

@schoolpost Is there a timeline for when this might be reviewed and merged? This contains functionality that I need :smile: thank you!

@itsthejoker
Since the complete development team is @schoolpost and me and @schoolpost has not shown any interest in my pull request it is up to YOU to make a review.
If your review is OK then I will merge the code.
Cheers,
Volker


Add UIViewController and Foundation extensions

I'd like to add to project UIViewController and Foundation extensions if Generamba setup was selected. Because in surf_mvp_module Configurator depends on this extensions.

Removed dependencies in surf_mvp_module in this commit


Bug when building

    5 artifacts copied, 0 already retrieved (24459kB/302ms)

[info] Loading project definition from /home/ubuntu/kafka-manager/project
[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn]  * com.typesafe.sbt:sbt-native-packager:0.7.4 -> 1.0.0-M4
[warn] Run 'evicted' to see detailed eviction warnings
[info] Set current project to kafka-manager (in build file:/home/ubuntu/kafka-manager/)

My situation is a little different, when running sbt clean dist
:: retrieving :: org.scala-sbt#boot-app
	confs: [default]
	51 artifacts copied, 0 already retrieved (15709kB/60ms)
[info] Loading project definition from /Users/yimmeng/tmp/kafka-manager/project

The build just hung there when loading project definition...

Yea, the time it is frozen sbt is actually downloading libs on first run.  It should be faster the next run.


Removing of experimental type converters suffixed by OrThrow

Description
For aligning with our design goals on error handling, while aligning with Kotlin standards (discussed in #104), we would like to remove experimental builders suffixed by OrThrow for using exclusively builders suffixed by OrNull.
This is because we should avoid throwing exceptions for being agnostic on how consumers decide to handle errors.
Checklist

Remove type converters and its tests, then update the public API binaries and check the generated documentation for the following types:

[ ] NegativeInt
[ ] NonZeroInt
[ ] PositiveInt
[ ] StrictlyNegativeInt
[ ] StrictlyPositiveDouble
[ ] StrictlyPositiveInt
[ ] NotBlankString
[ ] NotEmptyList
[ ] NotEmptyMap
[ ] NotEmptySet

[ ] Update the Unreleased section in changelog.

We should split this issue by type.


Commands Print and Execute Together

As a result of #23, SimDem now prints and executes commands together, as opposed to first printing the command, waiting for a key press, then executing the command.

This was a deliberate change.One less click to move forwards. Do you feel it is a mistake?

Oh I see! To make it seem more realistic, a delay could be added between the completion of 'typing' and executing the command.

Yes, that might work. Perhaps a last keypress delay in the typing simulation. More generally it may be a good idea to make this configurable. I can imagine some people wanting  it to pause for a keypress on each command.


代码优化

What this PR does / why we need it?
代码逻辑简化
Summary of your change
1.判断逻辑优化
2.代码简化
Please indicate you've done the following:

[√] Made sure tests are passing and test coverage is added if needed.
[√] Made sure commit message follow the rule of Conventional Commits specification.
[√] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

不要用Objects.equals代替==，这个在性能上不是等价的！

不要用Objects.equals代替==，这个在性能上不是等价的！

a.equals(b)这种形式呢？

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.22 :tada:

Comparison is base (8876c08) 75.99% compared to head (c63dbc1) 76.22%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1569      +/-   ##
============================================
+ Coverage     75.99%   76.22%   +0.22%
+ Complexity    20575    20498      -77
============================================
  Files           631      619      -12
  Lines         81116    80608     -508
  Branches      17705    17622      -83
============================================
- Hits          61647    61441     -206
+ Misses        12225    11943     -282
+ Partials       7244     7224      -20

Impacted Files
Coverage Δ

...in/java/com/alibaba/fastjson2/JSONReaderUTF16.java
79.84% <100.00%> (+0.04%)
:arrow_up:

...in/java/com/alibaba/fastjson2/JSONWriterJSONB.java
85.35% <100.00%> (-0.06%)
:arrow_down:

... and 20 files with indirect coverage changes

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


Warning when no datastore changes applied

Issue
When I submit an edit-config but no changes are needed to be applied, I get an  response back:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2"><ok/></rpc-reply>

And the server log files only show:
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Accepted a connection on <IP_ADDRESS>:830.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Session 1172 (user "root", CID 15) created.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-service" of subtype "ssh-userauth".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-auth" of subtype "none".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-auth" of subtype "publickey".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-auth" of subtype "publickey".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: User "admin" authenticated.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-channel-open" of subtype "session".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Received an SSH message "request-channel" of subtype "subsystem".
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Session 1173 (user "root", CID 15) created.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: There are no subscribers for "ietf-netconf-notifications" notifications.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Generated new event (netconf-session-start).
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Resolving unresolved data nodes and their constraints...
Jun 10 09:38:52 rmbn netopeer2-server[4452]: All data nodes and constraints resolved.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Resolving unresolved data nodes and their constraints...
Jun 10 09:38:52 rmbn netopeer2-server[4452]: All data nodes and constraints resolved.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Published event "rpc" "/ietf-netconf:edit-config" with ID 182 priority 0 for 1 subscribers.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: Processing "/ietf-netconf:edit-config" "rpc" event with ID 182 priority 0 (remaining 1 subscribers).
Jun 10 09:38:52 rmbn netopeer2-server[4452]: edit-config error-option "stop-on-error" not supported, rollback-on-error will be performed.
Jun 10 09:38:52 rmbn netopeer2-server[4452]: No datastore changes to apply.

The notable item in the logs is No datastore changes to apply.
Solution ideas/questions:
My question is, would it be possible to do one of the following

Subscribe to the event when no datastore changes needed to apply in sysrepo's API?

Similar to how we can subscribe to <get> events subscribe.oper_get_items_subscribe or subscribe.module_change_subscribe, is there another event to subscribe to for no datastore changes?

Allow an option to use more than <ok/> as the response or use a warning? For example, the definition of <ok/> is:

   grouping RpcReplyType {
      description "Generic NETCONF 'rpc-reply' content. ";

      choice ok-or-data-error {
        mandatory true;
        config false;

        leaf ok {
          description
            "Sent in 'rpc-reply' messages if no errors or
             warnings occurred during the processing of an 'rpc' request.";
          type empty;
        }

        case data-error {
           uses RpcDataReplyType;
        }
      }
   }

The definition of okay says ...no errors or warnings occurred... but could we set as an input to netopeer2-server an argument that will categorize no datastore changes as a warning?

Send both an <rpc-reply> with more details before sending the final <ok/>? I think it is reasonable to say that if an edit-config is rejected, even for good reason due to no datastore changes, it ought to warrant a warning on some level.

For example, could an option be added like this:

$ netopeer2-server --help
netopeer2-server: invalid option -- '-'
Usage: netopeer2-server [-dhV] [-p path] [-U (path)] [-m mode] [-u uid] [-g gid] [-t timeout] [-v level] [-c category]
 -d         debug mode (do not daemonize and print verbose messages to stderr instead of syslog)
 -h         display help
 -V         show program version
 -p path    path to pidfile (default path is "/var/run/netopeer2-server.pid")
 -U[path]   listen on a local UNIX socket (default path is "/var/run/netopeer2-server.sock")
 -m mode    set mode for the listening UNIX socket
 -u uid     set UID/user for the listening UNIX socket
 -g gid     set GID/group for the listening UNIX socket
 -t timeout timeout in seconds of all sysrepo functions (applying edit-config, reading data, ...),
            if 0 (default), the default sysrepo timeouts are used
 -v level   verbose output level:
                0 - errors
                1 - errors and warnings
                2 - errors, warnings, and verbose messages
 -c category[,category]*
            verbose debug level, NOT SUPPORTED in release build type
 --warn-no-change rpc-reply with a warning when an edit-config results in no datastore changes.

With a --warn-no-change being the new input parameter specifying the wanted warning.
I see the netopeer2 log message originates here: https://github.com/sysrepo/sysrepo/blob/v1.4.122/src/sysrepo.c#L1952 I wonder if this is where more code could be added to allow for additional warnings?
Versions installed

libyang1-1.0.224-1.1.x86_64.rpm
sysrepo-1.4.122-1.1.x86_64.rpm
libnetconf2-1.1.43-1.1.x86_64.rpm
netopeer2-1.1.70-1.1.x86_64.rpm
libyang-cpp1-1.0.224-1.1.x86_64.rpm
python3-yang1-1.0.224-1.1.x86_64.rpm
sysrepo-cpp-1.4.122-1.1.x86_64.rpm
python3-sysrepo-1.4.122-1.1.x86_64.rpm

The most you can do is to subscribe to edit-config RPC and you would be notified whether there are any actual changes or not.
Would probably go against the specification of NETCONF.
Again, would probably not be okay. And no edit-config is being rejected, it is successfully applied, there are just no datastore changes.

The most you can do is to subscribe to edit-config RPC and you would be notified whether there are any actual changes or not.
Would probably go against the specification of NETCONF.
Again, would probably not be okay. And no edit-config is being rejected, it is successfully applied, there are just no datastore changes.

Understood -- we'll adapt to this. Appreciate the explanation.


Update the game over message

Update the game over message so people know how to play again!

GOOD


BUG: Refresh Button on Chain Detail View does not refresh

this button does not refresh balances

https://github.com/vultisig/vultisig-ios/pull/393


Add content in cache myself

I'm actually using this script to setup project. After, I can do everything.
I see that I can't run this file only on first setup, so I'm trying to run it everytime, and cache all content created by it.
How can I add in cache all generated files ? Like use bash command to put them on cache ? Because I'm trying on another fork (here) and when it fail, the cache isn't ran. I can't check if it's fine or not, and idk if files are well saved.
Actual in-dev workflow here

Hey @Elikill58, from the above workflow, the cache step tries to restore a cache but does not finds any cache with that key. The post cache step is which actually creates the cache in case the cache does not exist, but that step is skipped since the previous step of the workflow failed.
So, after fixing the failing step, a successful workflow run should create the cache for you. In order to have more visibility  over your caches, you could checkout the Cache API or the gh cli.

Closing this for now. Feel free to re-open if you need further help.


9.0.2 php8 Adding Options To Option List Page Attribute Undefined Array Key

Affected Version of Concrete CMS
9.x
Description
We can create a new option list page attribute, add as many options to the list as we wish, and the attribute with all of its options is created successfully.  If we try to add an additional option to an already existing attribute in php7, it works.  Doing so in php8 errors (see attached)

How to reproduce
Be sure to be running on php8 and try to add an additional option to any existing option list attribute
Possible Solution
No response
Additional Context
No response

tested this on one 9.0.2 install, flipping between php 7/8


FireEye HX: Bugfix - py2to3 minors

Pull Request Checklist
Please check if your PR fulfills the following requirements:

[X] Testing of all the changes has been performed (for bug fixes / features)
[X] The readme.html has been reviewed and added / updated if needed (for bug fixes / features)
[X] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[X] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[X] Verify all checks are passing.
[X] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[X] Do NOT submit updates to dependencies unless it fixes an issue.
[X] Limit your pull request to one application and submit multiple pull requests if necessary.

Pull Request Type
Please check the type of change your PR introduces:

[ ] New App
[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Release Notes

Fixed py2 to py3 bugs
Fixed minor issues in start_acquisition action

👋🏼   @ricardo-phantom  when will this get merged?!

Hi @mayurah,
Sanity testing is pending for this PR. Once it's complete, we'll merge it.
Thanks,
Aarav


feature: ability to copy field lists

Feature:
copy to clipboard functionality (for the field list)
While you develop queries on the frontend  for a GraphQL endpoint it would be handy to be able to copy field names directly from voyager to your queries..
At the moment this is painful because of the svg rendering.
Proposed solution:
A "copy button" (small clipboard icon in the top right corner of the boxes) which copies all the fields to the clipboard when the user clicks on it.
The copied text would look like this (simple list with line breaks):
name
description
whateverfield
I'm ready to jump into the implementation if the main contributors agree..

A "copy button" (small clipboard icon in the top right corner of the boxes) which copies all the fields to the clipboard when the user clicks on it.

We trying to keep graph view as clean as possible.
How about adding it to the left panel, on the right side of fields:

I'm fine with that place too. PR is coming soon!

@peet86 Looking forward to your PR!


Inspy application --empspy and --techspy cannot be found

Hi I have installed application Inspy and I cannot found --empspy and --techspy under the options
root@kali:~# inspy -h
usage: inspy [-h] [-v] [--domain DOMAIN] [--email EMAIL] [--titles [file]]
[--html file] [--csv file] [--json file] [--xml file]
company
InSpy - A LinkedIn enumeration tool by Jonathan Broche (@LeapSecurity)
positional arguments:
company          Company name to use for tasks.
optional arguments:
-h, --help       show this help message and exit
-v, --version    show program's version number and exit
--domain DOMAIN  Company domain to use for searching.
--email EMAIL    Email format to create email addresses with. [Accepted
Formats<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>--titles [file]  Discover employees by title and/or department. Titles and
departments are imported from a new line delimited file.
[Default: title-list-small.txt]
Output Options:
--html file      Print results in HTML file.
--csv file       Print results in CSV format.
--json file      Print results in JSON.
--xml file       Print results in XML.
root@kali:~#

Empspy and Techspy are no longer valid arguments. Please refer to the hep section or https://www.leapsecurity.io/blog/linkedin-enumeration-inspy/ blog post on how to use the new version.


⚠ Secret Website 3 has degraded performance

In 1023f97, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 3279 ms

Resolved: Secret Website 3 performance has improved in f8c4043.


Update getlantern/errors

For the most part, this only updates getlantern/errors, golog, and http-proxy.  The other changes to the go.mod and go.sum files were updates to indirect dependencies or updates made by go mod tidy.
The sub-package getlantern/http-proxy/buffers was removed by this commit, so some code changes were required.  Since no other active projects import the buffers package, I decided to just re-create the functionality here, unexported.  I made minor changes so that this project does not need to import lampshade.

Thanks @oxtoacart!


[Feature Request] Deep Insert/Update support

Editable Models currently do not include NavigationProperties for deep inserts/updates.
One Workaround is to use Partial<Entity> or EditableEntity & { NavProp:... }.
Additionally, when using SAP IdM (yeah, SAP does weird stuff to OData again), I get the extra result wrapping from #155 in queries, but need to use no extra result mapping for updates with deep insert (e.g. for updating referenced entities by ID), so I'd like to configure this for queryable and editable entities separately.
This requires the second workaround to have control over the type of the navigation property.
Please add a setting to also include navigation properties in the editable entities and let me choose whether to also apply the extra result mapping to the editable model or not (I also have the use case with extra result wrapping in deep inserts).

Hi @HappyHepo,
I really need to setup an issue template. It makes things much clearer if the following things are specified at the outset. So my understanding based on your previous issue is:

OData Version: V2
Generation Mode: Model Generation

"Deep"
When talking about deep inserts (same would go for updates, of course), what do you mean exactly?
a) inserting an entity and also adding a reference to an existing entity
b) inserting an entity and also inserting the related entity
The V4 spec clearly means b) when talking about "deep inserts":

A request to create an entity that includes related entities, represented using the appropriate inline representation, is referred to as a “deep insert”.

Please provide examples to clarify the exact JSON structure of the request body.
Extra Results Wrapping
I don't get how dynamic you need to have your typing there:
Are we talking about different odata services? When exactly do you have to provide the extra results wrapping and when not?
Again, to make things as clear as possible, please provide some examples for the requests that you want to execute.
UI5?
You're using UI5, right? Then please watch out for any differences between the request body you provide to UI5 and the final request body that is sent out via HTTP.

Hi @texttechne,
I agree on the template, it also helps create the issue without forgetting half the infos.
I have multiple different services, all on OData V2, all using only Model generation for use with UI5 (Typescript).
As far as I have seen, the body supplied is the same as the one sent over when using ODataModel.create/update
What is a deep insert?
When looking at the options, I have both cases, but the variant is the same in one service.

Case a) Only reference Ids without results wrapping:

{
    "SV_MX_TITLE": "Title",
    "ER_APPLICATIONS": [
        { "REFERENCED_ID": "App" },
        { "REFERENCED_ID": "Other" }
    ],
    "MV_PURPOSE": [
        { "VALUE": "first" },
        { "VALUE": "second" }
    ],
    ...
}

Case b) V4 deep insert with results-wrapping

{
    "d": {
        "Guid": "xxx-xxx-xxx-xxx",
        "conf2solNav": {
            "results": [
                {
                    "ItemId":"xxxyyy",
                    "Guid":"xxx-xxx-xxx-xxx",
                    "Data":"Infos",
                    ...
                }
            ]
        }
    }
}

Sorry @HappyHepo,
I can't work with the information you provide.

I have both cases, but the variant is the same in one service.

Not clear, not helpful. What do you mean by "the variant is the same in one service"?
Regarding the examples: Also add the accompanying edmx models to explain your examples...
And are you sure about example b)? It starts with a "d", so it looks like a query instead of update / insert,..

Not clear, not helpful. What do you mean by "the variant is the same in one service"?

Regarding this question:

I don't get how dynamic you need to have your typing there:
Are we talking about different odata services?

I have multiple different services, that behave differently.
In a single service, I have the same behaviour.

Regarding the examples: Also add the accompanying edmx models to explain your examples...

I tried to reduce the edmx to the relevant Parts, unfortunately the original edmx is over 10k lines when formatted, so I hope i did not remove too much. I added it to my comment above.

And are you sure about example b)? It starts with a "d", so it looks like a query instead of update / insert,..

Yes, that is correct/required, otherwise the SAP OData service does not like the request.
But I only included that example to illustrate that I have services that need the behaviour as is, I removed it. Apologies for making it more confusing.

Hello, are there any developments with this issue?
Sounds like my problem exactly. I would like to use create deep entity with a certain entity which holds an association to another entity. A bit of something like this.
Thanks in advance 😊

Hi @Nadalt15668 & @HappyHepo,
to be honest, I got a bit frustrated with this issue. Neither the requirements nor the examples are clear.
One thing is deep insert / update support when it comes down to typing. This is an open issue on its own.
Another, entirely different thing is the extra results wrapping needed for model generation only.
Here I lack a bunch of infos:

What is the exact payload you are providing to UI5? Which HTTP verb are you using there (PATCH, PUT or POST)?
What is UI5 sending in those cases (which may diverge from the payload you are providing)?
What is the actual typing from odata2ts?
Something like a comparison between the status quo and what stuff should look like to make things working would be great...


Upgrade ChromeDriver to 77

Sorry, I made a mistake rebasing the previous pull request. Now again with a clean one and only a single commit.

No probs, thanks for persevering!


socket.listen() clears previously-set settings such as keep-alive

The following code behaves as expected:
let mut socket = TcpSocket::new(/* ... */);
socket.listen(dst_addr)?;
socket.set_keep_alive(Some(Duration::from_secs(30)));
dbg!(socket.keep_alive()) // Some(30s)

However, if we rearrange the calls to listen and set_keep_alive, the keep-alive value is forgotten:
let mut socket = TcpSocket::new(/* ... */);
socket.set_keep_alive(Some(Duration::from_secs(30)));
socket.listen(dst_addr)?;
dbg!(socket.keep_alive()) // None

This is unexpected as a similar reordering would work fine on Berkeley sockets. The reason for the behavior is that socket.listen() internally calls socket.reset(), which among other things clears the keep-alive value. The same problem also affects ack_delay, hop_limit, nagle, and timeout.
I'm happy to submit a patch, but I don't know enough of smoltcp's internals to know what the intended fix should be:

Change reset() to not modify these values?
Do no call reset() in .listen()? (there already is a check for is_open())?
Simply document that listen() must be called first?

Thank for the report! This is indeed counterintuitive, fixing it sounds good.
I think 1. Change reset() to not modify these values? is the best. It should be OK for reset() to  reset only the "state"  of the socket, but not all the "settings" that the user has configured.


Refactor deploy:releases_list

No functional change, but I feel this change makes the code easier to understand.

This part of the code is not really well tested. So it's dangerous to make changes, even refactoring and clean code only.
Thanks for effort, but let's not merge or this part of code need more tests.


link the informative blog post

just adding a link in the readme to you own blog ;)

Lol, awesome! Thanks. :)


added 'isLiveForever' flag for an effect, the flag is needed to check…

… if an effect can be completed

Please Run Test


Ensure http verbs are compared in a case insensitive way

This should resolve #2119. I used .ToUpperInvariant() because it's what was used in DefaultRequestDispatcher.cs#L72
This also removes the multiple enumeration of providedOverride but if we don't want to make that change I can revert it.

Hi
Thanks! Could you change the use of ToUpperInvariant() to .Equals(..., StringComparison.OrdinalIgnoreCase) ?

@thecodejunkie I don't think this can be changed to use .Equals() since there isn't a comparison being made.

I think instead of doing this, we should change the comparisons all over the place - they're pretty inconsistent;
https://github.com/NancyFx/Nancy/blob/df8722d11e983029446d48d5b08740d9dad24218/src/Nancy/Routing/DefaultRequestDispatcher.cs#L72 -> OrdinalIgnoreCase
https://github.com/NancyFx/Nancy/blob/df8722d11e983029446d48d5b08740d9dad24218/src/Nancy/Routing/DefaultRouteResolver.cs#L166 -> OrdinalIgnoreCase
https://github.com/NancyFx/Nancy/blob/df8722d11e983029446d48d5b08740d9dad24218/src/Nancy/Routing/Trie/RouteResolverTrie.cs#L17 -> OrdinalIgnoreCase (for the dictionary keys)
@xt0rted Would you mind changing them and see if the test pass then?

https://github.com/NancyFx/Nancy/blob/df8722d11e983029446d48d5b08740d9dad24218/src/Nancy/Routing/Trie/RouteResolverTrie.cs#L17
^ That's where the "error" is. If you add OrdinalIgnoreCase to the dictionary, the test passes.

See https://github.com/khellang/Nancy/commit/d801451ae8c80b67bd11b6b8ccf42259a9705d46

diff --git a/src/Nancy.Tests.Functional/Tests/MethodRewriteFixture.cs b/src/Nancy.Tests.Functional/Tests/MethodRewriteFixture.cs
index a69c244..f266668 100644
--- a/src/Nancy.Tests.Functional/Tests/MethodRewriteFixture.cs
+++ b/src/Nancy.Tests.Functional/Tests/MethodRewriteFixture.cs
@@ -1,14 +1,13 @@
 namespace Nancy.Tests.Functional.Tests
 {
     using System;
-
-    using Nancy.Testing;
-
+    using Testing;
     using Xunit;
+    using Xunit.Extensions;

     public class MethodRewriteFixture
     {
-        private Browser browser;
+        private readonly Browser browser;

         public MethodRewriteFixture()
         {
@@ -18,12 +17,15 @@ public MethodRewriteFixture()
             });
         }

-        [Fact]
-        public void Should_rewrite_method_when_method_form_input_is_provided()
+        [Theory]
+        [InlineData("delete")]
+        [InlineData("dElEtE")]
+        [InlineData("DELETE")]
+        public void Should_rewrite_method_when_method_form_input_is_provided(string method)
         {
             var response = this.browser.Post("/", with =>
             {
-                with.FormValue("_method", "DELETE");
+                with.FormValue("_method", method);
             });

             Assert.Equal("Delete route", response.Body.AsString());
@@ -103,4 +105,4 @@ public MethodRewriteModule()
             };
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/Nancy/Diagnostics/DiagnosticsHook.cs b/src/Nancy/Diagnostics/DiagnosticsHook.cs
index 66734be..214c148 100644
--- a/src/Nancy/Diagnostics/DiagnosticsHook.cs
+++ b/src/Nancy/Diagnostics/DiagnosticsHook.cs
@@ -147,7 +147,7 @@ private static Response ExecuteDiagnostics(NancyContext ctx, IRouteResolver rout
                 ctx.Response = task.Result;
             }

-            if (ctx.Request.Method.ToUpperInvariant() == "HEAD")
+            if (ctx.Request.Method.Equals("HEAD", StringComparison.OrdinalIgnoreCase))
             {
                 ctx.Response = new HeadResponse(ctx.Response);
             }
@@ -253,7 +253,7 @@ private static DiagnosticsSession ProcessLogin(NancyContext context, Diagnostics

         private static bool IsLoginRequest(NancyContext context, DiagnosticsConfiguration diagnosticsConfiguration)
         {
-            return context.Request.Method == "POST" &&
+            return context.Request.Method.Equals("POST", StringComparison.OrdinalIgnoreCase) &&
                 context.Request.Url.BasePath.TrimEnd(new[] { '/' }).EndsWith(diagnosticsConfiguration.Path) &&
                 context.Request.Url.Path == "/";
         }
diff --git a/src/Nancy/Routing/DefaultRequestDispatcher.cs b/src/Nancy/Routing/DefaultRequestDispatcher.cs
index a36396c..d25d11f 100644
--- a/src/Nancy/Routing/DefaultRequestDispatcher.cs
+++ b/src/Nancy/Routing/DefaultRequestDispatcher.cs
@@ -69,7 +69,7 @@ public Task<Response> Dispatch(NancyContext context, CancellationToken cancellat
                                     {
                                         context.Response = completedRouteTask.Result;

-                                        if (context.Request.Method.ToUpperInvariant() == "HEAD")
+                                        if (context.Request.Method.Equals("HEAD", StringComparison.OrdinalIgnoreCase))
                                         {
                                             context.Response = new HeadResponse(context.Response);
                                         }
diff --git a/src/Nancy/Routing/DefaultRouteResolver.cs b/src/Nancy/Routing/DefaultRouteResolver.cs
index 9647785..68f50b9 100644
--- a/src/Nancy/Routing/DefaultRouteResolver.cs
+++ b/src/Nancy/Routing/DefaultRouteResolver.cs
@@ -93,7 +93,7 @@ private static bool IsMethodNotAllowed(IEnumerable<string> allowedMethods)

         private static bool IsOptionsRequest(NancyContext context)
         {
-            return context.Request.Method.Equals("OPTIONS", StringComparison.Ordinal);
+            return context.Request.Method.Equals("OPTIONS", StringComparison.OrdinalIgnoreCase);
         }

         private void BuildTrie()
@@ -163,7 +163,7 @@ private static string GetMethod(NancyContext context)

             if (!StaticConfiguration.EnableHeadRouting)
             {
-                return requestedMethod.Equals("HEAD", StringComparison.Ordinal) ?
+                return requestedMethod.Equals("HEAD", StringComparison.OrdinalIgnoreCase) ?
                     "GET" :
                     requestedMethod;
             }
diff --git a/src/Nancy/Routing/Trie/RouteResolverTrie.cs b/src/Nancy/Routing/Trie/RouteResolverTrie.cs
index f8d755a..dc1e62d 100644
--- a/src/Nancy/Routing/Trie/RouteResolverTrie.cs
+++ b/src/Nancy/Routing/Trie/RouteResolverTrie.cs
@@ -14,7 +14,7 @@ public class RouteResolverTrie : IRouteResolverTrie
     {
         private readonly ITrieNodeFactory nodeFactory;

-        private readonly IDictionary<string, TrieNode> routeTries = new Dictionary<string, TrieNode>();
+        private readonly IDictionary<string, TrieNode> routeTries = new Dictionary<string, TrieNode>(StringComparer.OrdinalIgnoreCase);

         private static char[] splitSeparators = new[] {'/'};

@@ -117,4 +117,4 @@ public override string ToString()
             return sb.ToString();
         }
     }
-}
\ No newline at end of file
+}

@khellang here's another try at fixing it. I wasn't sure if there were other tests that needed to be added/updated.
For some reason running the tests locally with resharper results in When_AutoRegistration_Is_Enabled_Should_Throw always being marked as failed. I think it's just the test runner though because on travis & teamcity this is passing.

Yes! This looks better. Let me have a look when I get to a computer :+1:

Thanks! :heart:


BoundsControl with non-uniform scaling overrides MinMaxScaleConstraint

Describe the bug
MRTK 2.5.4
If a BoundsControl also has a MinMaxScaleConstraint,
and the BoundsControl's Scale Behavior is "Non Uniform",
the MinMaxScaleConstraints seem to be ignored.
To reproduce
Steps to reproduce the behavior:

Create a new scene.
Add MRTK to scene.
Add a cube to scene, position at [0, -1, 3].
Add a BoundsControl to the cube
Use the newly-added ConstraintManager component on the cube to add a MinMaxScaleConstraint.
Configure the MinMaxScaleConstraint:
min: 1      max: 1.2      Relative To Initial State: False.
7 ---> run in editor and verify that the scale constraint is working as expected
8 .. actually, I can't complete this bug because I can't figure out how to get an editable ScaleHandlesConfiguration from scratch.

Expected behavior
Even with non-uniform scaling, the BB respects the MinMaxScaleConstraint.
Your setup (please complete the following information)

Unity Version [2019.4.16f1]
MRTK Version [2.5.4]

Target platform (please complete the following information)

Repro's in editor.

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!


Enable nightly doc build warnings

Enable nightly doc build warnings.
https://github.com/ansys/pyfluent/actions/runs/5352121166

Nightly doc build - https://github.com/ansys/pyfluent/actions/runs/5352121166

If I understood it correctly, this is going to cause nightly doc builds to fail if there were any warnings at all.
My first thought is that it may be a good idea to disable some warnings such as GL08: The object does not have a docstring as this is not always necessarily an issue in my opinion. Adding a docstring to every single object/method, even when it is obvious and arguably unnecessary (e.g. just repeating the method or class name), just because of that warning, looks like a mistake to me.
Regardless, if others prefer to always have docstrings on all objects and go ahead with this, that is fine with me as well.
Also, wouldn't it be a good idea to have this same behavior on branches, before they get merged into main as well? Otherwise I expect we will forget about this and make small doc changes that result in warnings that no one notices on the PR, and have nightly doc builds failing constantly.

Yes, that's what it would do.  When I originally did the doc infrastructure work last year I activated it with warnings as errors but a few months ago this got deactivated and now there are a number of undocumented classes and modules in the code.
The problem with this IMO is that you have no context about why the module is there, why the class is there, what it's methods are for and you are left to reverse engineer the context by staring at the code or writing tests for it to see what it does.
The bottom line is everyone should be documenting their code if they want anyone to use it.

Regarding this:

Also, wouldn't it be a good idea to have this same behavior on branches, before they get merged into main as well? Otherwise I expect we will forget about this and make small doc changes that result in warnings that no one notices on the PR, and have nightly doc builds failing constantly.

The answer is yes.  It used to be active for branches as well... but that was also deactivated.

We will merge this after fixing all existing warnings.

Mainak has already fixed noindex warnings and right now we are adding missing docstrings.


Extra az_span functions mainly for interfacing with other libraries - to c_str(), etc.

@vhvb1989, this is what we were talking about yesterday. You need az_span_to_c_str() when giving strings to libcurl.


Support for empty patterns

e.g. tracktitle: empty pattern

on second thought, the only use case for this is to run an action on all tracks. which we can support if a use case appears; however, this is a shitty way of encoding such logic. better to instead have rose rules run-all 'action'.


Color Feature

User Interface ColorState: set and load colour states for elements

[x] default colour state

[x] hover colour state

[ ] pressed colour state

Buttons should have a background colour, text colour, and outline colour. Each of these elements have their own colour state.

default colour state works; alternative for hover colour was ease in/out fading. Pressed colour state unnecessary ❌
Buttons have a background colour, text colour, and outline colour.


Users getting logged out after an hour, even while on a call.

This issue was reported by some of our users:
'each hour they are using it it logs them out even if they are in the middle of a call.'

please look at issue #31 . You have to change your app config to have the app key.

Hi, @akolahi . Now in implicit grant flow, app doesn't support to refresh token. #8
It's recommended to provide appSecret to this app. Provide it as appKey:
<script>
  (function() {
    var rcs = document.createElement("script");
    rcs.src = "https://ringcentral.github.io/ringcentral-web-widget/adapter.js?appKey=1111&appSecret=2222";
    var rcs0 = document.getElementsByTagName("script")[0];
    rcs0.parentNode.insertBefore(rcs, rcs0);
  })();
</script>

Thank you. I've made the suggested change.

Thanks @AndyHaas @akolahi for feedback


Linton naik chapter8

This was a challenging update due to the mathematical equations present. Some of the other updates were as expected. I may need to review other updates made since it looks like the OCR regards a backquote and a single quote as equivalent.

Hi, I just got write access! I made a pass through PRs, merging the easy stuff, but there are conflicts here so I haven't merged this yet.

Effectively merged in #122.


Handle data streams

[x] Create data.frames as stream of data that will grow line by line
[x] Add the RPi timestamp as a new column yyyy-mm-dd HH:MM:SS
[x] Split data streams using FED device number instead of port
[x] Write the data.frames to file every 100 (?) iteration

Represented by dictionary of fed device_number to list of dictionaries representing data line by line, from old to new. Cast into pandas dataframe for saving to csv.


feat(api-reference): extend font weights for links and sidebar items

add font weights sidebar items (active, inactive) in a css variable
add link hover colours in a variable
add link weights in a variable
add link text decoration colours in a variable

Cool, I think @hwkr’s comment was adressed. Let’s get this in!


Rename to git-find-repos?

I was about to write exactly this when I saw your blogpost. My current solution for fixed depth discovery command was called git-ls-repos, so I could call it with git ls-repos since git will execute commands that match git-<subcommand> when issued a subcommand.
I think this tool would feel more integrated if it could be called from git as git find-repos.

Good call. I'll update the name when I have some time.

Thanks. For the time being, I'm on ln -s ~/.local/bin/find-git-repos ~/.local/bin/git-find-repos and loving it.

Done, thanks for the suggestion. It's now on PyPI under git-find-repos.


Femto Bolt cannot acquire depth-view images in docker

Hi,
Femto Bolt can only get color images, but cannot get depth-view images in docker. However, when out of docker, both the rgb and depth view work normally.
The error is shown as

Thanks.

Hi,
Femto Bolt relies on NVIDIA's GPU. To run it inside Docker, you need to install the NVIDIA Docker toolkit. The installation guide is available here: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html.
After installation, run nvidia-smi inside the Docker container to check if the GPU is available.
Best regards,

Hey,
I installed the NVIDIA Docker toolkit and tested it successfully using their sample workload in Docker https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html# where my GPU shows up in the output.
However, the problem still persists with the same errors and warnings as the screenshot above.
@TeleeMa Did you manage to get the depth image in Docker ?
Kind regards

Hey,
I am facing the same issue. Could you find any solution ?
Best Regards

Hello,
Nope I did not find any solution to this problem, I hope it gets fixed though.


Merge main into dev

Description
Merge main into dev

what is this?

what is this?

Previous MRs were targeting main, so dev is behind now


expose container Cmd via nodes/kinds

To allow override of the Cmd that is used by a kind/node

Already implemented

Already implemented


Support n-gon indices

I would like to use this with an offline renderer through my nsi crate. These kind of renderers support meshes with arbitrary number of vertices per face.
This requires two indices. One specifying the number of vertices for each face and one for the actual index of vertex ids. Could some helpers be added Subdivided to request two index buffers as such?

Hey! Thanks for reaching out,
I've thought about this, and have no issue incorporating this idea into Hexasphere, however I am unsure how subdivison would work in terms of n-gons. Subdividing most shapes evenly is difficult to do properly, and that's in the case of regular n-gons. If you know of a good way to do subdivision, let me know. Otherwise, I could write a helper struct/function which would let you de-n-gon a mesh, and turn all of the shapes into triangles.
I'll experiment with subdividing an n-gon in the meantime, and will try to come up with an acceptable method.

Maybe there's a misunderstanding? I do not need triangles for my use case. As in: never. I am perfectly fine with hexagons.
Thank you for considering to add this! I want to combine it/use it as a base shape with my polyhedron operators.

I believe that there may be a misunderstanding, currently hexasphere only provides abstractions for subdividing triangles, and therefore provides icosahedron subdivision. What exactly do you intend to use this library for? I'd probably be open to implementing it, since I'm quite interested in continuing the development of this library; I've recently gotten some more time to work on it.

Ah, yes. I get it. I assumed this was a port of something like this, this or this because of the name. Hexa suggested hexagons to me, not triangles.

I had two uses in mind: using such spheres as a base shape for my polyhedron experiments and using them as a base for a level for a game I'm working on, using bevy.

Actually, I plan on making an adaptor to turn the subdivided icosahedron into its dual goldberg polyhedron, and coincidentally also to use them as a base for a game I'd like to make in bevy. I was actually planning on writing that after I cleaned up the library a bit more, since I left it in a "works, but not pretty" state last time.

Actually, I realized that my crate can already generate these meshes. It's just applying dual and kis any number of times to an icosahedron start shape.
So never mind my request. :)

Yup, sorry for the confusion.
In any case I am still going to make this generate an actual hexagon sphere.
Thanks, have a nice day!


Added link to CONTRIBUTION.md

Added link to CONTRIBUTION.md file in project readme

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


Deprecate client methods

In this version we support

getDatabases
createDatabase
deleteDatabase

This methods will be removed from release 0.9.0

A new inspection was created.

The inspection completed: 3 new issues


Allow compiling with both QAT and RSA multi-buffer support and run-time selection of acceleration method

Right now the engine needs to be compiled to either support QAT or RSA multi-buffer acceleration (https://github.com/intel/QAT_Engine/blob/master/.tools/configure.ac#L244-L255). However, for distribution purposes, it would be great if both acceleration modes could be compiled into the engine and the desired acceleration method chosen at run-time using QAT engine messages.

At present the build doesn't have this capability but there is plan to bring in this support. Will keep you posted.


Add Controls to Minimize/Close as part of the theme

I know I can use the normal ones but they look ugly and out of place. the no controls looks better but well it has no controls.
I dont know if its even possible but some icons put as part of the theme would be cool. smt like this, ty.

I DAMENLY AGREE! It would be great if they add this.

How do you even disable the control to start with?

on Windows 10, you can try this: https://github.com/morpheusthewhite/spicetify-themes/blob/master/Dribbblish/SpotifyNoControl.exe
Since new version of UI, this works for me only if I run spotify with flag  --transparent-window-controls

I know this is something that everyone wants, but, at the moment, this is still not possible. Therefore I will close this.


Create FieldTitleAttribute.cs

This is additional title attribute for a new feature, create an headertext with the column names. See also coming-up TypeExtensions.
Not my code, just submitting it

Clossing this PullRequest will be implemented in #85


Support null characters in strings

There seem to be some strong opinions out there that NUL chars in JSON strings should be supported. This would suggest that we maintain strings by length - possibly keep offset+length on the tape? Or start each string with a length field.

This is not very difficult but requires a small change to the string tape.

Having the length of the string exposed (since it's calculated at least once in simdjson already) would be a great performance boost for pysimdjson, since the conversion from const char * to unicode can be optimized when the length is known ahead of time.

@TkTech  Just to clarify your comments... the char* we store are already unicode (UTF8). Maybe you mean some other unicode encoding?

CPython (usually) does not use UTF-8 internally, but rather something closer to UTF-16. When going from simdjson to python we need to convert those UTF-8 strings into unicode objects that the Python interpreter understands using PyUnicode_DecodeUTF8.
When the length of the string isn't known Cython will wrap everything in strlen, which when you have a document with thousands of strings will add quite a bit of overhead, especially if parts of the document are converted into Python objects multiple times.

Ah yes, UTF-16.

Fixed with https://github.com/lemire/simdjson/pull/101