FancyZones - Zone Editor

I'll start with the obvious and very much requested multi-monitor zone editing support.
Users can see that predefined full-monitor zones are present on additional displays but sadly there doesn't seem to be a way for users to customise zones on them.
I would suggest adding a "Choose affected monitor" at the top of the zone editor which will list all available system displays and, depending on the selected display, will allow the user to pick and/or edit the layout to apply to the display.

Adding the ability to fine tune zone sizes by allowing a user to specify the pixel width/height values would be a welcome addition for all those OCD users out there (guilty =P ).
A simple set of integer fields in the middle of each zone to capture width/height values would be perfect (unless you can think of a more elegant solution).

I've noticed that when setting "Space around zones" to "0", the zone edges become completely invisible when clicking "Edit selected layout" (but still have a visual cue with a layout selected prior to entering the editing mode), which make it very difficult to get an idea of what your layout looks like by only relying of the circular blue resizing handles.
Please ensure that the edge visual cue is also visible when editing.

Thank you very much for the already incredible work =)

https://github.com/microsoft/PowerToys/issues/247

Upvoting this for #2. I really want to fine-tune the zones.

For #2, a temporary workaround is to attack the registry directly: each custom zone can be found in HKCU/Software/SuperFancyZones/Layouts. If you have a layout of "00 01 00 03 07 80 06 10 01 00 00 00 00 07 80 04 10", it van be read as:

00 01 00 03 07 80 06: info about screen geometry. Do not touch.
10: ?
01: the number of zones, just one here.

You'll then have four dwords for each zone ("00 00 00 00 07 80 04 10"), that's where you'll want to fine tune:
the first four are X & Y coordinates for the upper left corner of the zone : "00 00" and "00 00", obviously are 0 & 0. If you want the zone to start at coordinates 450px/200px, you'll have to convert to hexa: 01 C4 (450) & 00 C8 (200).
The second group of four is the size of the zone, once again in hexa: 07 80 = 1920px; 04 10 = 1040px.
So if you want a 800x600 zone starting 450 pixels on the left and 200 pixels from the top: 01 C4 00 C8 03 20 02 58.

I'd definitely like to see the ability to fine tune the zones, with magnet snapping/screen coordinates/grid  system (aka http://windowgrid.net/)

From #768, have the editor show the zone #'s more clearly.

@Cynicster

and 3. are now fixed.
Since we are tracking 2. by https://github.com/microsoft/PowerToys/issues/463 I'm closing this issue.
Thank you for your feedback.


Queue handling freeze

With a single-element queue, the program will freeze if a second event is attempted to be queued before the first one is handled by the scan thread during a bookmark scan. In the past, the events could "buffer up", and the scan thread would handle them in succession when it ran its periodic queue processing code. That logic will need to be changed.
To reproduce, run a bookmark scan and toggle a checkbutton rapidly.
Note it doesn't seem to occur during a frequency scan, so either the bookmark code exposes bug somewhere else, or has a bug itself that the single-element queue exposes.

