Is this real? :)

I am really impressed by reading the papers. Does Menge really do all this?
For our software (https://github.com/aamks/aamks) which is about fires and humans evacuation, we need a tool to:

create navmesh
query navmesh
avoid dynamic obstacles, say hundreds of humans evacuating

We need 3D - humans evacuate from multi storey buildings.
We were considering recast and detour, but there are two issues:

https://github.com/recastnavigation/recastnavigation/issues/305
based on what I read on forums, integrating Recast and Detour is a real challenge and I am not that much a C++ programmer

People say Recast and Detour is the state of the art when it comes to navmesh. Do you know how Menge compares here? We are more into crowd evacuation business than games business, so perhaps Menge would suit us even better. Performance is not that of an issue to us since we don't do any real time rendering. When it comes to 3) Recast uses RVO2, but with Menge it seems we could try various models. This just seems awesome. So basically, is this software production ready?

Is it real? For a given value of "reality", yes.  However, reading your question, I suspect that Menge may not yet be the tool for you.

It takes a navmesh as an input -- it doesn't create them itself. So, if you need to generate a nav mesh, Menge won't do it.
That said, once the navmesh exists (and is expressed in Menge's very idiosyncratic way), yes, it queries the navmesh, and avoids dynamic obstacles -- although, in this case, dynamic obstacles is strictly other agents. It doesn't currently handle dynamic navmesh (e.g., pathways which become occluded, etc.)

Historically, we've created our navmesh by hand in a modeling package and then used a utility to convert an obj version of it into Menge's representation. Clunky but it's gotten us there.
There's also a Menge GUI application in the works that will eventually allow authoring scenarios (including navigation meshes) in a 3D app. Although that is a long way away.

It is true that you can run Menge with arbitrary pedestrian models. The implementations in Menge's example plugins are not guaranteed to be wholly robust.
The question of "3D". In what sense? Menge can support simulation in a 3D environment (primarily using a navigation mesh). However, Menge's built-in visualization is quite simplistic -- agents are rendered as cylinders. Some of the Menge-related videos that show 3D humans would use a stand-alone visualizer that, unfortunately, we can't distribute. A unity-based, open-license 3D visualizer is in the works, but we have very limited resources.

So, I can't give a definitive answer as to whether Menge will serve your purpose. But as you characterize your needs, I can tell you where Menge will fit and where it might not.

Wow, quick answer! :)

So we need to create a navmesh ourselves, I see. The easy solution is to run a Blender script which would return the navmesh (Recast and Detour's one). The desired solution would be the real integration of Recast or such.

"idiosyncratic way" - once the input/output formats are known, hopefully the converter wouldn't be much of an issue. Currently I am most concerned about navmesh queries, since I know the least about it. Is  yours of a good quality? In Blender the agents wouldn't always respect the Z coordinate - they would go to the right X,Y on their floor instead of moving to another floor first.

2b. Menge GUI app - consider using Blender. That what I did. It has a python interface and allows for scripting. It has Recast and Detour integrated and automatically creates navmesh for the given geometry. However, navmesh queries, dynamic obstacles avoidance (RVO2) didn't seem to work that well, so I started to look for something else. But as a geometry creator and visalization / animation tool it is awesome.

I meant simulating in a 3D environment. Visualization is a separate thing and not an issue to us.

I wonder how much in common our projects have. Menge is lowlevel for what we need in aamks. I speak python more than C++, but perhaps we could cooperate in some way. Would you rather choose to code your own navmesh or see about Recast integration?

So, Menge uses two mechanisms to keep agents on the navigation mesh. (See $MENGE$/examples/core/navMeshPlacement.xml for a simple example.) This example not only shows placement on the navigation mesh, but emphasizes the fact that the navigation mesh doesn't have to be a simple heightfield. This navmesh can't simply be projected down onto a plane. The $MENGE$/examples/core/soccer.xml example is another (similar non-planar topology). The navigation mesh works in conjunction with an Elevation element.
I hadn't considered using Blender for that purpose at all. I've been contemplating doing python bindings for Blender (and the most limited are possible now via the limited exposed c-api and ctypes). That might be a good motivation, although I haven't played with blender at all.
Also, in the long run, integrating Recast would be an unfettered good. It's just been a case of time and motivation. Generally, the squeaky wheel has been getting the grease.
So, I'd be happy to work with you in pushing Menge's functionality in those directions. We can work up a plan and see what we can produce.

So, I'd be happy to work with you in pushing Menge's functionality in those directions. We can work up a plan and see what we can produce.
Good to hear that :) I've been devoted to this aamks project for almost
2 years now, so hopefully I have enough motivation. I work for The Main
School of Fire Service (University), Warsaw, Poland. Aamks is about
producing fires and evacuating people. The conditions of fire and smoke
affect agents' visibility, speeds, healths, etc. Our final goal is to
propose our approach to the National Fire Service as a measure for the
evaluation of buildings safety. The distinct thing about aamks is that
we run hundreds of such simulations and that we use quick CFAST fire
model, as opposed to the more popular FDS, which is precise but slow --
typicaly fire safety engineers run say 3 FDS simulations for one
building.

At first we used RVO2-2D and navigated with graphs in aamks, but then we
noticed the shortcomings and wanted navmesh and 3D. We inspected
blender, game engines, Recast, etc. but also the scientific works of
http://gamma.cs.unc.edu/, http://motion.cs.umn.edu/, etc.
So our Evac module needs a pretty much complete rewrite. This time we
would rather go into integration than into coding our own solutions.
Menge sounds the most promising right now, particularly that both our
projects have limited resources so we can help each other and that
there's a C++ coder our there -- you :)
When it comes to the "plan". What I can offer is my motivation, quite a lot
of time for coding, python/linux/blender skills and willingness to
learn. I am a C++ beginner. Since you are the author of Menge it should
be easier for you to point what's the first thing to take care of.
I could either
a) inspect this: https://forums.ogre3d.org/viewtopic.php?t=62079 or
b) just dive right into scripting blender to create and return the
navmesh. If you think Menge could require Blender as an
authoring/visualization tool, it might make sense to just handle the
problem of navmesh creation over to blender. Once we get the navmesh
from Blender we could run the simulation in Menge and then use Blender
again for visualization. I could do all the Blenderish part. We also
have the aamks infrastructure for js visualizations in web browsers, but
I like blender more.
Just today we found this announcement:
http://www.conferencemanager.dk/PED2018/event.html
we are considering going there, but if you go, we consider even more :)
--
Karol Kreński
tel. 517-302-055

So, Menge uses two mechanisms to keep agents on the navigation mesh. (See $MENGE$/examples/core/navMeshPlacement.xml for a simple example.) This example not only shows placement on the navigation mesh, but emphasizes the fact that the navigation mesh doesn't have to be a simple heightfield. This navmesh can't simply be projected down onto a plane. The $MENGE$/examples/core/soccer.xml example is another (similar non-planar topology). The navigation mesh works in conjunction with an Elevation element.
I hadn't considered using Blender for that purpose at all. I've been contemplating doing python bindings for Blender (and the most limited are possible now via the limited exposed c-api and ctypes). That might be a good motivation, although I haven't played with blender at all.
Also, in the long run, integrating Recast would be an unfettered good. It's just been a case of time and motivation. Generally, the squeaky wheel has been getting the grease.
So, I'd be happy to work with you in pushing Menge's functionality in those directions. We can work up a plan and see what we can produce.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/MengeCrowdSim/Menge/issues/89#issuecomment-386319440

I was reading Menge docs and I was thinking of potential difficulties. Our workflow requires that the evacuation simulation runs such a master loop:

Pause evacuation simulation
If there are fire simulation results for time T0, then read them and alter the evacuating agents parameters
Run the evacuation simulation up to time T1 and pause again
Do you think Menge could make such pauses? And worse, would it allow for rereading these verbose  XML configs in each simulation step?

When it comes to navmesh: I think depending on Blender is not sufficient. Sooner or later we will need to address the situations where a fire moves from the room to the corridor and blocks the exit and in effect the navmesh needs to be recalculated as I understand it. So we will have these dynamic-non-human-obstacles situations. Looks like the real Recast integration instead of external Blender service would be more suitable, so I will see about this first.

So, integrating the two simulators is very doable. Menge has a Task element. At each time step, registered tasks get evaluated. A task is wide open. It can be any piece of code in the world. It's way to inject arbitrary logic into the simulation. Such a task could read external files (or monitor any other communication mechanism) and then modify the state of the simulator before taking the next step. It could also block to "pause" the simulation, waiting for data to come in. I think that'll be pretty easy.
It's much more interesting to do dynamic navigation meshes where paths can become occluded or clear again. Recast is one way of doing that, extending the current nav mesh implementation is another option. I'll take a look at recast and the current implementation to see which offers the best path at the right cost.

The comments that recast integration is hard may be obsolete as some were from 2010. These documentation sites may be useful:
http://masagroup.github.io/recastdetour/group__recast.html
http://www.stevefsp.org/projects/rcndoc/prod/index.html
Also, Recast is integrated in game engines, such as godot, ogre3d, blender, so those repos may have some hints.

Here's a link to the python script I wrote to convert obj to my nav mesh representation.
https://github.com/curds01/MengeUtils/blob/master/objToNavMesh.py
It's not the most robust thing in the world. It gets angry if the obj has garbage, but it, at least, shows a mapping from understandable to my currently undocumented nav mesh format.

First thing is that Menge installation and usage went quite smooth on linux. We were delighted to run and see the results of the examples. We need this thing in aamks! :)
Second thing is that we couldn't find any python implementation of navmesh, so we coded our own, but it seems like you have some navmesh code. Pitty we haven't heard of it before.
I was reading objToNavMesh.py and browsed thru your utils. So what is MengeUtils/navMesh.py doing?  Is menge/examples/core/globalNavSwap/navmesh.nav the representation of a navmesh? What you have and what is Menge lacking when it comes to navmeshes?

Yep. Menge has its own navigation mesh. :)
There are several .nav files that are all navigation meshes (ranging from very simple to more complex).
navMesh.py provides the definition of the navigation mesh. Note: it's just the structures, no planning algorithms.  The objToNavMesh.py uses it to build a nav mesh and write out the representation. So, as long as you have access to vertices, edges, and faces, then you can follow the example to create a navigation mesh -- you should be able to pull navMesh.py straight into blender.

This is how I understand navmesh:
The first part would be to create a navmesh. Recast does it, and we have
coded most of the below in python:

