Migrating models from NetLogo to Flame GPU

I recently started using Flame GPU and I am very intrigued by its capabilities! I completed a tutorial and now I have a number of questions, which unfortunately I was not able to answer while reading Flame GPU documentation. I have used NetLogo and would like to migrate some for the models from NetLogo to Flame GPU.

NetLogo has four agent types: turtles, patches, links and observer. Turtles correspond to agents in Flame GPU, but I could not find anything which would correspond to patches (stationary agents: Each patch is a square piece of “ground” over which turtles can move) and links (Every link has two ends, and each end is an agent). I would appreciate any help in defining those agents in Flame GPU.

NetLogo allows to specify the size of the world in terms of the number of patches. In Flame GPU world is limited by lower and upper bounds, e. g. (-1,1). I could not find any recommendations on how to set up the world in Flame GPU. In many cases the size of the world would affect behavior of the model.

Is it possible to automatically limit the number of neighbors for communication? For example, communicate with only 4 neighbors, or 8 neighbors.

Answers by Dr. Richmond:

There is the idea of discrete agents in FLAME GPU. These represent the equivalent of patches in NetLogo. Check out the pedestrian navigation example and Game of Life for an example of how these work. They essential are agents which act like a cellular automaton and can communicate with mobile agents using messages. There are some specific restrictions in this type of agent such as having power of two dimensions and only 2D environments. Check out the docs in the relevant section.

With discrete agents the width/height represents an integer number of cells (patches). You will need to manually convert your environment for your spatial agents into a relevant position in the 2D grid. Again see the pedestrian navigation example to see how this is done.

Communication for mobile agents is spatial in which case message within the spatial radius will be considered. You can within your agent function choose to limit the messages which are used to update values to achieve a limit on the level of information which is considered.

Hi @antonst are you happy with the reply? Can this request for help be closed?

Thank you for the info! I don't understand what you mean by power of two dimensions. Is this related to the number of discrete agents?

The buffer size for discrete agents must be a power of two number that can be decomposed into a square grid. I.e. 1024 corresponds to a 32 x 32 grid from the documentation

For discrete agents the bufferSize is strictly limited to only power of 2 numbers which have squarely divisible dimensions (i.e. the square of the bufferSize must be a whole number).
http://docs.flamegpu.com/en/latest/flamegpu/modelspec.html#defining-an-x-machine-agent

What should I do if my model is 3D? Can I use mobile agents which remain stationary for the entire step to simulate patches?

Discrete agents in FLAME GPU are limited to 2D environments only. Instead, as you've suggested, you should use continuous agents which do not modify their x, y and z properties.

In first case I am getting inconsistent state updates for the agents. For example, if I try to update agent's memory based on some condition (value of the variable), agent memory gets updated for most agents, but not for all of them after iteration is finished. Let's say I have a total of 100 cell agents and only for 20 of them variable occupied is set to 0. Inside a function I update cell agent's color variables based on condition: if (xmemory->occupied == 0). When I plot data from XML, color for 16 agents is changed. Can this be related to the fact, that I am returning 0 after the condition is satisfied, instead of returning 0 at the end of the function?