The put call in send_to_child() in QueueueComms is blocking when the queue is full (there's an unhandled event update), which understandably halts the main thread.  The scan thread halts as well, though, which means the main thread never unblocks. I'm not sure why that's happening. Seems like the scan thread should eventually clear the queue, the main thread call succeeds and we carry on. At worst you'd have a momentary freeze of the GUI. But something is blocking the scan thread too.
Anyway, we can fix the immediate problem by making the put calls non-blocking, but then we'll have to ensure that the program logic can handle the queue, rather than the queue handling itself.

Are we missing the task_done() call somewhere?
Simone Marzona
Linux registered user number: 509183
PGP key ID: 1024D/36F88CC3
Star Trek (2009):
Burly Cadet #1: Hey farmboy. Maybe you can't count. But there are four
of us and one of you.
James T. Kirk: So get some more guys and then it'll be an even fight
On Apr 26, 2016 09:11, "MaineTim"<EMAIL_ADDRESS>wrote:

The put call in send_to_child() in QueueueComms is blocking when the queue
is full (there's an unhandled event update), which understandably halts the
main thread. The scan thread halts as well, though, which means the main
thread never unblocks. I'm not sure why that's happening. Seems like the
scan thread should eventually clear the queue, the main thread call
succeeds and we carry on. At worst you'd have a momentary freeze of the
GUI. But something is blocking the scan thread too.
Anyway, we can fix the immediate problem by making the put calls
non-blocking, but then we'll have to ensure that the program logic can
handle the queue, rather than the queue handling itself.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/Marzona/rig-remote/issues/40#issuecomment-214663129

I don't actually understand why we need to queue more than one event..but I
didn't dive deep on this.
Simone Marzona
Linux registered user number: 509183
PGP key ID: 1024D/36F88CC3
Star Trek (2009):
Burly Cadet #1: Hey farmboy. Maybe you can't count. But there are four
of us and one of you.
James T. Kirk: So get some more guys and then it'll be an even fight
On Apr 26, 2016 09:11, "MaineTim"<EMAIL_ADDRESS>wrote:

The put call in send_to_child() in QueueueComms is blocking when the queue
is full (there's an unhandled event update), which understandably halts the
main thread. The scan thread halts as well, though, which means the main
thread never unblocks. I'm not sure why that's happening. Seems like the
scan thread should eventually clear the queue, the main thread call
succeeds and we carry on. At worst you'd have a momentary freeze of the
GUI. But something is blocking the scan thread too.
Anyway, we can fix the immediate problem by making the put calls
non-blocking, but then we'll have to ensure that the program logic can
handle the queue, rather than the queue handling itself.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/Marzona/rig-remote/issues/40#issuecomment-214663129

I think a task_done is only needed when there's been a join call to clear, isn't it?

I don't actually understand why we need to queue more than one event.
Because there's no synchronization between the threads, and there doesn't really need to be if the queue is acting as buffer. The event update processing on the scan thread side isn't time critical.

hello Tim,
you' re right.
On Tue, Apr 26, 2016 at 9:21 AM, MaineTim<EMAIL_ADDRESS>wrote:

I think a task_done is only needed when there's been a join call to clear,
isn't it?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Marzona/rig-remote/issues/40#issuecomment-214665134

--
Simone Marzona
Linux registered user number: 509183
PGP key ID: 1024D/36F88CC3
Star Trek (2009):
Burly Cadet #1: Hey farmboy. Maybe you can't count. But there are four
of us and one of you.
James T. Kirk: So get some more guys and then it'll be an even fight.

Why don't we roll back to commit 98580b2, and I'll add back in the one mod that corrects queue checking in the main thread, and then re-think from there.

Sounds a good plan.
Simone Marzona
Linux registered user number: 509183
PGP key ID: 1024D/36F88CC3
Star Trek (2009):
Burly Cadet #1: Hey farmboy. Maybe you can't count. But there are four
of us and one of you.
James T. Kirk: So get some more guys and then it'll be an even fight
On Apr 26, 2016 16:20, "MaineTim"<EMAIL_ADDRESS>wrote:

Why don't we roll back to commit 98580b2
https://github.com/Marzona/rig-remote/commit/98580b2dd87ba4e83f966d809219fd3ec5f7e7c2,
and I'll add back in the one mod that corrects queue checking in the main
thread, and then re-think from there.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Marzona/rig-remote/issues/40#issuecomment-214780707

Okay, I'll do it now.


Error: No default engine was specified and no extension was provided.

Hi,
when i run caterpillar-core i get this error:

Error: No default engine was specified and no extension was provided.
at new View (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\view.js:62:11)
at Function.render (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\application.js:569:12)
at ServerResponse.render (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\response.js:961:7)
at C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\out\app.js:43:9
at Layer.handle_error (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\layer.js:71:5)
at trim_prefix (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\index.js:310:13)
at C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\index.js:280:7
at Function.process_params (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\index.js:330:12)
at next (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\index.js:271:10)
at Layer.handle_error (C:\Users\Lenovo\Caterpillar-master\v1.0\caterpillar-core\node_modules\express\lib\router\layer.js:73:5)

Thanks for your help.

I am facing the same issue.

I am running caterpillar-core v2.0. Stuck with "name2Ids is not defined error".
DEPLOYING MODEL ...
(node:5912) UnhandledPromiseRejectionWarning: Error: ReferenceError: ejs:308
306|     if (is(node, 'bpmn:ServiceTask')) { -%>
307|     // <%= nodeName(node.id) %>

308|     function <%= nodeName(node.id) %>_callbak (uint reqId<%= concatParameters(name2Ids.get(nodeName[0]), false, true, true) %>) external returns(bool) {
309|         require(msg.sender == oracleAddresses[<%= flowNodeIndex(node.id) %>]);
310|         uint index = uint(1) << reqId;
311|         if(requestedID[<%= nodeRealIndex(node.id) %>] & index == index) {

name2Ids is not defined
at C:\Data\Projects\Caterpillar-master\v2.0\caterpillar-core\out\models\models.parsers.js:1259:19
at
(node:5912) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:5912) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

My further analysis.
Filename: Caterpillar-master\v2.0\caterpillar-core\templates\bpmn2sol.ejs
line number: 308
Variable "name2Ids" is not defined in the file.
Whilst I look in the issue for more details - if there is anything missing from my end. Kindly let me know.

Dear Developers,
thank you for your work.
I'm currently involved in a project from my university where I have to use your software. Unfortunately, my team and I are getting the error from above. At this point, we run out of ideas how to fix this problem by our one. Can please give us a hint?
Thank you in advance!

This seems to be a compatibility problem with the libraries used by the engine, or some step skipped on the setup of the application. The causes may vary, so I need more information about the steps performed.

Hi, I followed @Ferandal method to change the res.render to res.json. However, I got another issue {"message":"Not Found","error":{"status":404}}. Do you have any clue for that?

Same issue happens to me. Any solution find for now? @ZeshunShi @MacOS

It just doesn't work does it?

It just doesn't work does it?

Actually, we managed to get it to work. Unfortunately, we did not write it down.

Actually, we managed to get it to work. Unfortunately, we did not write it down.

Actually, we managed to get it to work. Unfortunately, we did not write it down.

Can you please try to remember ? i need to use Caterpillar for a University Project and i cannot get past this problem.


convert to symbol in MyAnimeListScrapeWorker

This will fix a lot of our failed Sidekiq workers

Wow where do we even screw this one up but otherwise :+1: though I guess we should fix whatever is making the issues

Yeah, we do pass it as a symbol but I assume Sidekiq doesn't care.


Fixes #1002. Added a AutoSize property to the View class.

Sorry I forgot to create a new branch for this PR.


[MRG] return peak amp in get_peak()

Closes #4575

looks good but see why CIs complain

I forgot to fix one call to the private _get_peak() whose call signature changed

Codecov Report

Merging #4718 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4718      +/-   ##
==========================================
+ Coverage   87.83%   87.83%   +<.01%
==========================================
  Files         349      349
  Lines       65756    65759       +3
  Branches    11309    11310       +1
==========================================
+ Hits        57759    57762       +3
  Misses       5128     5128
  Partials     2869     2869

Travis build stalled, is it related to the PR or not?

ok I restarted it

still doesn't run...

Hooray. Someone please review + merge.

There you go.

Live and learn :)

Yes, the many peculiarities of Sphinx/numpydoc/ReST ...

All better https://6333-1301584-gh.circle-artifacts.com/0/tmp/circle-artifacts.FVJWtJk/html/generated/mne.Evoked.html#mne.Evoked.get_peak
+1 for merge once CIs are happy

fine with me

Thanks @jjnurminen


ARROW-2280: [Python] Return the offset for the buffers in pyarrow.Array

+1. Travis CI failure is unrelated. Appveyor build looking fine: https://ci.appveyor.com/project/xhochy/arrow/build/1.0.623


Mixing ui.download_button() with render.downlaod breaks render.download

In Express if you define a download button with a render.download decorator the second button fails to work.  Is there a reason to have ui.download_button in Express at this point?
ui.download_button("dl1", "Download")

@render.download(label="Download text", filename="hello.txt")
def dl1():
    yield "Hello, world!\n"

This is the same issue as with all the other output functions, for example:
ui.output_text("txt")

@render.text()
def txt():
    return "Hi"

Once we update the shiny.js assets to get the latest from rstudio/shiny, that will bring in the error console, which will display output name conflicts.


Bug 2029744: pool: file: object: clean up stop health checkers

Clean up the code used to stop health checkers for all controllers
(pool, file, object). Health checkers should now be stopped when
removing the finalizer for a forced deletion when the CephCluster does
not exist. This prevents leaking a running health checker for a resource
that is going to be imminently removed.
Also tidy the health checker stopping code so that it is similar for all
3 controllers. Of note, the object controller now uses namespace and
name for the object health checker, which would create a problem for
users who create a CephObjectStore with the same name in different
namespaces.
Signed-off-by: Blaine Gardner<EMAIL_ADDRESS>(cherry picked from commit 03ba7dec640dc3f1c944c57f28ff0852c5f19c5b)
(cherry picked from commit 1af302fe683faaf7a1ed3faac32e28ee2921e858)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
[ ] Skip Tests for Docs: Add the flag for skipping the build if this is only a documentation change. See here for the flag.
[ ] Skip Unrelated Tests: Add a flag to run tests for a specific storage provider. See test options.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.
[ ] Pending release notes updated with breaking and/or notable changes, if necessary.
[ ] Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
[ ] Code generation (make codegen) has been run to update object specifications, if necessary.

/approve
/lgtm

/hold
4.9.4 is not open yet

/hold cancel


A small suggestion

For the convenience of players from different regions to access, may I ask if it is convenient for you to replace the jQuery link with
https://code.jquery.com/jquery-3.7.1.min.js

thanks


Support setting NodeToolbar to "Position.Center"

Please describe the feature that you want to propose
We are using React Flow for a visualization where every node has a related toolbar on activation, however the toolbar is designed to encircle the node itself. This came from our designers as a way to make the toolbars focused on a specific node, which is important with being able to open multiple in our visualization. Anyways, in order to support this we extended the base NodeToolbar to support a Postion.Center option.
We thought this functionality may be useful to other developers using React Flow and wanted to pass along how we did this. If the maintainers of React Flow are interested our organization can see about putting up a PR against the xyflow branch to have this introduced for the v12 release. Otherwise the code we used to achieve this is included below, please note that for our use case we made the Postion.Center the new default for the NodeToolbar but this could easily be left as is to prevent breaking changes for existing users of the library.
// Changes in packages/node-toolbar/src/NodeToolbar.tsx

function getTransform(nodeRect: Rect, transform: Transform, position: Position, offset: number, align: Align): string {
  let alignmentOffset = 0.5;

  if (align === 'start') {
    alignmentOffset = 0;
  } else if (align === 'end') {
    alignmentOffset = 1;
  }

  // position === Position.Center
  // We introduced a case for Position.Center. (and replaced Position.TOP as the default position)
  // This change allows the toolbar to be centered within the node.
  // The positioning calculation is similar to the original, but with tweaks to the x and y coordinates and shift percentages for centering.
  // we set the x any y position of the toolbar based on the nodes position
  let pos = [
    (nodeRect.x + nodeRect.width * alignmentOffset) * transform[2] + transform[0],
    (nodeRect.y + nodeRect.height * alignmentOffset) * transform[2] + transform[1],
  ];
  // and than shift it based on the alignment. The shift values are in %.
  let shift = [-100 * alignmentOffset, -100 * alignmentOffset];

  switch (position) {
    case Position.Top:
      pos = [
        (nodeRect.x + nodeRect.width * alignmentOffset) * transform[2] + transform[0],
        nodeRect.y * transform[2] + transform[1] - offset,
      ];
      shift = [-100 * alignmentOffset, -100];
      break;
    case Position.Right:
      pos = [
        (nodeRect.x + nodeRect.width) * transform[2] + transform[0] + offset,
        (nodeRect.y + nodeRect.height * alignmentOffset) * transform[2] + transform[1],
      ];
      shift = [0, -100 * alignmentOffset];
      break;
    case Position.Bottom:
      pos[1] = (nodeRect.y + nodeRect.height) * transform[2] + transform[1] + offset;
      shift[1] = 0;
      break;
    case Position.Left:
      pos = [
        nodeRect.x * transform[2] + transform[0] - offset,
        (nodeRect.y + nodeRect.height * alignmentOffset) * transform[2] + transform[1],
      ];
      shift = [-100, -100 * alignmentOffset];
      break;
  }

  // We introduced a scaling factor to the transform returned by this function.
  // This modification enables the toolbar to scale using the scale CSS function, based on the third element of the transform array, which represents scale
  // Unlike the original transform, which only included translations for position and shift, this change enables
  // dynamic adjustment of the toolbar's size, ensuring that zoom does not affect our component.
  return `translate(${pos[0]}px, ${pos[1]}px) translate(${shift[0]}%, ${shift[1]}%) scale(${transform[2]})`;
}

Type adjustments for NodeToolbar:
// Changes in packages/node-toolbar/src/types.ts

type Align = 'center' | 'start' | 'end';

enum Position {
  Left = 'left',
  Top = 'top',
  Right = 'right',
  Bottom = 'bottom',
  Center = 'center',
}

Screenshot of the functionality:

Feel free to decline this change if it is not something React Flow desires, we just wanted to contribute back as this library has been very effective for our project.

Upvoting this one!

This one will be really useful +1


Sync react version with react-dom

Upgrade React to 18.3.x

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.

Many Thanks for your contribution


Bitwise Calculator

This calculator takes two decimal numbers as input and can interpret the bitwise AND, bitwise OR and bitwise XOR.

I want to work on this issue under JWOC.

@S-ishita Go for it. All the best. No need to show inputs in binary. Make the output result in Decimal.

i want to work on this issue under JWoc

Please assign me this issue under JWOC


Optimize build with Next.js 9.3 and preact

This PR updates to Next.js 9.3 and optimizes bundle size by switching to Preact. Also removed unnecessary day.js locales that have been included in the build.
Reduces average page load size by ~30% and pushes lighthouse performance rating to 95%

fixes #242
fixes #243

:boom:
Nice work @DominikGuzei . I've merged the work from #246


[ISSUE] spring-security-web-login not available

Per documentation, I just cloned the project and
mvn cargo:run

Here is the console:

Did I miss something?

Hey, @saraswat40.
Please include a link to the article you're referring to so we can take a look.

It is this one:

Thanks, @saraswat40.
We'll look into this. This issue will remain open until then.


Crash due to incorrect object destruction order

Title: Crash due to incorrect object destruction order
Description:
I am doing secondary development based on envoy to support the Dubbo protocol. I have a crash problem. I found that ConnectionImpl will destruct filter_manager_ when destructuring, and filter_manager_ will destruct the Dubbo filter I wrote. When Dubbo filter is destructed, ConnectionImpl::fd is called, and this function uses the socket_ of ConnectionImpl, but socket_ has been destructed beforefilter_manager_.
https://github.com/envoyproxy/envoy/blob/master/source/common/network/connection_impl.h#L137
IMO: The filter_manager_ should be destructed earlier than socket_.
I don't know if my understanding is correct. If it is not correct, please give me some suggestions.
Call Stack:
(gdb) bt
#0  0x00000000009d3c82 in Envoy::Network::ConnectionImpl::fd (this=0x3585500) at bazel-out/k8-dbg/bin/source/common/network/_virtual_includes/connection_lib/common/network/connection_impl.h:106
#1  <function called from gdb>
#2  0x00000000009d3c82 in Envoy::Network::ConnectionImpl::fd (this=0x3585500) at bazel-out/k8-dbg/bin/source/common/network/_virtual_includes/connection_lib/common/network/connection_impl.h:106
#3  0x0000000000a83567 in Envoy::Network::ConnectionImpl::state (this=0x3585500) at source/common/network/connection_impl.cc:163
#4  0x00000000006a38a7 in Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager::sendLocalReply (this=0x3093ae0, metadata=..., response=..., end_stream=true) at source/extensions/filters/net
work/dubbo_proxy/conn_manager.cc:107
#5  0x000000000069544f in Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage::sendLocalReply (this=0x3145800, response=..., end_stream=true) at source/extensions/filters/network/dubbo_proxy/a
ctive_message.cc:249
#6  0x0000000000694266 in Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessageDecoderFilter::sendLocalReply (this=0x2f91a70, response=..., end_stream=true) at source/extensions/filters/network/
dubbo_proxy/active_message.cc:114
#7  0x000000000068c5dc in Envoy::Extensions::NetworkFilters::DubboProxy::Router::Router::UpstreamRequest::onResetStream (this=0x39cb620, reason=Envoy::Tcp::ConnectionPool::LocalConnectionFailure)
    at source/extensions/filters/network/dubbo_proxy/router/router_impl.cc:259
#8  0x000000000068b76c in Envoy::Extensions::NetworkFilters::DubboProxy::Router::Router::onEvent (this=0x300fb90, event=Envoy::Network::LocalClose) at source/extensions/filters/network/dubbo_proxy/rout
er/router_impl.cc:137
#9  0x0000000000cc370e in Envoy::Tcp::ConnPoolImpl::ActiveConn::onEvent (this=0x60fe500, event=Envoy::Network::LocalClose) at source/common/tcp/conn_pool.cc:436
#10 0x0000000000a84343 in Envoy::Network::ConnectionImpl::raiseEvent (this=0x35e7880, event=Envoy::Network::LocalClose) at source/common/network/connection_impl.cc:329
#11 0x0000000000a83755 in Envoy::Network::ConnectionImpl::closeSocket (this=0x35e7880, close_type=Envoy::Network::LocalClose) at source/common/network/connection_impl.cc:194
#12 0x0000000000a831a2 in Envoy::Network::ConnectionImpl::close (this=0x35e7880, type=Envoy::Network::NoFlush) at source/common/network/connection_impl.cc:110
#13 0x000000000068c01b in Envoy::Extensions::NetworkFilters::DubboProxy::Router::Router::UpstreamRequest::resetStream (this=0x39cb620) at source/extensions/filters/network/dubbo_proxy/router/router_imp
l.cc:195
#14 0x000000000068a61d in Envoy::Extensions::NetworkFilters::DubboProxy::Router::Router::onDestroy (this=0x300fb90) at source/extensions/filters/network/dubbo_proxy/router/router_impl.cc:17
#15 0x00000000006948a9 in Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage::~ActiveMessage (this=0x3145800, __in_chrg=<optimized out>) at source/extensions/filters/network/dubbo_proxy/activ
e_message.cc:148
#16 0x00000000006949fe in Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage::~ActiveMessage (this=0x3145800, __in_chrg=<optimized out>) at source/extensions/filters/network/dubbo_proxy/activ
e_message.cc:150#17 0x00000000006a4a8e in std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage>::operator() (this=0x3da7f30, __ptr=0x3145800) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linu
x-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:76#18 0x00000000006a41b3 in std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> >::~unique_ptr
(this=0x3da7f30, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:239#19 0x00000000006a4eb6 in std::_List_node<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage>
 > >::~_List_node (this=0x3da7f20, __in_chrg=<optimized out>)    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:106
#20 0x00000000006a4ed6 in __gnu_cxx::new_allocator<std::_List_node<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::D
ubboProxy::ActiveMessage> > > >::destroy<std::_List_node<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy:
:ActiveMessage> > > > (this=0x3093b28, __p=0x3da7f20)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/ext/new_allocator.h:124
#21 0x00000000006a49d2 in std::__cxx11::_List_base<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::Activ
eMessage> >, std::allocator<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> > > >::_M_clear (this=0x3093b28) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/list.tcc:75
#22 0x00000000006a3ffc in std::__cxx11::_List_base<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> >, std::allocator<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> > > >::~_List_base (this=0x3093b28, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:446
#23 0x00000000006a3ed4 in std::__cxx11::list<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> >, std::allocator<std::unique_ptr<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage, std::default_delete<Envoy::Extensions::NetworkFilters::DubboProxy::ActiveMessage> > > >::~list (this=0x3093b28, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:507
#24 0x00000000006a2ea4 in Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager::~ConnectionManager (this=0x3093ae0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at bazel-out/k8-dbg/bin/source/extensions/filters/network/dubbo_proxy/_virtual_includes/conn_manager_lib/extensions/filters/network/dubbo_proxy/conn_manager.h:30
#25 0x00000000006867b7 in __gnu_cxx::new_allocator<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager>::destroy<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager> (this=0x3093ae0, __p=0x3093ae0)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/ext/new_allocator.h:124
#26 0x0000000000686483 in std::allocator_traits<std::allocator<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager> >::destroy<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager> (__a=..., __p=0x3093ae0)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/alloc_traits.h:542
#27 0x00000000006860c1 in std::_Sp_counted_ptr_inplace<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager, std::allocator<Envoy::Extensions::NetworkFilters::DubboProxy::ConnectionManager>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x3093ad0)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/shared_ptr_base.h:531
#28 0x00000000004205b2 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x3093ad0) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/shared_ptr_base.h:150
#29 0x000000000041f5c1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x33ad828, __in_chrg=<optimized out>) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/shared_ptr_base.h:659
#30 0x000000000067e6f8 in std::__shared_ptr<Envoy::Network::ReadFilter, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x33ad820, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/shared_ptr_base.h:925
#31 0x000000000067e714 in std::shared_ptr<Envoy::Network::ReadFilter>::~shared_ptr (this=0x33ad820, __in_chrg=<optimized out>) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/shared_ptr.h:93
#32 0x0000000000a8d8a8 in Envoy::Network::FilterManagerImpl::ActiveReadFilter::~ActiveReadFilter (this=0x33ad800, __in_chrg=<optimized out>) at bazel-out/k8-dbg/bin/source/common/network/_virtual_includes/filter_manager_lib/common/network/filter_manager_impl.h:52
#33 0x0000000000a8d8e8 in Envoy::Network::FilterManagerImpl::ActiveReadFilter::~ActiveReadFilter (this=0x33ad800, __in_chrg=<optimized out>) at bazel-out/k8-dbg/bin/source/common/network/_virtual_includes/filter_manager_lib/common/network/filter_manager_impl.h:52
#34 0x0000000000a8ba9a in std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter>::operator() (this=0x3554bd0, __ptr=0x33ad800) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:76
#35 0x0000000000a8b4a5 in std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> >::~unique_ptr (this=0x3554bd0, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:239
#36 0x0000000000a8ab72 in std::_List_node<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > >::~_List_node(this=0x3554bc0, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:106
#37 0x0000000000a8ab92 in __gnu_cxx::new_allocator<std::_List_node<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > > >::destroy<std::_List_node<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > > > (this=0x3585538, __p=0x3554bc0) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/ext/new_allocator.h:124
#38 0x0000000000a890e6 in std::__cxx11::_List_base<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> >, std::allocator<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > > >::_M_clear (this=0x3585538) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/list.tcc:75
#39 0x0000000000a884f8 in std::__cxx11::_List_base<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> >, std::allocator<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > > >::~_List_base (this=0x3585538, __in_chrg=<optimized out>) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:446
#40 0x0000000000a878c2 in std::__cxx11::list<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFilter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> >, std::allocator<std::unique_ptr<Envoy::Network::FilterManagerImpl::ActiveReadFil---Type <return> to continue, or q <return> to quit---
ter, std::default_delete<Envoy::Network::FilterManagerImpl::ActiveReadFilter> > > >::~list (this=0x3585538, __in_chrg=<optimized out>) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_list.h:507
#41 0x0000000000a882a2 in Envoy::Network::FilterManagerImpl::~FilterManagerImpl (this=0x3585518, __in_chrg=<optimized out>) at bazel-out/k8-dbg/bin/source/common/network/_virtual_includes/filter_manager_lib/common/network/filter_manager_impl.h:39
#42 0x0000000000a82d61 in Envoy::Network::ConnectionImpl::~ConnectionImpl (this=0x3585500, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at source/common/network/connection_impl.cc:72

#43 0x0000000000a82e16 in Envoy::Network::ConnectionImpl::~ConnectionImpl (this=0x3585500, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at source/common/network/connection_impl.cc:81
#44 0x0000000000a6fba2 in std::default_delete<Envoy::Network::Connection>::operator() (this=0x3d054e8, __ptr=0x3585828) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:76
#45 0x0000000000a6e753 in std::unique_ptr<Envoy::Network::Connection, std::default_delete<Envoy::Network::Connection> >::~unique_ptr (this=0x3d054e8, __in_chrg=<optimized out>)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:239
#46 0x0000000000a6bafd in Envoy::Server::ConnectionHandlerImpl::ActiveConnection::~ActiveConnection (this=0x3d054c0, __in_chrg=<optimized out>) at source/server/connection_handler_impl.cc:259

#47 0x0000000000a6bb56 in Envoy::Server::ConnectionHandlerImpl::ActiveConnection::~ActiveConnection (this=0x3d054c0, __in_chrg=<optimized out>) at source/server/connection_handler_impl.cc:263

#48 0x000000000048ece0 in std::default_delete<Envoy::Event::DeferredDeletable>::operator() (this=0x53f0710, __ptr=0x3d054c0) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:76
#49 0x0000000000a77151 in std::unique_ptr<Envoy::Event::DeferredDeletable, std::default_delete<Envoy::Event::DeferredDeletable> >::reset (this=0x53f0710, __p=0x3d054c0)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/unique_ptr.h:347
#50 0x0000000000a74ed9 in Envoy::Event::DispatcherImpl::clearDeferredDeleteList (this=0x2ed0c60) at source/common/event/dispatcher_impl.cc:68
#51 0x0000000000a747dd in Envoy::Event::DispatcherImpl::<lambda()>::operator()(void) const (__closure=0x2ed0d98) at source/common/event/dispatcher_impl.cc:35
#52 0x0000000000a7626f in std::_Function_handler<void(), Envoy::Event::DispatcherImpl::DispatcherImpl(Envoy::Event::TimeSystem&, Envoy::Buffer::WatermarkFactoryPtr&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/functional:1871
q#53 0x00000000004f0406 in std::function<void ()>::operator()() const (this=0x2ed0d98) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/functional:2267
#54 0x0000000000a7c6c5 in _ZZN5Envoy5Event9TimerImplC4ERNS_9CSmartPtrI10event_baseXadL_Z15event_base_freeEEEESt8functionIFvvEEENKUlisPvE_clEisS9_ () at source/common/event/timer_impl.cc:14
#55 0x0000000000a7c6f4 in _ZZN5Envoy5Event9TimerImplC4ERNS_9CSmartPtrI10event_baseXadL_Z15event_base_freeEEEESt8functionIFvvEEENUlisPvE_4_FUNEisS9_ () at source/common/event/timer_impl.cc:14
#56 0x00000000010bc6c8 in event_process_active_single_queue (base=base@entry=0x2e3e840, max_to_process=max_to_process@entry=2147483647, endtime=endtime@entry=0x0, activeq=<optimized out>) at ../event.c:1646
#57 0x00000000010bcc2f in event_process_active (base=0x2e3e840) at ../event.c:1738
#58 event_base_loop (base=0x2e3e840, flags=0) at ../event.c:1961
#59 0x0000000000a75f86 in Envoy::Event::DispatcherImpl::run (this=0x2ed0c60, type=Envoy::Event::Dispatcher::Block) at source/common/event/dispatcher_impl.cc:161
#60 0x0000000000a67b9b in Envoy::Server::WorkerImpl::threadRoutine (this=0x2f3e4e0, guard_dog=...) at source/server/worker_impl.cc:101
#61 0x0000000000a6752e in Envoy::Server::WorkerImpl::<lambda()>::operator()(void) const (__closure=0x2f3fda0) at source/server/worker_impl.cc:74
#62 0x0000000000a68bfb in std::_Function_handler<void(), Envoy::Server::WorkerImpl::start(Envoy::Server::GuardDog&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
    at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/functional:1871
#63 0x00000000004f0406 in std::function<void ()>::operator()() const (this=0x2f3fda0) at /usr/local/gcc54/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/functional:2267
#64 0x00000000010c61b2 in _ZZN5Envoy6Thread6ThreadC4ESt8functionIFvvEEENKUlPvE_clES5_ () at source/common/common/thread.cc:21
#65 0x00000000010c61d7 in _ZZN5Envoy6Thread6ThreadC4ESt8functionIFvvEEENUlPvE_4_FUNES5_ () at source/common/common/thread.cc:23
#66 0x00007ffff71b0e25 in start_thread () from /lib64/libpthread.so.0
#67 0x00007ffff6bdb34d in clone () from /lib64/libc.so.6

@zyfjeff yeah this sounds like an order of destruction bug. I can't think of any reason not to rearrange. Can you fix?

@zyfjeff No problem, I will fix it.

Do we also want to change the Buffer stuff in ConnectionImpl as well? Ultimately the reason for the issue in ordering is that we have a bit of a circular dependency -- filter_manager_ depends on this, which means that there isn't a nice construction order that would guarantee this type of issue is impossible. All we can do is ensure that the portions of this that _filter_manager_ depends on are declared prior to it. One of those is socket_. The other is anything used by ConnectionImpl's BufferSource interface, which I think is read_* and current_write_*

@klarose Agree, I will add to my PR.


Handle backward for animation track

I was facing an issue on my project when trying to play animation track backward:

I fixed it by using the animation length to search for position in AnimationTrack:

Before cleaning this and make the proper mege:

[ ] Evaluate conflicts with #56645
[ ] Fix behavior on ping pong mode with sub animation overlapping end
[ ] Clear the get_key_indices_in_range methods
[ ] Find proper way to access duration set when looking for position in sub animation

For the get_key_indices_in_range i'm thinking of a global refactoring because i don't get most of the parameters that are passed (pingponged...). It looks like this should behave always the same no matter what the play mode is. Maybe i'm missing something.

For the issue with animation overlapping the end and the pingpong mode:
https://github.com/godotengine/godot/blob/9b014c49ba4c66a4cd376633f51d3707680c2503/scene/animation/animation_player.cpp#L983-L993
Could this be done using play and play_backward to factorize behavior ?

I think this is more of an enhancement than a bug.
The SubAnimationPlayer is playing forward even though the MasterAnimationPlayer is playing backward. Currently, however, AnimationPlaybackTrack is consistent in that it just fires playback at its first of the keyframe.
I agree that it would be ideal if the Animation called by AnimationPlaybackTrack also played backwards. However, if we want full consistency in the AnimationPlaybackTrack, I think we need to adapt not only the reverse playback of the AnimationPlayer, but also the TimeScale and Seek of the AnimationTree.
In my opinion, the algorithm for getting keys does not need to be changed so much, but the AnimationPlaybackTrack process needs to be refactored.

@TokageItLab I think the behavior you are describing (one shot animation trigger) can be done using the method track. If the audio and animation specific track exist it's to handle properly this specific type of long duration event.
The UI displaying the full length of animation and audio emphasis this.
I think both backward and seeking specific position should be handle properly to be coherent.
I agree that the implementation should not be done in the find_key methods. My idea while refactoring would be to simplify this part to really represent the seek frame. We would only refactor the keys set passed to find_key based on the play mode (playing forward would pass the standard key, playing backward would pass a set of key with the end of animation as time).
Once this is done for animation I think the same should be done for audio (playing audio backward may be another challenge here)

I agree that MethodTrack provides more precise control over the OneShot playback process.
However, AudioTrack and AnimationPlaybackTrack are easier and safer than MethodTrack because they internally implement cues to prevent multiple playback. For example, there is a project that uses AudioTrack for footsteps such, but reverse playback of the audio could break it.
I think this improvement is a good thing. But I recommend keeping the previous behavior as an option for compatibility. (It would be more ideal if track options could change the appearance of the keys, similar to the piano roll and drum editor in DAW software.)

Looking more into this, i think the whole AnimationTrack and key sets are overly complicated. I'm turning that into a refactor of that part that will handle the backward in design. I may close this when submitting the new branch.


Is enabling "parallel mode" only recommended for hi_res strategy?

Describe the bug
I'm playing around with parallel mode and the fast strategy and I was surprised to notice that it took longer to partition my PDF. Is this expected? Is parallel mode only recommended when using hi_res mode?

Without parallel mode (30.9s)

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26.1M  100 3199k  100 23.0M   103k   763k  0:00:30  0:00:30 --:--:--  767k
curl -O -X 'POST' 'http://localhost:8000/general/v0/general' -H  -H  -F  -F    0.01s user 0.03s system 0% cpu 30.936 total

With parallel mode & default parameters (62.7s)

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26.2M  100 3267k  100 23.0M  53379   376k  0:01:02  0:01:02 --:--:--  878k
curl -O -X 'POST' 'http://localhost:8000/general/v0/general' -H  -H  -F  -F    0.01s user 0.03s system 0% cpu 1:02.71 total

To Reproduce

Filetype: PDF (24.2 MB & 870 pages)
Any additional API parameters: strategy: 'fast' chunking_strategy: 'by_title'

Environment:
I'm running unstructured-api as a Docker container on my local machine
omar@Omars-MacBook-Pro % docker run -p 8000:8000 -d --rm --name unstructured-api \
-e UNSTRUCTURED_PARALLEL_MODE_ENABLED='true' \
-e UNSTRUCTURED_PARALLEL_MODE_URL='http://<IP_ADDRESS>:8000/general/v0/general' \
downloads.unstructured.io/unstructured-io/unstructured-api:latest \
--port 8000 --host <IP_ADDRESS>

All requests are made using cURL
omar@Omars-MacBook-Pro % time curl -O -X 'POST' \
  'http://localhost:8000/general/v0/general' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'files=@Consolidated Set of Standards.pdf' \
  -F 'chunking_strategy=by_title' \
  -F 'strategy=fast'

Seems like the answer is yes! I just tested the same scenario but with hi_res and saw that parallel mode took 19 minutes compared to 41 minutes without it. It appears that the overhead of the thread creation/consolidation hurts performance for the fast strategy
Leaving this issue open just in case it helps someone else and leads to more explicit guidance in the README (e.g. "This mode is only recommended when using the hi_res strategy)

Hi @awalker4! Would love to get your take on this, if possible. Thank you!

Hi @omikader, sorry for the delay. Correct - parallel mode will have a huge speedup for hi_res, but will otherwise just add overhead. The library code for hi_res is all serialized, and we needed a way to split up the work without redesigning the whole library. The approach of splitting the file and sending out another batch of api requests was a simple way to get the load balancer to do the scaling for us. Since hi_res pdf are so cpu heavy, this unlocks a huge speedup (it's all those Tesseract calls!) Any other filetype/strategy will be done long before the pdf gets split up.
Thanks for calling this out - I'll add a note to the readme. Or, if you have a moment, a pr would be a huge help :)

Also note that we're pushing to do pdf splitting on the client these days - we don't actually have parallel mode set on our server anymore. We've basically reimplemented this logic in the python client.

@awalker4 done! See https://github.com/Unstructured-IO/unstructured-api/pull/395.
And thanks for the tip about client-side splitting! I'm currently using the JS client so looking forward to see that supported over there soon 🙂


Remove hyphen from Terraform Registry provider example

Under the USE PROVIDERS button in the Terraform Registry, the following code block appears:
terraform {
  required_providers {
    better-uptime = {
      source = "BetterStackHQ/better-uptime"
      version = "0.3.6"
    }
  }
}

provider "better-uptime" {
  # Configuration options
}

This hyphen breaks Terraform init because better-uptime is not a known provider:
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/betteruptime: provider registry registry.terraform.io does not have a provider named
│ registry.terraform.io/hashicorp/betteruptime
│
│ All modules should specify their required_providers so that external consumers will get the correct providers when using a module. To see which modules are currently depending
│ on hashicorp/betteruptime, run the following command:
│     terraform providers

@Edeholland Thanks for bringing this to our attention! Are you familiar with how we can change this? I'm having trouble figuring where to configure this.

I suspect that part of the documentation is generated by the Terraform registry itself, since it's the same for every provider. It might use the provider name as the local name in the example, but this is speculation.

The name of the repo would need to change.

Now that the name of the service has been renamed from Betteruptime to Uptime, this might be a good time to rename the repository.

Never to late to fix it. This is a pain regardless of the medium (laptop or runner) and it's not that easy to upgrade your provider.

Just for those finding this issue;
terraform {
  required_providers {
    betteruptime = {
      source = "BetterStackHQ/better-uptime"
      version = "0.3.6"
    }
  }
}

provider "betteruptime" {
  # Configuration options
}

Above works.
The required_providers block must be included for every module that has a Better Stack Uptime resource, otherwise you'll have said error again.
I suggest Better Stack updates their example usage to prevent headaches for beginner users at https://registry.terraform.io/providers/BetterStackHQ/better-uptime/latest/docs#example-usage

Created a simple copy paste PR to see if Better Stack is open for it; https://github.com/BetterStackHQ/terraform-provider-better-uptime/pull/85


Add separate GET route for the public API to use

I'm shortly planning to make the content-store "GET content" API public.  As
part of that, we'd like to be very sure that only GET requests will be routed
from the public API.
To help with this, this commit adds a route to handle GET requests to
/api/content/foo.  This route serves exactly the same content as
/content/foo, but only handles GET requests.
By pointing publicapi at this route, we get some defence-in-depth that only the
read-only part of the API is available.  We also make it easier to distinguish
requests which have come via the public API from those which come from other
internal apps in log files and in systems such as Kibana.

This approach looks good to me. One slight issue - the api_urls for linked items returned in the JSON response will be incorrect as they will be the internal API url (eg 'https://content-store.production.alphagov.co.uk/content/vat-rates').  It would be good if these could return the external API url (eg https://www.gov.uk/api/content/vat-rates)

Summary of offline discussion:  we're going to pick up fixing the API urls in a follow-up PR.  We want to get this merged to unblock another piece of work.


Add Common Rules for a formatter

It's important that we all use the same formatter with the same rules so we all can have the same code formatting.

working on it


Scheduled runs fail

Problem
Suddenly some docker images are requiring a library (either libgomp.so or libansBLAS.so) to launch MAPDL. However, the docker images have not been changed in 9 months, and they have been working fine until now.
Details
I first saw this error with the ubuntu docker images (which are old too, like 9 months). The libgomp issue on Ubuntu docker images was reported and fixed here: https://github.com/ansys/pymapdl/pull/2514
The solution was installing libgomp dependency during the job.
But then, @clatapie realised it seems to also affect the older MAPDL docker images (<v23.1). Newer docker images are not affected because that library is installed already (@dts12263 for more info).
This issue has been running on since beginning of November (between 01 and 06 November), but I didn't realise until now.

Fail (06-Nov): https://github.com/ansys/pymapdl/actions/runs/6741305552
OK (01-Nov): https://github.com/ansys/pymapdl/actions/runs/6715721339

Notes
I should notice that the ubuntu docker images are used to run the test from inside that container.
Whereas the older docker images are most based on CentOS. We do run the tests in the GitHub runner OS (ubuntu) and connect to the running container with the Ansys product (CentOS).
Why this error now?
Definitely a container is not a 100% isolated environment from the host OS. They do share some dependencies (kernel?), so maybe the Github Runners do not have those dependencies anymore. I have tracked that there was new Github Runners images published at the end of October.

https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20231030.2
https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20231030.2

If it is a missing dependency on the runners, installing that dependency (it does not need to be libgomp, it might have another name) should fix it.
However, I believe libansBLAS is a custom ansys library, so we cannot just install it.
It does not make sense at all!

Related PR: https://github.com/ansys/pymapdl/pull/2514

The issue happened between 01 and 06 november.

Fail (06-Nov): https://github.com/ansys/pymapdl/actions/runs/6741305552
OK (01-Nov): https://github.com/ansys/pymapdl/actions/runs/6715721339

I have being pointed that the libgomp dependency is a "a redistributable of GCC compiler, so it is not an OS dependency but an executable dependency".
Checking the latest github runner ubuntu 22.04 OS image:
https://github.com/actions/runner-images/blob/releases/ubuntu22/20231115/images/ubuntu/Ubuntu2204-Readme.md
and the one published at the beginning of October:
https://github.com/actions/runner-images/blob/releases/ubuntu22/20231001/images/linux/Ubuntu2204-Readme.md
I see no difference in gcc nor g++, they both use:

Name
Version

g++
4:11.2.0-1ubuntu1

gcc
4:11.2.0-1ubuntu1

I have seen however some differences:

Name
20231115
20231001

curl
7.81.0-1ubuntu1.14
7.81.0-1ubuntu1.13

dnsutils
1:9.18.18-0ubuntu<IP_ADDRESS>
1:9.18.12-0ubuntu<IP_ADDRESS>

libc6-dev
2.35-0ubuntu3.4
2.35-0ubuntu3.3

libcurl4
7.81.0-1ubuntu1.14
7.81.0-1ubuntu1.13

libssl-dev
3.0.2-0ubuntu1.12
3.0.2-0ubuntu1.10

locales
2.35-0ubuntu3.4
2.35-0ubuntu3.3

xvfb
2:21.1.4-2ubuntu1.7~22.04.2
2:21.1.4-2ubuntu1.7~22.04.1

But I can really relate any of those differences with the current issue.

I have been pointed to check the lib requirements using `ldd.
Output details

[root@451ff7711f64 linx64]# ldd ansys.e
./ansys.e: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./ansys.e)
./ansys.e: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./ansys.e)
./ansys.e: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./ansys.e)
        libansBLAS.so => not found
        libmkl_core.so => not found
        libmkl_intel_lp64.so => not found
        libmkl_intel_thread.so => not found
        libifport.so.5 => not found
        libifcoremt.so.5 => not found
        libimf.so => not found
        libsvml.so => not found
        libirc.so => not found
        libiomp5.so => not found
        libhdf5.so.103 => not found
        libhdf5_cpp.so.103 => not found
        libhdf5_hl.so.100 => not found
        libhdf5_hl_cpp.so.100 => not found
        libACE.so.7.0.2 => not found
        libACEXML.so.7.0.2 => not found
        libACEXML_Parser.so.7.0.2 => not found
        libMapdlExceptionClient.so => not found
        libTAO.so.3.0.2 => not found
        libTAO_AnyTypeCode.so.3.0.2 => not found
        libTAO_BiDirGIOP.so.3.0.2 => not found
        libTAO_CodecFactory.so.3.0.2 => not found
        libTAO_PortableServer.so.3.0.2 => not found
        libz.so => not found
        libpng.so => not found
        libtiff.so => not found
        libjpeg.so => not found
        libboost_filesystem.so.1.71.0 => not found
        libboost_system.so.1.71.0 => not found
        libgmp.so.10 => /lib64/libgmp.so.10 (0x00007fffffb54000)
        libansGPU.so => not found
        libansuser.so => not found
        libansys.so => not found
        libansScaLAPACK.so => not found
        libansHDF.so => not found
        libansMemManager.so => not found
        libansMPI.so => not found
        libansysb.so => not found
        libansysx.so => not found
        libmnf.so => not found
        libansOpenMP.so => not found
        libansMETIS.so => not found
        libansParMETIS.so => not found
        libcadoe_algorithms.so => not found
        libCadoeInterpolation.so => not found
        libCadoeKernel.so => not found
        libCadoeLegacy.so => not found
        libCadoeMath.so => not found
        libCadoeReaders.so => not found
        libCadoeReadersExt.so => not found
        libcgns.so => not found
        libchap.so => not found
        libcif.so => not found
        libdsp.so => not found
        libansgil.so => not found
        libqhull.so => not found
        libansexb.so => not found
        libApipWrapper.so => not found
        liboctree-mesh.so => not found
        libansResourcePredict.so => not found
        libtg.so => not found
        libPrimeMesh.so => not found
        libansOpenSSL.so => not found
        libvtk.so => not found
        libspooles.so => not found
        libdmumps.so => not found
        libzmumps.so => not found
        libGL.so.1 => /lib64/libGL.so.1 (0x00007fffff8bc000)
        libGLU.so.1 => /lib64/libGLU.so.1 (0x00007fffff63b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffff41f000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fffff11d000)
        libXp.so.6 => /lib64/libXp.so.6 (0x00007ffffef13000)
        libXm.so.4 => /lib64/libXm.so.4 (0x00007ffffea40000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007ffffe82e000)
        libXi.so.6 => /lib64/libXi.so.6 (0x00007ffffe61d000)
        libXt.so.6 => /lib64/libXt.so.6 (0x00007ffffe3b6000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007ffffe078000)
        libSM.so.6 => /lib64/libSM.so.6 (0x00007ffffde6f000)
        libICE.so.6 => /lib64/libICE.so.6 (0x00007ffffdc53000)
        libXmu.so.6 => /lib64/libXmu.so.6 (0x00007ffffda38000)
        librt.so.1 => /lib64/librt.so.1 (0x00007ffffd82e000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ffffd526000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffffd310000)
        libintlc.so.5 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007ffffcf41000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffffcd3d000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x00007ffffcb0a000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007ffffc854000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fffffddc000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007ffffc650000)
        libXft.so.2 => /lib64/libXft.so.2 (0x00007ffffc439000)
        libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007ffffc1e4000)
        libpng15.so.15 => /lib64/libpng15.so.15 (0x00007ffffbfb9000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x00007ffffbd90000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007ffffbb8b000)
        libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007ffffb948000)
        libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007ffffb689000)
        libXrender.so.1 => /lib64/libXrender.so.1 (0x00007ffffb47e000)
        libz.so.1 => /lib64/libz.so.1 (0x00007ffffb267000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ffffb03d000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007ffffae2d000)

It seems many libs are not found...
then I did:
[root@451ff7711f64 linx64]# ldd ansys.e  | grep libgomp
./ansys.e: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./ansys.e)
./ansys.e: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./ansys.e)
./ansys.e: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./ansys.e)

I don't understand how grep shows that... I guess it is jst a echo printed by ldd?
Anyway, I dont really know yet what's going on... the docker immage seems to be using gcc 3.4, ... Maybe I should install that so it can be found?

how are you starting the container? Is there any change in the docker runtime?

I start the container with this:
https://github.com/ansys/pymapdl/blob/main/.ci/start_mapdl.sh
There was a new version of the docker runtime around end of October...
https://docs.docker.com/engine/release-notes/24.0/#2407
But I can't get anything from the changelog.....

I don't understand how grep shows that...

Maybe this goes to stderr, not stdout?

I don't understand how grep shows that...

Maybe this goes to stderr, not stdout?

I guess 🤷♂

@germa89

this Error usually means that the executable have been build with a newer version of GCC than the one available on the machine (or near the executable).
That's why the version are not found , the executable "search" for those ABI version in the library but don't found them.
This tend to confirm one of that :

ansys.e has been recompiled with a newer version of GCC recently
The GCC redistributable of the GCC compiler  (libstdc++.so.6, libgomp ...) are not delivered anymore with ansys.e
the GCC installed on the docker machine has regressed since the last time it did work (4 since a bit old)

By the version searched it seems that ansys.e has been built with GCC 8 or 10, and so can't use libstdc++ from GCC 4.*

from internal investigations made by @dts12263

the v21.2.0 container does NOT contain libansBLAS.so. Not sure how the test was previously passing
the native v212 install does have ansblas, so it seems it was just not packaged for whatever reason

Hi @germa89, about the libansBlas.a file missing in the container I'm a bit surprised, but if it's the case we should discuss with MAPDL Devops Team to fix this. I've checked in my local dev distrib and it's part of the repo. The same way I was thinking MAPDL distrib does not rely on gcc libs already existing on the machine, but was providing its own gcc libs. That's also a question for Devops. Perhaps we have done too much optimizations making the smallest docker container for MAPDL..

Hi @FredAns
The failing images were created in October 2021... and they have been working properly until beginning of the month. No changes in our side.
Can it be the github runners??

The failing images were created in October 2021... and they have been working properly until beginning of this November. No changes in our side.

Could it be loaded as part of a branch that only executes when specific hardware is present?

Ok I had a better look.
In MAPDL, this libansBlas.a is just a wrapper to the Math library we need to use on a specific hardware. If you ldd this libansBlas.so library, it relies on the MKL ( Intel Processors) or BLIS (AMD Processors) Math Kernel libraries.
In my repo, I can see a
blas/
-> amd/libansBlas.so
->intel/libansBlas.so
At runtime we are suppose to pick the right one, depending on the machine we run on.
Here are the dependencies of the Intel one:

on my machine these libansBlas.so are located here: /ansys_inc/v242/ansys/lib/linx64/blas/
Not sure if we have the same organization in the container

On the v221 container (I installed tree manually)
[root@41421ddb9d79 /]# tree /ansys_inc/v221/ansys/lib/linx64/blas/
/ansys_inc/v221/ansys/lib/linx64/blas/
`-- intel
    `-- libansBLAS.so

1 directory, 1 file

@germa89 can you run a cat /proc/cpuinfo on the runners?

@greschd good point @germa89 are we running on AMD platform ?

Done!
Details

##[debug]bash --noprofile --norc -e -o pipefail /__w/_temp/8f4c2a72-f352-446d-b539-8434950b88a0.sh
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 1
model name	: AMD EPYC 7763 64-Core Processor
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 3243.425
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass srso
bogomips	: 4890.85
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 1
model name	: AMD EPYC 7763 64-Core Processor
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 3243.611
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass srso
bogomips	: 4890.85
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 1
model name	: AMD EPYC 7763 64-Core Processor
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 3242.860
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 2
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass srso
bogomips	: 4890.85
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management:

processor	: 3
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 1
model name	: AMD EPYC 7763 64-Core Processor
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 3243.990
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 2
apicid		: 3
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass srso
bogomips	: 4890.85
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management:

So I guess that the github runners have moved from intel to AMD? ... I could not find anything in internet regarding that change.
Probably the missing libgomp dependency is also related to that?

To confirm this, you could try spinning up some cloud instance of each type (Intel / AMD), and try running the MAPDL docker image on both.

I would guess Github doesn't generally communicate which hardware it runs on, to avoid creating specific assumptions / expectations based on that.

To confirm this, you could try spinning up some cloud instance of each type (Intel / AMD), and try running the MAPDL docker image on both.

I haven't see any option in github to emulate AMD/Intel ... 🤷🏻♂

It seems from this article that the machines used to be intel:
https://www.trendmicro.com/vinfo/us/security/news/cybercrime-and-digital-threats/github-action-runners-analyzing-the-environment-and-security-in-action#C05
It is not confirmation, but it is something

@germa89  this Error usually means that the executable have been build with a newer version of GCC than the one available on the machine (or near the executable). That's why the version are not found , the executable "search" for those ABI version in the library but don't found them. This tend to confirm one of that :

ansys.e has been recompiled with a newer version of GCC recently
The GCC redistributable of the GCC compiler  (libstdc++.so.6, libgomp ...) are not delivered anymore with ansys.e
the GCC installed on the docker machine has regressed since the last time it did work (4 since a bit old)

By the version searched it seems that ansys.e has been built with GCC 8 or 10, and so can't use libstdc++ from GCC 4.*

@jomadec  Not exactly, MAPDL does ship gcc 8, but not in the same executable location. The mapdl executable always runs under a wrapper script that sets LD_LIBRARY_PATH to the location of gcc runtime. This is what the landing zone concept by @jhdub23 is meant to solve.

I haven't seen any option in github to choose AMD/Intel

What I meant is to launch an AMD / Intel VM on , not through Github Actions. If the same error occurs when launching the MAPDL container there, we can be fairly confident this is the underlying change that triggered these failures.
Of course you can also use a local machine, if you have an AMD one.

[like]  Frederic Thevenon reacted to your message:

From: German @.>
Sent: Monday, December 4, 2023 10:07:31 AM
To: ansys/pymapdl @.>
Cc: Frederic Thevenon @.>; Mention @.>
Subject: Re: [ansys/pymapdl] Scheduled runs fail (Issue #2520)
[External Sender]
@dts12263https://github.com/dts12263 has been able to replicate the issue:
confirmed the 212 image runs on an intel machine but crashed on an AMD machine because of not having the AMD ansblas
Thank you for your input @greschdhttps://github.com/greschd @FredAnshttps://github.com/FredAns @koubaahttps://github.com/koubaa @jomadechttps://github.com/jomadec and @dts12263https://github.com/dts12263 . We couldn't have workout this without you!
—
Reply to this email directly, view it on GitHubhttps://github.com/ansys/pymapdl/issues/2520#issuecomment-1838217644, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANDDKUVTSYRYFERKY5ZPEQLYHWOGHAVCNFSM6AAAAAA7U5X2MKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZYGIYTONRUGQ.
You are receiving this because you were mentioned.Message ID: @.***>


Opening a Diagram File from Google Drive Results to Getting Stuck at the Loading Screen

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
I have a diagram file that is stored under my Google Drive account and up until 2 weeks ago, I can open it just fine. However, when I try to open the file now, I'm getting stuck in the loading screen.
To Reproduce
Steps to reproduce the behavior:

Go to 'Google Drive Folder where the diagram file is located'
Double Click on 'the diagram file'
Stuck in loading screen instead of loading the diagram

Expected behavior
The corresponding diagram should load.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: Google Chrome
Version  107.0.5304.88 (Official Build) (64-bit)

Additional context
If I clear the cache of diagrams.net, the issue is resolved. However, once I try to open the diagram file again, the issue will re-occur until I clear the cache.
I checked the error in the browser console and here's what it says:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src https://www.dropbox.com https://api.trello.com 'self' https://viewer.diagrams.net https://apis.google.com https://*.pusher.com 'sha256-avuoixynoo/05kdljyp0aobe+gt/ke1/vh2ps+yfqes=' 'sha256-r/ilw7kmsjxeo9eyqctzzyct0pz9ghn1blgki7vpr+a=' 'sha256-5dtsb5mj34lxcef+hfwbblef49xxjaknwgdwa/utwqa=' 'sha256-vs/mxlvd7nby7anv+0t1ap338uf7vrcs7y23kjerhkc='". Either the 'unsafe-inline' keyword, a hash ('sha256-vS/MxlVD7nbY7AnV+0t1Ap338uF7vrcs7y23KjERhKc='), or a nonce ('nonce-...') is required to enable inline execution.

Try closing all diagrams.net tabs then opening app.diagrams.net/clear.html. Try again after that.

Thanks for the quick response. I tried your suggestion, closing all instances of my browsers just to be sure. I was able to open the diagram file once after clearing but after that, the issue still re-occurs.

Any errors in the browser console?

I forgot to add the console error in my browser. I updated my post to add this. Thank you.

Why do you have an inline script executing, do you have a browser extension injecting it?

Hmm none that I know of. The only extensions I have installed recently is the playlist searcher for youtube. I doubt it will affect diagrams.net app in any way.

Does it with extensions disabled?

I tried to disable all extensions but the issue still persists and the issue points out to the same lines as seen in my screenshots in my previous reply. For what it's worth, issue 1366 seems to be reporting a similar issue with the similar time of occurrence as mine though the OP did not mention any further details.

3166 could be literally anything, there's no detail in the report at all.
Do different browsers work?

3166 could be literally anything, there's no detail in the report at all.
Do different browsers work?

Tried it in Firefox and it seems to work just fine.

Ok copy. Thank you. I'll try to investigate further and just post here if ever I find a solution. I just find it weird that diagrams.net will work just fine in my chrome browser as long as I clear its cache beforehand.


Support specify role for a target when execute logLevel command

What changes are proposed in this pull request?
Please outline the changes and how this PR fixes the issue.
Why are the changes needed?
Sometimes, both workers and masters are use the same web port, so it cannot infer role from port atomically, so we should supply a way to specify the role for the targets.
Does this PR introduce any user facing changes?
$ bin/alluxio logLevel --logName alluxio.worker.block.TieredBlockStore --level DEBUG --target localhost:30000:worker

alluxio-bot, merge this please.


CC-20 # Integrate bm-identity.js to allow for single login

Integrated bm-dentity
made code structure inline with other Blink CLIs
dropped semistandard in favor of standard

It seems there is test case still requiring in elegant-spinner

LGTM 👍
Just the test that failing due to missing dependency


Remote simulator logs

The logs for the iOS remote simulator are not in
~/Library/Logs/Xamarin-[MAJOR.MINOR]
on the Mac, but instead are in
~/Library/Logs/Xamarin/Simulator.Server
On windows, the remote simulator logs ARE in:
%LOCALAPPDATA%\Xamarin\Logs
but in a subfolder called Xamarin.Simulator, and are not collected when Help > Xamarin > Zip Logs is used.
I checked the remoted simulator docs, https://docs.microsoft.com/en-us/xamarin/tools/ios-simulator/, and there is no troubleshooting section in that doc, so I am making the suggestion to addd the log location for the remote simulator here. But perhaps it would be better to add a troubleshooting section to the remoted simulator doc page showing how to get the remote simulator logs?

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

ID: 992a68e4-2f19-9cb5-d3b6-4f682ee8a1f4
Version Independent ID: 61923335-63c3-cc42-f310-eb090e09497b
Content: Connection Troubleshooting for a Xamarin.iOS Build Host - Xamarin
Content Source: docs/ios/get-started/installation/windows/connecting-to-mac/troubleshooting.md
Product: xamarin
Technology: xamarin-ios
GitHub Login: @davidortinau
Microsoft Alias: daortin

Adding the log locations to the remoted simulator docs, as suggested.


kubectl get/describe defaults to returning the GA API version for a K8s object.

kubectl get/describe defaults to returning the GA API version for a K8s object.
It seems to be strange -- we expect the kubectl command to give a true answer. In many case, the false answer actually has implications about what is and is not supported  in the API.
As an example,   you set up a HorizontalPodAutoscaler in v2beta2. You chose this rather than v1 specifically for the new  API it gives you, custom metrics. Yet kubectl get/describe tells you that it is v1!
But regardless,  is this fact documented? If so, where? If not, please document it.

The place that should explain this is https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
However, some of the details are instead in https://kubernetes.io/docs/reference/using-api/#api-versioning and https://kubernetes.io/docs/reference/using-api/deprecation-policy/ (sic)
My proposed fix:

update https://kubernetes.io/docs/reference/using-api/#api-versioning to clarify whether and why Kubernetes prefers stable API versions over newer, not yet stabilized APIs.
clearly signpost readers to read about round-tripping (rule #2 from https://kubernetes.io/docs/reference/using-api/deprecation-policy/) or repeat that detail within https://kubernetes.io/docs/concepts/overview/kubernetes-api/
update https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning to link to the updated reference pages that are now more helpful because of these revisions.

/language en
/wg api-expression

The place that should explain this is https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
However, some of the details are instead in https://kubernetes.io/docs/reference/using-api/#api-versioning and https://kubernetes.io/docs/reference/using-api/deprecation-policy/ (sic)
My proposed fix:

update https://kubernetes.io/docs/reference/using-api/#api-versioning to clarify whether and why Kubernetes prefers stable API versions over newer, not yet stabilized APIs.
clearly signpost readers to read about round-tripping (rule #2 from https://kubernetes.io/docs/reference/using-api/deprecation-policy/) or repeat that detail within https://kubernetes.io/docs/concepts/overview/kubernetes-api/
update https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning to link to the updated reference pages that are now more helpful because of these revisions.

/language en
/wg api-expression


dependencies of node-redis 4.0.4 are missing

Following is the current package.json of node-redis but  the "@node-redis/client": "1.0.4" is not released yet in npm.
  "dependencies": {
    "@node-redis/bloom": "1.0.1",
    "@node-redis/client": "1.0.4",
    "@node-redis/graph": "1.0.0",
    "@node-redis/json": "1.0.2",
    "@node-redis/search": "1.0.3",
    "@node-redis/time-series": "1.0.2"
  },

Environment:

Node.js Version: any
Redis Server Version: any
Node Redis Version: 4.0.4
Platform: any

I confirmed that "@node-redis/client": "1.0.4" is published at the moment. In order to guarantee the stable release, children modules should be published before the parent module. Doing end-to-end testing with published children module may be a good solution.


Add password parameter to uvc component

Description:
Fixes an issue where the UVC component would not properly authenticate.
The uvcclient requires that the camera password is stored in a JSON file in ~/.uvcclient by default.
The current integration Home Assistant is defaulting to the ubnt password but does not work for users that are using another password.
I really don't see how this ever worked for users that changed the default ubnt password. It probably never did which is why so many users are reporting problems.
This PR removes the "store" codepath and simply allows a password argument to be passed for the component.
Related issues:
Fixes #2979.
Fixes #7151.
Fixes #3810. (in my opinion)
Related community issues:

https://community.home-assistant.io/t/unifi-video-compatibility/4339
https://community.home-assistant.io/t/unifi-camera-component-not-working/6679
https://community.home-assistant.io/t/unifi-nvr-issue/14473
https://community.home-assistant.io/t/unifi-nvr-issue-2nd-post/14723

Pull request in home-assistant.github.io with documentation: home-assistant/home-assistant.github.io#2600
Example entry for configuration.yaml:
camera:
  - platform: uvc
    nvr: IP_ADDRESS
    key: API_KEY
    password: PASSWORD

Checklist:

[x] Documentation updated in home-assistant.github.io
[ ] Local tests with tox run successfully.

This looks good to me. If ~/.uvcclient is a standard convention, is it worth looking there as well? (Password resolution order would be HA config -> ~/.uvcclient -> default)

If ~/.uvcclient is a standard convention, is it worth looking there as well?

It doesn't appear to be. It is specific to this python library and a google search reveals that is is largely undiscovered.
In my opinion there is little benefit in supporting this file.


Upgrade to Apollo client 2.x

It's more simple than what I originally thought.
My strategy was to update our code (withData.js mainly) with the latest examples from Zeit:
https://github.com/zeit/next.js/tree/3949c82bdfe268f841178979800aa8e71bbf412c/examples/with-apollo
It's passing all the tests.

Oh my goodness, yes!
Been waiting for this to be able to use again the Apollo chrome extension that is so useful. Thank you!

W00t! 🎉


Fix instances where nouns contain(s) or (s), for example app(s)

Use regular expressions to replace all the instances in one batch:
Search (\w+)(s)
Replace $1 (or $1s)

Hi @Luyao-Zhang-1, I reviewed all IAM related docs (SAML, OIDC Provider, OIDC, and some other) for the changes and UI text. All are good.

Hi @Luyao-Zhang-1, I reviewed all IAM related docs (SAML, OIDC Provider, OIDC, and some other) for the changes and UI text. All are good.

That' great. Thank you!

@Luyao-Zhang-1 I've reviewed the AWS, SAP, Private Cloud, and Private Platform docs. All good, minus 1 change that had already been suggested by Mark.

@Luyao-Zhang-1 I've reviewed the AWS, SAP, Private Cloud, and Private Platform docs. All good, minus 1 change that had already been suggested by Mark.

Great, thank you @katarzyna-koltun-mx !

Hi @Luyao-Zhang-1 I've looked at the ones for Data and Runtime. I also spotted one in the Windows service console which I suspected hadn't been reviewed.
I've only looked at those on the assumption that other people will have proofread the rest.
But I did run this regex which, although it had some false positives, found a couple of examples which I think are in the UX \*\*.*?\(or.*?s\).*?\*\*. I have tagged the component owner to check.
Feel free to commit my suggestions if they make sense.
Thanks for doing this.

Looks good! Thank you, Mark, for checking the docs, especially for checking the UX text.


Publication and term page summary view

Need to show gene/genotype in default view.
see

you don't know which genes these annotations belong to until you go to "full view"

Moved from #168:

Hmm, good point, not sure....I think I prefer totally unambiguous:
cdc2 has substrate cut7
abc1 has substrate cut7
any1 has substrate cut7

(I don't think this will inflate too much)
interested what A&M think though.....

(I don't think this will inflate too much)

Some pages are going to be quite long.
eg. http://pombase2.bioinformatics.nz/term/FYPO%3A0002060

closing in favour of
https://github.com/pombase/website/issues/190


Perf. improvement for validation methods

Current coverage is 80.65% (diff: 100%)

Merging #227 into master will increase coverage by <.01%

@@             master       #227   diff @@
==========================================
  Files           149        149
  Lines          5607       5614     +7
  Methods           0          0
  Messages          0          0
  Branches        635        637     +2
==========================================
+ Hits           4522       4528     +6
- Misses          969        970     +1
  Partials        116        116

Powered by Codecov. Last update fa25b9e...9310930


Adding/removing layer-groups dynamically

Hello,
I've been trying to display a layer-group on a map, when I have the tracking data for it. I would also like to only show the layer-control for the group when this data comes in (itemLocations is no longer null). The way I thought it would be done would be something like this;
{{#if itemLocations}}
	{{#layer-group name="24 hour track" default=true}}
			{{!-- Track --}}
			{{polyline-layer locations=itemLocations color="blue"}}

			{{!-- Marker at each tracking point --}}
			{{#each itemLocations as |loc|}}
				{{#circle-marker-layer location=loc radius=1}}
				{{/circle-marker-layer}}
			{{/each}}
	{{/layer-group}}
{{/if}}

Before the data comes in (itemLocations is null) everything is displayed correctly (layer isn't on map yet and no control in the layer-control). When the data is available and itemLocations is an array of locations, the data is drawn correctly on the map, but the layer control option for the group is missing, it's as if the layer-control wasn't updated or something.
Is this the correct approach? Is this even possible to do with this addon? Do I need to invalidate/refresh the layer-control or something to get it to update the available layer-group options?
Thanks for your help

Hey! Adding and removing layers dynamically is not really supported by this addon. Layer registration is only done once when the template is first rendered hence the requirement to respect component ordering (layer-group should go before layer-control) There is a way to do it in Leaflet itself - http://leafletjs.com/reference-1.0.3.html#control-layers via addBaseLayer and addOverlay. There seems to be 2 possible approaches to implement it. You can either implement some synthetic event to trigger one of the layers and to get a reference for leaflet map -
{
    layer: ##the layer which was triggered##,
    name: ##layer name as set on layer group##,
    overlay: ##true/false##,
    target: ##Leaflet map object##,
    type: ##"overlayadd"/"overlayremove"/"baselayerchange"##
}

consider target prop here. And then use its addOverlay etc. methods to update the layers. This one is really quick and dirty.
But that is not proper approach. Proper one would be to add ability to observe amount of layers registered from inside of this addon and perform updates when they change. Currently i don't really use this addon much and i don't even have application which uses it. So PR's are very welcome to extend the functionality.

Thanks for the response :) I will look into how I might implement a solution like this and potentially make a PR. In the meantime - how trivial do you think it would be to implement an attribute on the layer-group (say enableControl=true/false) that just puts a disabled attribute on the layer-control element for that layer-group so that it can't be toggled? How would I go about doing this?

Not sure they can be enabled/disabled that way. Have a look at the code anyway: https://github.com/canufeel/ember-leaflet-layer-control/blob/master/addon/components/layer-group.js#L19:L40 Here layer-group registers itself on leaflet-map component by adding its layer to one of the arrays - either _baseLayers or _layerGroups. This happens before any layer groups are initialised with Leaflet.map object. After all layers have been registered this way layer-control component does the following: https://github.com/canufeel/ember-leaflet-layer-control/blob/master/addon/components/layer-control.js#L21:L40 Here it just goes through array of collected layers and registers them with Leaflet.mapobject which is sitting in leaflet-map component of ember-leaflet. Good luck in your research 😄


Migrate tests to test starter

JIRA: CPOUI5FOUNDATION-968

Hi @KlattG ,
Would you take a look at the changes in README.md?
Cheers

Thanks!


chore: bump sbt-scalafix from 0.10.4 to 0.11.0

About this PR
📦 Updates ch.epfl.scala:sbt-scalafix from 0.10.4 to 0.11.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-scalafix" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.epfl.scala", artifactId = "sbt-scalafix" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, commit-count:1

Codecov Report

Merging #179 (ec39828) into master (ee2404b) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #179   +/-   ##
=======================================
  Coverage   67.90%   67.90%
=======================================
  Files          79       79
  Lines        1087     1087
  Branches      124      124
=======================================
  Hits          738      738
  Misses        349      349


the links in the readme are expired. can you please update them

The outdated links in README.md have been updated, thanks for the reminder


Add how to install storybook for use with stencil-component-starter (or even better, make a version for that)

Bug or support request summary
I'd love to use storybook for the web components library our company is about to create using StencilJS. Can you please add information as on how to get that up & running?
Steps to reproduce
Create a project from stencil-component-starter, then open up a terminal and issue getstorybook.
Please specify which version of Storybook and optionally any affected addons that you're running

@storybook/polymer

Affected platforms
any
Screenshots / Screencast / Code Snippets (Optional)
@connexo > getstorybook

 getstorybook - the simplest way to add a storybook to your project.

 • Detecting project type. ✓
    We couldn't detect your project type. (code: UNDETECTED)
    Please make sure you are running the `getstorybook` command in your project's root directory.
    You can also follow some of the slow start guides: https://storybook.js.org/basics/slow-start-guide/

@storybooks/team  looks like we need a slow start guide for polymer / web components

Stencil is a "compiler", that combines TS + Angular-like-components syntax + JSX. Also, It might be tested with Jest (which is good for example to be able supporting storyshots). As the result, it compiles to web-components.

TS - TS 🤷♂

Angular-like-components - here I mean all kind of decorators like @Prop and @Components with all fields like styleUrl, that have to be treated in a special way (like we do with angular-cli integration to webpack).

JSX = support for composition

So storybook/polymer can't help here.

I think it will be a very good addition to Storybook, since it will open a channel to the ionic users. But as a separate app.

Related: #1870
@tonai, can you share your findings ?

Of course :)
From stencil-component-starter :
npm install --save-dev<EMAIL_ADDRESS>polymer-webpack-loader lit-html

Then add the script line in the package.json:
{
  "scripts": {
    "storybook": "start-storybook -p 9001 -c .storybook -s www"
  }
}

Create the .storybook folder and a .storybook/config.js file:
import { configure } from '@storybook/polymer';
const req = require.context('../src', true, /\.stories\.js$/);
function loadStories() {
  req.keys().forEach((filename) => req(filename))
}
configure(loadStories, module);

And also a .storybook/preview-head.html with:
<script src="/build/mycomponent.js"></script>
<link rel="stylesheet" type="text/css" href="/build/mycomponent.css">

Finally create a story, for example src/components/my-component/my-component.stories.js :
import { storiesOf } from '@storybook/polymer';
const stories = storiesOf('My component', module);
stories.add('default', () => (`<my-component first="Stencil" last="'Don't call me a framework' JS"></my-component>`));

There is still warnings when you run npm run storybook but the component display correcly.

👍 This is great news - last time I tried @storybook/polymer things got painful as soon as you got away from the default Polymer 2 stack (HTML imports, webcomponentsjs polyfills, etc). If this does work smoothly with other web components libraries (or just vanilla web components), would be a great opportunity to rename the package to @storybook/webcomponents before it's out of alpha, so it's not hard tied to Polymer. Especially since Polymer itself is now insta-deprecating Polymer 3 in favour of LitElement.

@tonai Thank you for your quick guid. It's now working for me, with minor changes:

Added react, react-dom and velocity-react to devDependencies.
omitted the stylesheet from .storybook/preview-head.html, as StencilJS is not emitting CSS in my installation.

Since everyone is happy, I am closing this now 😃

I've used a slight different approach: Vue.js-Storybook and added Stencil there. Here's how I've made it: https://github.com/silentHoo/stencil-storybook-spike

@igor-dv is renaming the @storybook/polymer package something the storybook team would consider? Should I file an issue for it? Just think this kind of confusion will keep coming up if the plugin is associated closely w/ Polymer vs. WC in general.

@seaneking yes, that's on the table, would you want to help us do it?

Sure, but I dont have access to publish to NPM or changing GitHub repo names, what do you want a PR for? AFAIK there's no docs for it yet, just the stuff in the GitHub repo

One potential issue is the getstorybook CLI - you could make it check for a bunch of common WC libraries (Polymer, Stencil, Svelte, SkateJS), but that doesn't seem very robust (nor account for vanilla web components), since most are moving towards loose collections of base classes and mixins (eg: Polymer's LitElement).
That said, I've always wondered why getstorybook didn't prompt the user to choose a quick start option if it couldn't auto detect the project, rather than just failing outright. That would address this, check for common WC setups and if none found the user can select to quick-scaffold a webcomponents setup anyway.

Proper (website) documentation for framework-agnostic webcomponents would be appreciated. After all, web components is the future!

Is there a way this would work with hot module reloading? So I could develop web components using stencil and get a live display of them by Storybook?
@tonai does your setup provide this functionality or does it run without HMR?
I can't seem to get this running without it being static…

For anyone wondering how to set up a build script with @tonai's solution, here's what I figured out:
Add this to your scripts:
"build:storybook": "build-storybook -c .storybook -s www -o .storybook-build"

Now you can npm run build:storybook and you can deploy the newly created ".storybook-build" folder to a web server.

hi @michaelauderer,
sorry but this setup does not provide HMR (for now).
I don't how if there is a way to tell storybook to launch the build script of stencil when it detect a file change.
Or may be the solution is to delegate the watch to another tool like npm-watch for example.

if stencil has its own watcher, you can run Storybook and this watcher in parallel in two command windows. Or using concurrently you can even combine them into one script.

Yes @igor-dv is right, it is not optimal (it requires you to refresh the page manually) but it works.
I've tried the following scripts with the npm-run-all package:
{
  "build": "stencil build",
  "start": "stencil build --dev --watch --serve",
  "storybook": "start-storybook -p 9009 -s www",
  "storybook:watch": "run-p start storybook"
}

So if I run storybook:watch it will recompile both storybook and stencil.


newSoundWithFile vs newSoundWithPath

Docs say use newSoundWithPath but I think they should say use newSoundWithFile?

I got stuck here too, and had to check the source code to be sure.
I think newSoundWithPath makes more sense, you could consider using newSoundWithFile for another proc which accepts a file as a parameter.