First you have obstacles, specified by vertices
You run a triangulation on these bag of vertices
You figure out which triangles are traversable
You figure out the relations between triangles - at the end you would
be moving in the world from P0 to P1 by traversing via adjacent
triangles
Seems like for optimization these triangles can be merged into larger
convex polygons
The navmesh must be shrinked (inset) by taking agents' dimensions
under account -- this prevents agents from hitting the walls

Then there would be the spatial reasoning. Detour does it, and we have
also coded some navigation in python. There was that two legged
"creature" that would move its legs thru the vertices with the rules for
which leg to move. It would reach from P0 to P1, but this is where we
stopped to develop it.
So which of the above are completed in Menge? I'd say that since the
navmesh must be only built once or twice for a scenario, the performance
is not that crucial and it can be done in python. Is this how you have
it? Then the navigation queries happen all the time, so you have this in
c++ I assume?
We have never written the navmesh representation to the file, hence I
was curious how one represents it. The file navmesh.nav is one of such
representations I assume. Is it the "obj" as you call it? And then you
would transform it to some other, like more standard representation?
We don't need to export the navmesh to blender. We thought the blender
game engine would be our simulator, because it has navmesh. But then it
didn't work for us (lots of incorrections, agents would stop for no
reason, lack of control), so we cannot use blender as the simulator --
Menge has all we need it seems.
--
Karol Kreński
tel. 517-302-055

Yep. Menge has its own navigation mesh. :)
There are several .nav files that are all navigation meshes (ranging from very simple to more complex).
navMesh.py provides the definition of the navigation mesh. Note: it's just the structures, no planning algorithms.  The objToNavMesh.py uses it to build a nav mesh and write out the representation. So, as long as you have access to vertices, edges, and faces, then you can follow the example to create a navigation mesh -- you should be able to pull navMesh.py straight into blender.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/MengeCrowdSim/Menge/issues/89#issuecomment-386768456

Aaah, "obj", wouldn't it be this file format? :) go-detour uses obj.
https://en.wikipedia.org/wiki/Wavefront_.obj_file

You've got the vision.  Here's my take.
To have virtual agents move around a virtual environment, you need to represent which spaces are traversable and how they are connected. There are lots of ways of doing that. One way is a road map -- a bunch of points in the space that you connect with straight line segments. To get from one place to another, an agent finds the closest roadmap point to itself and its goal point, and then finds a path along all of the connected segments that get it from start to end.
Another way is to create a regular grid. Mark all of the cells that have obstacles in them. All of the remaining cells represent traversable space. Finding a path is finding a sequence of cells from the one the agent starts in to the one the agent wants to end in.
A navigation mesh is similar to a regular grid, except, it's adaptive. Instead of fixed squares (regardless of how big the space is), it has irregular cells that fill up the space. Then, you figure out which cell (or polygon) the agent is in and which one the goal position is in and find a path through adjacent cells.
So, there are two separate concepts: the navigation mesh itself and the queries on the navigation mesh.
The mesh is what recast creates. It does it with some sophisticated software that takes as input some arbitrary environment and attempts to automatically create a mesh that accounts for agent radius and height. That's one way to get a mesh. Another is to create it by hand (this is what Menge currently requires). I take a virtual environment and I create a mesh that represents everywhere I want agents to walk.
The second part of it is the queries. Given an agent position, where on the mesh are they? Given a goal position, where on the mesh is it? Given two polygons (start and goal), how do you find a path from one to the other?
Menge has a data structure that represents a navigation mesh. It also has the algorithms for placing agents on that mesh, finding goal points on the mesh, etc. However, it can be improved in the following ways:

Input; currently it requires a file in a very particular file format representing Menge's own custom representation of a navigation mesh. There are two possible improvements here:

Allow input of the mesh as an obj file and have it converted into a navigation mesh on the fly. In this case, the obj file is the navigable space -- someone has already done the work of defining the space and we're just changing representation.
Allow input of the environment as an obj file and we infer a navigation mesh (like recast does).

Performance