Returning 0 mid function may impact behaviour if you are doing so within a message iteration loop - threads cooperatively transfer data into shared memory which may be impacting behaviour. If it is not within a message loop (I don't think it is) I'm not 100% sure why this would be the case. I would need to have closer look at the relevant code and XML file.

I have a related question: Is it possible to have communication between subsets of agents? For example we have 80 atom agents and 100 cell agents and we want to implement communication between 20 cell agents and 80 atom agents, or between 80 cell agents and 10 atom agents. Is this possible? In case if we have two types of mobile agents, is communication between them always all-to-all?

Currently there are 3 message partitioning strategies which limit communication (see http://docs.flamegpu.com/en/latest/flamegpu/modelspec.html#defining-messages).

I.e. for your example of two continuous agents, you can restrict communication to a spatial radius using spatially partitioned messaging. This will (potentially) reduce the number of messages each agent must iterate, improving performance.

I am also curious how message lists are implemented. Documentation says that list ends with NULL. if I use while(message) sometimes simulation gets stuck in first iteration. Replacing while with a for loop resolves the issue. I don't understand why this is the case.

Messaging is designed to work with a while loop, as demonstrated in the example models.
https://github.com/FLAMEGPU/FLAMEGPU/blob/master/examples/Boids_BruteForce/src/model/functions.c#L99-L132
I.e for a message of name location
xmachine_message_location* location_message = get_first_location_message(location_messages);
while(location_message) {
    // Access message variables
    if (location_message->id != xmemory->id){
          // ...
    }

    location_message = get_next_location_message(location_message, location_messages);
}

The use of the get_first_*_message and get_next_*_message are both necessary, and all threads in the block must execute these functions (ie do not return within a message loop).
I'm not sure why this would get stuck in the first iteration.
Out of interest, what OS, CUDA version and GPU are you using?

@antonst Are you happy with this response? I would like to close this issue.

@ptheywood thank you very much for your reply! I have successfully implemented Solid Diffusion model from NetLogo in Flame GPU.

The buffer size for discrete agents must be a power of two number that can be decomposed into a square grid. I.e. 1024 corresponds to a 32 x 32 grid from the documentation

Got it! Thanks.

Discrete agents in FLAME GPU are limited to 2D environments only. Instead, as you've suggested, you should use continuous agents which do not modify their x, y and z properties.

Understood.

Returning 0 mid function may impact behaviour if you are doing so within a message iteration loop - threads cooperatively transfer data into shared memory which may be impacting behaviour. If it is not within a message loop (I don't think it is) I'm not 100% sure why this would be the case. I would need to have closer look at the relevant code and XML file.

I think was getting "inconsistent" state updates due to small buffer sizes for messages.

Currently there are 3 message partitioning strategies which limit communication (see http://docs.flamegpu.com/en/latest/flamegpu/modelspec.html#defining-messages).

I.e. for your example of two continuous agents, you can restrict communication to a spatial radius using spatially partitioned messaging. This will (potentially) reduce the number of messages each agent must iterate, improving performance.
Thanks for the info!

Out of interest, what OS, CUDA version and GPU are you using?

CentOS Linux release 7.4.1708 (Core)
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
NVIDIA Tesla P100-PCIE

I have a few related questions:

is it possible to write an xml file with agent states every 100 iterations? Writing this file every iteration significantly adds to runtime.

is it possible to define a condition inside an agent function which would allow to stop the simulation?

when increasing the size of the 3D model there are cases when I am running out of memory. Currently I am able to run 1000000 agents. I know this really depends on the model and message sizes, but what are the possible solutions to run models with more than 1000000 agents with Flame GPU?

is it possible to write an xml file with agent states every 100 iterations? Writing this file every iteration significantly adds to runtime.

This is not possible in the current release, however in the upcoming 1.5 release you will be able to access agent data in step and exit functions (see #178) through some new functionality, which will allow you to produce your own output files.
However, adding a simple flag to output every N iterations would potentially be relatively simple which I will look into adding (See #218)

is it possible to define a condition inside an agent function which would allow to stop the simulation?

There is currently no safe way to do this.
As of 1.5.0 you would be able to do this in an unsafe way (ie no memory deallocation, no exit functions) by accessing agent data on the host (#178) and if some condition is met calling exit(EXIT_SUCCESS) in an STEP function. Alternatively one of the included analytics functions (count, reduce, min, max, see #215) would perform a reduction over all agents in a given state list and return a value used to check if you should call exit or not. This would likely perform better (parallel operation and less Device to Host memcpy).

when increasing the size of the 3D model there are cases when I am running out of memory. Currently I am able to run 1000000 agents. I know this really depends on the model and message sizes, but what are the possible solutions to run models with more than 1000000 agents with Flame GPU?

As you state the population size is limited on the model and messages sizes. The more variables each agent or message has the more memory is required. Additionally the more states you may have the more memory is required.
If you cannot reduce the above, the only option is to find a GPU with more memory. The P100 you are running on currently is a 16GB card, the only larger options are some quadros with 24GBs or Tesla V100 and Quadro GV100 which now come in 32GB variants.
We are aware of this limitation and it is one aspect we intend to support with FLAME GPU 2.X in the future.

This is not possible in the current release, however in the upcoming 1.5 release you will be able to access agent data in step and exit functions (see #178) through some new functionality, which will allow you to produce your own output files. However, adding a simple flag to output every N iterations would potentially be relatively simple which I will look into adding (See #218) Edit: This has been implemented in #219 so should be available in the 1.5.0 release.

Awesome! When version 1.5.0 will be available?

There is currently no safe way to do this. As of 1.5.0 you would be able to do this in an unsafe way (ie no memory deallocation, no exit functions) by accessing agent data on the host (#178) and if some condition is met calling exit(EXIT_SUCCESS) in an STEP function. Alternatively one of the included analytics functions (count, reduce, min, max, see #215) would perform a reduction over all agents in a given state list and return a value used to check if you should call exit or not. This would likely perform better (parallel operation and less Device to Host memcpy).

OK, got it. Thank you for the info!

As you state the population size is limited on the model and messages sizes. The more variables each agent or message has the more memory is required.

I understand this is the case for agents, but I don't understand why the number of messages affects amount of memory we need to allocate. Can you please explain in more detail? I also don't understand how to correctly count messages. For example if I have 100 agents and each of them sends a single Discrete Partitioned Message which is received with radius = 1. How large should the buffer be? 100 or 900?

Additionally the more states you may have the more memory is required. If you cannot reduce the above, the only option is to find a GPU with more memory. The P100 you are running on currently is a 16GB card, the only larger options are some quadros with 24GBs or Tesla V100 and Quadro GV100 which now come in 32GB variants.

Thank you for the info.

Awesome! When version 1.5.0 will be available?

We're hoping to get the release out in the next few weeks.

I understand this is the case for agents, but I don't understand why the number of messages affects amount of memory we need to allocate. Can you please explain in more detail?

Messages are stored in separate device memory to agent data. For each message type there is a struct of array allocated for bufferSize  elements. I.e if we have a message containing 8 integer values (4 bytes each) and a buffer size of 1024 then that message list requires 32kB of device memory. More messages and larger messages require more memory.

I also don't understand how to correctly count messages. For example if I have 100 agents and each of them sends a single Discrete Partitioned Message which is received with radius = 1. How large should the buffer be? 100 or 900? Assuming 2D grid.

Each message is only stored once, so (generally speaking) you want the message list bufferSize to be the same as the population which outputs that message.
There are cases where you would want a larger bufferSize than any single population size (for instances where multiple agent functions output to the same message list (in different layers)) but generally using the same bufferSize is sufficient.

Thank you! This is very helpful.

@antonst 1.5 is released this week. I am closing this issue but feel free to open another one if you have further questions.


[Recorder] Do not set private to true to be able to release

Pipeline failed because of https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1497447&view=logs&j=5742d1c6-78e5-56de-b8e3-8788f4b41836&t=6c758387-9fbb-54a1-8544-1f7c5bb76fbc.
Unsetting "private" : "true" in package.json.
This has to be the last hurdle and should do trick to release

/check-enforcer override


Stage Firefly app url not printed in GitHub workflows

Expected Behaviour
We should print out the url to the deployed Firefly app when the GitHub workflow completes.
Actual Behaviour
Customer has deployed his app to stage through the OOTB github actions and monitored that the workflow in github finished successfully. But he's unable to see the url as the namespace is considered a github secret. (see screenshot for example)

Reproduce Scenario (including but not limited to)
Use the Stage / Prod workflow to generate applications
Steps to Reproduce
Platform and Version
Sample Code that illustrates the problem
Logs taken while reproducing problem

Note: the namespace name is currently handled as a Github secret.
Question 1): would it be fine to not handle it as a secret?
Question 2): @sandeep-paliwal  in that case, what alternatives would we have to pass it as a regular environment variable to the Github action?

We can handle it as an env variable, which is set in .github/workflows/<filename>.yml files.
Here we can have two options

Set this env variable in file when the app is generated (only for namespace), and remove step to add namespace as GH secret from documentation.
Let users set it manually, update docs accordingly

WDYT?

Thanks @sandeep-paliwal ! I think it could be a mix of 1) set the variable upon app creation and 2) document where it is set and how this is working.
Let's first get @sarahxxu 's confirmation that we can handle the namespace name as a regular environment variable and not as a secret.
I'll then move the issue to the GH actions repository.


Update to Ruby 2.4.1

I rule and have completed some work on Case Manager that's ready for review!
Updates to Ruby 2.4.1 to dance around the segfault
This pull request makes the following changes:

Minimal changes to get to Ruby 2.4.1

Yesss PRs on PRs


Subscribe to Plan via PayPal

Any plans to add PayPal ?

Nice bot

PayPal was considered early on but the amount of work needed to support it far outweighs the demand, unfortunately


replace keyword "$" with "___" in mongo to avoid conflict

Fix https://rackhd.atlassian.net/browse/RAC-4643 "Current RackHD is not compatible with mongodb v2.6.10"
It is caused by conflict keyword "$ref" in both mongoDB and task schema. It is probably that mongodb added compulsory check in version >= 2.6.10, which uncovered this problem.
Since task schema is added to mongoDB when loading task defenition and running a workflow, this fix transforms keyword beginning with "$" to "___" when adding documents in "graphobjects" and "taskdefinition" collection, and recover it after being retrieved from mongodb for task schema validation.
I only add this replacement in these three specific points to minimize the negative impact on performance for recursively tracing "$" inside a JSON data. Besides, restricting this operation in mongo.js to not influence   the business logic of taskgraph, neither other database that rackhd would adopt and doesn't have this conflict.
@yyscamper @brianparry @nortonluo @lanchongyizu

close this PR. complete solution is still under discussion.


Update Customize virtual text for Lua5.2 and greater

Since table.unpack() is somehow not recognized by nvim, get the value via index instead.

@kevinhwang91 done, plz check.

There're some places has unpack in the code base, I'm not sure that hlslens work for you after the patch.

Interesting, it seems like it's working fine after adjusting the setup config.


updated moment and json-schema dependencies

Description

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] Updated documentation (README.md, etc.) depending if the changes require it.

https://github.com/CMSgov/qpp-shared-logger-node/pull/51 resolves. Closing.


Builder: windows 7 32bit

Request to support windows 7 32bit

Hi @finder0009 -- can you confirm for me what functionality you are looking for within Windows 7 32-bit?

For Arduino targets, GUIslice can be built on the Arduino IDE under Windows (should include Windows XP and up), LINUX or Mac OS X using various TFT graphics drivers.
For LINUX targets (eg. Raspberry Pi), GUIslice can be built under LINUX using the SDL graphics driver.
It may be theoretically possible for me to also support a Windows target using the SDL graphics driver, but I'm not sure if that is what you are asking for?

thanks!

Hi ,thank you for your response.
the installer support windows 64bit system while mine is 32bit(windows7 32bit) so after installing the program it didn't run. is there any way to run it on my system

I'm the author of the Builder.  I'm sorry but I have no plans to support 32-bit systems.
Now that said it still MIGHT be possible for you to run the builder.
In theory, if you have installed a Java 1.8 JRE 32-bit on windows 7.  The builder could run on it since its in a java byte code which runs in JRE.  Java byte code generated by java compiler does not change between 32-bit and 64-bit, using the same version of java. (well as long as the app keeps under 4gb memory requirements).
Hence, you can safely use a java application compiled using 64 bit JDK on 32 bit JRE.
So you need to install a Java 1.8 32-bit JRE first.  If you have Arduino IDE you can point
JAVA_HOME to its version,  say, "C:\Program Files\Arduino\java"
otherwise you need the oracle version:
jre-8u202-windows-i586.exe
available at:
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Make sure you have JAVA_HOME environment variable defined pointing to the java's installed folder.
See our wiki for the older install instructions:
https://github.com/ImpulseAdventure/GUIslice/wiki/Builder--Installation--Windows-_-old
Now, download the builder-linux64-0.10.4-beta7.tar.gz version and unpack it in a folder of your choice.  Give write access on each unpacked folder and the GUIsliceBuilder directory.
create a GUIslice.bat file inside the GUIsliceBuilder directory.
The GUIslice.bat file should have these lines:
@echo off
set CLASSPATH=.;%JAVA_HOME%\lib
start "" /min "%JAVA_HOME%\bin\javaw" -jar builder-0.10.4-beta7.jar
Now you should be able to start the builder by clicking on the GUIslice.bat file.
Remember I said this might work, no promises.

Thanks alot. I'll try that hoping that it will work. Thank you again it is really a great work.

Cal seems to have over done his edits if by post.
You MUST NOT use builder-linux64-0.10.4-beta7.zip
but use
builder-linux64-0.10.4-beta7.tar.gz
instead.  The zip simply contains the install exe which can't run on 32-bit machines
while the linux tar bar has everything you need unpacked.
You just can't use the install.sh script and must move the builder-0.10.4-beta7.jar up into the parent folder GUIsliceBuilder.  I have modified my comments above for this detail.

Paul: Oops... yes, indeed I had inadvertently swapped in the win64 release instead of the linux64 release (as I had wrongly assumed that was a typo). I have corrected (hopefully correctly!) the URLs again, as the links in your recent edit were leading to a 404. Sorry for any confusion and thank you for clarifying the suggested use of the LINUX release for the Windows 32bit operation, as that may not have been obvious :)

Hi friends. I want to thank you very much for your patience and cooperation. every think went just fine. I have both arduino and java jdk1.8.0_131. my home java is pointed to C:\Program Files\Java\jdk1.8.0_131
so i followed the steps explained by you with one modification on the bat content :
@echo off
set CLASSPATH=.;%JAVA_HOME%\lib
start "" /min "%JAVA_HOME%\javaw" -jar builder-0.10.4-beta7.jar
and finally I had the GUIsliceBuilder running on my windows7 32bit system
thanks alot for your help.

class java.lang.ArrayIndexOutOfBoundsException: 14
builder.models.WidgetModel.initProp(WidgetModel.java:131)
builder.models.TextBoxModel.initProperties(TextBoxModel.java:118)
builder.models.TextBoxModel.(TextBoxModel.java:96)
builder.widgets.TextBoxWidget.(TextBoxWidget.java:53)
builder.widgets.WidgetFactory.createWidget(WidgetFactory.java:185)
builder.views.Toolbox.createWidget(Toolbox.java:192)
builder.views.Toolbox.actionPerformed(Toolbox.java:280)
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
java.awt.Component.processMouseEvent(Component.java:6539)
javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
java.awt.Component.processEvent(Component.java:6304)
java.awt.Container.processEvent(Container.java:2239)
java.awt.Component.dispatchEventImpl(Component.java:4889)
java.awt.Container.dispatchEventImpl(Container.java:2297)
java.awt.Component.dispatchEvent(Component.java:4711)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
java.awt.Container.dispatchEventImpl(Container.java:2283)
java.awt.Window.dispatchEventImpl(Window.java:2746)
java.awt.Component.dispatchEvent(Component.java:4711)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
java.awt.EventQueue$4.run(EventQueue.java:733)
java.awt.EventQueue$4.run(EventQueue.java:731)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

(TextBox) button in the gui builder  indicates a fatal error message producing a logo file whose content is:
class java.lang.ArrayIndexOutOfBoundsException: 14 builder.models.WidgetModel.initProp(WidgetModel.java:131) builder.models.TextBoxModel.initProperties(TextBoxModel.java:118) builder.models.TextBoxModel.<init>(TextBoxModel.java:96) builder.widgets.TextBoxWidget.<init>(TextBoxWidget.java:53) builder.widgets.WidgetFactory.createWidget(WidgetFactory.java:185) builder.views.Toolbox.createWidget(Toolbox.java:192) builder.views.Toolbox.actionPerformed(Toolbox.java:280) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) java.awt.Component.processMouseEvent(Component.java:6539) javax.swing.JComponent.processMouseEvent(JComponent.java:3324) java.awt.Component.processEvent(Component.java:6304) java.awt.Container.processEvent(Container.java:2239) java.awt.Component.dispatchEventImpl(Component.java:4889) java.awt.Container.dispatchEventImpl(Container.java:2297) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) java.awt.Container.dispatchEventImpl(Container.java:2283) java.awt.Window.dispatchEventImpl(Window.java:2746) java.awt.Component.dispatchEvent(Component.java:4711) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:709) java.awt.EventQueue$3.run(EventQueue.java:703) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) java.awt.EventQueue$4.run(EventQueue.java:733) java.awt.EventQueue$4.run(EventQueue.java:731) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) java.awt.EventQueue.dispatchEvent(EventQueue.java:730) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Hi - thanks for reporting this. Yes, there was a bug in Builder v0.10.4-beta7’s TextBox component, but it has been fixed in the upcoming release.
For reference, this and other Builder open issues have been noted in
https://github.com/ImpulseAdventure/GUIslice/issues/80#issuecomment-458825941

