How compatible is there with the unreal event system and how easy is it to write the event?

Look at the speed with which I can create a trigger in Godot or Unreal. It's just a few clicks... The engine already has the event system built in automatically... I think one of the most important features of an engine and Programming language compatibility is how events are executed. Its implementation in a simple and automatic way. This can mean that the tool is extremely practical to improve productivity... that is, one of the disadvantages of unreal with C++ is how impractical it is to generate component events.
If you can generate something like that plus the delay in the code, I think NIM could be a serious alternative to Blueprint coding.
Thank you for responding, even if you cannot implement it, keep it in mind.
greetings.
https://www.youtube.com/watch?v=zJ3seK6haW8

When you press a signal, the event is created automatically in godot.

Pressing an event on a component automatically creates the event in the blueprint.

How would this be with NIM? Is it automatic?

You can hook to any delegate from Nim yes. See in the NimTemplate the bindAction to input action. BTW in C++ is trivial to bind to one too.
I recommend you to learn some basics of working with UE and specifically C++ before jumping into NimForUE

You can hook to any delegate from Nim yes. See in the NimTemplate the bindAction to input action. BTW in C++ is trivial to bind to one too.
I recommend you to learn some basics of working with UE and specifically C++ before jumping into NimForUE

I know how to work with unreal engine using C++, I know the API well and how to self-document unreal C++ code with blueprints. The problem of C++ with unreal is that implementing the event system is very impractical, since it is not automatic, it is even difficult and error-prone.
With C++ in unreal the includes are not automatic and that is also a lot of waste of time and generates errors
You have to reference the pointer of the component type, then do a binding in the begin play to put a pointer to the function. I think that is very poorly implemented, it should be much more automatic, like in Unity where you call the method and it works or like Godot, where when you press the button it is written automatically.

That's why I asked you if you had something similar, something automatic, that allows you to implement component events in a simple way.
I think it is the big difference in a video game engine.
Thanks for the suggestion, I'll take it into account. but without a system of events that is more or less easy to implement, I don't know if it is worth learning this technology.
Thank you so much.

So basically you want an UI that types for you the text? Copilot does a pretty good job and IMO better than an UI. That said, PRs are welcome :)

So basically you want an UI that types for you the text? Copilot does a pretty good job and IMO better than an UI. That said, PRs are welcome :)

It doesn't have to be a copilot, it has to be a language tool compatible with unreal that allows you to generate events automatically with as little code as possible. For example, when writing "OnBoxComponentBeginOverlap", at the same time generating the inclusions and everything necessary for operation, this saves you a lot of coding and errors.
I mean, you would have to generate a kind of tool to generate the links automatically, then when the event is called you generate it easily. You should have the same names in the blueprint components
It would be much better if it could be done directly from the editor like Godot, but hey, let's say that that cannot be done, at least write the event and have everything that is needed generated automatically, quickly and simply.
It would be a kind of interface where you connect the complicated methods implemented in C++ to a simple method that you call and you already have the functionality in a simple way, as if it were unity
I don't know if this is possible, but I am almost sure that this is implemented by the most used engines such as Godot, Unity and unreal with blueprints. In other words, how the event system is implemented automatically, how the includes work automatically and How DELAYs work in the code.
examples of some methods you can implement, but unreal has many.