Menge's navigation mesh doesn't use any spatial acceleration structures to facilitate queries (i.e., where on the mesh is a point). Recast uses a bounding box tree (which is what I would use in Menge, I just haven't gotten around to it.)

There may be others.
I started looking into recast and detour. I think we can definitely get them into Menge. I wonder how helpful that will be. In terms of integrating Menge and aamks, it won't provide any meaningful functionality. Its primary benefit would be inferring the navigation mesh from a description of the environment. That's nice, but it's not necessary. Anyone who can move faces and vertices around in Blender can do that.
I propose we focus on those things that are most important to get aamks and Menge integrated and than shine up convenience features later.

If you are saying we don't need to bother with Recast, that's fine with
me. I am not saying Menge's navmesh solution is insufficient,
particularly, that performance is not that much of an issue for aamks. I
just didn't know how much there already is in Menge.

Allow input of the mesh as an obj file and have it converted into
a navigation mesh on the fly. In this case, the obj file is the
navigable space -- someone has already done the work of defining the
space and we're just changing representation.
I like that. Should be less work to convert navmesh to another format,
than have all the queries adapted if we introduced a navmesh format that
is new to Menge.

The mesh is what recast creates. It does it with some sophisticated
software that takes as input some arbitrary environment and attempts
to automatically create a mesh that accounts for agent radius and
height. That's one way to get a mesh. Another is to create it by
hand (this is what Menge currently requires). I take a virtual
environment and I create a mesh that represents everywhere I want
agents to walk.
We don't want the "by hand" solution, right? How about this go-recast
tool? The client is available right away, I used it. It respects all
these agent sizes, max walking slopes, etc. - cool. I would learn how to
feed it with my geometries and it returns the navmesh. Then we see about
converting it to what Menge likes. Is that what it takes?

I'm going to propose that we close this issue and work this out via email. You can email me at<EMAIL_ADDRESS>


Fix anchor for rendered text in TextComponent

Description
Fix anchor for rendered text in TextComponent.
The text renderer currently defaults to topLeft even though the component has another anchor.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors and are passing (See Contributor Guide).
[x] My PR does not decrease the code coverage, or I have a very special case and explained on the PR description why this PR decreases the coverage.
[x] I updated/added relevant documentation (doc comments with ///) and updated/added examples in doc/examples.
[x] I have formatted my code with ./scripts/format.sh and the Flame analyzer (./scripts/analyze.sh) does not report any problems.
[x] I read and followed the Flame Style Guide.
[x] I have added a description of the change under [next] in CHANGELOG.md.
[x] I removed the Draft status, by clicking on the Ready for review button in this PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flame users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md).
[x] No, this is not a breaking change.

Related Issues
#815

<3 thanks for fixing this!


feature: handle overlapping routes (#5187)

Implemenation for handling non local routes that already exist for #5187
Signed-off-by: mmerrill3<EMAIL_ADDRESS>

Codecov Report

Merging #5233 (a9d24d2) into master (1bbdbc2) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5233      +/-   ##
==========================================
- Coverage   95.85%   95.84%   -0.01%
==========================================
  Files         688      688
  Lines       67977    68061      +84
==========================================
+ Hits        65156    65232      +76
- Misses       2821     2829       +8

Flag
Coverage Δ

servertests
36.46% <52.94%> (-0.03%)
:arrow_down:

unittests
95.78% <100.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/ec2/exceptions.py
97.61% <100.00%> (+0.02%)
:arrow_up:

moto/ec2/models/route_tables.py
95.58% <100.00%> (+0.16%)
:arrow_up:

moto/resourcegroupstaggingapi/models.py
82.93% <0.00%> (-0.60%)
:arrow_down:

moto/sns/models.py
96.81% <0.00%> (-0.40%)
:arrow_down:

moto/route53/responses.py
86.91% <0.00%> (-0.34%)
:arrow_down:

moto/sqs/models.py
96.73% <0.00%> (-0.18%)
:arrow_down:

moto/config/models.py
99.21% <0.00%> (-0.14%)
:arrow_down:

moto/ssm/models.py
94.50% <0.00%> (-0.11%)
:arrow_down:

moto/greengrass/responses.py
100.00% <0.00%> (ø)

moto/greengrass/models.py
99.06% <0.00%> (+0.31%)
:arrow_up:

Continue to review full report at Codecov.

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

@bblommers ready for review


Remove SSLRequestLoggingFilter

As discussed in osiam/osiam#12, we want to get rid of the annoying SSLRequestLoggingFilter.

Moved to https://github.com/osiam/osiam/issues/74


Add support for breeze.pm

http://www.breeze.pm/api

We've moved over to a new system for notifications and we have an internal ticket for this. The good news is it shouldn't take us much longer to get this shipped so it should be coming soon!
Closing this issue as this repo is being retired.


UI update: I want to update the current UI

Before UI

After upgradation

Kindly assign this task to me so I can upgrade the UI

UI is not looking good


Add filter to show unused media files

Short description

This PR adds a filter function to show unused media files in the media library and a description in side bar of media files where the file is used.
Proposed changes

Add a button for the filter in the media library.
Use link checker as mentioned in the issue description.
Get all the media files that are used neither as icon nor embedded item in contents per ajax and show them.
Add a new description in the file side bar to tell in which content the file is used.

Side effects

None (i hope)

In region media library currently, only files that belong to the region will be checked and filtered, becuase region users cannot change or delete global files. Should global files too be filtered shown in region media library?

Resolved issues

Fixes: #1005

Pull Request Review Guidelines

@JoeyStk

Maybe I'm doing something wrong, but I wasn't able to uncheck the filter and think it would be good, if it would also be possible to reset the filter after using it once. So far it is only possible when I remove the filter-unused-media-files from the URL

I've introduced an navigation titling "Home > Unused media files" like when a search funcion is being used. so users can go back to the home directory where all the files are shown just in the same way with after key word search.

This is probably unrelated to this PR, but when I try to access the media library from the editor the loading time was very long (three times it took forever until I restarted the server).

I think, as you meant, this is not because of PR, for I've seen this problem before this PR sometimes. If you think this cannot be ignored anymore, we can have a closer look at it 😃

I have one suggestion for a different translation

Applied!

@timoludwig
I really appreciate your suggestions and detailed explanation 🥺 🙏 it's full of improvements and I find nothing bad 😃


Customer Table Filter

PLACEHOLDER STORY
As an operator, I want to filter the records of the customer table by:

Last Order Date - date range
Registered Date - date range
Order Number range
Total Spend  range

Figma: https://www.figma.com/file/vWot2cXXgjcsLpMq4SAX90/Kinetic?node-id=1717%3A12788
Acceptance Criteria:
TBD

Blocked awaiting clarity from the Search/Filter Spike

This work in unblocked


How to transfer the code to other dataset？

I want to use your code to design an architecture based on my own dataset? Could you tell me which part I need to modify? Thank you very much!

You will need to change the data folder and to give it the images you want to design the architecture for. Also, you will need to change the output layer to give it the number of classes you are working with. Please if you have any other questions feel free to ask.

Could you help me to guide the step.. I still get some issues


i2c Core  0 panic'ed (Load access fault) issue (IDFGH-8722)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Module or chip used: ESP32-C3-DevKitM-1
IDF version: v5.1-dev-1751-gc09322430a
Build System: idf.py
Compiler version: riscv32-esp-elf-gcc (crosstool-NG esp-2022r1-RC1) 11.2.0
Operating System: Linux
Power Supply: USB
Hi,
Something in i2c was broken in the master tree.
I got below panic after pulling the esp-idf update from the master tree.
(My application was working before pulling the esp-idf update today).
Guru Meditation Error: Core  0 panic'ed (Load access fault). Exception was unhandled.
Stack dump detected
Core  0 register dump:
MEPC    : 0x42049330  RA      : 0x42049326  SP      : 0x3fca33a0  GP      : 0x3fc95800
0x42049330: i2c_ll_disable_intr_mask at /home/axel/esp/esp-idf/components/hal/esp32c3/include/hal/i2c_ll.h:229
(inlined by) i2c_param_config at /home/axel/esp/esp-idf/components/driver/i2c.c:760
0x42049326: i2c_param_config at /home/axel/esp/esp-idf/components/driver/i2c.c:760
TP      : 0x3fc69ad4  T0      : 0x00000000  T1      : 0x4038f5d0  T2      : 0xffffffff
0x4038f5d0: gpspi_flash_ll_set_miso_bitlen at /home/axel/esp/esp-idf/components/hal/esp32c3/include/hal/gpspi_flash_ll.h:259
(inlined by) spi_flash_hal_gpspi_configure_host_io_mode at /home/axel/esp/esp-idf/components/hal/spi_flash_hal_common.inc:142
S0/FP   : 0x3fca33d4  S1      : 0x0000000b  A0      : 0x00000001  A1      : 0x00000001
A2      : 0x00000007  A3      : 0xffff0000  A4      : 0x00000001  A5      : 0x00000000
A6      : 0xa0000000  A7      : 0x0000000a  S2      : 0x00000000  S3      : 0x3fc958e0
S4      : 0x00000000  S5      : 0x3fc958e0  S6      : 0x00000000  S7      : 0x00000000
S8      : 0x00000000  S9      : 0x00000000  S10     : 0x00000000  S11     : 0x00000000
T3      : 0x00000000  T4      : 0x00000002  T5      : 0x00000800  T6      : 0x0000000e
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000005  MTVAL   : 0x00000028
0x40380001: _vector_table at ??:?
MHARTID : 0x00000000
Backtrace:
0x42049330 in i2c_ll_disable_intr_mask (mask=65535, hw=0x0) at /home/axel/esp/esp-idf/components/hal/esp32c3/include/hal/i2c_ll.h:229
229         hw->int_ena.val &= (~mask);
#0  0x42049330 in i2c_ll_disable_intr_mask (mask=65535, hw=0x0) at /home/axel/esp/esp-idf/components/hal/esp32c3/include/hal/i2c_ll.h:229
#1  i2c_param_config (i2c_num=, i2c_conf=i2c_conf@entry=0x3fca33d4) at /home/axel/esp/esp-idf/components/driver/i2c.c:760
#2  0x42018af2 in i2c_setup_port (dev=dev@entry=0x3fc99ca8 ) at /home/axel/esp/esp-idf-dev/esp-idf-lib/components/i2cdev/i2cdev.c:208
#3  0x42018d7e in i2c_dev_probe (dev=dev@entry=0x3fc99ca8 , operation_type=operation_type@entry=I2C_DEV_WRITE) at /home/axel/esp/esp-idf-dev/esp-idf-lib/components/i2cdev/i2cdev.c:246

I bisect to below bad commit which causes the esp32c3 panic:
803fc3fbe0d659aeb1bdc6eea4fb6cfafe72c6e1 is the first bad commit
commit 803fc3fbe0d659aeb1bdc6eea4fb6cfafe72c6e1
Author: Cao Sen Miao<EMAIL_ADDRESS>Date:   Wed Nov 2 18:09:22 2022 +0800
I2C: Add i2c support for ESP32C6

The problem is if a i2c device is not available, it hit panic in current master tree now.
It won't hit panic in previous esp-idf versions, so I can scan the known address to figure out which sensors are available.

@AxelLin Yes, I added hardware pointer to NULL if I2C controller deleted. So, basically, I think i2c_driver_install and i2c_driver_delete in a pair. For probe example, you can see here https://github.com/espressif/esp-idf/tree/master/examples/peripherals/i2c/i2c_tools . Anyway, please check where you call i2c_driver_delete where unnecessary.

@mythbuster5
In previous esp-idf versions, it's fine to init with below calls:
i2c_param_config()
i2c_driver_install()
But now it needs to call with below order (otherwise hit the panic).
i2c_driver_install()
i2c_param_config()
Such change breaks existing code (e.g. out-of-tree library: https://github.com/UncleRus/esp-idf-lib/blob/master/components/i2cdev/i2cdev.c#L207-L212 )
BTW, if the order of above calls does matter, please make it clear in your API documentation.

@AxelLin Yes, I added hardware pointer to NULL if I2C controller deleted.

@mythbuster5
This indeed causes this regression.
Calling i2c_param_config() after i2c_driver_delete() will trigger this issue.
i.e. below call sequence will cause issue if a sensor is not available:
for_each_i2c_device() {
        i2c_param_config()
        i2c_driver_install()
        ...
        i2c_driver_delete()
}

For testing , I comment out i2c_hal_deinit(&i2c_context[i2c_num].hal); in i2c_driver_delete() then I no longer hit this issue.

@mythbuster5  Any update for this regression fix?

I also have the same issue.  I had though initially that it was my adding in of espcoredump component to capture unrelated panic issues to flash.  Because we had used PSRAM in some of our task stacks, we temporarily cut stack size for LVGL and frame buffers for LVGL because the coredump to flash is not available if PSRAM is set to be used with the common heap.  I had inadvertently thought that and IDF framework update was necessary (we were on the version from Aug '22) and never thought that I2C drivers would have changed that much.  We also used the "Uncle Rus" I2Cdev component from github.
At the same time, we had consolidated all of our separate I2C devices from separate tasks (because of the thread safe drivers from Uncle Rus) and consolidated them to one task for the purposes of interrupt/poll read timing.
We are on an ESP32S3 with 16MBflash and 8MB PSRAM.
I can confirm that "comment out i2c_hal_deinit(&i2c_context[i2c_num].hal); in i2c_driver_delete()" works

@mythbuster5
There are several issues with commit 803fc3f.

A commit simply says "I2C: Add i2c support for ESP32C6" should not have impact with other SoCs.
Apparently this commit is not just adding support for new SoC.
You should not add change for "setting hardware pointer to NULL" without mentioned it in commit log.
If it's a necessary change while adding new SoC support, you should mention why it's need.
In additional, you should mention that what was fixed if it's a bug fix.
(If it's not a bug fix, why do you change it?)
The "setting hardware pointer to NULL" causes regression on esp32c3 (and maybe other SoCs, e.g. esp32s3).
You got the issue report, but then there is no further response to fix it. Why?
IMHO, Fixing regression should be always a high priority.

@igrr @Alvin1Zhang

@AxelLin  Generally driver_install should be ahead of param_set. Maybe the previous writer or old driver is so confusing that some user use param set before driver install.
I'm sorry for busy on other high priority tasks these days. I will find time to get this one fixed.

@mythbuster5
So you even didn't read my comment https://github.com/espressif/esp-idf/issues/10163#issuecomment-1314579110 .
There could be multiple i2c devices on the bus:
For each known address , we do probe device as below:
for_each_possible_i2c_device() {
        i2c_param_config()
        i2c_driver_install()
        ...
        i2c_driver_delete()
}

Assume the first device is not on the bus, in the 2nd iteration the i2c_param_config() is called after i2c_driver_delete().
Then it panic!!

@AxelLin Generally driver_install should be ahead of param_set. Maybe the previous writer or old driver is so confusing that some user use param set before driver install.

Actually, it's not about confusing at all.
It was working in older esp-idf versions, that's why I called it as a regression.
And honestly I feel it's strange you need to call driver_install before param_set.
You can also check the usage in esp-idf, some of it calls param_set before driver_install.

@AxelLin Will get it fixed, thanks


Feature Request: ALIAS

Hi - I'm Finn, a Microsoft Research intern working with @lemmy on some TLA+ specifications. You'll have seen me CC'd in one or two other issues. This issue is on the same theme, but now I'm closer to the polishing stage and have a bit more leeway to put effort into e.g tech for visualizing our work.
I'm trying to make this issue as complete as possible, so apologies if I re-state something you already know about.
When exploring more complex specifications, sometimes a feature of interest will not directly be in the state space. When in this situation, TLC offers the option (called ALIAS) to override the way it displays state, such that other features can be shown alongside / instead of the raw state variables.
Here's a heavily abridged fragment of something I'm working on that would benefit from this (I made sure this version works in the current explorer):
---- MODULE Example ----
EXTENDS Naturals, Sequences

VARIABLE log, idx

Init ==
    /\ log = <<>>
    /\ idx = 0

IncIdx ==
    /\ idx' = idx + 1
    /\ UNCHANGED log

JumpIdx ==
    /\ idx > 0
    /\ idx' \in 0..Len(log)
    /\ UNCHANGED log

GrowLog ==
    /\ log' = Append(log, idx)
    /\ UNCHANGED idx

Read ==
    IF   idx < Len(log)
    THEN {log[idx]}
    ELSE {}

Next ==
    \/ IncIdx
    \/ JumpIdx
    \/ GrowLog

Spec == Init /\ [][Next]_<<log, idx>>

Alias == [
    log |-> log,
    idx |-> idx,
    Read |-> Read
]

====

The take-away is that Read is derivable from any given state, but it might hard to calculate on the spot for humans, so having it spelled out in the visuals would improve the exploring experience for specs like this one. In particular, forcing someone unfamiliar with a spec to run one or more operator definitions in their heads as they try to understand a spec would be ... headache inducing.
From my perspective, an MVP implementation would be to look for an operator called Alias and, if it's there, assume it will yield a function associating a "virtual" set of state variables with a set of values to display at each state.
I have some cycles available to help develop such a thing, if that's of interest. Let me know if I should go and try to put together a PR.

@fhackett-ms Thanks for the request. I've definitely wanted to add a similar kind of "trace exploration" feature to the web interface but haven't gotten around to it yet. I put together a quick prototype that might get you going for now. See a demo running here. Not sure yet if this is the ideal way to implement this and display it in the UI, but it's a rough starting point for future iteration.

@will62794 Thanks for the quick update - that looks like a good start. I'll start trying my real spec with that change soon.
In the meantime, some thoughts:

It would be really nice if the selection view also showed these extra values, so I could click on "the next-state where it reads X" or something like that
I see you opted for appending Alias to the state display. If you're going in that direction, it would be good if each element of Alias were appended as a separate name-value binding, rather than the entire Alias value. That way, having 5-6 extra values (not too many, but too many to fit on one line) would be more readable.

@fhackett-ms Thanks for taking a look. I pushed a new iteration addressing some of your latest comments. See how it works for you (see same demo spec). Happy to iterate on any other features you might find useful. Eventually I would also like to build in some kind of visualization capability, so that you could view a visual representation of each state of the trace. Perhaps defined via some kind of SVG-based DSL, or something like that. That's a longer term goal, though.

FYI: With TLC, an alias is an action-level expression (https://github.com/tlaplus/tlaplus/issues/746#issuecomment-1200158771).

@will62794 I've tried the new iteration with my "real" spec as well, and it looks quite usable. Thank you!
My only remaining wish for this feature, optional as it is, is to have a collapsible tree view for compound values. It wouldn't need to be limited to Alias, it would just make some of my Alias values nicer to read.
Here's a quick example:
---- MODULE LogExample ----

\* From https://github.com/will62794/tla-web/issues/23.

EXTENDS Naturals, Sequences

VARIABLE log, idxs

Keys == {"k1", "k2", "k3"}

Init ==
    /\ log = <<>>
    /\ idxs = [ key \in Keys |-> 0 ]

IncIdx(key) ==
    /\ idxs' = [ idxs EXCEPT ![key] = @ + 1 ]
    /\ UNCHANGED log

JumpIdx(key) ==
    /\ idxs[key] > 0
    /\ \E i \in 0..Len(log) :
    	/\ idxs' = [ idxs EXCEPT ![key] = i ]
    /\ UNCHANGED log

GrowLog(key) ==
    /\ log' = Append(log, idxs[key])
    /\ UNCHANGED idxs

Read(key) ==
    IF   idxs[key] < Len(log) /\ idxs[key] > 0
    THEN {log[idxs[key]]}
    ELSE {}

Next ==
	\E key \in Keys :
    	\/ IncIdx(key)
    	\/ JumpIdx(key)
    	\/ GrowLog(key)

Spec == Init /\ [][Next]_<<log, idxs>>

Alias == [
    Reads |-> [ key \in Keys |-> Read(key) ]
]

====

It would be nice to be able to expand/collapse keys, or at least to see a more formatted tree view where my eyes know where to go.
I tried some "fancy" ways to simulate the effect I want, but it turns out "flattening" function domains is not something TLA+ makes easy (that is, flattening while keeping all the key-value mappings intact...).
I did find that the Alias feature breaks everything when the function domain isn't names, though (I ended up with a domain of tuples during an experiment). Not like you need to support this meaningfully, but it could maybe discard the Alias with a red highlight or something:
---- MODULE LogExample ----

\* From https://github.com/will62794/tla-web/issues/23.

EXTENDS Naturals, Sequences

VARIABLE log, idxs

Keys == {"k1", "k2", "k3"}

Init ==
    /\ log = <<>>
    /\ idxs = [ key \in Keys |-> 0 ]

IncIdx(key) ==
    /\ idxs' = [ idxs EXCEPT ![key] = @ + 1 ]
    /\ UNCHANGED log

JumpIdx(key) ==
    /\ idxs[key] > 0
    /\ \E i \in 0..Len(log) :
    	/\ idxs' = [ idxs EXCEPT ![key] = i ]
    /\ UNCHANGED log

GrowLog(key) ==
    /\ log' = Append(log, idxs[key])
    /\ UNCHANGED idxs

Read(key) ==
    IF   idxs[key] < Len(log) /\ idxs[key] > 0
    THEN {log[idxs[key]]}
    ELSE {}

Next ==
	\E key \in Keys :
    	\/ IncIdx(key)
    	\/ JumpIdx(key)
    	\/ GrowLog(key)

Spec == Init /\ [][Next]_<<log, idxs>>

Alias == [ pair \in { <<"read", key>> : key \in Keys } |-> Read(pair[2]) ]

====

Prototype implemented in 4fb8721.

Is it possible to suppress the spec's variable and only show the alias?

A prototype of trace expressions is now pushed (b50fdb2), which should supersede the Alias feature. To your point, though, suppressing/hiding selected sets of state variables should be a relatively straightforward next step for me to implement.

Disabled in 4dad0b6, in favor of trace expressions.

@lemmy With 3e79c5d you should now be able to hide/unhide state variables in the current trace.


Implement some 'integration' tests

[x] Create one reference, fully featured JSON resume
[ ] Create derived resumes with all possible fields (all combinations thereof?) set to None where legal (given the schema)
[ ] Compare all these to expected files (the files contain the ANSI escape characters literally)
[ ] Load tests?

By now, we have integration tests (if they can be called that?) for both the CLI (which by extension tests a lot of underlying stuff) and both the API as well as single-file servers (through d645f801fb1b2e6da883d7bfb60b0b45152a3eda), which test the entire stack as well. Together, and with #7, c. 95% coverage is achieved. Some edge cases remain, like these two exceptions:
https://github.com/alexpovel/ancv/blob/4d5a7efe31833cd353de1dbbf4aa37938517a60d/ancv/web/client.py#L77-L82
These are hard to test without mocking the GitHub API or somehow providing actual gists of actual users that would trigger these code paths.

The above is now covered by 476bf58.

Not doing load testing for now. Automatic scaling takes care of that for us now. Plus, a single instance of the app is probably able to handle tons of requests, since it's async-first and templating/rendering is cheap.


Not Pairing for me 🤷🏻♂

I have flashed the esp32
I have opened the Web Interface and connected it to my Mosquitto MQTT server (Connected Yes)
I pressed 5 seconds on the Nuki 3 and the ring lit up
I restarted the esp32

Exptected behavior: The esp32 will pair to the lock
Actual behavior: The status remains unpaired
Any ideas?

The obvious thing to do is to make sure the ESP is close to the lock. Other than that have a look at this issue:
https://github.com/technyon/nuki_hub/issues/39

Any update on this?

Please recheck with the current release.

So. I received my new ESP32 from AlixExpress yesterday and it sync in like 5 sec.
So you can close this issue.
Opening and closing via MQTT works no issues! Geat Project!! 🙇
PS: Just a followup question. How does Autodiscovery work? I can send to topic "nuki/lock/action" "unlock" and "lock" now via the MQTT interface. But it seems you can skip setting up the mqtt lock on configuration.yaml with auto discovery? How do I discover to skip having to setup the lock and states manually?

Just maybe for making a list of supported esp32 with Nuki Pairing:

XTVTX ESP32 ESP-WROOM-32 ✅
AZDelivery ESP32 ESP-WROOM-32 (Failed for me 🤷)

It probably worked for you now since I've downgraded the ble lib, gave me trouble with pairing too.

That would be an insane coincidence, but I have not crosschecked with the old esp32 again ;-)

AZDelivery ESP32 ESP-WROOM-32 works for me!


"replace the default middleware"

For Laravel 11, the instructions say Next, replace the default middleware
Where is that file?
I've just spun up a new project, Laravel 11.9, to try this out.

I also dont seem to have config/wire-extender.php.
I did run the php artisan vendor:publish --tag=wire-extender command


Running npm run test:functional is different from running functional test via debugger

Running "npm run test:functional" uses different argument&commands and yields different result compared to running functional test via debugger

@anthonykim1 what did you see as the fix for this?


Collapse nested inside tabs

For the following, it seems that "Tab2 Content" is not displayed when Tab2 is clicked on.
<tabset>
    <tab heading="Tab1">
        <div [collapse]="false">
            Tab1 Content
        </div>
    </tab>
    <tab heading="Tab2">
        <div [collapse]="false">
            Tab2 Content
        </div>
    </tab>
</tabset>

Likewise if Tab2 is initially active, then "Tab1 Content" is not displayed.

@rob-myers so what is the question?
please let us continue chat in slack https://www.hamsterpad.com/chat/ng2


panic: zip: not a valid zip file

The content of assets/vscode-web.zip seems to be:
version https://git-lfs.github.com/spec/v1
oid sha256:3dd2d91e5617ce158b0bfb5010f748d3ffe865a884b6dbd818127f59cf975cd1
size 17485506

You probably want to disable git lfs for it

Here is the commit erroring out if you need a repro

I'm trying to figure out a good way to include this zip file without actually versioning a 18 MB binary. I thought git lfs might work for Go libraries, but looks like not. Any ideas? In the meantime, if you pull again, you can use make to pull the zip file. I'd really like to avoid introducing go generate for this.

One way would to host the assets elsewhere (ex: published a npm package, and accessed from jsdelivr), and then only embed a minimal index.html page in the go binary.

Sounds like you're saying download it at runtime. It can't be in index.html because its used in Go, embedded at compile time. The problem is it would have to be stored/cached somewhere, on top of making an "unexpected" request in the first place. I'd really like it to just be embedded, but open to alternatives if there's nothing else.

The request would be done by the end-user browser, at runtime.
Instead of fetching assets from your server, it would fetch them from a public CDN.

I see. Since we are mostly just serving them as static files, they could be served by a CDN. It seems like an unnecessary dependency on something else I'd have to maintain. Maybe if we did something like this, but if you run go generate it will download it and embed it at compile time, only using the CDN if it hasn't been embedded... hmm

Alternatively, though, I sort of like the idea of downloading the zip at runtime in Go instead of the CDN option if you also have the go generate option to avoid this.

Ok, I'll try this and see how it goes.

One other alternative would be to just not distribute vscode, and instead just connect to the vscode instance of the user using an extension url:

The user access your website.
The website redirect the user to an vscode:// uri
The user get prompted to install your extension
The extension get installed, and the remote file system get opened on your local vscode

Yes there are a handful of configurations and this is just one. The focus here is on having your own embedded/custom version of VSCode, so if you want to just launch VSCode you can just ... do that.

The benefit I see is that you would be able to wire VS Code to any filesystem implementing the FS interface.

 For now, going to continue using Git LFS, but I added this note on how to make it work: https://github.com/progrium/go-vscode#requires-git-lfs


container: include the architecture of the image in container.Spec

This is a different attempt to resolve the issue that the resolver consider the requested architecture more of a "hint". The initial attempt is in https://github.com/osbuild/images/pull/451 but it caused some issues as this seems to be expected behavior of the library in tests at least.
So this commit is more conservative and just includes the the architecture in the container.Spec so that the consumer of the library can inspect and error on mismatch of requested arch and resolved arch.
With that in bib we can check the arch, I outlined this in https://github.com/osbuild/bootc-image-builder/compare/main...mvo5:check-resolved-image-arches?expand=1 what we could have to do there (plus some other changes because the image API has changed quite a bit and a go.mod change to make it trivial to test locally but that will need adjustment of course).

I like it :)


just getting started, using streaming_video.py example

Realizing what I'm looking for may not be in zengl; when I run the streaming_video.py example I see my webcam0 fine, but it is vertically flipped.
To vertically flip the video frame, would that be done at the imageio, the zengl, or some other image module level I need to bring into that minimal example? I am thinking the return value from zengl.rgba(next(it), 'rgb') would saved to an intermediate variable, potentially as input to some image object that allows basic graphical operations, such as the vertical flip I want?

You can flip it with zengl.rgba(next(it)[::-1].tobytes(), 'rgb')
next(it) is actually a numpy array
zengl.rgba(...) is a very limited helper to provide a readable way to express rbg to rgba conversion or similar.
you can do the conversion and padding completely with numpy as a single step:
import numpy as np
rgba = np.zeros((height, width, 4), 'u1')

while window.update():
    rgba[:, :, :3] = next(it)[::-1]
    image.write(rgba)
    ...

Makes perfect sense, thanks.


aeron: 1.40.0 -> 1.42.1

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Can you motivate this change? building from source seems more desirable.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3023

Result of nixpkgs-review pr 222508 run on x86_64-linux 1

1 package built:

aeron

Result of nixpkgs-review pr 222508 run on x86_64-linux 1

1 package built:

aeron

LGTM, thanks!

@vaci when https://github.com/NixOS/nixpkgs/pull/272380 merges, it should be possible to go back to a from-source build if you want


add tutorial

add tutorial explaining how to make a 1-to-1 video chat using WebRTC and Firebase

I signed it!

Hi @MirkoBonadei @ilyanikolaevskiy @kthelgason ,
I was wondering if you could merge this request. I added my 1-to-1 video chat tutorial to the tutorials section. Thanks

I haven't looked in depth, but fine by me overall.
Thanks for building the tutorial!

lgtm

Thanks for writing this tutorial!

Awesome thanks guys!


Our official Title is "THS International Reception"

We should always call it "THS International Reception" and not "International Reception". In a text with multiple mentions that is ok, but otherwise we should always use it. Just as a reminder :)

Fair!


Clicking [get] on Authorization and Author doesn't do anything.

Undiscord Version
4.3.1
Browser
Mozilla Firefox 121.0 (64-bit)
Extension
ViolentMonkey
Reproduction steps
I am using Undiscord 4.3.1 because I was having problems with the newest version. I forgot what the problem was but other people recommended using the older version. So 4.3.1 was working for me, but suddenly it stopped and I think it is because it doesn't want to get the Authorization and Author anymore. I could do it manually, but that's too much work. Anyone else having this problem?
Actual results
See above.
Expected results
See above.
Bug affects

[ ] DMs
[ ] DMs (group)
[X] Channels
[ ] Channel (NSFW)

Additional information & file uploads
See above.

Hmmm, it's working now. I'll close the Issue.


[New game]: Tic-Tac Toe

🎮 Game Request
Game logic and basic description
Tic-Tac-Toe is a classic paper-and-pencil game played on a 3x3 grid. The game involves two players, often referred to as "X" and "O," who take turns marking spaces on the grid. The objective is to create a horizontal, vertical, or diagonal line of three of your marks (either "X" or "O") before the opponent does.
Here are some key features of the Tic-Tac-Toe game:
Grid: The game is played on a 3x3 grid, which provides a total of 9 cells where players can make their moves.
Turn-Based Gameplay: The game follows a turn-based structure, where players alternate placing their marks on empty cells of the grid.
Player Markers: There are two types of markers used in Tic-Tac-Toe: "X" and "O." Each player selects one marker at the beginning of the game.
Valid Moves: Players can only place their markers on empty cells. Once a cell is marked, it cannot be changed or overwritten.
Winning Conditions: The game continues until one player achieves a winning condition. A winning condition is met when a player successfully places three of their markers in a horizontal, vertical, or diagonal line on the grid.
Draw Condition: If all the cells on the grid are filled, and no player has achieved a winning condition, the game is considered a draw.
Restart Option: After the game ends, players should have the option to restart and play again without having to reload the page.
Point down the features
Game points
User Interface: The game will have a visually appealing and user-friendly interface that displays the Tic-Tac-Toe grid, markers, and other necessary elements.
Player vs. Player: The game will support a two-player mode where two human players can play against each other on the same device.
Interactive Gameplay: Players will be able to interact with the game by clicking or tapping on the grid cells to place their markers.
Restart and Reset: Players will have the option to restart the game after it ends, allowing for continuous play without reloading the page. Additionally, a reset option will be available to start a new game at any point.
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @1TusharSharma1 ! we are already having similar game request in #18  !!

Hey @1TusharSharma1 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Fix server v1.1: allow wait with zero timeout

The new server WaitHelper#wait_until had an edge case when called with a zero timeout. This happens when removing a service with zero containers, which uses a timeout proportional to the number of containers. Without the fix, this will immediately fail with a timeout, even if the wait condition is true. This breaks removal of a service that has failed to deploy.
The previous Timeout::timeout(0) would not impose any timeout on the block. The new WaitHelper.wait_until(timeout: 0) { ... } will always yield the block exactly once, and fail with a timeout if the block is not immediately true.
This is sufficient to fix the GridServiceRemoveWorker case:
      wait_instance_removal(grid_service, grid_service.containers.scoped.count * 30)

  def wait_instance_removal(grid_service, timeout)
    wait_until!(timeout: timeout) { grid_service.reload.containers.scoped.count == 0 }
  end

Confirmed zero-container service removal to work in 1.1.5.rc3:
$ kontena service scale redis 0
 [done] Scaling redis to 0 instances
$ kontena service rm --force redis
 [done] Removing service redis


open-iSCSI driver tcp is not loaded. Load the module then retry command

Hello ayufan-rock64,
I have a problem with iSCSI, I tried with latest release and with pre-release kernel. You can reproduce this with following instructions as root:
1.- apt-get update
2.- apt-get upgrade
3.- apt-get dist-upgrade
4.- apt-get install open-iscsi
5.- systemctl start open-iscsi
6.- iscsiadm -m discovery -t sendtargets -p <IP_ADDRESS>
iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: iSCSI driver tcp is not loaded. Load the module then retry the command.
iscsiadm: Could not perform SendTargets discovery: iSCSI driver not found. Please make sure it is loaded, and retry the opera
root@rock64
root@rock64:~# uname -a
Linux rock64 4.4.77-rockchip-ayufan-136 #1 SMP Thu Oct 12 09:14:48 UTC 2017 aarch64 GNU/Linux
Thx for your support

The config options have been added, should be in the next release/pre-release.


Add auth

Hi, thank you for a such a nice crate.
When I set --authenticator=PasswordAuthenticator option on docker and trying to use other profile not the default cassandra:cassandra, found it might be better if the auth setting is configurable with env.
It's just a simple modification, would you please take a look at it?
Thanks!

@SangyunOck Thanks for your contribution! I run the CI and when it succeeds, I will push a the new version :)

@SangyunOck Yeey looks like everything is working! You can use the latest version :) Thanks again!

@Jasperav Thank you for the fast reply!  Appreciate It :)