Glad to hear that the Builder is running on Windows 7 32bit for you with Paul’s recommendation. If you find any additional issues, please feel free to open a new ticket. Thanks!


Changes to resolver-LB interfaces.

Creation of a load balancer now takes an execution context.
load balancers are now passed addresses as arguments and are responsible for the creation of the corresponding subchannels, something that used to be done by the resolvers.

LGTM but the branch has merge conflicts.. Can you resolve conflicts and update the PR ?

Ready to merge. the failed test is a known flake.


[BUG] Actual size of Prometheus volume is out of bounds

Describe the bug
Actual size of Prometheus volume is out of bounds, real used space is only 10.7 GiB. There is only one snapshot and 2 replicas. Data retention is only 5d to keep it under 150GB. Filesystem TRIM runs every hour, snapshot cleaner/remover every day.

To Reproduce
There is no exact flow how to reproduce the issue, just install last Kube-prometheus-stack via Helm, start scraping metrics and check how the size is growing over time.
Environment

Longhorn version: longhornio/longhorn-engine:v1.7.2
Impacted volume (PV): pvc-5b8ce9b0-5581-4a22-862a-fdee9c05c61a
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Terraform
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: v1.31.2+k3s1

Number of control plane nodes in the cluster: 3
Number of worker nodes in the cluster: 3

Node config

OS type and version:
Kernel version:
CPU per node: 8
Memory per node: 16GB
Disk type (e.g. SSD/NVMe/HDD): Hetzner volume SSD
Network bandwidth between the nodes (Gbps):

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Hetzner Cloud
Number of Longhorn volumes in the cluster: 10

Hi @tomklapka
How do you know the real data size is 10.7 GiB?
Longhorn stores the data/snapshots as a sparse file in the filesystem
The actual size in the UI is calculated by adding all the size of the snapshots of the volume.
The snapshot seems to be created by the backup.
Can you check when doing the backup, what is the size of that volume.
I am thinking

Longhorn can't delete the last snapshot

because Longhorn can't merge the last snapshot to the volume head or it will override the data in the volume head.

So the snapshot delete job won't be able to delete that snapshot at 23:00
Then 00:00 Longhorn takes the backup and create another snapshot
On the second day, the snapshot delete job then can delete the previous snapshot and leave the only one snapshot.

So I am guessing the story looks like (Correct me if I am wrong)

Before you set up "Data retention" in the Prometheus
It already produced 130GB to the volumes
Then you created a Snapshot or created a Backup so the first 130GB was preserved.
And since Longhorn won't be able to delete the last and only snapshot.
So every time you delete the snapshot, Longhorn merge those 130GB data to the new and only snapshot.


Expand constraint suggestion related span and add quick fix

This expands the originally very narrow elaboration to be reported any time an unconstrained type parameter is related to something, and adds a quickfix to apply the change.

@typescript-bot pack this

Most of the breaks I saw looked like this, which currently isn't quickfixable. Can we expand it?
interface Fn<T extends string> {
}

function m<T>(x: Fn<T>) {
}

Can we expand it?

Sure, should be easy - just another error code in the quickfix hopefully, since it uses a custom head message on the assignability error.

@RyanCavanaugh done. There are a lot of custom head messages for relation errors, and thus, many error codes we could conceivably add to this quickfix. I don't claim the current list to be exhaustive, just the ones I read in the core reportRelationError function. 😅

@typescript-bot pack this

(This isn’t the first time it would have been nice to be able to register a codefix against a related error instead of the head message.)

Notably, that failure mode does imply another, narrower, potentially useful quickfix - if a constrained type parameter fails being related to some target type, suggesting the target type be intersected into the constraint of the source type parameter is potentially a good fix. Unfortunately, a large corpus of code with errors isn't exactly something we have to know how useful such a fix would be.


Attempts to handle a 404 for the game['streams'][stream_key] URL.

The URL stored in game['streams'][stream_key] sometimes returns a 404 via nhglc.get_playlists_from_m3u8_url(). I have seen this happen several times lately (example: 2015-01-09, id 0616, away stream). This catches that exception and attempts to subsequently pull the playlists via nhlgc.get_video_playlists(), hiding the "(from start of game)" entry. There may be a better way than using end_time to avoid this item, but I'll leave that up to those who know the code better.

any idea why its getting a 404? I've noticed if requests aren't throttled to /publishpoint sometimes it just blocks you. I forget whether I was seeing a 404 when this happens or not. Perhaps putting a small delay of 100ms would fix it?

@chovy: It doesn't seem to be a throttling issue or anything. If I just curl the provided away stream URL for that game mentioned above, I always get a 404. The home stream is fine. The away stream is just "wrong" (?)...whatever that means in this case.
I've noticed this several times this season using this plugin. I go to watch a game after it's complete, and one of the streams doesn't show up in the list (e.g. it shows Home and French, but no Away). It might always be the away stream that's missing, but I can't say for sure without going back through all of this season's Pens games. :smile:


AOS Only working on first element

This is:

[ ] - Bug

Specifications

AOS version: 2 and above
OS: Mac OS
Browser: Chrome

Expected Behavior
AOS should work on all elements with data-aos tag
Actual Behavior
AOS is only working on elements that are shown on initial page load.
Steps to Reproduce the Problem
It's really strange...AOS onScroll behavior seems to be totally broken, but i'm getting no JS errors in the console. Elements with the data-aos tag work great if they are within the visible range upon page load.

Ah ok this is weird, I got it working. I was using a sanitize.scss script that included the following css which broke AOS:
:root {
-ms-overflow-style: -ms-autohiding-scrollbar; // IE11+
overflow-y: scroll; // All browsers without overlaying scrollbars
text-size-adjust: 100%; // iOS 8+
}
Remove this and it works great. WTF.


Prefer parseInt(String), etc., to valueOf(String)

Since Java supports autoboxing (and auto-unboxing), parseInt(String),
etc., can do everything valueOf(String) can, while avoiding warnings about
redundant boxing (i.e. boxing followed by immediate unboxing) for
simple assignments and function calls.
Changes was made by:

$ for i in Boolean Byte Short Character Long Float Double; do git grep -Plz "\W$i\.valueOf" | xargs -r0 sed -i "s/$i\.valueOf/$i.parse$i/g"; done

$ git grep -Plz '\WInteger\.valueOf' | xargs -r0 sed -i 's/Integer\.valueOf/Integer\.parseInt/g'

$ git checkout subprojects/{code-quality/src/integTest/groovy/org/gradle/api/plugins/quality/PmdPluginIncrementalAnalysisIntegrationTest.groovy,code-quality/src/integTest/groovy/org/gradle/api/plugins/quality/pmd/PmdPluginDependenciesIntegrationTest.groovy,ide/src/main/java/org/gradle/plugins/ide/eclipse/model/internal/DefaultResourceFilter.java,model-core/src/integTest/groovy/org/gradle/model/managed/ScalarTypesInManagedModelIntegrationTest.groovy,model-core/src/main/java/org/gradle/model/internal/manage/schema/ModelProperty.java,model-core/src/test/groovy/org/gradle/api/internal/provider/DefaultProviderFactoryTest.groovy,persistent-cache/src/main/java/org/gradle/cache/internal/locklistener/DefaultFileLockContentionHandler.java}

Rewrite
subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/DefaultFileAccessTimeJournal.java

Rewrite
subprojects/ide/src/main/java/org/gradle/plugins/ide/eclipse/model/AbstractClasspathEntry.java

Rewrite
subprojects/jacoco/src/main/java/org/gradle/testing/jacoco/plugins/JacocoTaskExtension.java

Rewrite
subprojects/native/src/main/java/org/gradle/internal/nativeintegration/processenvironment/NativePlatformBackedProcessEnvironment.java