Nim uses the reflected API as blueprint for Delegates. But do you understand that's possible in Godot (and in Engine) because it's decided at runtime and Nim (and C++) are compiled langs? As opposed to GDScript or Blueprints. In order words the compiler doesnt have type information. The workaround would need to retrieve all the delegates at runtime. This can be done with an editor extension and a server that acts as type provider hooked into the engine but not sure if it worth the effort for the little it solves (as it's solved for the most part by something like copilot)

Nim uses the reflected API as blueprint for Delegates. But do you understand that's possible in Godot (and in Engine) because it's decided at runtime and Nim (and C++) are compiled langs? As opposed to GDScript or Blueprints. In order words the compiler doesnt have type information. The workaround would need to retrieve all the delegates at runtime. This can be done with an editor extension and a server that acts as type provider hooked into the engine but not sure if it worth the effort for the little it solves (as it's solved for the most part by something like copilot)

but copilot would generate a lot of code and not everyone has copilot because it is paid.
Besides, by using copilot you would not be generating a way to program video games, but rather reusing code that may be prone to many errors that are difficult to understand.
As I told you Automatic event system, automatic and intelligent includes and delay in the code are for me the 3 fundamental tools. Afterwards you also have how to search for objects in scenes, although there you can use the unreal API, but always based on the blueprint methods, so that it is easier to understand.
To make matters worse, Unreal has a Build.cs file where sometimes you have to put PublicDependencyModuleNames to use some type of class and that, ugh, is something very bad, many people have a lot of problems with that when they try to use C++. This is where the INTELLIGENT INCLUDES WITHIN BIM would come in.

You would be teaching people how easy and automatic it is to implement events compared to C++
How fast and smart code autocompletion with includes works in BIM compared to C++.
And the delay in the code that does not have C++ but is a fundamental tool to execute small actions from time to time, right there in that line of code...
I'm not telling you to do it, but think about the other engines, think about what tools made them so famous and you will see that what I'm telling you is the basis of those engines.

You would be teaching people how easy and automatic it is to implement events compared to C++ How fast and smart code autocompletion with includes works in BIM compared to C++.
And the delay in the code that does not have C++ but is a fundamental tool to execute small actions from time to time, right there in that line of code...
I'm not telling you to do it, but think about the other engines, think about what tools made them so famous and you will see that what I'm telling you is the basis of those engines.

Implement this with just an enter trigger and make a flappybird, you will see the benefits of having something like this in the code compared to C++.

Nim uses the reflected API as blueprint for Delegates. But do you understand that's possible in Godot (and in Engine) because it's decided at runtime and Nim (and C++) are compiled langs? As opposed to GDScript or Blueprints. In order words the compiler doesnt have type information. The workaround would need to retrieve all the delegates at runtime. This can be done with an editor extension and a server that acts as type provider hooked into the engine but not sure if it worth the effort for the little it solves (as it's solved for the most part by something like copilot)

One more thing I can tell you, you are possibly an excellent low-level programmer. But keep in mind that a video game programmer is not interested in low level, he is not interested in getting complicated when creating an event, he needs the functionalities as easy as possible, those at unreal know this very well, that is why they created the blueprints, that is why In godot they created the event system with GDscript.. Well, that's why I'm telling you this.. Done, thank you.

Dont get my wrong, I understand where are you coming from and I dont have anything against a functionality like the one you are describing. Im just dont implementing it myself but I would accept a PR that does it

Dont get me wrong, I understand where are you coming from and I dont have anything against a functionality like the one you are describing. Im just dont implementing it myself but I would accept a PR that does it

Last thing I tell you.
Classes in unreal have a lot of abstract methods that are overridden.
For example
BeginPlay,
EventTick
You also have events within spatial classes such as widgets, as in the behavior tree with decorators, tasks, services.
I mean something that C++ needs, it is a simple way to override those methods, if you are using C++ it is extremely complicated to do this, not very intuitive.
All decent editors have the advantage of being able to see those abstract methods and override them, even if you use Rider for unreal or the visual studio plugin VisualAssits, you have those functionalities.
If within the VIM language, you can implement something like this, you would be helping coding a lot compared to using C++ with unreal.
If you look at the blueprints, you can also easily see the methods you can overwrite.

I would be
Automatic event system.
automatic inclusion system
Abstract method generation system that shows you the abstract methods of each type of class.
delay in code.

Dont get me wrong, I understand where are you coming from and I dont have anything against a functionality like the one you are describing. Im just dont implementing it myself but I would accept a PR that does it

What would I have to learn to be able to implement it?
I imagine it is something very complicated
I don't know if I can, but if I could, I would.
She was even investigating that there used to be a repository where they use Haxe as a language with unreal, but it has been dead for years.
https://github.com/proletariatgames/unreal.hx/tree/b38a3a24f4ecf13e5d2b926a1318932760c40ea2
https://www.youtube.com/watch?v=WKs8QRuMC3k
The important thing is that what I'm telling you is possible and that the technology related to the Nim language can implement these functionalities within unreal...
Ready thanks.

I imagine it is something very complicated
It is not. Depends on where you want to start, but I would start by studying Nim and learning how to use the plugin first.

It has a lot of potential as it's quite unique in the sense the things you can do with it. I develop it mainly guided by my needs as it is not backed/sponsored.

I imagine it is something very complicated
It is not. Depends on where you want to start, but I would start by studying Nim and learning how to use the plugin first.

It has a lot of potential as it's quite unique in the sense the things you can do with it. I develop it mainly guided by my needs as it is not backed/sponsored.

Yes, I imagined. Something like this happened with Haxe's support, but that one came to nothing.
Well, I'll have to see if I dare or not, since it's a long time and as I said, the event system is missing... I'm going to see it when I feel like experimenting with technologies. thank you.

the event system is missing

The event system is not missing, what's "missing" is an editor that does the "copy->paste" for you to subscribe to an event.
They wont support anything that goes against Verse

Of course, that's what I meant, that the event system that Unreal already has can be easily implemented, like in blueprints, but in code.

I'm sorry but you keep misnaming the feature. For the record, the event system exists and it's baked by dynamic delegates (btw in Nim you can also use core delegates). What you are referring to is an external tool that helps you to write them (which IMO is merely a nice to have)

I'm sorry but you keep misnaming the feature. For the record, the event system exists and it's baked by dynamic delegates (btw in Nim you can also use core delegates). What you are referring to is an external tool that helps you to write them (which IMO is merely a nice to have)

Te hablo español porque vi que sos español.
Disculpame si esto queda mal en github, sino te gusta, lo pongo en ingles.
Se que son delegados y es lo que lo hacen tan feo para escribir.
Osea tenes que crear un puntero al tipo de "clase componente",
luego crear un el enlace, "ese DELEGADO" al método que va a esperar el evento y justamente esa forma de escribir el código es horrible, poco practica y propensa a errores.

Entiendo que NIM puede implementar la FORMA UNREAL C++ para manejar eventos con delegados, eso esta bien para los que quieran programar de la misma forma unreal c++, pero a lo que voy es que es horrible y te hace perder mucho tiempo.
Ejemplo blueprint, con dos click puedes generar eventos fácilmente.

Una cosa que estuve pensando que no sé si se podrá hacer es tener varios métodos abstractos que puedan ser reescritos y que dentro tengan una lambda o algo por el estilo con el código de cada tipo de Evento, por ejemplo "on trigger enter", los nombres tienen que ser los mismos que aparecen en los blueprint.
El problema más complicado es que necesitas hacer referencia al puntero del componente para crear ese "ENLACE" con el método + crear ese delegado a la funcion.. Osea si tenes un trigger, necesitas crear el componente BoxCollision y luego crear ese enlace.
Nose si podras hacer algo raro dentro de una lambda en un método abstracto que pueda ser llamado de cualquier lado, que verifique eso de forma automática, cosa de solamente escribir OnTriggerEnter y ya te salga el método.
Tambien podrias hacer una especie de verificación y ver si esa clase posee por ejemplo un boxcomponent, en ese caso podrias acceder a ese método.
En Unity por ejemplo con llamar a ontrigger enter ya está.
Ejemplo.
`
private void OnTriggerEnter(Collider other)
{
speed = speed * -1;
}
`
fijate que simple que es en Unity, no importa lo que pasa por bajo nivel, ni los enlaces o delegados a punteros de funciones.
Pones el método que hace referencia a ese tipo de evento y listo.
Ahora no recuerdo bien unity, pero creo que sino tenes un componente box trigger de ese tipo dentro del gameobject, simplemente no funciona, pero nada más, no tenes que verificar el puntero, ni crear el enlace, ni hacer inclusiones que dependen de ese sistema de unreal en C# en Build.CS, que sino conoces el nombre te hace perder un montón de tiempo.
tambien esta el tema que podes crear componente directo en el editor en unreal y por ejemplo si queres crear un enlace a un método para generar el evento, tenes que hacer get all component by class y todo eso, los problemas con los punteros, más los bugs que aparecen
Imaginate si tuvieras esto con todo el sistema de eventos de unreal, seria una gran ventaja comparado con programar con C++, más rápido, más fácil y más eficiente, más parecido a Unity, más fácil para un programador de alto nivel.
Incluso Godot Engine fue más allá y creo ese sistema que al presionar una Señal directamente se crea el evento, se escribe, eso es espectacular de Godot, lo mejor de esa herramienta, pero bueno vos ya me dijiste que eso no se puede por el tipo de lenguaje que es NIM
Yo no sé hacerlo, nose si sea posible. Pero te lo planteo desde mi conocimiento y mis prácticas con C++.
Para que un lenguaje sea mucho más practico a C++ dentro de unreal, necesita.
Tener un sistema de eventos fácil de sobreescribir que sea compatible con el de unreal, osea una forma más fácil de escribir el sistema de eventos, intuitivo.
sistema de inclusión automático, que sea inteligente y que pueda detectar esos tipos de eventos. Tambien que te ayude con todo el sistema de clases de unreal, ya que eso en unreal C++ funciona muy mal, la única forma es usar un IDE como RiderForUnreal o VisualAssits, pero sigue siendo bastante incómodo en comparación con C# unity.
El sistema de inclusión automatico tiene que sugerir los métodos abstractos, por ejemplo. ON BeginPlay, On Tick, bueno hay muchos, por ejemplo si usar Java eso es fácil, pero si usas unreal con C++ nisiquiera tenes forma de hacerlo, tiene que ser manual, mucha perdida de tipo. A no ser que uses rider o visualassits, son herramientas que mejoran la productividad con c++, pero C++ sigue siendo C++.
El delay en el código, esto es algo importantisimo, Godot, unreal con blueprint, incluso Unity con Corrutinas implementa delay en el código, es una herraienta fundamental.. mira un ejemplo puede ser esperar un segundo para poner un sonido luego de morir o lo que sea, es una herramienta fundamental.
Esto se complementa con el sistema de eventos, por ejemplo cuando una animación de morir termina, ejecutar varias cosas, esperar un segundo y reiniciar personaje..
Bueno esto es todo lo que te puedo decir, yo se programar en C++ con unreal, yo conozco su api, incluso uso la API de los blueprint dentro de C++, pero C++ sigue siendo C++ y no es como un C# para programar videojuegos, es un lenguaje de bajo nivel para mejorar el rendimiento pero muy poco practico para escribir lógica de videojuegos.
Tene en cuenta todo esto que te digo para un futuro en tu desarrollo.
Yo voy a ver que puedo hacerlo, lo que pasa que no tengo mucho tiempo, pero me interesa mucho un buen lenguaje de scripting dentro de unreal que no sea C++ orientado a scriting.
Incluso como dije más arriba existe un plugin con Haxe en unreal  4.17 que permite programar con Haxe, pero quedo muerto el plugin, muchos quieren actualizarlo, pero no pasa nada con eso.
https://github.com/proletariatgames/unreal.hx
Lo mismo paso con C#, ya que habia unos individuos que estaban intentando adaptar C#, pero quedo en la nada.
https://github.com/nxrighthere/UnrealCLR
ojala no pase lo mismo con tu repositorio..
Asi que bueno, voy a ver lo que me decís de todo esto, contestame en español.
gracias y saludos.

Sigues confundiendo lenguaje,  sistema de eventos con algo que hace una tool externa (Engine en el caso de GDScript o Editor de Codigo en el caso de C#).
Vuelvo a lo que te digo, si te interesa mejorar algo, te puedo orientar.
Conozco al creador de UnrealCLR y hay algun otro proyecto que ha querido meter C#. Sea como fuere, tendrian el mismo problema que tu senialas (que no es un problema real IMO).
Dicho esto, NimForUE trata de ser un reemplazo de C++ no de Blueprints (como otros lenguajes por ahi). Con Verse, UnrealCLR (u otra implementacion) necesitas C++ por la forma en la que esta hecha el engine (i.e. mira GAS). La meta de NimForUE es que no (el interop de Nim con C++ es nativo, i.e. puedes sobreescribir funciones virtuales)

Sigues confundiendo lenguaje, sistema de eventos con algo que hace una tool externa (Engine en el caso de GDScript o Editor de Codigo en el caso de C#).
Vuelvo a lo que te digo, si te interesa mejorar algo, te puedo orientar.
Conozco al creador de UnrealCLR y hay algun otro proyecto que ha querido meter C#. Sea como fuere, tendrian el mismo problema que tu senialas (que no es un problema real IMO).
Dicho esto, NimForUE trata de ser un reemplazo de C++ no de Blueprints (como otros lenguajes por ahi). Con Verse, UnrealCLR (u otra implementacion) necesitas C++ por la forma en la que esta hecha el engine (i.e. mira GAS). La meta de NimForUE es que no (el interop de Nim con C++ es nativo, i.e. puedes sobreescribir funciones virtuales)

Bueno, listo.. Si son herramientas externas, lo que sea, pero esa es la ventaja.. voy a tner en encuenta esto que mensionas.. gracias por tu tiempo.


Add client->server streaming in Java

https://github.com/dotnet/AspNetCore.Docs/issues/14308

Thank you for the PR, @BrennanConroy


Text to speech

I want to add text to speech project in this repo.
The project has 8 different type of voices and functionality for changing volume , pitch and speed  of speech.
It also has buttons for pause ,play ,stop and speak.
Kindly assign this me this issue under GSSOC'22

Already there on the website


Adds changelog for 2017-10-23 release

Coverage remained the same at 71.348% when pulling 1e4a1cb2b20076f8d1cbb70fb286407e14f9a823 on Dorthu:adds-2017-10-23-changelog into 3ac8b0314e8622d4db62728eb8500618d8bf2579 on linode:pending-docs-updates.

Coverage increased (+0.03%) to 71.375% when pulling 1fad40e5723c0b516c831f08f7b70f12361fd4d6 on Dorthu:adds-2017-10-23-changelog into 3ac8b0314e8622d4db62728eb8500618d8bf2579 on linode:pending-docs-updates.


llama.cpp without neovim nightly build? (0.10)

Is there anyway to use neovim 0.9+ for the llama.cpp feature?
Neovim 0.10 does not seem to be released yet. (currently in nightly). https://github.com/neovim/neovim/releases
As much as it might be cool getting a nightly neovim working, its not worth messing with my whole setup for a single plugin.
I could just wait for neovim 0.10 update, but seeing how the whole plugin already supports 0.8 this becomes a surprise roadblock.
Is vim.system critical for getting llama.cpp to work?

PS this is a really cool plugin. :)  Would love to take a stab myself if I actually knew any lua.

Thinking as a stopgap solution I could just host a API via https://github.com/abetlen/llama-cpp-python and just have the provider talk to the completion endpoint. Though wanted to get some thoughts before just jumping into a custom solution.

Hi! Yeah it's totally possible - vim.system doesn't provide anything that's not possible without it. I implemented curl fetching with uv - vim.system just provides most of what I hand-wrote out of the box, and is probably a bit more robust. You're right though, requiring nightly for one feature of one plugin is a lot so I'll take a look at factoring out vim.system. I'd also welcome a PR - you could try to use this plugin to get an LLM to build it :)
For now I think using the OpenAI provider with a compatible server is the easiest way to get this working. You can override the url option like this per-prompt.
And thanks for checking out the plugin!

@slenderq I've removed the vim.system req. Just a note, for practical use I'd still go with the llama cpp rest API since the spin-up time for llamacpp CLI can be really long - it's useful for playing around with options that the rest API doesn't expose though.


Cancel purchase instructions

Please add details regarding 'cancel purchase' as how is done here; https://docs.microsoft.com/en-us/azure/app-service/manage-custom-dns-buy-domain#cancel-purchase-delete-domain
What are the conditions to cancel in first few (how many?) days etc...

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

ID: fa7e21c2-d024-dda5-a468-b140422b9fae
Version Independent ID: 5475c8e6-1186-8ed1-2ad6-6eaa2cac871f
Content: Buy and configure an SSL certificate from Azure - App Service
Content Source: articles/app-service/web-sites-purchase-ssl-web-site.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: apurvajo;cephalin

@dvherk Thanks for the question! We are investigating and will update you shortly.

@dvherk Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@dvherk There's no way to cancel a certificate. However we will add instructions on how to delete a certificate in a future update. Thank you. #please-close

@dvherk As Cephas shared, there is no formal process to cancel a certificate. If you wish to see about a refund for the certificate, open a free subscription and billing support case in the Azure portal to see if you qualify for a refund/credit. Please note that there is no guarantee of a refund/credit as it's handle on an individual basis. The guidance is to open a support ticket as soon as you realize you purchased the certificate by accident.


Make LedgerUpdateResponse fully TIP-compliant

[ ] paging_state should be cursor
[ ] transaction_id and output_index should be outputId
[ ] data should be items
[ ] All fields should use camelCase

Perhaps we should change the TIP in this case.


Invalid UndefError after an instanceof check

Here is a repro case:
<?php

interface A {
}

interface B {
    function interesting();
}

function foo(A $a) {
    if ($a instanceof B) {
        $a->interesting();
    }
}

Phan outputs test.php:12 UndefError call to undeclared method \a->interesting() which is not true as within the if block we know that $a is of type \a + \b.

Thank you so much for this and the others, @Seldaek. We'll get to them as soon as we can.
Keep 'em coming if you find anything else.

Phan now treats
if ($x instanceof Y) {
   // ...
}

as a temporary cast of $x to Y within the block. See https://github.com/etsy/phan/blob/master/src/Phan/Analyze/ConditionVisitor.php#L150-L197 for the implementation. Only variables are handled right now (not properties).

Great, that'll fix a bunch of issues I was seeing :)

I just updated my original comment with some explanation of limitations; wanted to make sure you saw them as it could be annoying.

Thanks but that's already quite cool. Does it also work with things like is_int/.. for type detection?

Nope. Not yet. I'm hoping to add if block casts for that and things like empty, isset, is_string, etc.. No idea on time lines for that, though.


Docker Swarm not documented

https://microservices-demo.github.io/docs/docker-swarm-mode.html just contains "Coming Soon". Should it point to documentation in https://github.com/microservices-demo/microservices-demo/tree/master/deploy/docker-swarm?

Instructions have changed to new docker swarm and references to old docker swarm have been removed.


Fix Add MW Deployment not working

The correct variable holding the reference to the file is filePath instead of just file.

@miq-bot add_label providers/hawkular, ui, bug
cc @abonas

@ammendonca is there a github issue (bug) that now needs to be closed?

@abonas, no, I've just created the PR as it works as an issue as well.

@abonas, no, I've just created the PR as it works as an issue as well.

np. I just remembered there was a bunch of deployment related issues opened by qe, wasn't sure if this covers one of them.

ah, no, this was just an issue I've found after the merge of #10393 yesterday, the deploy functionality was not working at all.


Return early in makeSnapshotOf if versionFrequency not met

This fixes a non-critical bug with the Snapshotter where every new aggregate instance would have a snapshot generated after the commit is added.This performance/design fix returns early from makeSnapshotOf before it hits the database, parses EJSON, etc and then also writing back to the snapshots collection, so this should be a significant boost particularly when batch importing. Outside of that, this is really what expected from a snapshotting feature.

Awesome @rhyslbw good performance enhancement! Will merge this


Feature: Collection and Folder Documentation

Related to #361, sometimes is useful to put documentation per collection and folder. Same as for requests, it will make sense to support markdown

Request Level will being released in another hour.
Collection level should also be quickly implemented.
Folder level may take some time (1-2 weeks)

Hi @helloanoop, is it still a required feature to implement folder level docs? As far as I know, it was not yet implemented.

Hi @helloanoop, @sanjai0py. I implemented this feature in PR #3206. Please, let me know what you think. Thanks

Thanks @fgalaf
We'll take a look at it this week.
cc @sreelakshmi-bruno

Just merged the PR. This will go out in v1.37.0 release.


Need to add public IP address of client/customer device for administration purposes

Module: 00
Lab/Demo: 06A Configure Azure Key Vault networking settings
Task: 00 - Configure Key Vault firewall and virtual network settings
Step: 06
Description of issue
The public IP address of the client/customer device needs to be added for administration purposes.

If not, the following error will appear in Lab 06B when attempting to manage the Azure KeyVault secrets.
"Firewall is turned on and your client IP address is not authorized to access this key vault."

The lab instructions are aligned with Skillable hosted environment.


Video Group Project

Group Members:
Yuri - Backend
Sachit - Backend
Tanay - Scrum Master
Raunak - DevOps
Harsha - Frontend
Group Video
(Our video link got deleted from yesterday so we remade the post)

I see you have a basic understanding of what your roles are but I would have liked to see you delve deeper into what you are doing for the team. I think the devops did well in this regard with use of technical language and examples used. @2:05 you had a recording error that needs to be fixed. You should always check something before submitting. I like your idea but it does seem a little basic with a 5 person group. I would definitely consider how you can make the project a little more unique or advanced.
Score 4.3


Access to native CGL functions on OSX

I am building a particle system using OpenGL and OpenCL. I need to share VBOs between OpenGL and OpenCL and therefore create an OpenCL context with the appropriate properties.
I am aware that glfw3 exposes some native API functions however I can't figure out how to access the CGL ones.
https://github.com/glfw/glfw/blob/master/include/GLFW/glfw3native.h
I basically need to find how to run this within glfw3:
[...]
cl_int error;
cl_device_id deviceID;

CGLContextObj kCGLContext = CGLGetCurrentContext();
CGLShareGroupObj kCGLShareGroup = CGLGetShareGroup(kCGLContext);

cl_context_properties properties[] =
{
    CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE,
    (cl_context_properties)kCGLShareGroup,
    0
};
clCreateContext(&properties, 1, deviceID, NULL, NULL, &error)
[...]

The problem is also discussed on the glfw github but doesn't answer the question for OSX. https://github.com/glfw/glfw/issues/104
Thank you very much guys, keep up the good work. I love your project ;).
Cheers,

The above code doesn't even need the native functions, as you're retrieving the context made current by `glfwMakeContextCurrent'. Just include the CGL headers and you're set.
However, you can also access the CGL context of a GLFW window with glfwGetNSGLContext and NSOpenGLContext CGLContextObj without making it current first, if you don't mind using a tiny bit of Objective-C.

I'll see about adding an OpenCL guide similar to the current Rift one.

CGL is provided by OpenGL.framework, iirc, so it should already be declared if you let the GLFW header include the OS X OpenGL header.

Hi Elmindreda!
Thank you very much for your help. I am now finally able to compile / run that code.
Just reference, if anybody runs into the same problem here is what I did.
#ifdef __APPLE__
# define GL_GLEXT_PROTOTYPES
# define EGL_EGLEXT_PROTOTYPES
# include <GL/glew.h>
# include <GLFW/glfw3.h>
# include <OpenGL/OpenGL.h> // <---- That line was missing
# include <OpenCL/opencl.h>
# include <OpenCL/cl_gl.h>
#endif

For some reason, I just expected glfw3 to include it for me ;)
Cheers,


[WIP] add macsima reader

Redo of previous work in https://github.com/scverse/spatialdata-io/pull/156.
This tries to solve #155.
Lung_adc_demo
from spatialdata_io import macsima
sdata = macsima('./Lung_adc_demo', subset=1000)
sdata

Note that now the cycle information is added to a table and that the coordinate systems are named after the dataset.
SpatialData object
├── Images
│     └── 'Lung_adc_demo_image': DataTree[cyx] (116, 1000, 1000), (116, 500, 500)
└── Tables
      └── 'Lung_adc_demo_table': AnnData (0, 116)
with coordinate systems:
    ▸ 'Lung_adc_demo', with elements:
        Lung_adc_demo_image (Images)

For the LiverCellAtlas data, it stores all middle cycle nuclei channels in a different image and table.
SpatialData object
├── Images
│     ├── 'HumanLiverH36_image': DataTree[cyx] (102, 5772, 6621), (102, 2886, 3310), (102, 1443, 1655), (102, 721, 827)
│     └── 'HumanLiverH36_nuclei_image': DataTree[cyx] (50, 5772, 6621), (50, 2886, 3310), (50, 1443, 1655), (50, 721, 827)
└── Tables
      ├── 'HumanLiverH36_nuclei_table': AnnData (0, 50)
      └── 'HumanLiverH36_table': AnnData (0, 102)
with coordinate systems:
    ▸ 'HumanLiverH36', with elements:
        HumanLiverH36_image (Images), HumanLiverH36_nuclei_image (Images)

Parsing of raw data should be another PR. It differs in the handling of metadata for channels and cycles from https://gustaveroussy.github.io/sopa/api/io/#sopa.io.macsima @quentinblampey.
The channel naming is different (R{cycle} {marker} instead of {marker}{ (duplicate_number if duplicate markers)). I like both styles, so I'll try to add later style as well and add a parameter.

Codecov Report
Attention: Patch coverage is 20.23810% with 134 lines in your changes missing coverage. Please review.

Project coverage is 34.74%. Comparing base (cff4896) to head (e001548).
Report is 2 commits behind head on main.

Files with missing lines
Patch %
Lines

src/spatialdata_io/readers/macsima.py
21.21%
104 Missing :warning:

src/spatialdata_io/readers/_utils/_utils.py
16.66%
30 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #224       +/-   ##
===========================================
- Coverage   45.50%   34.74%   -10.77%
===========================================
  Files          22       23        +1
  Lines        2149     2317      +168
===========================================
- Hits          978      805      -173
- Misses       1171     1512      +341

Files with missing lines
Coverage Δ

src/spatialdata_io/readers/_utils/_utils.py
21.64% <16.66%> (-20.98%)
:arrow_down:

src/spatialdata_io/readers/macsima.py
21.21% <21.21%> (ø)

... and 4 files with indirect coverage changes


Feature Request:  Specify conf file

Was thinking that it would be nice to be able to specify the conf file name to be used, that way you can leverage multiple files say if you wanted to separate your hardening parameters vs your application tuning parameters.  I will try to submit a pull request for this feature if I have time, but if someone gets to it first, be my guest.

So I guess I am wrong on this one.  Looks like if you set node['sysctl']['conf_file'] to something, it will write the config there.  Good to know.  Maybe we could ad this as a parameter to the LWRP resource.  Also noticed that the LWRP resources seems to apply the changes each time the chef client runs.

I'm going to amalgamate this into #104


Update Circe to 0.14.1

Codecov Report

Merging #154 (0bcd4e9) into master (99a3a44) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   84.04%   84.04%
=======================================
  Files          19       19
  Lines         282      282
  Branches        6        6
=======================================
  Hits          237      237
  Misses         45       45

Continue to review full report at Codecov.

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


more than 1 space between for each causes parse error

If there is more than one whitespace character between the for and each, that results in a parser error. However, this successfully compiles and runs on Roku.

Well that's bizarre - I would have never thought to try that!  Thanks for letting me know @TwitchBronBron!  Should be a relatively simple fix in the Lexer, roughly where the two-word tokens are handled.  Probably just a while(peek() === " ") { advance(); } or similar before reading the next word.


Feature/layout

A few outstanding issues with storybook need addressing but good to start review.

One other thing I noticed.. Staking is a bit of a mess with naming files and folders. This PR names folder different from my folders.  Lets agree on something.
I would do my-folder for folders, kebab case for component (tsx) files MyComponent and camel case for ts myNiceModule. Haha not sure why and I'm happy to use whatever standard as long as we're consistent.

Yeah - we almost need to have a chat about content/sections/components/pages as well. What makes them different and what is their responsibility.
I'll change my components to my-folder for this PR

Wanna merge in dev?


Mesh: Fix missing serialization for some properties

See https://forum.babylonjs.com/t/the-ellipsoidoffset-attribute-cannot-be-serialized-deserialized/48895

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14886/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14886/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14886/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14886/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14886/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14886/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14886/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14886/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14886/merge/testResults/webgl2playwright/index.html


Alternative Sharing

I was looking at how sharing was added into equinox, and was a bit surprised at the approach taken.  I had a similar challenge where I had a PyTree with shared jax.Arrays, and jit'ing a function that took such a PyTree as input ended up being really slow (presumably as it copied the same array over and over on device).
I took a different approach, and I'm wondering if this might be a better or alternative choice for equinox.
Obviously a PyTree can represent a DAG, as you can simply have two sub-PyTrees be, in fact, the same object.  The problem is that running that through a jax transformation (namely jit) treats the repeated objects as independent.  So why not use the same partition/combine equinox idea to do an unshare/share separation around the problematic jax transformations.  Here unshare removes duplication, using a placeholder to store the duplication, and share returns the duplication on the inside of the transformation.
Here's what I implemented to solve the problem.  The key is a meta-decorator share_through that does this unshare/share around some other transformation decorator.  In my case, I use it as @share_through(eqx.filter_jit) on top of a function I want to jit that takes PyTree's with shared structure.
class _ShareIndex(int):
  def __repr__(self):
    return f'*{int(self)}*'

def _tree_unshare(x):
  leaves, treedef = jtu.tree_flatten(x)

  ids = [ id(l) for l in leaves ]

  shared_leaves = []
  shared_ids = {}
  for l in leaves:
    if id(l) in shared_ids:
      shared_leaves.append(_ShareIndex(shared_ids[id(l)]))
    else:
      shared_leaves.append(l)
      shared_ids[id(l)] = len(shared_leaves) - 1

  return jtu.tree_unflatten(treedef, shared_leaves)

def _tree_share(x):
  leaves, treedef = jtu.tree_flatten(x)

  leaves = [leaves[l] if isinstance(l, _ShareIndex) else l for l in leaves]

  return jtu.tree_unflatten(treedef, leaves)

def share_through(dec):
  def _dec(f):
    def _f_inner(*args, **kwargs):
      args = tuple(_tree_share(a) for a in args)
      kwargs = {k: _tree_share(v) for k,v in kwargs.items()}
      return _tree_unshare(f(*args, **kwargs))

    _dec_f = dec(_f_inner)

    @functools.wraps(f)
    def _f_outer(*args, **kwargs):
      args = tuple(_tree_unshare(a) for a in args)
      kwargs = {k: _tree_unshare(v) for k,v in kwargs.items()}
      return _tree_share(_dec_f(*args, **kwargs))

    return _f_outer

  return _dec

Here, you don't need to specifically label anything as shared.  No special construction or labelling of the PyTree.  No extra programmatic syntax to manipulate the shared PyTrees.  You can specify sharing by simply sharing, and if you don't want something shared make sure it's a copy and not the same object.  This seems to fit equinox's ethos perfectly.  So maybe this just be built into eqx.filter_jit.
The above is limited to sharing at leaves (which is where all the dynamic arrays will be anyway), but it could relatively easily be modified to allow shared internal subtrees where stubs encode paths to where the original subtree lives.
Another limitation is that two PyTrees with two different sharing structures (e.g., one has shared leaves, and the other doesn't) will result in a re-JIT, as the input signature would be tied to its sharing structure.  But overall, this seems like desirable behavior.
Maybe there's other limitations that prevent this from handling all that one would want sharing to handle?
Thoughts?
I could build this into a PR for filter_jit, but don't want to take the time if there's no interest.

Hey there!
So (variants of) what you have here are actually something I considered as well. In the end I decided against it.
The main reason for this is that right now, there is no coupling between eqx.Module and eqx.filter_{jit, ...}. The former is just a PyTree; the latter is just a transformation that acts on PyTrees. Adding sharing behaviour in the manner you propose would mean we now have a new concept (_ShareIndex) which couples these two things together.
This kind of coupling is something that we've carefully avoided so far in Equinox, on the basis that it makes Equinox code easier to reason about, and easier to interchange with non-Equinox JAX code. (For example, your proposal would mean forcing the use of eqx.filter_jit over jax.jit for this use-case.)
There are a handful of other considerations that pop up here too, like the extra runtime overhead of unsharing before calling the transformation, and the possibility of silently wrong behaviour (no sharing) if you forget to use the share_through version of a transformation.
I hope that helps!

Hi Patrick,
Huh.  I thought my approach actually fully respected the zero coupling, as it's one of my favourite aspects of equinox.  The _ShareIndex isn't intended to be a user facing concept at all, it's one internal implementation for how to squeeze shared parameters through the jit boundary.  From the user side, one does sharing the most natural way possible: simply having the same jax array appear multiple times in the PyTree.  And it doesn't matter if the PyTree is a eqx.Module or just standard python PyTree types.
But maybe I am misreading your comment.
Here's an alternative way to understand the difference...  Your approach implements sharing within the eqx.Module class and means you can be indifferent to using eqx.filter_jit or jax.jit to see sharing work.  My suggestion is to implement sharing within the *jit* decorator and means you can be indifferent to using eqx.Moduleor other generic PyTree structures.  Does that sound right?  And while I don't think my suggestion tieseqx.Moduletoeqx.filter_jitit does tie one to usingeqx.filter_jitif you want sharing, and I can see that being undesirable.  Especially, as you note, it would potentially incur unnecessary overhead when sharing is not being used (although that could be on a flag).  I can also see the argument thateqx.filter_jit`'s concern is about handling static fields through the jit boundary, and it was never intended to be about sharing.  So separation of concerns suggests it shouldn't be handled there.
I guess my problem is that my other favourite aspect of equinox is that I don't have to do awkward unnatural things to make simple natural things work, such as trying to keep my parameters cleanly separate from code.  That felt refreshing and freeing.  I think this is what made me sad about eqx.nn.shared, which feels like it adds awkward unnatural access to parameters.
Really my complaint lies with jax (why wouldn't jit allow for leaf-sharing in the PyTree?).  I feel like equinox has so much been about making jax act more sane to me.  So, thank you for that!  Even if there will be areas that it still feels unnecessarily awkward.
Thanks for your time and in your work on equinox!

Ah you're right, I've mispoken a little: the coupling wouldn't be between eqx.Module and eqx.filter_jit, but between sharing and eqx.filter_jit.
One problem this highlights is what happens when you nest multiple transformations, which would also need to respect sharing. You may remember to use eqx.filter_jit, but a later uncareful usage of jax.grad could silently de-share things.

Really my complaint lies with jax (why wouldn't jit allow for leaf-sharing in the PyTree?).

Right! In large part this is about working with the constraints of JAX's model of computation itself.
Although for what it's worth -- possibly I'm just too deeply into this now -- I've actually come around to believe that PyTrees are indeed better than "PyDAGs" (=trees with sharing). This handles a few edge cases much more elegantly:

de/serialisation: passing DAGs across boundaries really is just a lot tricker to get right. For example, it's interesting to note that the state_dict of a PyTorch model (which is a DAG, not a tree) will actually duplicate shared parameters when they appear in multiple places.
no need to think about what it means to clone an object: all objects are trivially clonable (i.e. are referentially transparent). For example this is useful when using learnt activations in eqx.nn.MLP, which can take a single activation function and from this broadcast out a separate copy of it for each neuron.
no spooky action at a distance: I can always reason about what happens to an object by observing what I'm doing to it right now -- it's not possible for my actions to affect a reference to the same object somewhere else in the hierarchy. For example the gradients on a parameter will be a result of precisely the operations my section of the code performs on them, and not the gradients any other part of the code might do.
ravelling/unravelling a tree: in principle (though sadly I think XLA isn't smart enough to do this in practice) this can be done with zero memory copies, by placing the whole tree in contiguous memory.

Conversely, I definitely do appreciate that the eqx.nn.Shared notation is a little clunky. That's the price we pay for these nice things I suppose :)


Rm UX varies

The rm confirmation varies between commands.
% now alias rm xyz.xstack.io
> > The following alias will be removed permanently
  BYYoCpciD9l9xGa8DGR6eSE2      https://pizzatilaus-lgbhlhfniy.now.sh      https://xyz.xstack.io      10s ago
Are you sure? [y|N]

Are you sure? isn't formatted and continues immediately when I press Y.
% now certs rm xyzzz.xstack.io
> The following certificate will be removed permanently
  1ahc8kd6p3xmSsby7xLH      xyzzz.xstack.io      1m ago
> Are you sure? [y/N] y

Here Are you sure? is in red and doesn't continue until I press return.

Duplicate of https://github.com/zeit/now-cli/issues/14.


Locks during npm install

Hi , I tried to git clone this module, But I failed during npm-install , It shows no progress.
The screen says

Hi
Can you check your NodeJS version ?
The module has been tested with versions 8.16.2 and 10.17.0
You can also try to remove the node_module folder into the MMM-GoogleDriveSlideShow folder an retry.

Closed due to inactivity


HDDS-6722. Ensure RocksObjects are closed.

What changes were proposed in this pull request?
I scanned all the usages of RocksObject and ensure they are closed.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6724
https://issues.apache.org/jira/browse/HDDS-6726
How was this patch tested?
Standard CI: https://github.com/duongnguyen0/ozone/actions/runs/2829235416
I ran some workload (with new container allocation) on localhost and verified no object leak in OM, SCM and DNs.

@duongnguyen0 thank you for the quick turn around on this. The report for which RocksObject were used was generated using IntelliJ?

@duongnguyen0 thank you for the quick turn around on this. The report for which RocksObject were used was generated using IntelliJ?

It's done manually. I went over the list of RocksObject subclasses to see how each one is used.

@ChenSammi @jojochuang @smengcl Can you please take a look?
@ChenSammi do add anyone you know who can review this PR, please feel free to add them.
Post this merge, we should be able to upgrade RocksDB Version. It is a critical PR that should help stem any memory leaks that are hard to debug with RocksDB.

@duongnguyen0 , thanks for working on this!  The changes here are non-trivial and very big (73KB).   Could you split this into multiple JIRAs/pull requests?  The first one could be DBProfile related.  I am looking at it but it is not easy to understand.
BTW, each pull request should refer to a unique JIRA so that it is easy to track.  Ideally, the JIRA-to-pull-request mapping should be 1-to-1.

@duongnguyen0 , thanks for working on this! The changes here are non-trivial and very big (73KB). Could you split this into multiple JIRAs/pull requests? The first one could be DBProfile related. I am looking at it but it is not easy to understand.
BTW, each pull request should refer to a unique JIRA so that it is easy to track. Ideally, the JIRA-to-pull-request mapping should be 1-to-1.

Yeah, I feel the same after review it myself. I'm marking this as Draft PR and splitting it to smaller ones.

Remaining of this PR has been put in #3678. Closing this one.


Image Manifest Metadata Lost

Thank you for nix2container.
If I'm using pullImage and check the json it doesn't contain data like   Env or Labels or Cmd I believe.
Which is sometimes useful information when packaging a docker image.

Yes, it would be nice and this should be pretty to add: https://github.com/nlewo/containers-image-nix/blob/9d7f33ef0058f4df4c0912025f43c758a3289d76/nix/image.go#L150

Thanks for pointing me to the right line, I was already reading the NewImageFromDir func today, but didn't notice the obvious todo. I'll see if I can make a working PR tomorrow.


feat: update types

Description 描述

该 PR 旨在更新 types 和 schema。理论上不存在破坏性更新，但仍然值得检查。
Linked Issues 关联的 Issues

https://github.com/uni-helper/vite-plugin-uni-pages/pull/139
https://github.com/uni-helper/vite-plugin-uni-pages/pull/149
https://github.com/uni-helper/vite-plugin-uni-pages/pull/150

Additional context 额外上下文

Summary by CodeRabbit

New Features

Introduced new types for UI customization including sizes, animation types, and button styles.
Added interfaces for defining application startup conditions.
Enhanced component matching with custom rules via regular expressions.
Expanded configuration options for native window and navigation bars on various platforms including App, H5, and multiple mini-programs.
Provided detailed styling configurations for platforms like Alipay, Baidu, JD.com, Kuaishou, Lark, QQ, Toutiao, and Weixin mini-programs.
Updated tab bar customization with new properties and types for better visual customization.
Added routing configurations for user authentication processes.

Refactor

Updated and simplified various configuration interfaces for global styles, window settings, and sub-packages management.

Documentation

Enhanced comments and documentation for newly introduced interfaces and properties, offering clearer guidance on their usage.

太强了，这个工作量 👍


Updating user resets its password

Issue fixed in commit https://github.com/alexisrolland/listof/commit/0b9151da70611d8d11676a79934d7e66a2b206e3


Allow Option types to be deserialized from a unit value

Not sure why I missed this. This feels pretty reasonable, especially since many formats treat their values as either a null, or some value, which maps directly to Options.

This landed in 0a32cea2!


Unusual window since wamp installation

Hello,
Here is what opens atom when i launch it since i've installed wamp. I don't know why and even after uninstall wamp and trying to reinstall atom several times, the problem still here.

If anyone has an idea..

That is the developer console. Press Esc to bring up the console and see if there is an error displayed. Or you can click the >> next to "Elements" and click console.

Thank you for your answer!
Indeed there are error :

Looks like your permissions have changed.


molenzwiebel.Deceive version 1.14.0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The package requires one of the games by Riot Games Inc., so if you do not have any of those and the Riot Client, it will show this error:

The package requires one of the games by Riot Games Inc., since it is the scope of its functionality. So if you do not have any of those and the Riot Client, it will show this error:

Thank you for the note. This situation seems similar to packages that require any version of JRE. Wildcard dependencies as a feature are somewhere in the planning and implementation stages, I believe, but aren't a very high priority.
Verify using RiotGames.LeagueOfLegends.NA:

This is a tray-based application, with a run-once window, that likes having the Riot Games application also running in the tray. If that tray application is exited, it might impact this application's behavior. (Using the option "restart and launch a different game" after exiting the Riot Games tray application caused this application to unexpectedly exit.)
Switching games:

Switching takes many seconds, and might be downloading the game launcher in the background:


ARROW-10397: [C++] Update comment to match change made in b1a7a73ff2

Dictionaries can be indexed by either signed or unsigned integers.

+1, Thanks.


Auto migrating stack

Hello, just wondering if you could point me in the right direction to setup the stack for auto migrating new fields?  I can't tell from the documentation how to set this up.
Nice work on this! Appreciate your help.

Looking at the initialization code, it does include the options to auto migrate.  Just for some reason it didn't seem to be working.  Unless there is some obvious tip I need to know, I'll test this more and then either update this issue or close it.
thanks


Missing [Submit Final] step

At http://www.codewars.com/kata/55c3b11f72c16bb59c00006c Kata I posted solution that passed Tests and first Submit Steps. All tests successfully passed, and even is "Excellent! You may take your time to refactor/comment your solution. Submit when ready." green message, but [Submit] button stuck at, hmm, [Submit], and doesn't want to change to [Submit Final].
I've tried at Chrome (even at Incognito Mode), where I usually post solutions from, at Firefox, even at Internet Explorer. Always the same. To be sure I tried to submit other Kata and it worked as expected. Problem is only with that one.

Thats because this is a draft kata. It would need to be published first. How did you come across this?

To be honest I don't know. I think it was found by Kata list, however can't find it now. Is it possible to back Kata to draw, when was published?

Is it possible to back Kata to draft, when was published?

As long as it wasn't approved, yes. You can un-publish beta katas.

Thanks, that was just unpublished Kata.


How to add multiple text

Version

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.7/fabric.js"></script>
--
  | <script type="text/javascript" src="https://cdn.rawgit.com/nhnent/tui.code-snippet/v1.2.5/dist/tui-code-snippet.js"></script>
  | <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  | <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
  | <script type="text/javascript" src="https://cdn.rawgit.com/nhnent/tui.component.colorpicker/1.0.2/dist/colorpicker.min.js"></script>
  | <script type="text/javascript" src="http://nhnent.github.io/tui.image-editor/latest/dist/tui-image-editor.js"></script>

Development Environment

Windows 7, browser : Google Chrome
Current Behavior

// Write example code

imageEditor.loadImageFromURL('img/sampleImage.jpg', 'SampleImage').then(sizeValue => {
    console.log(sizeValue);
	imageEditor.addText('hello 1', {
        position: {
					x: 100,
					y: 100
				}
    });
    imageEditor.deactivateAll();

	imageEditor.addText('hello 2', {
        position: {
					x: 300,
					y: 300
				}
    });

    imageEditor.clearUndoStack();
});

Expected Behavior

I want add multiple text but error here
tui-image-editor.js:1795 Uncaught (in promise) The executing command state is locked.
execute @ tui-image-editor.js:1795
execute @ tui-image-editor.js:571
addText @ tui-image-editor.js:1062
imageEditor.loadImageFromURL.then.sizeValue @ service-basic.js:1063
Promise resolved (async)
(anonymous) @ service-basic.js:1053

Please help me. Thank you so much

We are analyzing this problem. We will notify you when the issue is resolved. thank you.

@dpqduong

Since the order of execution of comand must be guaranteed for history, other commands can not be executed consecutively during execution of one command.
It should be able to guarantee the sequential execution by using promise when executing continuous command.

I am using your image editor plugin.I need to adddtext  with multiple text.if i am adding text one text after then first text x and y to jump where.If i click in that canvas then first text alone also jumping.

Here is an alternative solution:
imageEditor.addText('init text', {     styles: {         fill: '#000',         fontSize: 20,         fontWeight: 'bold'     },     position: {         x: 10,         y: 10     } }).then(objectProps => {     console.log(objectProps.id);     //Add Your Second Text Here     imageEditor.addText('init text 2'); });


Incorrect parameter name in rpc_func

An error was returned because the parameter was payload instead of body.

 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.

Thanks, but nakama.lua is generated from an API definition. See the codegen folder. The name payload originates from the API definition:
https://github.com/heroiclabs/nakama/blob/master/apigrpc/apigrpc.swagger.json#L2878-L2886
I see now though that there is both a key and an in field for each parameter and in the case of payload the in field has value body. This might be a new thing that the code generator doesn't take into account. I'll look into it!

Submitted new PR here: https://github.com/heroiclabs/nakama-defold/pull/73


Move documentation rendering to the server

If we handled the Markdown rendering of the documentation on the server, we'd get a few benefits:

Reduce client bundle size more
Again able to get proper MDN links for web APIs when needed
Perhaps slightly quicker(not sure)

@RedBrogdon fyi

We talked this over earlier today, and decided just to remove the MDN links. They only show up in rare instances, and don't provide much additional utility for the user.
When you say "move dartdoc rendering to the server," what do you mean, BTW?

I'm curious if markdown parsing and rendering is taking serious time on the client. We have some interesting, like using a wasm markdown engine: https://github.com/rsms/markdown-wasm


Support for multiple domains per container

If you're working with an app which supports multi-tenant setups, your HTTP container should respond to multiple hostnames (by the used hostname, application behaves differently).
For example:

www.shop.com.loc -> English, international content
www.shop.de.loc -> local German content

It would be cool if you could name multiple predefined hosts to use.

Oh, I see this should work already, but doesn't because of #32, closing.


Educational Scene no way to set featured image from front-end

Taso plz put somewhere I button. In the meanwhile to test compile I need to set featured image from back-end.

Also it does not let me to set featured image from back-end. Dead-end.
HTTP ERROR:
led to load resource: the server responded with a status of 500 (Internal Server Error)

So what are we gonna do with this?


Issue with setPin

Hello! First things first, thank you for your work. I am new with gsap and scrollMagic. I need to implement some horizontal scrollable slides in my project. I follow the official tutorial http://scrollmagic.io/examples/advanced/section_slides_manual.html
But it doesn't work. I tried to use setPin with your library, as you described.
  import { ScrollMagic, ScrollScene } from 'scrollscene'
  import { gsap } from 'gsap/all'

  export default {
    mounted() {
      const controller = new ScrollMagic.Controller();

      const wipeAnimation = gsap.timeline()
          // animate to second panel
      wipeAnimation.to("#slideContainer", 0.5, {z: -150})		// move back in 3D space
      wipeAnimation.to("#slideContainer", 1,   {x: "-25%"})	// move in to first panel
      wipeAnimation.to("#slideContainer", 0.5, {z: 0})				// move back to origin in 3D space
          // animate to third panel
      wipeAnimation.to("#slideContainer", 0.5, {z: -150, delay: 1})
      wipeAnimation.to("#slideContainer", 1,   {x: "-50%"})
      wipeAnimation.to("#slideContainer", 0.5, {z: 0})
          // animate to forth panel
      wipeAnimation.to("#slideContainer", 0.5, {z: -150, delay: 1})
      wipeAnimation.to("#slideContainer", 1,   {x: "-75%"})
      wipeAnimation.to("#slideContainer", 0.5, {z: 0});

      new ScrollScene({
          triggerElement: "#third-screen",
          triggerHook: "onLeave",
          duration: "500%",
          gsap: {
              timeline: wipeAnimation
          }
      })

      new ScrollMagic.Scene({
          triggerElement: "#third-screen",
          triggerHook: "onLeave",
          duration: "500%",
      }).setPin("#third-screen")
          .addTo(controller);
    }
  }

It's clear to me that I doing something wrong, but I don't know what.

@RodionMun let's try a couple of things first...

I added a $thirdScreen querySelector. This library doesn't support jQuery or strings as selectors (yet, maybe I'll add that, but it's better if I don't).
And another for the $slideContainer. You were called a document.querySelector function each time to find that element, which is expensive and slow. Just call it once.
I paused the gsap.timeline
I cleaned up the timeline
I fixed the gsap import. You should be using import { gsap } from 'gsap'
I fixed the duration on the timeline. You were using Gsap2 syntax. You should be using Gsap3 syntax.
I created variables for the new Scenes.

Beyond trying the above, it looks like you're applying 2 scenes to the same element. This might cause issues because when you animate that element, your scene triggers are going to change.
import { ScrollMagic, ScrollScene } from 'scrollscene'
import { gsap } from 'gsap'

export default {
  mounted() {
    const $thirdScreen = document.querySelector('#third-screen')
    const $slideContainer = document.querySelector('#slideContainer')

    const wipeAnimation = gsap.timeline({ paused: true })
    // animate to second panel
    wipeAnimation
      .to($slideContainer, { duration: 0.5, z: -150 }) // move back in 3D space
      .to($slideContainer, { duration: 1, x: '-25%' }) // move in to first panel
      .to($slideContainer, { duration: 0.5, z: 0 }) // move back to origin in 3D space
      // animate to third panel
      .to($slideContainer, { duration: 0.5, z: -150, delay: 1 })
      .to($slideContainer, { duration: 1, x: '-50%' })
      .to($slideContainer, { duration: 0.5, z: 0 })
      // animate to forth panel
      .to($slideContainer, { duration: 0.5, z: -150, delay: 1 })
      .to($slideContainer, { duration: 1, x: '-75%' })
      .to($slideContainer, { duration: 0.5, z: 0 })

    const myFirstScene = new ScrollScene({
      triggerElement: $thirdScreen,
      triggerHook: 'onLeave',
      duration: '500%',
      gsap: {
        timeline: wipeAnimation,
      },
    })

    const controller = new ScrollMagic.Controller()

    const mySecondScene = new ScrollMagic.Scene({
      triggerElement: $thirdScreen,
      triggerHook: 'onLeave',
      duration: '500%',
    })
      .setPin($thirdScreen)
      .addTo(controller)
  },
}

Also, are you using React? If you are, I provided a React.useEffect example. Only asking because of the mounted() syntax.
Even with these changes, Your dom structure for the setPin has to be set up perfectly. I recommend if you're new to ScrollMagic, that you run through Petr's course on ScrollMagic 101. It's great and it'll cover the bases you need for Pinning.


Windows device path and long-path meta issue.

This is a meta issue to coordinate the different issues related to handling device paths and long paths on Windows (such as \\?\ or \\.\). There are several places where Cargo does not handle these well, but it is not clear exactly how they all should be approached. Changes for these require careful consideration, and it's not clear what a general good approach would look like. Some rough thoughts to consider:

Where exactly are the problems? (Making a very clear overview would be an extremely helpful way to help here!)
To what degree should we strive for long-path support? Having the target directory exceed MAX_PATH seems like it would be quite difficult due to issues like https://github.com/rust-lang/rust/pull/86406. Manifests require a registry setting that is off by default.

If we don't or can't support MAX_PATH paths, does it make sense to ever use device paths? Can they just be converted to normal paths and make Windows handle its regular normalization?
Is supporting long paths feasible without a manifest?

Should the fixes be primarily done to the standard library?
Should Cargo use an external library (like dunce), or should it all be internal? What should be done with normalize_path?
How to approach normalization/canonicalization? There are classic issues like whether to follow symlinks, but also the troubles of using's Rust's canonicalize function on Windows.
Should Cargo try to avoid device (aka verbatim) paths as much as possible?
Are there other ways to lean on Win32 normalization (like \\.\ or GetFullPathNameW)?
Should it try to use \\?\GLOBALROOT\ style paths (see https://github.com/rust-lang/rust/pull/86447)?
Is it feasible to just translate \\?\ paths to \\.\, and rely on the Win32 API to do normalization? This would not support long-paths, but there are many other problems with long paths. (Probably not, just tossing out the idea.)

Linking issues and PRs:

PR #8964 — Another fix for workspace path joining
PR #8881 — Fix --manifest-path for verbatim paths
PR #8874 — Append workspace paths using components
Issue #8626 — Crash when using \?\ style path on Windows
Issue #7986 — Add longPathAware to the app manifest on Windows
PR #7729 — fixed workspaces issues due to non-canonical manifest path
Issue #7686 — Workspace path is not fully resolved
Issue #7643 — Crash on non-absolute path in Windows
Issue #7420 — Failure to load dependencies with long file names on Windows
Issue #6198 — "Package collision in lockfile" using UNC/root local device/etc paths
Issue #2516 — Crate failed to unpack on Windows (os error 3) - path name too long

Since my PR was linked here, I would add that I'd really love to fix this issues in the standard library so everyone can benefit by default. My thinking at the moment is that Rust should auto-convert to \\?\ style paths whenever a filesystem function is called. Also the Display should use the more natural C:\ style paths for showing paths to users.
GetFullPathNameW will be very useful here but it'd also be good to be able to work directly with WTF-8 paths so there's not a need to convert to UTF-16 and back when that's not necessary.
Btw, in case it helps someone, I've started writing about Windows paths which attempts to go in to some detail. It's still a work in progress so sorry if there's any mistakes or anything is unclear.

Thanks for posting your writeup!  I think it would be great to have a resource like that. Microsoft's own documentation is a little scattered and lacking, and having one place clearly describing things would be great.  Let me know if you ever want feedback on it.

Sure, I'd very much welcome feedback! I admit I mostly wrote it for myself which is why it's currently a "secret" gist so I'd appreciate any help in making more useful for others.

@ehuss Is this just waiting on a decision from the Cargo team? I originally created normpath to fix these issues, but the team appears to be less certain now about how these issues should be addressed.

@ChrisDenton Instead of fiddling around with NT paths and unnecessarily making life harder, why not use Embedded Manifests per executable ? Embedded Manifests were designed for a reason.

@mshaikhcool Enabling the manifest option for long paths would be great! However, it has several limitations which means it doesn't solve all problems. It only works in Windows 10 version 1607 and newer. It requires the user to have admin rights and to change a registry entry. It doesn't fix the issue with broken drivers if you actually do want to resolve symlinks or get an absolute path.

It requires the user to have admin rights and to change a registry entry.

The person who will be installing Rust in the first place will most likely be A Programmer, so this point is moot.
there's a good reason why longPathAware is not enabled by default and why explorer.exedoesn't embed longPathAware in it's manifest. Don't expect it to be enabled  by default in a near future.

It only works in Windows 10 version 1607 and newer.

Ah, Classic. Symlinks were introduced in Vista. By that logic, we should not also use symlinks because XP didn't support it.
The point here is, Why are you even bothering in supporting an Out of Extended Life Support OS in the first place ?
Set a check to see if windows version and the registry key enabled or not. if off eg: in win 7, it should not work.

It doesn't fix the issue with broken drivers if you actually do want to resolve symlinks or get an absolute path.

NT UNC(\\?\) is designed to be used by Subsystems themselves and Drivers, not user mode programs. longPathAware in both Embedded and Side by Side type Manifests  are designed to be used by user mode programs.
Both has different purposes, Rust should implement both as a system programming lang.
Rust should not call undocument apis and should adhere to strict-clean programming principles.

As I said, using the longPathAware manifest option is great. It helps with a lot problems and should be done when possible.
However, it alone does not fix all the issues here nor in all circumstances. So other solutions need to be explored as well. Nobody is talking about using undocumented APIs. The use of \\?\ style paths is documented for every function that accepts them (e.g. CreateFileW).

I think there's a fundamental misunderstanding here . Use NT UNC (\\?\) for Drivers ,  longPathAware for win32 subsystem's user mode programs.
Cargo itself a user mode program , it should implement longPathAware  either in embedded or side by side type manifest. and should have support for NT UNC (\\?\) for building Drivers.
I hope it's clear now.

I would suggest reading Win32 File Namespaces because it feels like we're talking about different things.

can you point me exact win32 apis/scenarios  where Manifest file couldn't work but works otherwise ?

The manifest option is not sufficient to solve all issues listed here. For example:

It does not enable long paths if the user cannot or will not enable long path awareness in the registry (e.g. OS too old, IT policies, etc).
Even with the manifest option, fs::canonicalize returns \\?\ prefixed paths so Rust needs to be able to understand them and, ideally, have a way to convert them to more normal looking paths for display or other uses.
Ditto for user supplied paths which can be in any form (even explorer accepts \\?\ style paths).
fs::canonicalize can also completely fail with certain RAM drives. The manifest is no help here because that's a different problem.

It does not enable long paths if the user cannot or will not enable long path awareness in the registry (e.g. OS too old, IT policies, etc).

this point is already moot because of Rust's potential usecases. not sure why it's being thrown around each time. Note that : Windows will always be a backward-compatible OS by default. Users must perform changes by themselves to make it forward-compatible.
To use long paths Users must use windows 10 and must enable group policy or registry. Note:  this is the Microsoft recommended way.
Going against MS's own recommendation does indeed sound like a Desperate Excuse to say "Won't Do".

Even with the manifest option, fs::canonicalize returns \\?\ prefixed paths

this is absolutely horrible  implementation. the amount existing softwares break because of UNC, including Microsoft's owns  is  enough big of a reason to abandon UNC and the "the  Excuse" presented above.
there are already proposals for abandoning that in favor of returning win32 absolute paths.

It doesn't fix the issue with broken drivers if you actually do want to resolve symlinks or get an absolute path.

Ah, now realized where the confusion is. this doesn't fix this issue is based on above horrible UNC return implementation which itself is wrong to begin with.

Ditto for user supplied paths which can be in any form

manifest just removes hard coded static buffer size from  *W functions.  the rest behaviors are unchanged.

(even explorer accepts \\?\ style paths).

Explorer doesn't accept  \\?\ paths, it Simply ignores supplied \\?\  prefix.
explorer simply    converts this \\?\C:\VeryLong255CharPath\VeryLong255Foo\ to 8.3 Path format c:\VERYLO~1\VERYLO~2 for it to access.

fs::canonicalize can also completely fail with certain RAM drives.

I guess you meant RAM Disk by that. creating RAM Disk requires  a KMDF Device Driver, Device Drivers  use win32 device paths \\.\  then making symlink to win32 file path \\?\ for  user mode applications to access.
Manifests both Embedded or Side By Side (Foo.exe.manifest) types    should work as expected for RAM Disks too.
certain RAM Disk sounds like the software in question's KMDF Driver bug, We shouldn't have to cripple Rust for that.

The manifest is no help here because that's a different problem.

the manifest count for win32 file paths \\?\ and has nothing to do with win32 device paths \\.\
Most Windows API doesn't take \\.\ device paths as parameters as they already can access devices through
symlinked  \\?\ paths.

NT UNC(\?) is designed to be used by Subsystems themselves and Drivers, not user mode programs.

Hi. Can someone point me to the origin of this statement? Are there any MS docs which can be linked?

Here's a brief guide Windows paths, some of the issues involved and what the standard library has done and is doing to address them. None of this is cargo specific but I hope it helps nonetheless. I'll try to keep this short but I fear I might fail.
Terminology cheat sheet

Path
Term

C:\path\to\file
Drive path

\\server\share
UNC path

\\.\PIPE\name
Device path (used for pipes, printers, etc)

\\?\C:\path\to\file\\?\UNC\server\share\\?\PIPE\name
Verbatim paths

\??\C:\path\to\file\Device\HarddiskVolume2\path\to\file
NT kernel paths (not used in Win32 APIs)

NT kernel paths are what both verbatim and the non-verbatim paths end up as but aren't otherwise usable in most user space APIs. So when I say "non-verbatim paths" I mean the first three paths in the table and not including kernel paths.
Verbatim paths
Verbatim paths are passed almost directly to the kernel (except \\?\ is changed to \??\). These are always absolute and don't contain . or .. components because those will simply be treated as normal components (e.g. . is a perfectly valid file or directory name according to the kernel, though most filesystem drivers will probably reject it). Also / is not a path separator; in fact everything except \ is not special in any way.
The term "verbatim" is not official terminology but it's the one used by the Rust standard library for lack of an official name.
Non-verbatim paths
Unlike a verbatim path, other paths are subject to limits (such as MAX_PATH, unless a manifest is used) and are parsed in more complex ways. Parsing of non-verbatim paths includes (but is not limited to):

If a drive path ends with a special DOS device name, it will be turned into a device path. E.g. C:\path\to\aux.txt will become the NT kernel path \??\aux.
If the path includes any . or .. components, these will be resolved lexically. Or to put it another way, resolving .. doesn't read a symlink. It simply does the equivalent of PathBuf::pop().
It will trim any trailing . and   (space) from the path.
Any / will be converted to \ and consecutive \'s will be collapsed into one \.

Path Issues

Non-verbatim paths are subject to the legacy maximum path limit (usually 260 UTF-16 code units but sometimes 248).
DOS device file names will be converted to a device path when used. So you may end up opening, say, a console handle instead of a file. This can be a particular problem when moving paths from a *nix system.
std::fs::canonicalize returns verbatim paths which path handling routines can sometimes struggle to deal with. As discussed above, . and .. components should not appear in verbatim paths and / won't be automatically converted to \.

Filesystem issue
std::fs::canonicalize can fail if the root drive's driver does not implement a necessary kernel interface. This is normally not an issue but there is at least one popular RAM drive software that uses such a broken driver and is a reliable source of bug reports (not just for Rust applications).
Rust standard library
Rust's standard library is addressing these issues in a number of ways:

rust-lang/rust#89270 correctly handles pushing . and .. components to verbatim paths as well as converting / to \. This is stable in Rust 1.57
rust-lang/rust#89174 converts the path to verbatim (if necessary) just before it's used in filesystem APIs. This ensures long paths can always be used even if the user hasn't opted in to them. This will be stable in Rust 1.58,
rust-lang/rust#91673 (not yet accepted) implements std::path::absolute as a drop-in replacement for std::fs::canonicalize. This will allow creating an absolute path without having to use canonicalize. It could also be used to check for for device paths such as \\.\AUX, which aren't filesystem paths.
rust-lang/rust#86447 (not yet merged) would allow std::fs::canonicalize to succeed in more situations. But it's pending a decision on the funky paths it can return instead of failure.

Outstanding issues
The standard library does not provide a public API to convert between verbatim and non-verbatim paths. Currently the best option would be to use a third party crate for this.
The current directory is always limited by MAX_PATH unless a manifest file is used and the user opts in to enabling long path support. This cannot be fixed by the standard library itself because verbatim paths do not work for the get/set current directory APIs (or rather, they technically work but other Windows APIs will get very confused by it).

It does not enable long paths if the user cannot or will not enable long path awareness in the registry (e.g. OS too old, IT policies, etc).

this point is already moot because of Rust's potential usecases. not sure why it's being thrown around each time. Note that : Windows will always be a backward-compatible OS by default. Users must perform changes by themselves to make it forward-compatible.

How is enabling long path awareness when the application manifest enables it but the register doesn't not backwards-compatible? If the apllication itself opts in, why is there an additional system wide opt in necessary for backwards compatibility?

If the apllication itself opts in, why is there an additional system wide opt in necessary for backwards compatibility?

I think we can only guess, I haven't seen any explanation from Microsoft. I suspect it is because other programs may fail to access those paths.  For example, I believe when it was first added, Explorer couldn't handle those long paths. It introduces an environment where various programs would suddenly start breaking in unpleasant ways when interacting with programs that are long-path aware.
It could also be a security issue similar to how symbolic links are restricted.


Re-using steps does not work

I expected this to work, but it does not as steps do not execute in sequential order. In this case "When" part would be executed first. But wiki page "How can I reuse steps?" suggests that it is approach that would work.
using System;
using Xunit;
using Xbehave;
using XBehaveQuickStart;

namespace SR.Domain.Policy.Integration.Tests.Handlers
{
    public class CalculatorFeature
    {
        private Calculator calculator;
        private int answer;
        private int x;
        private int y;

        [Background]
        public void Background()
        {
            "Given a calculator"
                .f(() =>
                {
                    this.calculator = new Calculator();
                });
        }

        [Scenario]
        public void Addition()
        {

            "Given the number 1"
                .f(() => x = 1);

            "And the number 2"
                .f(() => y = 2);

            When.Add(calculator, x,y, answer);

            Then.DoAsserts(answer);
        }

        public static class When
        {
            public static void Add(Calculator calculator, int x, int y, int answer)
            {
                "When I add the numbers together"
               .f(() => answer = calculator.Add(x, y));
            }
        }

        public static class Then
        {
            public static void DoAsserts(int answer)
            {
                "Then the answer is 3"
                .x(() =>  Assert.Equal(3, answer));
            }
        }
    }
}

@epitka the steps are executed in the correct order.
The important thing to consider is that when the scenario method is executed, the steps are not executed. They are collected together and executed after the method has exited. For this reason it is important to never execute any code outside the step expressions.
In the code you posted, you are calling When.Add(calculator, x,y, answer);. At the time that statement is executed, the background step which assigns calculator has not yet been executed, so calculator is null. In the When.Add method, the step lambda closes over the calculator parameter, which is null at the time that method is executed, and hence the NullReferenceException is thrown when that expression is executed.
Another problem is that you are assigning the answer parameter inside When.Add but this value will never be seen outside that method since the argument is passed by value and not by reference. This makes it awkward to re-use your steps in the way you are intending, but it is normal C# behaviour.
I would suggest a different approach: I would aim to move the reusable parts of your testing code into an internal DSL, e.g.
[Scenario]
public void Addition(int x, int y, Calculator calculator, int answer)
{
    "Given the number 1"
        .x(() => x = Numbers.GetOne());

    "And the number 2"
        .x(() => y = Numbers.GetOne());

    "And a calculator"
        .x(() => calculator = Calculators.Create());

    "When I add the numbers together"
        .x(() => answer = Calculators.Add(calculator, x, y));

    "Then the answer is 3"
        .x(() => Numbers.IsThree(answer));
}

Where Numbers and Calculators are static types in the testing DSL. Of course, this looks very contrived in the context of the calculator quickstart sample, but it can be very powerful and effective in the context of a less trivial domain.

@epitka and btw, thanks for raising this. 👍

Thanks for thorough explanation, but then the blog entry should be checked as it specifically states that this would work. Or I am not understanding this code?
public class UltraCoolFeature
{
    [Scenario]
    public void BeingUltraCool(Foo fixture, Bar sut, Baz result)
    {
        "Given..."
            .f(() => ...);
        "When..."
            .f(() => ...);
        Then.CoolOutcomes(result);
    }
}

@epitka you are correct, that code will not work. I guess I must not have tested that code before writing that wiki page, which is rather embarassing. 😒
I'll take down that content and replace it later with something that actually works. Thanks for bringing this to my attention! 👍

Actually, in my defense, I think that code may have worked with an earlier version of xbehave (1.x) which IIRC, did execute steps eagerly, as they are defined, rather than collecting them and executing them later.
This is actually an interesting consideration. It may be better to investigate reverting back to that style of eager execution. I'll raise a separate issue for that.

@epitka I guess this discussion has drawn to a close. Thanks again for raising this, please subscribe to #362 if you'd like to track the progress of that issue.


Add a Z-wave workaround to do full refresh on update

Description:
Philio PAN07 doesn't sent a proper update for sub-channels. When a button is switched (physically / via network) an update for the main channel is sent.
This workaround refreshes the whole node upon receiving such update
If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

That is a new way to use dispatcher wuth ebtity in signal name. I have no proplem with it. Other platform send entity_id as argument and use a fix signal name (esalink, ffmpeg). I have no idea what is better or if need a situation solution. I write that only as input not as change request 🙄

@pvizeli was this comment about this PR or #6377

I think it's time for Z-Wave tests to be introduced.


Migrate Cosmos portion of Tables to Entra

Completing Tables Cosmos migration to Entra now that Cosmos supports Entra authentication

API change check
API changes are not detected in this pull request.

/azp run java - tables


Bot speed up option

Added option to speed up the bot a little bit.

Sorry, I saw your pauseFactor change too late. Please check out my updated version with individual timing settings.


Add tests for regexp

We should add some test cases to make sure people are using the regexp functionality properly.

I agree, this is important for Lite MVP mostly because we will depend heavily on this feature

/cc @tapdiego-amzn

I can write the test framework and @tapdiego-amzn can add some examples.

Kicked out of MVP


[BUG] WEWE without price

Describe the bug
$WEWE does not show prices
Expected behavior
Show price of $WEWE
Screenshots

System:

Version 1.8.1

works fine on my MacOS app

Was temporary error, closing


Switch to poetry-core

https://github.com/cdgriffith/Box/pull/244 brought up by Michał Górny @mgorny
https://python-poetry.org/docs/pyproject/#poetry-and-pep-517

killing off poetry for next version

For the record, you can some of the same "feeling" (at least config-side) with modern setuptools pyproject.toml configs.


Display Pod Template for Deployments Detail

As Sebastian and Mathew I would like to be able see more the Pot Template section of the deployment on the deployment page
Acceptance Criteria

[ ] Follow Project DOD
[ ] We will focus on key parts of the Pod Template: Containers ( Image, ENV_VARIABLES, Volumes)

Example Octant:

View with multiple containers:


disabledDates combined with minNights breaks picker

Description
When using disabledDates in combination with minNights selecting a date right before a disabled date gets you stuck as minNights would force checkout on/after a disabled date.
Clicking the clear button fixes this but usability-wise it would be nice to get some feedback as to what's going wrong. Maybe indicate the minimum amount of nights grayed out on the disabled dates?
Another solution would be to allow the user to click on the check in date to unselect it and be able to select a new one. (That was my first reflex when getting stuck with the dates).
Code sample
                <hotel-date-picker
                    :min-nights="5"
                    :disabled-dates="['2017-11-20']"
                ></hotel-date-picker>

Steps to Reproduce

Pick check in on 2017-11-19
Try to select a check-out date or reselect the check-in date

Expected behavior: Be able to select another check-in date
Datepicker Version
2.0.11
Thanks for the package btw! It was a great relief to find this package after looking through jQuery daterangepickers and hacky solutions for hours. Great work :D

@krystalcampioni This sounds a little like a bug. What are your thoughts?

@AlexVanderbist @amulchinock  I wouldn't label it's a bug, as the original intention was to use the clear button in any situation where you could "get stuck" due to range limitations. This is surely one of those situations:

😬 Jokes apart, I agree that it's surelly not the best usability on that situation. I'm not sure how to handle it though, maybe we should implement some alternatives before making a final solution.

Maybe this issue could also be solved by implementing https://github.com/krystalcampioni/vue-hotel-datepicker/issues/74 ?
If not we could try click on the check in date to unselect it and be able to select a new one
Or indicating the minimum amount of nights grayed out on the disabled dates

@krystalcampioni Love the image!
I vote to try the suggestions you mentioned first, and re-visit this "non-not-bug" in the very near future.


Server is not VAC Secured

Regardless of enabling VAC in KillingFloor.ini & in the Server Launcher itself - server seems to never connect to steam , even tho it says steam AUTH success. Need to research this.
Possible cause:

Ports not enabled within the container for steam connections.

Need to also check if a linux based server is usually VAC secured or not.

Fixed via https://github.com/Vel-San/killing-floor-docker/commit/7d968aadf80b9acf8b0e08bc7f7a03b3dabe7674


chore: release v3.4.0

- What I did
- How I did it
- How to verify it
- Description for the changelog
chore: release v3.4.0

I see no functional problems in my testing....
sshnp pass
sshnpd pass
sshrv pass
sshrvd pass
at_activate pass
But I do see that sshnpd occasionaly fails with :-
Unhandled exception:
SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = 92a7c219-e2eb-5f50-ac23-d7acba106cf5.swarm0002.atsign.zone, port = 57224

We might want to address this before release ? @gkc  ?

I've made this PR for a new version of at_lookup to wrap OutboundMessageListener's call to socket.listen in a runZonedGuarded block.
Made a PR in at_client just for test purposes to run all of the at_client test pack with the new version of at_lookup. Tests have passed
@cconstab I'd recommend you do a round of sshnp testing again using a dependency override for at_lookup
dependency_overrides:
  at_lookup:
    git:
      url: https://github.com/atsign-foundation/at_libraries.git
      path: packages/at_lookup
      ref: gkc-socket-shenanigans

Let's hold off on testing and publishing until #250 / #251 has been addressed

Let's hold off on testing and publishing until #250 / #251 has been addressed

#250 and #251 have been addressed.
I would recommend pulling from latest trunk to get the latest backwards compatibility tests

Let's hold off on testing and publishing until #250 / #251 has been addressed

#250 and #251 have been addressed.
I would recommend pulling from latest trunk to get the latest backwards compatibility tests

Done

@XavierChanth @cconstab do you want to incorporate the latest version of at_lookup?

I certainly do!
Testing so far is juat fine and of course not a single failure this far!

I think this shows one thing at least, which is that the new at_lookup didn't cause any problems
We'd obviously be happier to see positive proof of fix - ie a warning from the runZonedGuarded block in OutboundMessageListener saying that it actually caught the "reset by peer" exception and was calling onSocketError as that would be proof we had fixed it, but it looks like it didn't occur. Do you recall anything interesting from the last time you saw the uncaught exception? Resuming laptop from sleep, ... ?

See #257


Run type checking on 3.9->3.13-dev matrix

As discussed in Discord.
I'm wondering if there's a necessity to run type checking on intermediate versions.
While I see the reason for running on max version to examine if we aren't accessing deprecated leftovers that might have been slated for removal, I'm doubting a remove->bring back scenario might happen in between.
I mean, I know about an exception to that which already proves my thinking has edge cases, but yeah, I still did wonder.
Nevertheless, type checking now span versions 3.9->3.13-dev.

Thanks! Let me see if I can get pre-commit.ci set up so it autofixes the lint issue.

I guess pre-commit can't push changes to workflow files

Ouch, sorry. Fixing that.

Thank you!


[android]Analytics not working when Ionic3 App resume

Hi!
i found issue, that when i resume my app from background, that i cant find any user in the live stream from my analytics app.
anybody noticed this too?
Regards
Harald

closing for now, reopen if still an issue with the latest version of the plugin


Only load active teams on the teams page unless user selects otherwise

Teams that are not active this year should not show up.

Needs API route in order to implement


I want to add right to left color swap hovering effect on the top nav bar.

🎇 Description
» I want to add the left to right color swaping hovering effect on the nav bar content.
which will make it more interactive and good looking on hover.
Before:

After:

Pls assign it to me , i will do my best and make it good looking.
And  pls label it with Hacktoberfest.
🖼 Screenshots
No response

Thank you for sharing your design proposal. Your efforts are greatly appreciated, but the preferred design should align more closely with our theme. Could you please suggest any changes or modifications that could better match the requirements of this website? Your input is valuable, and there is always room for learning and improvement.