Illegal Math Expression Error for 10^-x

MSX doesn't appear to be able to handle expressions in the form of 10^-x.  It handles expressions in the the form of 10^x fine. We discovered this when trying to incorporate temperature dependent equilibrium constants in a chloramine decay model. The following 3 files are in the attached .zip folder, which highlight the issue.
chloramine.inp - EPANET input file for the simple example network provided with the manual
chloramine_temp_issue.msx - MSX input file that produces the error discussed above
chlormaine_temp_issue.rep - report file generated from running 'chloramine.inp' with 'chloramine_temp_issue.msx'. This shows the errors generated when including expressions in the form of 10^-x
Negative_Power_Issue.zip

possible dupe of #1

I ran across something similar working on a paper on temp,  chlorine decay, and DBP formation.   The work-around was to use extra parentheses e.g. ( 10^(-x))  instead of 10^-x.

Thanks for the quick reply, adding the extra parentheses seems to have solved it!


refactor: drop the "syntactic sugar" field, no one uses it

It looks like this field isn't being used anymore. Removing it doesn't fail the tests, and the code only seems to ignored it.

I think that field is/was used by the human UI?
So that we can display the definition as typed?
Since foo && bar and lang::and<[foo, bar]> are equiv, and we'd prefer to show the one as typed?