Signed-off-by: Daniel Le<EMAIL_ADDRESS>
Fixes #?
Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@JLLeitschuh, as you requested in https://github.com/gradle/gradle/pull/15653#issuecomment-779870079, I've rebased https://github.com/gradle/gradle/pull/15653 rebased on top of origin/master (i.e., 70cc53f94ad28e2e208cc1e786367d7d20e4a140). Please run it against the CI to verify it.

@bot-gradle test RFN

OK, I've already triggered ReadyForNightly build for you.

@bot-gradle test RFN

Sorry some internal error occurs, please contact the administrator @blindpirate

@bot-gradle test RFN

OK, I've already triggered ReadyForNightly build for you.

@blindpirate, thanks for reviewing this. I've made some changes and $ ./gradlew sanityCheck and $ ./gradlew spotlessCheck both passed locally. Could you schedule another build?
I believe the compilation errors were because changes to subprojects/configuration-cache/src/integTest/groovy/org/gradle/configurationcache/inputs/undeclared/SystemPropertyRead.groovy were added when I ran the steps to recreate this PR. I suspect the stylecheck errors were due to this too. Hence, I've excluded it.
Another manual changes compared to https://github.com/gradle/gradle/pull/15653:

Remove subprojects/javascript/src/main/java/org/gradle/plugins/javascript/jshint/JsHint.java from $ git checkout step because it was deleted in origin/master

@bot-gradle test RFN

OK, I've already triggered ReadyForNightly build for you.


IntPtr type?

Is there a type that represents a C# IntPtr or C++ std::intptr_t? I need to pass a HWND in my constructor so I thought of using something like IntPtr but I can't seem to find one. Or is there a way to directly pass an HWND through WinRT? The ability to mix classic IDL with modern IDL seems interesting since classic IDL supports it, but I'm not sure if I can use that for a constructor.

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

ID: 2dacbdf2-172f-dd41-829f-94295cd0c621
Version Independent ID: b511accc-e0b1-9b30-d044-231d5204024d
Content: Introduction to Microsoft Interface Definition Language 3.0 - Windows UWP applications
Content Source: winrt-related-src/midl-3/intro.md
Product: uwp
Technology: winrt-reference
GitHub Login: @stevewhims
Microsoft Alias: stwhi

Hi, @sylveon, thanks for filing this issue.
For passing a HWND to a Windows Runtime object, I'd suggest implementing IInitializeWithWindow. A less elegant approach is to smuggle a HWND (or indeed any kind of HANDLE) by means of a UInt64 parameter.
-Steve

I did try implementing IInitializeWithWindow shortly after filling this question, but faced an issue where the XAML compiler's codegen did an explicit template specialization that causes compiler errors:
My code:

ColorPickerPage.xaml.g.hpp:

Since ColorPickerPage inherits from ColorPickerPageT<ColorPickerPage, IInitializeWithWindow> rather than ColorPickerPageT<ColorPickerPage> any attempt to cast back to the derived type caused a compiler failure. Even if the code didn't do that, I would have hit linker errors. Since this is automatically generated, there is no easy resolution I can do on my side.
I tried a hack by doing #define ColorPickerPage ColorPickerPage, IInitializeWithWindow, while it does work it's very fragile and I would rather not ship that code.
Of course this works fine on standard WinRT objects, and I was going to fill an issue on the microsoft-ui-xaml repo later.

Issue up: https://github.com/microsoft/microsoft-ui-xaml/issues/3331


Adding Galaga

Galaga-ish, a game by wormmeatapple!

A classic arcade game! Shoot aliens without losing your lives and try and reach a highscore!
How do you play your game?
W A S D to move your spaceship
I to fire bullets
K to start the game at the main menu
L to go to main menu once at the game over screen
Code
Check off the items that are true.

[x ] The game was made using the Sprig editor.
[ x] The game is placed in the in the /games directory.
[x ] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x ] The game runs without errors.
[x ] The name of the file/game contains only alphanumeric characters, -s, or _s.
[ x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Nice job with this game- I especially found the enemies' movement patterns interesting. You should see it in the gallery next week - congrats!
If you're a teenager, you can request a free Sprig console at this link and join our online Slack community to chat with other people making Sprig games.


Talk: Joining a new group from a reference in a chat channel takes you to a blank page

Describe the bug, optionally with screenshots
I was in a chat where someone shared a link to a new public group for which I was not yet a member, clicking join presumably gave me access to a group, but took me to a page with a blank main window and just my standard talk sidebar.
To Reproduce
Steps to reproduce the behavior:

Go to a group chat from within Talk
Click on the join button in a reference to a public group for which you are not a member
See error

Expected behavior
A variety of things could happen here:

automatically open a new browser tab with that group's main channel page
take me to a chat channel within that group, likely the one with the most recent new messages?
take me to a dialog box prompting me to open groups?

Additional context:

Ship type: Planet
Instance type: Self-Hosted on ubuntu
OS/browser: Brave on MacOS

Similar to #1664, address at the same time.

and #1655


Multiple macros expansions with bindings results in exponential time complexity

Using code from master branch.
Example macro
macro m {
  rule { $val:expr } => {
    var x = $val;
  }
}

m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11

expands in 1.04s
While
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11

expands in 5.34s
And after adding just a one more m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11
m 11

in 10.26s
:(

I'm mass closing issues due to the release of 1.0 obviating lots of bugs. If you feel this issue is something we still need to address feel free to reopen.


Demo: Audio support in Demo

TODO:

Secure servers #37
Load balancer UDP supports

No AWS load balancer support both HTTP(S) and UDP? Do we need two load balancers?

Done


Coerced EXT_texture_filter_anisotropic object causes WebGL error in Texture.js

Changes in SHA: 7c75a1227c23775224a33f234ce65f37728e1ae7 added a !! coersion to the EXT_texture_filter_anisotropic object in Context. This causes gl.texParameteri(target, this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, sampler.maximumAnisotropy); in  Texture/defineProperties to return undefined. Sending undefined into gl.texParameteri() generates a WebGL: INVALID_ENUM: texParameter: invalid parameter name error.

Good eye, thanks @gbeatty.
@bagnell @lilleyse can one of you look at this?

I assume this bug in the Picking example is also because of this?  master seems to be in pretty bad shape right now.

Good eye, thanks again @gbeatty.


General improvements to README.md

Just a little bit of linguistic polish to the README.md that I made along some other changes to the file in other pull requests.

Thanks!


Merge back to originally forked project

https://github.com/jribble/grunt-jasmine-node-coverage/issues/25
Any change of getting the additional features from this repository merged to the https://github.com/jribble/grunt-jasmine-node-coverage from where this one was originally a fork?
We could combine the effort and reduce fragmentation.

@NagrajN any chance of getting fork merged?

:+1:


Add postgres addon to app.json

Windmill needs a postgres :heart:

Hmm. I wonder why I never put that in there.


TESTING.md is empty

I would love if the information that Readme says it should be there is.

@ruiaraujo we added some instructions to describe the methodology behind perf testing here: https://github.com/SoftwareMansion/jsc-android-buildscripts/blob/master/TESTING.md


[KNI][release-4.15] log ephemeral-storage resources

remove now-redundant (but not harmful) key/vals in the process

manual backport of #219


Next: Windows

Hello, some stuff are happening here.
I'm writing changes that will bring better support for multi-platform dev.
Would like to know what is the next driver you would like to be implement.

Windows is what is coming next. I ll use this issue to give news on the development.
Feel free to post your suggestions or any questions related to windows here.

Great!!!

Step by step, little by little...

Now launching the go program with the uwp using desktop bridge.
The hack works that way:

Built an UWP with visual studio 2017 in Release mode for x64 with .net native.
UWP .dll, .exe and .pri are copied in the goapp directory.
When building with goapp win build:

create the package.
go build.
copy the UWP .dll, .exe and .pri into the package.
generate the AppxManifest.xml.
deploying on local machine.

launch the app with start menu.

I still have a problem:
When generating AppxManifest.xml, if I put a different value for the identity name, the uwp program crash at launch.
This is working:
<Identity Name="4a99c091-2185-434d-8088-4b6c643f38fc" Publisher="CN=Maxence" Version="<IP_ADDRESS>" />

This is not working:
<Identity Name="goapp" Publisher="CN=Maxence" Version="<IP_ADDRESS>" />

I tried to put a different guid but it does not work either.
If someone have an idea, please let me know!

Is there a planned release time? 👍

Got a good improvements since last posted update. I don't want to give a release time. Just I expect to have it by the end of the year.

This looks awesome, is there anything others can contribute to this to get it rolling sooner? Really itching to play with it.

@zet4 Thank for proposing. Right now I'm still in a spot where I'm defining how the communication go/winrt works.
Once it done I could post an update here with some stuff to implements for the ones who would be up to the task.

I'm so excited. When do you expect it to be rolled out?

@Wulfheart when it will be ready :)

I'm waiting for it. This concept looks promising and the learning curve quite flat.
Am 30. Oktober 2018 17:01:37 MEZ schrieb Maxence Charriere<EMAIL_ADDRESS>
@Wulfheart when it will be ready :)
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/murlokswarm/app/issues/141#issuecomment-434359201

Hello folks, just wanted to give a little update on how it's going.
Progress since last:

Go to C# communication.
C# to Go communication.
Can display hello world example!

What next:

CSS files
Js to Go communication

Here is a screenshot of the hello world example for now:

Folks, I warn you, the code is pretty dirty right now but...

On this note, I going to sleep now.

Even if the code is really dirty: Can we use it right now?