Assembly Reference issues like crazy.

To preface, here's how I created my project:

Create empty .NET 4.5.2 project with Web API.
Install z4a-dotnet-scaffold-auth package via Package Manager.

Here are the problems I encountered.

Duplicate httpRuntime and compilation tags in my Web.config.
Had a versioning issue with Newtonsoft.Json that I solved by downgrading to 6.0.4.
Microsoft.Owin.Cors requires System.Web.Cors.dll version <IP_ADDRESS>, but I had v.5.2.3 installed. http://stackoverflow.com/q/34467106/1203355
Could not load file or assembly Microsoft.Owin v<IP_ADDRESS>. I have v3.0.1 installed (currently unresolved).

Is there something I'm doing fundamentally wrong here?

It is probably some of the newer versions of things. If I get a chance I'll try to rebuild using the newer library versions, but I'm stuck with some other things at the moment.


How can I transform of 2D FFTW fro image?

FFTW is a low-level C library that takes arrays of floating-point values as input.  You need to convert your image to this format in order to use it.
In general, for high-level tasks like image processing, it is probably easier to use a high-level library.  For example, http://scikit-image.org/docs/0.3/api/scikits.image.transform.html#scikits.image.transform.fft

See also https://juliaimages.org/latest/arrays_colors.html for how to convert Julia images (from the Images.jl package) to numeric types, and also https://juliaimages.org/latest/conversions_views.html#Color-separations:-views-for-converting-between-numbers-and-colors-1

HI, @stevengj
Thanks a lot.
I will try this.


Replace SwiftLint autocorrect command with --fix

Problems
Running make correct fails in the latest SwiftLint v0.53.0 since SwiftLint autocorrect is no longer available as of 0.43.0
Solution
Replace swiftlint autocorrect with swiftlint --fix
Testing
Tested both make all and make fix works fine

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

Thanks, looks good to me! we will merge the change to the internal repository once it passed also internal review as well.
When we publish the change here, I will close this pull request.

The change has been merged to the tip branch and updated. Thank you! I'll close this pull request.


[Github] [NEXT-0000] Add inheritance to mainCategories

1. Why is this change necessary?
In admin while changing "mainCategory" on variants, the "mainCategory" field is disabled as it's "being inherited".
You would expect that it is inherited when doing a search with mainCategory association, but mainCategories remain empty (When it shows as inherited in admin).
2. What does this change do, exactly?
Add inheritance to product.mainCategories (Field & flag)
3. Describe each step to reproduce the issue or behaviour.

Create a product with variants
Set mainCategory (On parent product)
Go to one variant and check mainCategory which says it is inherited
Do a product lookup (For the variant) with mainCategory association

4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

Imported from Github. Please see: https://github.com/shopware/shopware/pull/4521

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-39420
[created from NEXT-39420, comment 509778]


How to only tracking regions brighter than background ?

Hi,
In motion detector, how to only tracking regions brighter than background, not just differenct to background?

Hi! I think that this condition is too specific for common use motion detector. You can add external filter to remove dark objects.

Thank you.


Failed to register host rc=1 during agent deployment

Description
Trying to use iml-<IP_ADDRESS> for monitor mode. Not able to deploy agent and it is throwing an exception Failed to register host rc=1 during agent deployment.
Version
version of IML is iml-<IP_ADDRESS>
Operating System- Centos
Operating System version-7.4.1708
Attached herewith iml-diagonistic file.
sosreport-manager.cdac.in-20181129145410.tar.xz.zip

Hi @5soniyar,
Can you go to the "Status" page and find the command that failed when deploying the agent? If you view the command details you should see some log information. Please paste that information to this ticket. Thanks.

Hello,
I found below logs
[2018-11-30 04:47:30,621: INFO/job] AlertState: Raised <class 'chroma_core.models.command.CommandRunningAlert'> on Command object at severity 20
[2018-11-30 04:47:30,623: INFO/command_plan] set_state: <class 'chroma_core.models.host.ManagedHost'>-2 transitioning from undeployed to unconfigured
[2018-11-30 04:47:30,632: INFO/command_plan] Created command 7 (Deploying agent to host oss.cdac.in) with 1 jobs
[2018-11-30 04:47:30,680: INFO/job_scheduler] run_next: 1 runnable jobs of (1 pending, 0 tasked)
[2018-11-30 04:47:30,693: INFO/job_scheduler] Job 7: RunJobThread.run
[2018-11-30 04:47:31,166: INFO/job_scheduler] run_next: 0 runnable jobs of (0 pending, 1 tasked)
[2018-11-30 04:47:59,240: ERROR/job_scheduler] Job 7 step 0 encountered an agent error: Failed to register host oss.cdac.in: rc=1
''
'  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  8848    0  8848    0     0   121k      0 --:--:-- --:--:-- --:--:--  123k
'
[2018-11-30 04:47:59,288: INFO/job_scheduler] Job 7: complete_job: Updating cache
[2018-11-30 04:47:59,288: INFO/job_scheduler] Job 7: locked_item<PHONE_NUMBER>68624 <class 'chroma_core.models.host.ManagedHost'> True True
[2018-11-30 04:47:59,290: INFO/job_scheduler] Job 7 completing (errored=True, cancelled=False)
[2018-11-30 04:47:59,305: INFO/job_scheduler] run_next: 0 runnable jobs of (0 pending, 0 tasked)
The status page shows
Arguments
{
"host": "mds.cdac.in",
"profile_name": "default",
"token": "RegistrationToken object"
}

Hi @5soniyar,
It looks like it's failing when the agent node attempts to communicate with the manager node:
rc, stdout, stderr = agent_ssh.ssh('curl -k %s/agent/setup/%s/%s | python' % (settings.SERVER_HTTP_URL,
                                                                                kwargs['token'].secret,
                                                                                '?profile_name=%s' % kwargs['profile_name']),
                                           auth_args=auth_args)

This would translate to your agent node making the following call:
agentNode # curl -k https://managerdomain:443/agent/setup/<token>/?profile_name=<profile_name>

I would start by figuring out why this call is failing. Do you have selinux disabled? Is it possible you have any other firewall rules that could be preventing the curl request from executing correctly on the agent node?

Hello,
The Issue got resolved. It was looking for the following dependency.
Error https://manager.cdac.in:443/repo//iml-agent/7/iml-device-scanner-1.1.1-1.el7.centos.noarch.rpm: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
Error downloading packages:
iml-device-scanner-1.1.1-1.el7.centos.noarch: [Errno 256] No more mirrors to try.
python2-iml-common1.3-1.3.3-1.el7.centos.noarch: [Errno 256] No more mirrors to try.
iml_sos_plugin-2.2.0-1.el7.noarch: [Errno 256] No more mirrors to try.
After manually downloading these dependencies the agent got deployed successfully. We selected Monitored Mode for MDS and OSS. It has detected the existing lustre file system as well.
But now the dashboard doesn't update live graphs. The same version of IML we have tired on Vmware as well, but it didn't ask for above dependency. Also we can see live graphs on the dashboard.

Hi @5soniyar,
Glad to hear the issue is resolved. Regarding the graphs, it might be worth restarting the chroma manager on the manager node. Simply ssh into the manager node as admin and run the following:
chroma-config restart

I usually run a dd command like the following to generate some data, which will then display write bytes on the read write heat map chart:
dd if=/dev/zero of=/mnt/fs/testfile1.txt bs=1M count=1024; cp /mnt/fs/testfile1.txt /mnt/fs/testfile2.txt;
lfs df -h

Regards,
Will

@5soniyar It appears you are performing an offline install due to the manager url It's using as a repo.
Instead of manually downloading dependencies you should make sure the manager repo has been successfully synced with what's needed from upstream.

closing due to inactivity.


Github actions

LGBM testing IMPROVE

What is this ticket about?

As the description says it is to test the library with LGBM with GitHub actions

LGBM is not part of this repo. I prefer to test it with the provided unittests.

Not sure if it should be here, so I'm closing this for now. We can re-open if need to.


[HUDI-5922] Reuse IMetaStoreClient between HoodieHiveSyncClient and DDLExecutor

Change Logs
Extract the method of obtaining IMetaStoreClient and reuse IMetaStoreClient between HoodieHiveSyncClient and DDLExecutor
Impact
No
Risk level (write none, low medium or high below)
none
Documentation Update
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Thanks for the contrbution, I have reviewed and applied a patch:
5922.patch.zip

There are some tests failures, can you help to confirm?

There are some tests failures, can you help to confirm?

All checks have passed, am I missing something?

There are some tests failures, can you help to confirm?

All checks have passed, am I missing something?

There are some error codes on the master that triggers failures, you can rebase with the latest master and force push with in your branch to fix that.

There are some tests failures, can you help to confirm?

All checks have passed, am I missing something?

There are some error codes on the master that triggers failures, you can rebase with the latest master and force push with in your branch to fix that.

There are some tests failures, can you help to confirm?

All checks have passed, am I missing something?

There are some error codes on the master that triggers failures, you can rebase with the latest master and force push with in your branch to fix that.

Nothing seems to be wrong. cc @danny0405


[feature] Fix unclickable button on mobile [OSF-8858]

Purpose
Fix "create project" button on mobile.
When a user has no project, the "create button" was not clickable.
Changes
Fix bootstrap grid usage
Ticket
OSF-8858
After

@sloria This is on prod, hotfix?

@fabmiz Yes, this is a prod bug, so please convert this to a hotfix.

Closed in favor of hotfix https://github.com/CenterForOpenScience/osf.io/pull/7863


Wiki: improvements

[x] visual markdown editor https://github.pytes.net/tail.writer/
[ ] try to add custom action to insert Macros
[ ] files upload
[ ] migration/sync from github wiki

file upload was implemented in https://github.com/unaio/una/issues/3613


Add ContextBar

Questions