@Wulfheart Unfortunately it need a lot of polish. I will do a release when it will be usable. I don't want to drop something that hacky and scare the people who want to try it. But the prototype is here and now I can build on the top until it become enough good.
Omg, I spent months to get there 😭 .

Very looking forward to

Working hard on it, the goapp tool is in a spot where i m satisfied. If you want to try it you can go to the 4.0.0 branch.
You will need a windows machine. Mingw64 and the windows 10 sdk to make it work.
You also will need to install the goapp cmd tool from this branch.
Very experimental and a lot of stuff is missing. The hello world example is working. Did not test the others since its far to be feature complete.

Just some little news about this:

Working on a new example that allow to enumerate and test what the package can do. It helps a lot with the Windows implementations.
App can be opened from file or url.
Working on window related feature now.
Just implemented frosted background.
Starting the UWP messy window handling...

And here is what it looks like:

Looks awesome, though I feel like Apple fanboys might complain about windows looking apps on their platform haha

I am curious though, what's the performance like, compared to say, Electron.

In term of the graphic performances it is like comparing Edge vs Chrome.
This is more smooth, use less battery and is less heavy. Electron rendering supports better standards and is more stable.
Sometime later it would not matter anymore since Microsoft will provide Chrome based webview. When it happen this package will have an option to chose which rendering engine to use, and will default to the Chrome based one for better cross platform compatibility.
No need to compare the javascript part since the javascript layer is just a bridge between the webview and Go. All other computations are Go native code which gonna be faster and more memory efficient than Electron 's javascript.
All of this is theory and to be honest, I did not benchmark the cost of passing data from go to UWP|Cocoa.
I let raw graphic performances to the expert in this domain (Google, Apple, Microsoft). This package is about giving a good and easy to use API to build app with Go.

can you share build steps for windows
I tried with below commands
.\goapp.exe win init
Getting error with below commands
.\goapp.exe win build
.\goapp.exe win run -dev
x fork/exec C:\Users\user\AppData\Local\Temp\goapp\app\app.exe: This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
Am i missing something

@enggjiten are you on 32 or 64 bit Windows ?

I have 64-bit Windows 10 Pro.
Go version:
go version go1.11.2 windows/amd64
MingW64 \x86_64-8.1.0-win32-seh-rt_v6-rev0

No just trying to see the differences.
A couple of thing:

Can you run goapp win run -h and copy/paste the output.
Can you go build your program after commenting the part that uses app.Run, add a fmt.Println("whatever") and try to launch the generated program to see if the error is there too.

Correct me if i am doing something wrong here.
I built the latest goapp.exe with 4.0.0 repo.
Go to \app\examples\demo
Run src\github.com\murlokswarm\app\examples\demo> ....\cmd\goapp\goapp.exe win
build -v
Output::
creating demo.app
‣ building executable
github.com/murlokswarm/app/drivers/win
# github.com/murlokswarm/app/drivers/win
....\drivers\win\driver.go:259:3: unknown field 'TitlebarHidden' in struct literal of type app.WindowConfig
....\drivers\win\window.go:59:3: cannot use c.OnMove (type func(app.Window)) as type func(float64, float64) in field value
....\drivers\win\window.go:60:3: cannot use c.OnResize (type func(app.Window)) as type func(float64, float64) in field value
....\drivers\win\window.go:61:3: cannot use c.OnFocus (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:62:3: cannot use c.OnBlur (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:63:3: cannot use c.OnFullScreen (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:64:3: cannot use c.OnExitFullScreen (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:65:3: cannot use c.OnMinimize (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:66:3: cannot use c.OnDeminimize (type func(app.Window)) as type func() in field value
....\drivers\win\window.go:67:3: cannot use c.OnClose (type func(app.Window) bool) as type func() bool in field value
....\drivers\win\window.go:67:3: too many errors
x exit status 2

oh, yes this is normal! the last 4.0.0 merge come from Mac modifications, it should work on window-on-Windows.

Just warn you if you arrive to launch it, support is super limited now, still a lot of work to do in order to make it usable to build something.
Also, goapp win run without -dev option is making the app crash.
Let me know how it goes.

Can you do a dir in demo.app and copy paste the output ?
Sent from my iPhone
On Dec 14, 2018, at 3:26 AM, enggjiten <notifications<EMAIL_ADDRESS>wrote:
UWP App built and installed.
When i try open it try to do something but could not open up.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/murlokswarm/app/issues/141#issuecomment-447297448, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACkWe5Bz3nHYpvBAm44wbtAw7xfJBlByks5u44rigaJpZM4UjTUP.

i tried again with branch 4.0.0
Run below command and got result as below.
\src\github.com\murlokswarm\app\examples\demo> ....\cmd\goapp\goapp.exe win
run -dev
start : This command cannot be run due to the error: The system cannot find the file specified.
At line:1 char:1

start goapp-demo://

  + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
  + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

x exit status 1
Instead of UWP app, can we run executable container ?

what do you mean by executable container ?
Is the app is at least installed ? when you go on the start menu and type demo.

Yes, it is build and installed but not running.
I got eventviewer logs
Unable to start a DCOM Server: jiten_<IP_ADDRESS>_neutral__xgkf2qwfy5v6a!jiten as Unavailable/Unavailable. The error:
"2"
Happened while starting this command:
"C:\Users\jiten\Documents\golaunch\src\github.com\murlokswarm\app\examples\demo\demo.app\uwp.exe" -ServerName:jiten.AppXqanewx1bwvrv122c6t62bx49f5nwzagk.mca

Let me know if you know the solution of this.

Just a heads up here. The windows driver is too hacky and unstable.  I experienced a lot with it and I don't think its good to go in a release.
During the past week I though about what is the future for this package. I posted another issue that deals with that question:
https://github.com/murlokswarm/app/issues/262


How can migrate our Tenant Databases?

Hi,
I have Multiple Tenant Databases based on tenants, now we have to run the migration tool for change that for migrate with others tenant so can u tell me what we need to do change in migration tool projects? or any document have?

Hi,
can you do the reply ?

can u give me answer?

Do you have single DbContext of seperate DbContext for host and tenant databases ?

i have Seperate dbcontext for Host and Tenants also

Then you will need two DbMigrators. Please see this forum topic http://forum.aspnetboilerplate.com/viewtopic.php?f=5&t=2756&p=6402&hilit=DbMigrator#p6402


LRA messaging hooks for selected signatures

Signed-off-by: Daniel Kec<EMAIL_ADDRESS>

closing for inactivity


Check service names in cache-from against the services being built

The service names in the cache-from lines are used to place
cache_from: ... configurations into the appropriate place in the
modified docker-compose config. Without that cache_from, the pulled
image cannot be used for caching, and so all the effort there is
useless.
Previously, a configuration like:
build:
- foo
cache_from:
- foo-bar-baz:example.com/foo-bar-baz:latest

would download the image, but be unable to use it for caching
purposes. This patch makes the plugin flag this as a soft error,
alerting the user that the foo-bar-baz cache-from line doesn't
correspond to any of the services being built.
This came up for us when we had long image names, and
abbreviated service names, and we'd accidentally used the
image name before the colon. It took a while to work out
why the caching wasn't behaving as expected.

Hi @lox, we'd appreciate if you could take a look at this when you have a moment. 😄

Hey, @huonw thanks for investigating and sending through the pull request, sorry it's taken so long for us to check this out.
I think given that this is a configuration error I wonder if we should look at returning an error and failing fast on this?

I thought about that, but decided that caching is generally an optimisation rather than something required for correctness, so it would be unfortunate to cause existing plugin-users' build to hard fail. However, I guess the fact that people typically depend on specific versions alleviates this: when one upgrades to a version containing this patch, these problems will be flagged as part of that build and can be fixed then.
Thus, I'll follow your suggestion and make this an error.

Hi @jayco, I updated this per your suggestion. Could you take a second look? Thanks!

Hi @huonw! Sorry for the late reply! Thanks for your contributions, but we are going to close this one. It's not something we want to add at this point. Thanks!


Set remote branch on xtask promote

to hopefully fix this:
$ git switch master
Already on 'master'
Your branch is up to date with 'upstream/master'.
$ git fetch upstream
$ git reset --hard upstream/master
HEAD is now at 921ec4b3fca Auto merge of #81313 - LeSeulArtichaut:revert-32558, r=jyn514
$ git submodule update --recursive
Submodule path 'src/tools/rust-analyzer': checked out '1a59f75cdaa730c16a694a4294eccf6dfe6fe0ad'
$ git switch -c rust-analyzer-2021-02-08
Switched to a new branch 'rust-analyzer-2021-02-08'
$ git fetch origin
$ git reset --hard origin/release
HEAD is now at 336909b63 Merge #7587
$ git add src/tools/rust-analyzer
$ git commit "-m:arrow_up: rust-analyzer"
[rust-analyzer-2021-02-08 1774ec1a683] :arrow_up: rust-analyzer
 1 file changed, 1 insertion(+), 1 deletion(-)
$ git push
fatal: The current branch rust-analyzer-2021-02-08 has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin rust-analyzer-2021-02-08

Error: command `git push` failed, exit code: 128

bors r=matklad


Raftstore-v2: snap status should be cleared when sending snapshot failed

What is changed and how it works?

Issue Number: Close #xxx
What's Changed:

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test

Release note
None

please add a bug for it.

/merge


how to get the current strumline animation

Describe your problem here.
i want to get the current animation for a strumline (example: opponent strumline)
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64

animation.curAnim.name


Callback Component Question

Hey there, I have a question. I've been using this repository as a base for another project I'm working on. However, I have an issue. It seems everything is working fine connecting to the identity server from my Angular app, but after the user logs in and is redirected, the auth service does not seem like it's getting a token back. In identity server I see this is set:
RedirectUris = { $"{configuration["ClientAddress"]}/callback" },
What is this /callback route referring to? I see this blog post:
https://elanderson.net/2017/07/identity-server-usage-from-angular/
It mentions to take a look at the code in Github to see how the callback component works. In the current version of your code however, there is no callback component. Your current version seems to be working fine as well. So what am I missing? What is the replacement for the callback component in the latest version of your app? Any help would be appreciated.

@Singularity222 if you look at the repo in the state it was when that blog post was written then you will see the usage of the callback. Since that post, I have upgraded the OIDC client to use this package which was built specifically for Angular. You can read about the transition in this post.
I'm not sure at what point you created the base for your application, but you might want to look at the commits after that point and apply any changes to your local project. After that, if you are still having an issue feel free to reopen and I will try and help out.

So I'm using the latest version of your code, after you've removed the callback component and switched to the new library. In the latest version of your code however, you still have references to the callback route in identity server even though you removed the component in the blog post you reference. I thought maybe I was missing something considering I couldn't find a callback route configured in the Angular app.

Ah ok, I see. I believe that it is handled by the OIDC client.


Add Gpu conversion for onnx

Describe your changes
Checklist before requesting a review

[ ] Add unit tests for this change.
[ ] Make sure all tests can pass.
[ ] Update documents if necessary.
[ ] Format your code by running pre-commit run --all-files
[ ] Is this a user-facing change? If yes, give a description of this change to be included in the release notes.

(Optional) Issue link

Can you move the pytorch model back to cpu after the conversion? So that it does not keep using gpu memory after the pass is done.
Related comment on the other PR https://github.com/microsoft/Olive/pull/478#discussion_r1290704153


[WIP] feat: DDS (Data Distribution Service)

This PR aims to address:

Closes https://github.com/sxyazi/yazi/issues/766
Closes https://github.com/sxyazi/yazi/issues/639

By introducing a new DDS (Data Distribution Service), allows communication and data synchronization between multiple Yazi instances through the plugin system.
It also provides a new mechanism to report Yazi events in real-time to external programs (such as Neovim) via stdout.
It's somewhat akin to a client-server architecture for lf but doesn't require running an additional server process and it's a Lua-based publish-subscribe pattern.
TODO

[ ] Windows support
[ ] Plugin system API
[ ] State persistence

I like the idea! 👍🏻
I wonder if I understand the architecture correctly - here's what I think is happening:

a global pubsub system is setup and communication between all running yazi instances (or other applications who want to listen in, perhaps) will happen via /tmp/yazi.sock, a unix socket (possibly something else for windows)
when yazi instances perform actions, such as copying files, these are broadcast to the global socket
actions of interest to editor integrations will, in addition, be written to stdout

Seems like stdout is added as a means of filtering events originating from a specific yazi instance only, as a sort of convenience feature. Or is the motivation performance?
As an example, Neovim's RPC has one socket per editor:
❯ file $NVIM
/var/folders/23/y7gf7hz129l56_83w_g49jl80000gn/T/nvim.mikavilpas/Ngixlj/nvim.74060.0: socket
# neovim's remote documentation says this is a named pipe (which would indicate same system communication, not over the network), but I'm not sure if this is a mistake

But then again, neovim supports access over the network IIRC (I think some use it to talk to docker devcontainers from neovim), but I have not tried this out.

Thank you for summarizing, that's roughly how it works. But stdout is only used for communication with external processes and is read-only.
This is the current idea and I'm still exploring if there's a better way and need to do some experimentation at the code level.


Paginated datatable Arrow coloring

I managed to color the text at the bottom by modifying caption, but I can't find anywhere to color the arrows.
Preview the table here
return Theme(
  data: Theme.of(context).copyWith(
    dividerColor: Color(0xff333333),
    textTheme: TextTheme(
      caption: TextStyle(color: Colors.white),
    ),
    cardTheme: CardTheme(
      color: Color(0xff1D202C),
    ),
  ),
  child: buildDataTable(context, _records),
);

How can I color the two arrows at the bottom?

Hi @davidp918
It is not clear what this issue is about, I can't see any arrow in the image.

Hi @davidp918
It is not clear what this issue is about, I can't see any arrow in the image.

The arrow is black, look close to the right of the bottom white text(1 - 10 of 9)

Hoo, I see,
Thank you.


docs: fill in package description

So this description really confused me for a bit 😅

Took it over from the main README. It would also be nice to set it as repo description, but I can't PR that.

Thanks for catching that 😄


Add front talks

Supersedes #47

@mcuadros if you like it the way it is now, please just merge it and it will go live.


Add map capabilities

This fixes #151.
Tested under Firefox using local cluster (flvd cluster start --local --develop).

Updated with fmt fix.
Failing test is simple, which isn't touched by this PR - breakage on main?
It's temperamental locally.

bors r+

Done

bors r+

bors ping

bors ping

bors r+


Test silently ignored

Found here - https://github.com/kevva/download/pull/77#issuecomment-141836144
Consider this test file:
var test = require('ava');

test('no asserts', function (t) {
    // still passes
});

ava will exit silently without `no asserts`` test in output.

Even if t.plan is specified in test - same result.
var test = require('ava');

test('no asserts', function (t) {
    t.plan(4);
    // ignored and ava exit's fine
});

Yeah, ava should exit with non-zero code in this case.

Doesn't Ava have a timeout?

Probably related to https://github.com/sindresorhus/ava/issues/15.

@sindresorhus yes, tracking pending assertions will cover this case also.


[ownership] Add a new checkValue overload to LinearLifetimeChecker th…

…at validates the linear lifetime of the passed in value and returns bool to indicate success/failure.
This is the first in a series of patches that begin to hide the underlying
linear lifetime implementation underneath the facade of the linear lifetime
checker. I only updated the users that this applies to.

@swift-ci smoke test and merge


Python Limited API

Try using Py_LIMITED_API to have a more stable code.

Not trying to use Python.h anymore. So not a relevant issue anymore :)


unexpexted-string-literal-inbig-query-staging-macro-because-of-quoted-alias

When the staging macro creates ghost records, Big Query returns:

Syntax error: Unexpected string literal

because the macro quotes the alias for the date datatype in the default__ghost_record_per_datatype macro in macros/supporting/ghost_record_per_datatype.sql
@tta-scalefree @tkirschke This leads to an error in BigQuery because BigQuery does not allow column names with quotes
Originally posted by @obause in https://github.com/ScalefreeCOM/datavault4dbt/pull/157#discussion_r1555864833

Unquoting the alias led to the discovery, that TO_DATE is not supported in Big Query and needs to be swapped out with PARSE_DATE.
This fixed the error for me.
See: https://cloud.google.com/bigquery/docs/migration/oracle-sql

Hi @tkiehn, can you open a Pull Request that fixes that issue? You described that you already have a solution, would be great if you can include that in a new PR!


[BUG] LaunchPersistentContextAsync timeout with Firefox

Context:

Playwright Version: 1.20.1
Operating System: Windows11
.NET version: .NET6 and .NetCore3.1
Browser: Firefox
Extra: Firefox was opened but connection timeout

Code Snippet
IBrowserContext? context = null;

try
{
  context = await playwright.Firefox.LaunchPersistentContextAsync(userDataDir, new BrowserTypeLaunchPersistentContextOptions
  {
    Headless = false,
    SlowMo = 10,
    ExecutablePath = @"D:\vendor\firefox-97.0.1\firefox.exe",
  });
}
catch (Exception ex)
{
  Console.WriteLine(ex.ToString());
}

if (context != null)
{
  var page = await context.NewPageAsync();
  await page.GotoAsync("https://playwright.dev");
  Console.WriteLine("Version: {0}", context.Browser?.Version);
}
else
{
  Console.WriteLine("context is null");
}

Describe the bug
The code opens Firefox, but getting the IBrowserContext timedout.
Output
Hello, World!
playwright.Firefox.LaunchPersistentContextAsync
System.TimeoutException: Timeout 30000ms exceeded.
=========================== logs ===========================
<launching> D:\vendor\firefox-97.0.1\firefox.exe -no-remote -wait-for-browser -foreground -profile D:\ConsoleApp1\bin\Debug\netcoreapp3.1\firefox-data -juggler-pipe about:blank
<launched> pid=21536
============================================================
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](String guid, String method, Object args) in /_/src/Playwright/Transport/Connection.cs:line 161
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal)
   at Microsoft.Playwright.Core.BrowserType.LaunchPersistentContextAsync(String userDataDir, BrowserTypeLaunchPersistentContextOptions options) in /_/src/Playwright/Core/BrowserType.cs:line 87
   at ConsoleApp1.PlaywrightTest.LaunchFirefoxAsync() in D:\ConsoleApp1\PlaywrightTest.cs:line 220
context is null

You can't swap the Firefox executable with a custom one. Since Firefox and WebKit are modified.
Also if it only works the first time with the persistent profile on Firefox, you might run into https://github.com/microsoft/playwright/issues/12632.

You can't swap the Firefox executable with a custom one. Since Firefox and WebKit are modified.
Also if it only works the first time with the persistent profile on Firefox, you might run into microsoft/playwright#12632.

fixed it, thanks a lot


error with oobabooga api:IndexError: index -1 is out of bounds for dimension 1 with size 0

Description
i'm failed to intergrate oobabooga api,got this error:
INFO | FORMATTED PROMPT: None.
agixt in docker get this null response: agixt-agixt-1  | | INFO | Response:
and i checked oobabooga,got this error :
"POST /api/v1/generate HTTP/1.1" 200 -
Traceback (most recent call last):
File "/home/opt/llama-text-generation-webui/modules/text_generation.py", line 249, in generate_reply_HF
output = shared.model.generate(**generate_params)[0]
File "/home/anaconda3/envs/oobabooga/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/anaconda3/envs/oobabooga/lib/python3.10/site-packages/transformers/generation/utils.py", line 1312, in generate
and torch.sum(inputs_tensor[:, -1] == generation_config.pad_token_id) > 0
IndexError: index -1 is out of bounds for dimension 1 with size 0
Output generated in 0.02 seconds (0.00 tokens/s, 0 tokens, context 0, seed 960775490)
then I test oobabooga api,it works fine ：
"POST /api/v1/generate HTTP/1.1" 200 -
Output generated in 33.09 seconds (7.55 tokens/s, 250 tokens, context 17, seed<PHONE_NUMBER>)
i have checked the uri i‘m using，it's set to docker0 ip:  http://<IP_ADDRESS>:5000
Steps to Reproduce the Bug
start agixt with docker compose up,
use chat to send a message
Expected Behavior
get a nomal response
Operating System

[X] Linux
[ ] Microsoft Windows
[ ] Apple MacOS
[ ] Android
[ ] iOS
[ ] Other

Python Version

[ ] Python <= 3.9
[X] Python 3.10
[ ] Python 3.11

Environment Type - Connection

[X] Local - You run AGiXT in your home network
[ ] Remote - You access AGiXT through the internet

Runtime environment

[X] Using docker compose
[ ] Using poetry
[ ] Custom setup (please describe above!)

Acknowledgements

[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of AGiXT.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

seems aint about network ，using agixt to send chat message via api， oobabooga recieved post request already，but throwed errors，
meanwhile，if sending same message via api with api format following oobabooga  exsample，it works just fine without any error，
so it maybe something wrong with agixt 's  oobabooga api format？

Sorry I think I misread the error earlier. I haven't tried ooba in awhile, do you have their latest version?

got it solved ，nothing wrong with python code，set max_tokens too large ,my bad
didn't realize it till debugging oobabooga.py

Awesome, glad you figured it out.  Thanks for updating us!


Error when sorting with the label

Checklist

[X] The bug is reproducible against the latest release or master.
[X] There are no similar issues or pull requests to fix it yet.

Describe the bug
When a field is sorted and has a specified label, the following error occurs: sqlalchemy.exc.CompileError: Can't resolve label reference for ORDER BY / GROUP BY / DISTINCT etc. Textual SQL expression 'Company type' should be explicitly declared as text('Company type').
Steps to reproduce the bug
No response
Expected behavior
No response
Actual behavior
No response
Debugging material
No response
Environment
Python3.10, sqladmin 0.4.0, PostgreSQL 14.1
Additional context
No response

Closed by #305


Agentops readme

Summary
Solves #876
Provides 2 changes:

Fern documentation for AgentOps logging
Small fix to logic where AgentOps was only loaded if both an org key and an API key were specified. AgentOps only needs one. If the org key is set but an API key is not, the org key owner (i.e. Superagent) will still receive replay info.

Test plan

Thank you @areibman!


Pack the permissions (the /P entry) as unsigned long, fix #186

Description
Fixes #186, by treating the /P entry as a four byte unsigned integer
How Has This Been Tested?
Tested the pdf in the issue
Checklist

[x] I have added tests that prove my fix is effective or that my feature works
[x] I have updated the README.md and other documentation, or I am sure that this is not necessary
[x] I have added a consice human-readable description of the change to CHANGELOG.md
[x] I have added docstrings to newly created methods and classes
[x] I have optimized the code at least one time after creating the initial version

I did some research and your solution looks spot-on to me.
However, the 5 tests for this PR are failing indicating that changing this breaks other this. Could you have a look and this?
Also, make sure to add a line to the CHANGELOG.md.

The cause of the errors is probably that self.p is negative. I've at least found one example in the tests that has a value of self.p = -12.

Yeah sorry, I really didn't think self.p could be negative, will look into it

Great! I am also trying to figure this out right now. I found a paragraph in the PDF reference that is quite helpful (right above Table 3.20):

Note: PDF integer objects are represented internally in signed twos-complement form. Since all the reserved high-order flag bits in the encryption dictionary’s P val- ue are required to be 1, the value must be specified as a negative integer. For exam- ple, assuming revision 2 of the security handler, the value -44 permits printing and copying but disallows modifying the contents and annotations.

I guess you need to convert the signed value (e.g. -12) to an unsigned value by using the two's complement.
I cannot find anything in pdfminer.six that already implements this algorithm, so I guess you should do it yourself. There is some pseudocode on the wikipedia.

You can just add 1<<32 if it's negative, and it works for all samples, but it's not the cleanest solution (should be parsed as unsigned in the first place)

It is preferable to implement the two's complement method instead of some approximation. I know it is more fuzz than you care about, but that way we follow the PDF reference exactly. And implementing things exactly like the PDF reference saves a lot of fuzz in the future.
I just noticed that the pseudo-code on wikipedia is actually Python. You can put this function in utils.py and apply it after interpreting P here: https://github.com/pdfminer/pdfminer.six/blob/b27d3d0aff5d0d87a80f340ba82d022c1f9d547f/pdfminer/pdfdocument.py#L310.

It's not an approximation, it's how two's complement is defined, see the wikipedia article

Ah, I did not get that! Than it's fine.

but it's not the cleanest solution (should be parsed as unsigned in the first place)

You could swap the int_value() function with a to-be-created ulong_value().

@Recursing could you review it once more and see if I made some dumb mistake?

Looks fine to me, really thanks for everything!
In uint_value you don't check that the number is an int (and not a float), like int_value does, and you might want to standardize the import style ( from .pdftypes import PDFException, uint_value is the only multiple import in the same line). But they seem to be both very minor things

Thanks for all the effort!
(And explaining to me how this works, I've learned a lot!)

Hey folks, facing a similar issue, can anybody help?
Here are the logs
~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in __init__(self, parser, password, caching, fallback)
    742                     id_value = (b"", b"")
    743                 self.encryption = (id_value, dict_value(trailer["Encrypt"]))
--> 744                 self._initialize_password(password)
    745             if "Info" in trailer:
    746                 self.info.append(dict_value(trailer["Info"]))

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in _initialize_password(self, password)
    769         if factory is None:
    770             raise PDFEncryptionError("Unknown algorithm: param=%r" % param)
--> 771         handler = factory(docid, param, password)
    772         self.decipher = handler.decrypt
    773         self.is_printable = handler.is_printable()

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in __init__(self, docid, param, password)
    356         self.param = param
    357         self.password = password
--> 358         self.init()
    359         return
    360

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in init(self)
    364             error_msg = "Unsupported revision: param=%r" % self.param
    365             raise PDFEncryptionError(error_msg)
--> 366         self.init_key()
    367         return
    368

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in init_key(self)
    377
    378     def init_key(self) -> None:
--> 379         self.key = self.authenticate(self.password)
    380         if self.key is None:
    381             raise PDFPasswordIncorrect

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in authenticate(self, password)
    427     def authenticate(self, password: str) -> Optional[bytes]:
    428         password_bytes = password.encode("latin1")
--> 429         key = self.authenticate_user_password(password_bytes)
    430         if key is None:
    431             key = self.authenticate_owner_password(password_bytes)

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in authenticate_user_password(self, password)
    433
    434     def authenticate_user_password(self, password: bytes) -> Optional[bytes]:
--> 435         key = self.compute_encryption_key(password)
    436         if self.verify_encryption_key(key):
    437             return key

~/.local/lib/python3.7/site-packages/pdfminer/pdfdocument.py in compute_encryption_key(self, password)
    412         hash.update(self.o)  # 3
    413         # See https://github.com/pdfminer/pdfminer.six/issues/186
--> 414         hash.update(struct.pack("<L", self.p))  # 4
    415         hash.update(self.docid[0])  # 5
    416         if self.r >= 4:

error: 'L' format requires 0 <= number <=<PHONE_NUMBER>

Here is the file
Python : 3.7.10
pdfminer.six: 20220524
pdfminer : 20191125


Q: Is it possible to fetch real data (e.g. from Jenkins server) for charts examples?

Is it possible to feed data.js in chartjs/chartisjs examples with real data from a Jenkins server?
Jenkins server provides several APIs json, xml, python.
Here is an stackoverflow example.
I would like to integrate a chart of executed test (passed/failed) from Jenkins builds, e.g. like this:

Actually the idea behind my question is to integrate a Jenkins job dashboard into MkDocs which I am recently abusing as a light test management solution for my Robot Framework tests cases.

Hey, good question :) I'm curious too, now.  Though this is probably beyond the scope of this little example project here.
I'm far from a Javascript expert (or even a novice, honestly) but I think maybe something along these lines?
Inside data.js you would need to make an ajax call to the Jenkin's JSON API to pull the data you want, then you process that data to format it like the existing data array and then hand it over to the Chartist Chart() function.

Many thanks for your reply. I will report back here if I get something working.


actingAs testing method overrides the default guard

Laravel Version: 6.x+

Description:
The actingAs testing method overrides the default guard, this results in tests that pass when they should not.
Steps To Reproduce:
We had an endpoint which displays different content when the user is logged in or not so we could not use the auth middleware which sets the guard upon user checking.
example controller:
public function example(Request $request)
{
    $user = request()->user() // it should be request()->user('other-guard');
    if ($user) {
        return view('authenticated-content', ['user' => $user]);
    }

    return view('guest-content');
}

corresponding test:
public function example_test()
{
    $user = factory...; // the usual
    $this->actingAs($user. 'other-guard');

    $response = $this->get('endpoint');

    $response->assertViewHas('user', $user);
}

This test will pass because of this line while in the real world it will just show the guest content to the authenticated user.

Are you wrapping your api routes in the correct guard?
     Route::middleware('auth:api')->get('/' function () {
         return 'Ok';
     })

As I wrote it needs to display different content based on the login state, if it's behind the auth middleware it will set the correct guard however it will also redirect the user to the login page instead of displaying the guest content.

We can't remove this line as that would be pretty breaking. If you want your code to always pull from a specific guard you can pass the guard to the $request->user() method.

Yeah, that's what I was talking about the test should have failed just like in the real environment.

I have a get route protected by middleware 'auth:merchant.
I do have merchant guard configured in auth.php.
But when I test with $this->actingAs method, both 'user' and 'merchant' are passing the test.
I'm expecting the normal user to fail the test.


Change Default string for expandable array in Data Grid

System information:

Operating system (distribution) and version win10
DBeaver version 22.1.2

Describe the problem you're observing:
Change Default string view for expandable array in Data Grid
Steps to reproduce, if exist:

Fixed in #16887


Add migration for the introduction of the duration value type

The PR #20 was missing the DB migration script for the model changes.

Pull Request Test Coverage Report for Build 646155175

0 of 0   changed or added relevant lines in 0 files are covered.
28 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-2.7%) to 70.943%

Files with Coverage Reduction
New Missed Lines
%

dtf/validators.py
1
76.47%

dtf/templatetags/dtf/custom_filters.py
11
45.39%

dtf/views.py
16
66.05%

Totals

Change from base Build 646035798:
-2.7%

Covered Lines:
730

Relevant Lines:
1029

💛  - Coveralls


change import path from "Sirupsen/logrus" to "sirupsen/logrus"

The latest logrus package has change path to "sirupsen/logrus", this pull request adjust the change to avoid following compile error:

main.go:4:2: case-insensitive import collision: "vendor/github.com/Sirupsen/logrus" and "vendor/github.com/sirupsen/logrus"
make: *** [adr] Error 1

I was wondering when this issue would come up again. Thanks for the PR.

Reference sirupsen/logrus#451


TransformMatchingTex doesn't works well with sqrt square root operator

Description of bug / unexpected behavior
TransformMatchingTex does not work as expected when transforming from one MathTex object to an other which contains a Latex sqrt operator

The last character  in the square-root of the last MathTex object is invisible (in the following example, the parenthesis )
The transform_mismatches is therefore badly rendered

Expected behavior

In the following example, the exponent 2 should transform into the square root.
The last character under the square root (the closing parenthesis ) should be visible.

How to reproduce the issue
``
Code for reproducing the problem. Adapted and simplfied version from 3B1B manim's TExTransformExample in his repository, https://3b1b.github.io/manim/getting_started/example_scenes.html
class TexTransformExampleSimple(Scene):
    def construct(self):
        to_isolate = ["A", "B", "C", "=", "(", ")"]
        lines = VGroup(
            MathTex("A^2 = (C + B)(C - B)", substrings_to_isolate=to_isolate),
            MathTex("A = \\sqrt{(C + B)(C - B)}", substrings_to_isolate=to_isolate)
        )
        lines.arrange(DOWN, buff=LARGE_BUFF)
        self.add(lines[0])
        self.play(TransformMatchingTex(lines[0], lines[1], transform_mismatches=True), run_time=2)
        self.wait()

Additional media files

Images/GIFs

Logs
Terminal output

Manim Community v0.6.0

[05/16/21 23:42:15]
                    DEBUG    Animation received extra kwargs: {'final_alpha_value': 0}                                                     animation.py:50
                    DEBUG    Animation received extra kwargs: {'final_alpha_value': 0}                                                     animation.py:50
                    DEBUG    Animation received extra kwargs: {'final_alpha_value': 0}                                                     animation.py:50
                    DEBUG    Hashing ...                                                                                hashing.py:240
                    DEBUG    Hashing done in 0.333753 s.                                                                                hashing.py:253
                    DEBUG    Hash generated :  450974505_3223459120_2098723146                                                              hashing.py:257
                    DEBUG    List of the first few animation hashes of the scene: ['450974505_3223459120_2098723146']                cairo_renderer.py:108
[05/16/21 23:42:21] INFO     Animation 0 : Partial movie file written in {'/path/to/project/mani scene_file_writer.py:401
                             m/media/videos/scene/1080p60/partial_movie_files/TexTransformExampleSimple/450974505_3223459120_2098
                             723146.mp4'}
                    DEBUG    Animation with empty mobject                                                                                animation.py:62
                    DEBUG    Hashing ...                                                                                hashing.py:240
                    DEBUG    Hashing done in 0.196513 s.                                                                                hashing.py:253
                    DEBUG    Hash generated :<PHONE_NUMBER>_1615497636_227427286                                                              hashing.py:257
                    INFO     Animation 1 : Using cached data (hash :<PHONE_NUMBER>_1615497636_227427286)                                cairo_renderer.py:100
                    DEBUG    List of the first few animation hashes of the scene: ['450974505_3223459120_2098723146',                cairo_renderer.py:108
                             '2788726626_1615497636_227427286']
                    DEBUG    Partial movie files to combine (2 files): ['/path/to/project/manim/ scene_file_writer.py:450
                             media/videos/scene/1080p60/partial_movie_files/TexTransformExampleSimple/450974505_3223459120_209872
                             3146.mp4', '/path/to/project/manim/media/videos/scene/1080p60/parti
                             al_movie_files/TexTransformExampleSimple/2788726626_1615497636_227427286.mp4']
[05/16/21 23:42:25] INFO                                                                                scene_file_writer.py:585
                             File ready at /path/to/project/manim/media/videos/scene/1080p60/Tex
                             TransformExampleSimple_ManimCE_v0.6.0.gif

                    INFO     Rendered TexTransformExampleSimple                                                                               scene.py:217
                             Played 2 animations

System specifications
System Details

MacOS 10.14.6 Mojave (patcher), macbook pro 2011
RAM: 16 Go
Python 3.9.5
Installed modules (provide output from pip list):

appnope                0.1.2
backcall               0.2.0
certifi                2020.12.5
chardet                4.0.0
click                  7.1.2
click-default-group    1.2.2
cloup                  0.7.1
colorama               0.4.4
colour                 0.1.5
commonmark             0.9.1
cycler                 0.10.0
Cython                 0.29.22
decorator              4.4.2
glcontext              2.3.3
idna                   2.10
ipython                7.22.0
ipython-genutils       0.2.0
jedi                   0.18.0
kiwisolver             1.3.1
manim                  0.6.0
manimgl                1.0.1.dev18 /Users/sylvann/GitCloned/manim/manim
ManimPango             0.2.4
mapbox-earcut          0.12.10
matplotlib             3.4.0
mccabe                 0.6.1
moderngl               5.6.4
moderngl-window        2.3.0
mpmath                 1.2.1
multipledispatch       0.6.0
networkx               2.5.1
numpy                  1.20.2
parso                  0.8.2
pexpect                4.8.0
pickleshare            0.7.5
Pillow                 8.1.2
pip                    21.1.1
prompt-toolkit         3.0.18
ptyprocess             0.7.0
pybind11               2.6.2
pycairo                1.20.0
pycodestyle            2.7.0
pydub                  0.25.1
pyflakes               2.3.1
pyglet                 1.5.15
Pygments               2.8.1
PyGObject              3.40.1
pyobjc-core            7.1
pyobjc-framework-Cocoa 7.1
PyOpenGL               3.1.5
pyparsing              2.4.7
pyrr                   0.10.3
python-dateutil        2.8.1
PyYAML                 5.4.1
requests               2.25.1
rich                   6.2.0
scipy                  1.6.3
screeninfo             0.6.7
setuptools             56.0.0
six                    1.15.0
sympy                  1.7.1
tqdm                   4.59.0
traitlets              5.0.5
typing-extensions      <IP_ADDRESS>
urllib3                1.26.4
validators             0.18.2
watchdog               2.1.0
wcwidth                0.2.5
wheel                  0.36.2

LaTeX details

LaTeX distribution : MacTeX 2021

FFMPEG
Output of ffmpeg -version:
4.4

Additional comments

A work around for the disapearing of the last character under the sqrt is to add an other random character to its right. But it is clearly not viable, and doesn't solve the morphing issue.

Thanks for your report! Turns out the issue is that \sqrt is not always handled correctly (in particular in the case where the TeX string is split at the first symbol under the square root (you can check that \sqrt{x(C + B)(C - B)} renders correctly.
I've proposed a fix in #1527.


FR: Log Viewer Navigation Enhancements

Is your feature request related to a problem? Please describe.
There should be a more clear way to open the logs as well as a way to simply navigate between them once opened.
Describe the solution you'd like

[x] Add a button to the node page called "OPEN LOGS..." in the Node page, opening a selection.

[x] A way to simply navigate between the navigation log pages of services

[x] Preplan for Dozzle - in combination with #831

Additional context

For reference: (current version - rc.12)

"Newly found user goes to Node page, gets confused with nice looking application, doesn't feel compelled to use the mouse and changes - DOUBLE CLICK ANXIETY. Many such cases!"

Closed with #1066


Add notice for credential requirement for push in remotes.md

Hesitated with this a bit, because credentials may also be required for git pull if the repository is private.  But this addresses the more common case, for people that wouldn't already know.  So merging as is.  Thanks for the PR!

You're welcome.