Shall we name this ContextBar following the css component naming or GlobalNavigation as the documentation section is labeled
How can we make the navigation items compatible with React routing libraries (right now rendering as <a href="" />

@philippfrank To answer your questions:

We should go with the documentation section labels, classes sometimes are shared across sections (e.g. combobox)
Passing a renderLink({ children, href }) function would be sufficient. For react-router, it would look like:

  <ContextBar
    renderLink={({ children, className, href }) => (
      <Link className={className} to={href}>{children}</Link>
    )}


RNA folding parentage

RNA folding is a RNA metabolic process, should it be
Note protein folding is not a protein metabolic process
Chromosome condensation is not a DNA metabolic process

https://github.com/geneontology/go-ontology/issues/12867#

We could move it to 'cellular process' as has been done with protein folding.

Moved to cellular process.


select ng-option is not updating model in firefox

I am using angular 1.4.x.
In parent controller, Select ng-option is not updating model (or is not working properly) in firefox (Works correctly in the child controller.). But works in all other browsers. Do I have the issue since I am inheriting the controller? Can you make this work as expected.
I've html structure like

Here my IndexController will be a parent controller for all the controller.
For the Indexcontroller, I am having the separate select option and for the DashboardController too.
When I select the item in the parent controller, the ng-change is not triggering in the parent controller (IndexController) but works in child controller (DashboardController).
I am getting the issue like model is not updating in firefox only. This works in all the browsers.

If i placed somewhere else in the html, then this is working as expected in the parent controller itself. I think there is some design issue in Mozilla.


fix the Time-line on quize page

Related Issue
Closes: #1568
Description
Now i fix the code  and now time line is visible  .
if  time left  reach to zero then time line also reach to the end point. That is perfect  calculation , i fixed.
Screenshots

@akshitagupta15june merge this PR

Great work!!


Fix up some things.

"minimum-stability": "stable" should be fine now

This workflow requires approval from a maintainer

I recommend changing the config to "only new github users" here


[Bug] Deloser throws error when a form has an input with name id

https://github.com/microsoft/tabster/blob/master/src/Deloser.ts#L299
This check has a false positive for forms with an input named id since element.id will point to the input element in the form.
Sandbox for reproduction: https://codesandbox.io/s/agitated-khorana-hzqyu2?file=/src/index.tsx

any update ??

I have added a pull request to resolve this, as I had come across this bug as well.
Using getAttribute should be a more robust approach to retrieving the element's id.
see: https://github.com/microsoft/tabster/pull/287
PS: @tsingson

in Deloser.ts line 299:
    if (element.id) {
        selector.push(
            "#" + element.id.replace(escapeRegExp, escapeReplaceValue)
        );
    }

change to
    if (element.id) {
        const  el = element.id.toString();
        selector.push(
            "#" + el .replace(escapeRegExp, escapeReplaceValue)
        );
    }

will ignore error, but maybe need more testing.

This will make the error go away, but you're still unable to retrieve the id of the form (el would be [object HTMLFormElement])


docs: use opt_local in lua usage

Used opt instead of opt_local in the lua section, sorry about that. Here is the fix.

No problem. Thanks again.


Feature request. A way to add a color based legend for branches.

Hi @learneman,
can you better explain the functionality?

Clear, interesting! Personally, I think the legend down to the left is more expressive. But it is necessary to think about its design.


Stacks should not be running as root during local development and production

Currently, most of the incubator stacks and all of the experimental stacks run as root in local development (Dockerfile-stack) and in the production image (Dockerfile). This has started to cause some issues on different operating systems, for example: https://github.com/appsody/stacks/issues/518. This is also causing permission problems when building applications in an Openshift environment
We should look to mitigate these problems now by running the stacks as a non root user. List of stacks that run as root:
Incubator

Java Open Liberty
Kitura
Swift
Node RED
Node.js
Node.js Express
Node.js Loopback

Experimental

All stacks

We should look to prioritise the incubator stacks before experimental. A couple of issues have been raised covering this work for specific stacks but this issue will encompass the general problem.
Related issues
https://github.com/appsody/stacks/issues/518 - Root owned node_modules on host
https://github.com/appsody/stacks/issues/607 - Open Liberty
https://github.com/appsody/stacks/issues/593 - Microprofile and possibly Open Libery creating root owned files on host
https://github.com/appsody/stacks/issues/530 - Rust: root owned files on host

Discussions with stack owners have not resulted in a consensus as to how this should be done.
Current discussion is to use  a userid within the container with the local users uid and a gid of 0. This will allow other users that are in the 0 group to update the files. RedHat also specify that files in a container should be set with gid = 0 in order for the containers to run correctly.
Main concern is from Ozzy with regards  the maven artefacts that are written back to a users local directory with gid = 0 and whether that will cause issue wit the user running maven locally.


How to set submesh boundaries when decomposing a mesh into convex submeshes

Hello,
I want to decompose the mesh of a  cup into approximate convex submeshes.
I used V-HACD, and got the bellow files.
Cup0722v1 (1).zip
However, when displayed on a simulation in Mujoco,
the bottom of the cup had become uneven as follows.

I think it would be difficult to generate a perfectly clean cup shape because of the approximate decomposition technique.
For example, is it possible to consider the bottom of the cup as one par t or to divide the sides into smaller pieces?
Thank you in advance.

That's probably just a matter of parameter tuning. I will look into this on Monday and help you get better quality results.

Hello, @jratcliff63367
Thank you so much for your help...!
If possible, I would appreciate it if you could also check the following files.
Cup0831.zip
Thank you in advance.

Ok, I took a look at it. And IMO the current version of V-HACD is giving good results for this mesh. Realize that the 'A' in V-HACD stands for 'approximate'. This cup is extremely concave. To fully represent it accurately would require a massive number of convex hulls. When you reduce it to a smaller number (the default value is 64 convex hulls) then you will get these approximation artifacts.
You can increase the number of convex hulls to make it have less approximation error but, of course, this will increase the memory and performance costs during simulation.
At the end of the day it is up to you to decide how many convex hulls you consider acceptable to use for an approximation.
Here are the results using the default values and 64 convex hulls. Personally I think these are pretty good results and I don't see anything wrong with it. The approximation artifacts at the bottom of the cup are a result of taking a completely concave surface and approximating it as a limited subset of convex pieces.

If I increase the number of convex hulls dramatically, in this example all of the way up to 2000 hulls, you can see that the artifacts become smaller but still don't completely go away.

So, at this point I don't see anything actually 'wrong' here. A convex approximation is just that, an approximation. In the case of a highly concave object, short of creating hundreds of thousands of convex pieces, it is never going to fit exactly perfectly.

Thank you very much for your confirmation...!!
I have two questions.
First, is it possible to get xml and obj files when you increase the number of spheres to 2000?
I would like to run an accurate simulation of a container and spheres as shown below,
but I am having trouble getting the same simulation results as in the real environment
because the sphere is currently in contact with the unevenness of the container.
Therefore, I would like to check the simulation result with your detailed files.

Second, I would like to ask about the general method for "using highly concave objects" such as the containers used in this project.
I have learned about the use of V-HACD as a result of my research on the Internet,
but is there any other method that would be suitable for this case?
For example, is it possible to describe the container separately from the bottom and sides from the beginning?
I apologize that this is a very basic question, but I would be very grateful if you could reply.
Thank you in advance.

Well, the current version of the PhysX SDK just added support for signed distance fields (SDF) which provides pixel perfect accuracy for simulation of any triangle mesh. Unfortunately that is a GPU only feature at this time.
You will never get a perfectly smooth surface representation by using V-HACD (or any convex decomposition library).
Imagine a curved surface like that cup. You would need effectively an infinite number of convex pieces to create a smooth surface.
This is really just a limitation of this approach.

First, is it possible to get xml and obj files when you increase the number of spheres to 2000?

I'm not sure what you mean by this. The maximum number of convex hulls is just a parameter you pass into the library. The library itself needs to be integrated into whatever tool chain you are working on.

Here is an example of pushing the output to extreme limits. This screenshot has 8,340 convex pieces. As they get this tiny then the approximated surface gets smoother and smoother but it will never be perfect.
I used these command line parameters:
TestVHACD.exe .\meshes\cup.obj -v 10000000 -e 0.01 -h 100000 -d 18
-v 10000000 : Uses an insanely high voxel resolution of 10 million
-e 0.01 : Sets the allowed error tolerance very low
-h 10000 : Allows it to produce a massive number of output convex pieces
-d 18 : Let's the library recurse extremely deeply into the octree.

Hello, @jratcliff63367
Thank you so much for the detailed explanation...!!
I will check it out.
Please let me know if I may ask you again when I have any further questions...!
Once again, thank you very much.


Re-organise some components out of create for general use

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2864   👈

This comment was auto-generated by Graphite.


[upgrade by operator from 1.5.1 to 1.5.4] istio-ingressgateway Envoy is not Ready

Bug description
2020-07-06T07:10:22.579428Z     info    Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 0 successful, 0 rejected;
 lds updates: 0 successful, 0 rejected

the discovery-address is
--discoveryAddress="istio-pilot.istio-system.svc:15012"

but no svc named istio-pilot in my cluster, it may be chaned to istiod.
$ki get svc
NAME                        TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                                                    AGE
istio-citadel               ClusterIP   None         <none>        8060/TCP,15014/TCP                                         4h39m
istio-ingressgateway        ClusterIP   None         <none>        80/TCP,443/TCP                                             73d
istiod                      ClusterIP   None         <none>        15012/TCP,443/TCP                                          73d
jaeger-agent                ClusterIP   None         <none>        5775/UDP,6831/UDP,6832/UDP                                 73d
jaeger-collector-headless   ClusterIP   None         <none>        14250/TCP                                                  73d
kiali                       ClusterIP   None         <none>        20001/TCP                                                  73d
prometheus                  ClusterIP   None         <none>        9090/TCP                                                   73d

I added a istio-pilot svc to workaround it.
[ ] Configuration Infrastructure
[ ] Docs
[ x ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)

The root cause may the same as #25235


fix url resolving for multi admin sites

Coverage remained the same at 85.26% when pulling 9984a6c6dd16bf2737a8fe82a00f8db6c5428691 on bashu:patch-1 into 0bd6fd8afd13e5c4fb37ebb7a42d6f1e599ecf2e on edoburu:master.

Coverage remained the same at 85.26% when pulling 9984a6c6dd16bf2737a8fe82a00f8db6c5428691 on bashu:patch-1 into 0bd6fd8afd13e5c4fb37ebb7a42d6f1e599ecf2e on edoburu:master.

Thanks!


chore: add schema for ApisixUpstream

Please answer these questions before submitting a pull request
This Pull Request adds schema for ApisixUpstream.

Why submit this pull request?

[ ] Bugfix

[x] New feature provided

[ ] Improve performance

[ ] Backport patches

Related issues

Bugfix

Description

How to fix?

New feature or improvement

Describe the details and related test reports.

Backport patches

Why need to backport?

Source branch

Related commits and pull requests

Target branch

Codecov Report

Merging #407 (52e82f4) into master (3c6f911) will decrease coverage by 1.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #407      +/-   ##
==========================================
- Coverage   40.31%   39.18%   -1.14%
==========================================
  Files          39       40       +1
  Lines        3264     3300      +36
==========================================
- Hits         1316     1293      -23
- Misses       1785     1846      +61
+ Partials      163      161       -2

Impacted Files
Coverage Δ

pkg/apisix/cluster.go
29.95% <0.00%> (-6.29%)
:arrow_down:

pkg/apisix/route.go
33.33% <0.00%> (-2.23%)
:arrow_down:

pkg/kube/translation/ingress.go
90.90% <0.00%> (-0.54%)
:arrow_down:

pkg/ingress/apisix_tls.go
0.00% <0.00%> (ø)

pkg/ingress/controller.go
0.00% <0.00%> (ø)

pkg/ingress/apisix_route.go
0.00% <0.00%> (ø)

pkg/ingress/apisix_upstream.go
0.00% <0.00%> (ø)

pkg/kube/translation/plugin.go
100.00% <0.00%> (ø)

test/e2e/e2e.go

pkg/ingress/status.go
0.00% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


wrong monokai?

Haha, it  is the right monokai, the CDN that our themes are deployed to just uses a theme that highlights different parts for each color.
You can add themes to lib/constants that are available in CodeMirror.
For now, we will leave the current Monokai. Closing


Add minimist

minimist - parse argument options.
By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

I have revised some irregular places according to the guide, please have time to review, thank you very much. @sindresorhus

Going to pass on this. Minimist is no longer actively maintained. Yargs is a better alternative and already in the list.


Hue Bridge Configuration Function Not Working

When trying to configure connection to my Hue Bridge behavior is not consistent/as expected.
If I ask the app to 'find my hue bridge' I receive no feedback/response.
If I enter the IP manually and click "find hue bridge" it does not provide any response.
After entering IP manually If I click to another configuration tab like LIFX and then click back to Hue tab it now shows "Connect to Hue" and allows me to choose from Hue "Lights".  App will work in this manner.
In my case I have 2 hue strips configured as a hue group that I like to have the app control.  When I click the button for "Get Hue Groups" I receive the following: "Error Occurred Connect to Hue, please try again."
Running 5.5.17 on Windows 11 Enterprise Build 22621

log-2023010316.txt

What kind of bridge do you have? Does it show up in the Hue app on your phone?

I have the v2 Hue bridge.  My hue app can see and address each hue light individually or as a group (room).  The PresenceLight app can see each light individually and can update 1 light at a time.  For the last year plus I've had it configured to control the group (room) which controls 2 hue led strips.  When I had to reset my config recently now I can no longer get the 'get hue groups' function to work as mentioned above.

I am currently working on getting a new build. I have some backend/infra issues but will update when it is out there.

@jjjjjjjj99
Can you try the latest nightly?

@jjjjjjjj99 Can you try the latest nightly?

Sorry for the delay. I loaded the nightly build 5.5.41 today and behavior is better, but not sure it is fully resolved.  Now when I ask it to ("Get Hue Groups" using a local IP connection) I see a list of my groups vs the error message mentioned above.  However the first half a dozen times I tried to select a group it would not let me click on any group in the drop down list.  After I came to type a reply to you suddenly in the background it happened to 'pick' one of my groups and just happened to be the one I want sync to Teams... so now the sync is working for the moment as design, but not entirely sure how it happened.
The 'use remote api' still is not working for your awareness.  It authenticates me to the Philips website, but does not allow me to see/control any of my lights or groups (similar error message to above).

Can you take a video of this? I am not able to replicate


Not a diagram file error for draw.io file

Describe the bug
I am receiving a Not a Diagram File message when I am trying to open a draw.io file that I was using for a while. Nothing was touched and it just wouldn't open anymore. All other older files have opened just fine. Desktop and browser versions give the same result.
draw.io version (In the Help->About menu of the draw.io editor):

draw.io version 14.1.8

Desktop (please complete the following information):

OS: W10
Browser: Chrome

Is it possible to zip and attach it? If it's sensitive send it to<EMAIL_ADDRESS>

Is it possible to zip and attach it? If it's sensitive send it to<EMAIL_ADDRESS>

Hero.zip
Here's the attached file. Thanks!

Hero.zip
Here's the attached file. Thanks!

Hi, where did you save the diagram initially?

Hi, where did you save the diagram initially?

Thanks everyone, it turns out the file was corrupted the whole time. I was able to recover an earlier version and it opened fine.

Thanks everyone, it turns out the file was corrupted the whole time. I was able to recover an earlier version and it opened fine.


Help implementing this event handler

Hey folks, sorry once more if there is a better support channel for this. I'm trying to implement a callback for this event (is this a delegate?) and don't know how to go about it. I went as far as cracking open the generated code, but it's a bit obtuse:
                pub fn current_item_changed<
                    'a,
                    T0__: ::std::convert::Into<
                        ::winrt::Param<
                            'a,
                            super::super::foundation::TypedEventHandler<
                                MediaPlaybackList,
                                CurrentMediaPlaybackItemChangedEventArgs,
                            >,
                        >,
                    >,
                >(

I mean, I get in general what that does, but there are bunches of generics and conversions there, and I'm still not super familiar with the WinRT APIs. Things I've tried:
        self.playback_list.current_item_changed(|args| {
            println!("Got it!");
        });
...
        self.playback_list.current_item_changed(|this, args| {
            println!("Got it!");
        });

Help welcome. Thanks!

Hi Nolan,
Rust/WinRT doesn't yet automatically bind a lambda/closure to a delegate parameter. I intend to support this, but as of now you need to create the delegate yourself. It should look something like this:
list.current_item_changed(TypedEventHandler::new(|_sender, _args| {
    // do stuff here
    Ok(())
}))?;

Thanks, almost got it. I hope I can ask one more quick question. In my
callback I have:

letold_item=args.old_item()?;
letnew_item=args.new_item()?;
println!("Here: {:?}, {:?}", old_item, new_item);

And this shows things like:
Here: MediaPlaybackItem(Some(0x1d20fdbdc90)),
MediaPlaybackItem(Some(0x1d20fdbe410)) Here:
MediaPlaybackItem(Some(0x1d20fdbe410)), MediaPlaybackItem(None)
I.e. the last two media tracks appear sane. But how do I get at the
Option bundled there? I've tried *old_item, old_item.0 and a few
other things, but nothing seems to let me get at their contents. Trying
to determine when one or the other is assigned or None so I can take
appropriate action.
Thanks a bunch.

The println macro is not doing a great job of printing out the object since it only really knows that it holds a pointer to the underlying implementation. That happens to be modeled as an Option but that's not particularly important for your purposes.
According to the docs, both old_item and new_item return a MediaPlaybackItem object. As you can see, it has various properties that you can inspect.

That's what I thought initially too, but when I do:
old_item.source();`
I get this. Is it a known bug or should I file a new one?
thread ' <unnamed>' panicked at 'The `this` pointer was null when
calling method', C:\Users\Nolan
Darilek\projects\tts-rs\target\debug\build\tts_winrt_bindings-29a4e8928352f4d1\out/winrt.rs:90305:
26 stack backtrace: 0: backtrace::backtrace::trace_unsynchronized at
C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print_fmt at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\sys_common\backtrace.rs:78
2: std::sys_common::backtrace::_print::{{impl}}::fmt at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\sys_common\backtrace.rs
:59 3: core::fmt::write at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libcore\fmt\mod.rs
:1076 4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr> at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\io\mod.rs:1537
5: std::sys_common::backtrace::_print at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\sys_common\backtrace.rs:62
6: std::sys_common::backtrace::print at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\sys_common\backtrace.rs
:49 7: std::panicking::default_hook::{{closure}} at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\panicking.rs:
198 8: std::panicking::default_hook at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\panicking.rs:
217 9: std::panicking::rust_panic_with_hook at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\panicking.rs:
526 10: std::panicking::begin_panic_handler at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libstd\panicking.rs
:437 11: core::panicking::panic_fmt at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libcore\panicking.rs
:85 12: core::option::expect_failed at
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9\/src\libcore\option.rs:
1261 13:
core::option::Option<winrt::com::raw_ptr::NonNullRawComPtr<tts_winrt_bindings::windows::media::playback::IMediaPla
ybackItem>>::expect<winrt::com::raw_ptr::NonNullRawComPtr<tts_winrt_bindings::windows::media::playback::IMediaPlaybackI
tem>> at C:\Users\Nolan
Darilek\scoop\persist\rustup\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\l
ibcore\option.rs :344 14:
tts_winrt_bindings::windows::media::playback::MediaPlaybackItem::source
at .
\target\debug\build\tts_winrt_bindings-29a4e8928352f4d1\out\winrt.rs
:90304 15: tts::backends::winrt::{{impl}}::init_callbacks::{{closure}}
at .\src\backends\winrt.rs :75 16:
tts_winrt_bindings::windows::foundation::impl_TypedEventHandler<tts_winrt_bindings::windows::media::playback::Medi
aPlaybackList,
tts_winrt_bindings::windows::media::playback::CurrentMediaPlaybackItemChangedEventArgs,
closure-0>::invoke<tts_winrt_bindings: at .\
target\debug\build\tts_winrt_bindings-29a4e8928352f4d1\out\winrt.rs:
12200 17: DllCanUnloadNow 18: DllCanUnloadNow 19: DllCanUnloadNow 20:
DllCanUnloadNow 21: RtwqShutdown 22: RtwqShutdown 23:
RtwqAllocateSerialWorkQueue 24: RtlInitializeCriticalSection 25:
LdrAccessResource 26: BaseThreadInitThunk 27: RtlUserThreadStart ```

Presumably there may not be an "old item" so you may have to check before you try to use it. Perhaps something like this:
let old = args.old_item()?;

if !old.is_null() {
    let source = old.source()?;
}

The is_null method is available on the ComInterface trait so you may need to add:
use winrt::ComInterface;

I'm still considering a simpler syntax but hopefully that gets you unblocked for now.

Got it, thanks for pointing me to is_null. I assumed everything would
be an Option if nullable. I'll check that going forward.
Thanks for all your patient help.


No output in the output window when remote debug.

Environment data

Steps to reproduce:

Create a Python Application project
Type the code as following or the code you are desiring

from math import cos, radians

# Create a string with spaces proportional to a cosine of x in degrees
def make_dot_string(x):
    rad = radians(x)                             # cos works with radians
    numspaces = int(20 * cos(radians(x)) + 20)   # scale to 0-40 spaces
    st = ' ' * numspaces + 'o'                   # place 'o' after the spaces
    return st

def main():
    for i in range(0, 1800, 12):
        s = make_dot_string(i)
        print(s)

main()

Manage the environment, pip install ptvsd
Right-click the python environment and select "Open Command Prompt Here"
Execute:
a. python -m ptvsd -i [host ip] -p [port] <.py file>
Launch VS and Debug > Attach to Process, in dialog:
a. Select connection type with Python remote(ptvsd)
b. Connection target with <IP_ADDRESS>:4022
c. In Available processes list, select the appropriate python.exe, click "Attach"
Type enter in the console
a. Check that it stops at the breakpoint
Delete breakpoint to press F5 again, it will execute to the end of code.
Check the output window.

Expected behavior
The output result is displayed in the output window.
**Actual result **
No output in the output window.

Can't repo on latest
Version 16.9.0 Preview 3.0 [30811.11.main]