Add option for a common prefix (suffix) for backtraces

Motivation
We're using the recent (5.9.2) backtrace support on Linux to monitor our service. Due to noise in the logging, a backtrace can be hard to assemble when it's interleaved with other messages. In addition, when a crash happens, the backtrace goes to stdout/stderr and bypasses standard logging which is being filtered by (docker) service.
It would therefore be really helpful if backtrace logs could be logged with a common prefix (or suffix). This would make it easier to set up specific monitoring panels and alerts looking specifically for crashes and their backtraces.
Proposed solution
Add support for a prefix=FOO (and perhaps suffix=BAR) configuration option that adds the prefix (suffix) to all backtrace log messages.
Alternatives considered
No response
Additional information
No response

cc @al45tair

+1. We're currently detecting crashes using an alert which looks for Backtrace took  which feels suboptimal.
Maybe it doesn't even need a configuration option and can just be a few distinct words added at the beginning or end of the backtrace logs.

FWIW, looking for Backtrace took  does seem strange. You could watch for *** Program crashed: (which is what I'd expected people to do).

FWIW, looking for Backtrace took  does seem strange. You could watch for *** Program crashed: (which is what I'd expected people to do).

Mmm, I don't see that string at the start in our backtraces. For example:

I guess no parsing is ever ideal but if we had something we could inject via a pre/suffix, we could at least be sure that it's stable and have some level of control over it.

In principle, it shouldn't be interleaved with other messages; when the program crashes, all other output is supposed to cease as other threads should be stopping. Unless, that is, you have other processes running in the same container and also generating log output? (Just trying to understand the use case here.)

We collect logs from ~10-20 containers/services from three nodes into a central store (Loki) via promtail, where we display it per service. We do have some metadata attached to the logs to tell which container/stream they come from but it's lots of sources and anything that doesn't go through standard logging (which backtrace can't), will sit alongside the structured logs.
It's really easy to miss things in all these streams, especially when its signature is the absence of metadata tags. That's hard to filter on, because we'd essentially have to filter on all metadata and then invert that. *)
Effectively, the most reliable way for me to see a backtrace is to connect to an individual container and observe its logs right when a crash happens. And that really only works when I already know there's a problem and am able to trigger it (or god forbid it happens all the time) :)
*) If there are better ways to do this and gain backtrace visibility, please let me know! Our setup has worked well for us in general but I'm sure there are ways to improve this.

This is our "per service" log view:

What I'd love to be able to do is have an additional panel "Crashes" that shows crash logs across all services and for that I'd need to be able to filter on a string, preferably a controllable pre/suffix.

FWIW, looking for Backtrace took  does seem strange. You could watch for *** Program crashed: (which is what I'd expected people to do).
Mmm, I don't see that string at the start in our backtraces. For example:

Ah, yes, *** Swift runtime failure: is also a possibilty, but I think you should see one or the other in all cases.
I've been intending to look at some kind of more structured output for programmatic parsing of crash logs; I was thinking JSON would probably work, and would have the advantage that it was a lot easier to process than the textual output that we currently produce. I suspect that would be a better solution for you than just a prefix?

I would suggest having an environment variable that can specify a directory for writing backtrace data.  If this environment variable is set, then:

the file is written out in JSON or similar easily-parseable format
filename is dynamically generated to not overwrite any existing file
stdout/stderr will receive a single line that is easy to match which includes the full path of the written file
stdout/stderr should probably still receive the usual backtrace output for the use of humans who happen to be browsing

I've been intending to look at some kind of more structured output for programmatic parsing of crash logs; I was thinking JSON would probably work, and would have the advantage that it was a lot easier to process than the textual output that we currently produce. I suspect that would be a better solution for you than just a prefix?

I can probably transform JSON into something that's usable. However, if it's one of the other, I'd definitely prefer pre/suffix injection over JSON because I definitely know to aggregate with that :)

I would suggest having an environment variable that can specify a directory for writing backtrace data.

In a containerised environment like ours it's really difficult to access files that are saved inside a container. At least for us this wouldn't really help with our use case.

To give an example of what I was thinking, pure JSON:
{ kind: "crash", pid: 167, name: "Run", timestamp: "2024-01-23 09:56:13.238732", description: "Swift runtime failure: Unexpectedly found nil while...", crashingThreadId: 7, threads: [ { id: 7, name: "NIO-ELT-0-#0", backtrace: [ { address: 0x0000563d9d51882, inline: true, system: true, symbol: "Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value", image: 1, sourceFile: "/build/<compiler-generated>", line: null, column: null }, ... ] }, ... ], images: [ { id: 1, name: "Run", uuid: "4f36eba83720422a9b", path: "/bin/Run" }, ... ] }

Or with logfmt prefix:
2024-01-23 09:56:13.238732 kind=crash pid=167 name=Run { <JSON here> }

FWIW - the logfmt prefix would be by far my preference for something like this to highlight and capture the logs (I've been running processes in very ephemeral containers, and do only the lightest log processing from there. The fully structured (completely JSON based output) almost makes that more difficult for me, since I need more infrastructure to unwind it to make the detail visible at a glance.


Add an error log when a cherry-pick fails

We need it

A shame deno.Command can not interleave stdout/stderr like this module 😉.


Profiling smoke test

Why
To include thread sampling in CI.
What
Smoke test for thread sampling.
It should be modified when the exporter will be ready.
Tests
Just a test :)

Tests
Just a test :)

You can check if it fails if you comment this line SetEnvironmentVariable($"SIGNALFX_THREAD_SAMPLING_ENABLED", "true");  😄

Tests
Just a test :)

You can check if the test fails if you comment this line SetEnvironmentVariable($"SIGNALFX_THREAD_SAMPLING_ENABLED", "true"); 😄

Tested, even failed on CI on .NET Framework 4.6.1 before I added preprocessor if ;)


App illustrations

This pull request updates all the illustrations used throughout the app in both regular and dark mode. It also correctly displays the "empty bookmarks" icon instead of the "empty tutorials" icon.  This PR resolves the following issue: https://github.com/razeware/emitron-iOS/issues/492

@luke-freeman Here are the screenshots. Please review and send any feedback. Thanks!

s!

@0xTim I've updated this pull request. When you have a moment, would you take a look at MyTutorialsView.swift at line 175. it's a little clunky - using a ternary inside a ternary. Any thoughts on a different approach?


Add support for type aliases (:type)

Implement the :type command (in the todo list) to create type aliases.

Personally, I would prefer a syntax with an equal sign in-between, like:
type foo_bar_baz = list<dict<any>>

It's a lot easier to spot the LHS and RHS of the type alias.

vim9script
# lib.vim

export class Context
  static def MakeContext(text: string, index = 0): any
endclass

Right, MakeContext() can't be properly declared because of #12369.

vim9script
def Test_MakeContext()
  var ctx = MakeContext("X", 42)
  assert_equal("X", ctx.text)  # <== E715
enddef

Sourcing the latter script results in E715: Dictionary required any time a member is accessed.

If object was a type, #13404, then could do static def MakeContext(): object, that should provided sufficient information to the compiler to avoid the all to familiar E715.  But that's a workaround in this case, (and it's not implemented anyway). In other cases it can be useful.

It is still the case, though, that if I want to define a function that takes a Context object as an argument, I need to qualify it:
def F(context: lib.Context)
...

A bit cumbersome, but maybe not too bad, after all.

You're right, I don't think that's acceptable. But maybe :type.
Please consider the ergonomics of removing the assignment without providing a replacement. It feels a bit unnatural to me that I can assign anything but classes.
class C defines a type, you can do var o: C.
If var x = C works, would you expect var x = number to work?
But it's beginning to look like :type might be an option, #13407.
Would type Context lib.Context be OK?

Thanks for implementing this @yegappan.

Personally, I would have preferred a syntax with an equal sign in-between the two types

It appears that might be the norm: https://en.wikipedia.org/wiki/Type_aliasing

Doh! I hadn't noticed/realized that this was alias and not typedef. Too bad, but oh well.
I wonder if a different command name, for example :alias, would be better than :type? Leave the door open to a typedef type of command when/if the type system is extended.

18912bc5c2aea35661c62c65d7e83d7c74b72048  Add support for type aliases (:type)
90874c8ad41030bce070e0ec3258184f50f53f7f  Support using = when defining a type.  Handle more error conditions

seems generally type alias is with '=' vs type define then no '='
just per your commit msg, here looks right opposite it, is it ok?

18912bc  Add support for type aliases (:type)
90874c8  Support using = when defining a type.  Handle more error conditions

seems generally type alias is with '=' vs type define then no '=' just per your commit msg, here looks right opposite it, is it ok?

The syntax for creating a type alias is:
  type MyType = list<number>

Thanks for implementing this @yegappan.

Personally, I would have preferred a syntax with an equal sign in-between the two types

It appears that might be the norm: https://en.wikipedia.org/wiki/Type_aliasing

I have updated the PR to require "=" after the type alias name.

is this ready now?

is this ready now?

Yes.  This is ready.

thanks!

Doh! I hadn't noticed/realized that this was alias and not typedef. Too bad, but oh well.
I wonder if a different command name, for example :alias, would be better than :type? Leave the door open to a typedef type of command when/if the type system is extended.

https://web.archive.org/web/20231026083713/https://moolenaar.net/z/zimbu/spec/zimbu.html#ALIAS2and2TYPE

Doh! I hadn't noticed/realized that this was alias and not typedef. Too bad, but oh well.
I wonder if a different command name, for example :alias, would be better than :type? Leave the door open to a typedef type of command when/if the type system is extended.

https://web.archive.org/web/20231026083713/https://moolenaar.net/z/zimbu/spec/zimbu.html#ALIAS2and2TYPE

Thanks, (very cool), I didn't realize (forgot?) about zimbu being Bram's.
This argues for using :alias for what the current :type does. Then there's room for expansion to a more sophisticated type system without having a naming conflict/problem.


STOP_SENDING support

Hi! I see that there's basic support for this kind of frame. It appears to be handled, but it doesn't seem to fire any events back to the user, it just gets "processed" away by _handle_stop_sending_frame but that's it.
I didn't test this thoroughly but it seems that even if the remote peer sends us a STOP_SENDING frame we're still able to send data on the same stream_id. From what I've read, some QUIC implementations will send back a STREAM_RESET once they receive a STOP_SENDING frame. 1
I half-implemented this missing feature (literally QuicConnection.stop_sending(stream_id, error_code) so I could send this frame) and even though I'm able to properly send the frame it just gets ACK'd away. I indeed confirmed this by analyzing the traffic with wireshark and yeah, it is just ACK'd without anything changing internally.
I have a question (not related to this issue). Are there any plans to make this library any faster? I noticed that there are quite a lot of simple data classes, which we could probably rewrite using ctypes. We could port the whole thing to Cython. If you have any future plans to do so I'm in.

Also throwing mypyc into the ring of potential speedup routes.


Fix install use URL base authentication

What this PR does / why we need it:
When I use helm install wepack wepack-testing --repo<EMAIL_ADDRESS>return:
Error: failed to download "https://coding-public-helm.pkg.coding.net/wepack/wepack/wepack-testing/wepack-testing-0.0.0-release.tgz" at version "0.0.0-release" (hint: running `helm repo update` may help)

It seem that FindChartInAuthAndTLSAndPassRepoURL can download index file index.yaml.

but next to getter.WithBasicAuth, It set empty username and password in dl.Options.

Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

See #9762

closing for the same reasons stated in https://github.com/helm/helm/pull/9867.


Automatic code cleanup.

PiperOrigin-RevId: 316207121

The missing commit author is "Error Prone Team," which is just me running a script.
@googlebot I fixed it.


Changing CD/floppy while machine is running

It would be useful if we could change the CD/floppy image while the machine is running (example, during Windows setup when it asks you to insert disk 2).  Would this be possible?

#54

Closing as duplicate.


[implicit GEMM] CalculateGemmSize() should not be a public member function of a Solver

Solver does not have any member data, so static or unnamed namespace should work in the most cases.
If you need inheritance, make it private at least.

Solver design must comply the #866.

@atamazov @junliume Fixed in https://github.com/ROCmSoftwarePlatform/MIOpen/pull/1438

@averinevg 👍


Can it be compiled on mac os?

Sorry to disturb, I'm the rookie in cloud gaming/streaming media programming. I'm using Mac OS, but it doesn't work by your step. Here is the result.

It stacks in "2020/09/18 17:15:50 Launched application VM", Then has no outputs. I checked docker logs, here is the result.

Can you give me some advice? I'm newer in this field, but I want to study.

Oh I never try running it on MacOS. MacOS doesn't seem like using X11, so it should not be compatible now.

Oh I never try running it on MacOS. MacOS doesn't seem like using X11, so it should not be compatible now.

Thanks for your reply. Is there any solution that can run in Mac OS?

@killer-peng I think the only solution now is running an Ubuntu VM in MacOS. As I read from internet, XQuartz is an alternative for X11 on Mac. I will spend time working on this issue this weekend .
Thank you for raising it, I totally forgot that it doesn't work on MacOS when it is a popular development platform.

@killer-peng I think the only solution now is running an Ubuntu VM in MacOS. As I read from internet, XQuartz is an alternative for X11 on Mac. I will spend time working on this issue this weekend .
Thank you for raising it, I totally forgot that it doesn't work on MacOS when it is a popular development platform.

Thank you very much.

I took few days to investigate the issue. Resolved here: https://github.com/giongto35/cloud-morph/pull/47
X11 is not the problem. It's container issue between Linux and Mac. Linux has Docker-host, so it can communicate with OS port directly, while Container in Mac has to communicate using "host.docker.internal" domain.


[GDExtension] Add config option to specify custom library lookup paths.

Fixes https://github.com/godotengine/godot/issues/87761
Add an optional lookup_paths GDExtension config file parameter to specify a list of custom library lookup paths. Paths can be relative res:// path, absolute path, or relative to the other special project locations (bundle_dir://, pck_dir://, exe_dir://).
In case of #87761, the issue can be resolved by adding this line to the config:
 compatibility_minimum = "4.1"
+lookup_paths = [ ""pck_dir://" ]

 [libraries]

CC @godotengine/gdextension


Create cz.yml

#6
enjoy

Thank You!

please let me know your username in Flarum community.

Doc


Set blob cache directory based on GraphDriver

Currently in rootless containers, we end up not using the blob cache.
We also don't store the blob cache based on the users specified graph
storage.  This change will cause the cache directory to be stored with
the rest of the containe images.
While doing this patch, I found that we had duplicated GetSystemContext in
two places in libpod. I cleaned this up.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

LGTM once tests go green

there are some merge commits in the PR from origin/master.  Could it be rebased on top of master instead?

@giuseppe Should be fixed now.

LGTM assuming happy tests and a @mheon head nod.

Whole bunch of wierd flakes here

I think the F28 rootless issues might not be flakes. The Ubuntu flake is #2645

@rhatdan Rebase please
I think I'd like this in 1.2

/lgtm


The app has not responded to the network requests below: (id = -1000) isReady: {}

Description
Hi here.
Thanks a lot for this library and for the great work behind it.
I'm facing an issue that I'not able to solve, nothing is present on the web (searching as my best).
Seems that my test suite goes in timeout even if the emulator is launched successfully. This happen only with iOS, no problem on android (on the physical device)
I got multiple times this message during the running:
detox[13719] i The app is busy with the following tasks: • Run loop "Main Run Loop" is awake. • There are 2 work items pending on the dispatch queue: "Main Queue (<OS_dispatch_queue_main: com.apple.main-thread>)".
And in the end:
detox[13719] i The app has not responded to the network requests below:   (id = -1000) isReady: {}  Unresponded network requests might result in timeout errors in Detox tests.
All tests fail since they go in timeout
● Example › should perform a sign in

  thrown: "Exceeded timeout of 480000 ms for a hook.
  Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

    41 |
    42 | describe('Example', () => {
  > 43 |   beforeAll(async () => {
       |   ^
    44 |     await device.launchApp({
    45 |       permissions: {
    46 |         notifications: 'YES',

I've also tried to investigate with the command
/usr/bin/xcrun simctl spawn 48317052-1C9B-41B8-AFC4-BE97867A0C21 log stream --level debug --style compact --predicate 'process == "........"'
but honestly I do not have any idea on what search...
Anyone can assist me?
Thanks
Your environment
Detox version: 20.0.3
React Native version: 0.68.2
Node version: 14.19.0
Device model: iPhone 13 Pro Max
OS: 15.5 / 16.1
Test-runner (select one): jest

Thanks @marcoizzo. Can you please provide the device logs as well? I'll take a look.

Thank @asafkorem for the feedback and help.
PFA the artifacts folder
artifacts.zip

I have come here to report a similar issue. After updating my react native app to 0.67.5 I am getting the following error,
detox[47743] INFO:  [APP_STATUS] The app is busy with the following tasks:
• Run loop "Main Run Loop" is awake.
• There are 1 work items pending on the dispatch queue: "Main Queue (<OS_dispatch_queue_main: com.apple.main-thread>)".
• 1 enqueued JavaScript timers:
  - Timer #1:
    + JS timer ID: 218.
    + Duration: 0.05.
    + Is recurring: NO.

Here is my log file,
detox_pid_47743.log
Thanks for any help or suggestions!

It turns out in our app, because of sentry the detox is hanging. Sentry has a timer when we do performance monitoring. So we will need to turn off the sentry performance monitoring while running the detox tests. This was our issue exactly, https://github.com/getsentry/sentry-react-native/issues/1921

Hey guys, are there any chance to investigate this problem?
I was not able to solve it anymore and the solution shared by @Saad-Bashar it's not valid for me since I do not have sentry-react-native package installed
Thanks

Hello guys, thanks for raising the issue. We are also facing the same issue in "expo": "^47.0.0", "detox": "^20.1.2", "jest": "^29.3.1", & "react-native": "0.70.5" . Any help would be appreciated. Below is the logs after running npx detox test --configuration ios.sim.release
The app is busy with the following tasks:
• 1 enqueued native timers:

Timer #1:

Fire date: none.
Time until fire: 0.000.
Repeat interval: 0.
Is recurring: YES.
• Run loop "Main Run Loop" is awake.
• There are 1 work items pending on the dispatch queue: "Main Queue (<OS_dispatch_queue_main: com.apple.main-thread>)".

Finally after a lot of investigation I was able to identify the root cause.
In my case was AppLovinQualityService, removing it from Build Phases list the tests start
I suggest to remove packages in batches and simply the App.js to identify where the issue is

@marcoizzo It seems i have an issue in firebase sdk. It blocks the main native queue with a native timer. But it seems we can't stop firebase init. so we are going ahead with disable detox sync on launch param.

The issue as been solved.
Please
look at  #4282


Missing tests

Currently, we don't have any test and I really want to ensure that everything keeps working fine on the future changes and avoid bugs in the application. However, It's a great opportunity to learn and improve the skills to build tests in React.
What are we expecting?

[x] Choose the best suit test (Jest, chai, whatever you prefer);
[ ] Split the code into smaller parts;
[ ] 100% coverage or close that;
[ ] Improv the Flow type;
[ ] Don't change and don't remove any feature;

Cheers 🍻

Will take care of this!

I've chosen Jest + react-testing-library for testing.
I would split the rendering of the grid in a single component and the rendering of each tile in a component.
Was wondering what edge cases are extremely important with this library to create coverage with meaningful tests.

Thanks, @takethefake, the setup is almost done.
I think we can to keep this issue open and improve the tests.
To the next contributors, there is a todo list at the top of the discussion and any doubt or needs help, just message here :)


refactor: abstract margin account structure into IMarginEngine

Refactor: Abstract all calculation and data structure from Controller(Grappa)
In this PR, we do the following:

define a new entity -- MarginEngine which complies with IMarginEngine and will take care of accounting.
Grappa contract become the entry point for all types of products, which is defined with a MarginEngine
Grappa contract is in charge of minting and burning option tokens, while each MarginEngine take care of liquidation / min collateral management logics.
Example:
there can be a FullCollateralizedMarginEngine that works as Gamma
there can be a PortfolioMarginEngine that takes more than 20 positions into single account structure.

The current SimpleMarginAccount can take up to 1 call spread + 1 put spread
Todo

[x] refactor action functions to call IMarginEngine to update the account storage in another contract.
[x] update tests
[ ] redesign IMargineEngine interface for gas saving / reducing complexity
[ ] update Diagram in README
[ ] update README

Codecov Report

Merging #80 (62cd8ba) into master (4c28982) will increase coverage by 10.46%.
The diff coverage is 90.95%.

@@             Coverage Diff             @@
##           master      #80       +/-   ##
===========================================
+ Coverage   67.76%   78.23%   +10.46%
===========================================
  Files          13       12        -1
  Lines         304      294       -10
  Branches       56       59        +3
===========================================
+ Hits          206      230       +24
+ Misses         91       55       -36
- Partials        7        9        +2

Impacted Files
Coverage Δ

script/Deploy.sol
0.00% <0.00%> (ø)

src/core/Registry.sol
0.00% <0.00%> (ø)

src/core/engines/SimpleMarginEngine.sol
92.62% <92.62%> (ø)

src/core/Grappa.sol
96.66% <96.66%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Order of encryption and compression.

Can you please let me know what is the order of encryption and compression?
Ideally it should be compression and then encryption, so as to achieve a good compression.
But I see in zip4j ZipOutputStream delegates write to CompressedOutputStream which further delegates write to CipherOutputStream which actually encrypts and then zips.
  @Override
  public void write(byte[] b, int off, int len) throws IOException {
    encrypter.encryptData(b, off, len);
    zipEntryOutputStream.write(b, off, len);
  }

If my understanding is correct then please help me understand reason behind this order.
Else please correct me.
Thanks in advance.

Your understanding is right. Flow of data is the following:

DeflaterOutputStream -> CompressedOutputStream -> CipherOutputStream -> ZipEntryOutputStream -> SplitOutputStream

Data is first compressed, then encrypted.


MISSING FEATURE: Add the ability to handle before method call callbacks with server and service bundle

MISSING FEATURE: Add the ability to handle before method call callbacks with server and service bundle.
So you can implement data faulting.

done.


[OTHER] : Adding Important Checkboxes

What would you like to share?

There are no checkboxes present in the issue template
Which is very important for contributing (like GSSOC"23 , code of conduct etc)
Many times contributor forget to add gssoc'23 label on issues and its difficult to project admin to mark the gssoc label on issues

Additional information

I will add important checkboxes
Also there are no drop down menu in issues template like on which browser you see problems so i will also add drop down feature in issues template

Sample

you can go ahead! :)


Update operator documentation

Here is the list of all operators available
https://github.com/begriffs/postgrest/blob/master/src/PostgREST/QueryBuilder.hs#L231
as far as i know @> and <@ are not exclusive to arrays so it would be good to mention that in the documentation or not mention arrays at all (only maybe for the example)

@ruslantalpa you are right about @> and <@ - can also be used for other types. I updated my PR accordingly. I also added other missing operators and adjusted order to match the source.

Thank you @edofic


[WIP] Initial structure

This is an initial proposal for the structure for the library and based on discussion with @haesleinhuepf .
The core of analysis system is a registry of functions that take one image type and return a pandas dataframe. For measurements on label images, the input type is LabelImage and the measurement function should return a dataframe where the index is the label value for each measurement.
The types are defined in morphometrics.types and include:
# pixel values are signal magnitude
IntensityImage = np.ndarray

# pixel values are a calculated feature value
FeatureImage = np.ndarray

# pixel values are bool
BinaryImage = np.ndarray

# pixel values are class/instance membership
LabelImage = np.ndarray

# must index must be the label value
LabelMeasurementTable = pd.DataFrame

Analysis functions are registered with a decorator. For example:
@register_measurement(name="volume")
def volume(label_im: LabelImage) -> LabelMeasurementTable:
    rp_table = regionprops_table(label_im, properties=("label", "area"))

    return pd.DataFrame(rp_table).set_index("label")

See the example registered_measurements.py to see how one checks what measurements are available and then applies them to an image.
from morphometrics.data import simple_labeled_cube
from morphometrics.measure import available_measurments, measure_all

print(f"available_measurements: {available_measurments()}")
>>> available_measurements: ['volume', 'centroid']

label_im = simple_labeled_cube()

measurement_table = measure_all(label_im)
print(measurement_table)

>>>
       area  centroid-0  centroid-1  centroid-2
label
1       125         7.0         7.0         7.0
2       125         7.0         2.0         2.0
3       500         2.0         4.5         4.5

Next step is to add a napari widget plugin to view the results of the measurement in a table.

Codecov Report

Merging #1 (00252d9) into main (b8bfecf) will decrease coverage by 26.07%.
The diff coverage is 51.80%.

@@             Coverage Diff             @@
##             main       #1       +/-   ##
===========================================
- Coverage   91.11%   65.04%   -26.08%
===========================================
  Files           5       12        +7
  Lines          45      123       +78
===========================================
+ Hits           41       80       +39
- Misses          4       43       +39

Impacted Files
Coverage Δ

src/morphometrics/measure/__init__.py
0.00% <0.00%> (ø)

src/morphometrics/measure/label.py
0.00% <0.00%> (ø)

src/morphometrics/measure/measure.py
0.00% <0.00%> (ø)

src/morphometrics/data/label_image.py
37.50% <37.50%> (ø)

src/morphometrics/_sample_data.py
75.00% <75.00%> (ø)

src/morphometrics/__init__.py
66.66% <100.00%> (ø)

src/morphometrics/_tests/test_types.py
100.00% <100.00%> (ø)

src/morphometrics/data/__init__.py
100.00% <100.00%> (ø)

src/morphometrics/types.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Some initial thoughts:

In general I like the registration system. I think it can be flexible and allows users to make their custom functions available. The challenge is of course name space, but I think we can at least add some stuff to check for collisions and warn before clobbering (or modify names).
I'd like to add some specificity to the function registries. For example, I could imagine separate registries for measurements on label images and meshes (they have different function signatures), so we should bake that into the initial names (e.g., _measurements -> _label_measurements)
we should probably add the ability to pass both a LabelImage and a FeatureImage or IntensityImage for quantification of features in masked areas or instances (e.g., mean intensity)

@haesleinhuepf , I've been thinking a bit more about the API and I've updated the PR. I am still unsure where to put this (e.g., new regionprops plugin, napari-skimage-regionprops, leave it here), but it was just easier to prototype here. All of that is to say I would like to continue our discussion on where the "core" region props measurement code should go separately and I would also find it helpful to discuss the implementation in this PR.
measurement sets
I completely agree with your statement above that we should allow batches of measurements to be computed since this allows for caching etc.  Thus, I have introduced a new type of function that can be registered: "measurement sets". A measurement set is a function that takes a label image, an intensity image, and a set of kwargs for turning individual measurements on/off. I have modeled this after your regionprops function in napari-skimage-regionprops where each individual measurement is turned on/off by settings measurement_name to True/False in the kwargs. Like the single measurement function, the measurement set function must return a pandas DataFrame where the columns are the measurements and the index is the label value.
GUI
I have made a prototype of dock widget plugin autogenerates a widget for each registered measurement. The individual measurements get a checkbox and the measurement sets get a collapsible section containing a checkbox for each measurement choice.
additional kwargs
I think it would be fairly straightforward to extend this a bit more to allow additional kwargs to be passed to measurement functions. One example would be passing the filter parameters if one was summing the intensities in an object after filtering. I think we could use magicgui to generate the widgets for the GUI.
models
I would also like to create small data classes or pydantic models to formalize parts of the  API (e.g., the function name and choices for the measurement set functions). This also will allow us to validate the options before running the measurements. This will be especially useful for measurements that take a long time to run as it will prevent the analysis from failing halfway through a long run due to invalid settings.
demo
Here is how it all looks together. The demo images are available as sample data. Notice individual functions (volume and centroid) are displayed as individual checkboxes and your regionprops is in a collapsible widget with a checkbox for each measurement option. This stores the results in layer properties and displays them using your table widget (imported from napari-skimage-regionprops. Currently, the measurement is blocking, but we can put it into a separate thread and update a progress bar when each measurement completes.
https://user-images.githubusercontent.com/1120672/154799281-7ef657fe-5ad6-4783-8116-c2467699cb58.mov

I come from Java island, where we have long human readable variable names which allows reading out code loudly like human readable text. And I believe that's a good habit. Speaking about label_image on the phone has a high success rate in transfering information compared to a variable named label_im. I'm suggesting to rename all variables which end with '_im' to '_image'. Sorry for being picky ;-)

Yes, I think this is a good point. I've updated the variable names to be complete words.

Hey Kevin,
great to see this emerging!

am still unsure where to put this

I think it's partially overlapping with napari-features. Maybe, we can take it over and collect the best of both approaches there. See also: https://github.com/0x00b1/napari-features/issues/18
I'm a bit busy these days, but hope to join forces on this with you in March 🌞

Hey @haesleinhuepf ! Thanks for dropping by even thought you're super busy.
I agree there is overlap with napari-features. I am happy to combine this code over there if @0x00b1 is open to it. Thank you for starting that conversation.
I think I will go ahead and merge this PR for now so I can keep experimenting with other things. I do not mind moving/refactoring when we figure out the best path forward.
Looking forward to when you have more time in March!


chore: regenerate yarn.lock tree from semantic-release down

Details
This PR is the result of:

Removing semantic-release from devDependencies
yarn install
Re-adding semantic-release to devDependencies
yarn install again

Motivation
This results in updating transitive dependency conventional-commits-parser to 3.2.3, which in turn drops its dependency on trim-off-newlines and fixes some alert noise for https://github.com/advisories/GHSA-38fc-wpqx-33j7
This update has no customer-facing impact; it is just fixing a noisy alert in a dev dependency
Context
n/a
Pull request checklist

[x] PR title respects Conventional Commits (starts with fix:, feat:, etc, and is suitable for user-facing release notes)
[x] PR contains no breaking changes, OR description of both PR and final merge commit starts with BREAKING CHANGE:
[n/a] (if applicable) Addresses issue: #0000
[n/a] Added relevant unit tests for your changes
[x] Ran yarn precheckin
[n/a] Verified code coverage for the changes made

:tada: This PR is included in version 2.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unable to find DOM nodes for hydration key

Describe the bug
When passing SVG component as prop to another component I'm getting Unable to find DOM nodes for hydration key issue, ive seen post here some solved const c = children(() => {props.children}); but I'm really confused is this the best approach.

import { type JSXElement } from 'solid-js';

export default function Test() {
  return (

      <TextInput iconLeft={<Profile />} />

  );
}

export const TextInput = (p: { iconLeft?: JSXElement }) => {
  return
{p.iconLeft ? p.iconLeft : 'No Icon'}
;
};

export const Profile = () => {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      fill="none"
      viewBox="0 0 24 24"
      stroke-width={1.5}
      stroke="currentColor"
      class="w-6 h-6"
    >
      <path
        stroke-linecap="round"
        stroke-linejoin="round"
        d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
      />
    </svg>
  );
};

Please remove also Your Example Website or App not all issues need example when here is a code that shows
Your Example Website or App
No repo
Steps to Reproduce the Bug or Issue
Just passing the file via prop
Expected behavior
Not get the message
Screenshots or Videos
No response
Platform
Version: 1.81.1
Commit: 6c3e3dba23e8fadc360aed75ce363ba185c49794
Date: 2023-08-09T22:40:25.698Z
Electron: 22.3.18
ElectronBuildId: 22689846
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.6.0
Additional context
No response

It does work now with children function but just feels odd writing it and confusing, wish there was a better way

would "iconLeft" in props ? props.isonLeft : <Fallback/> or props.iconLeft || <Fallback/> work?

both worked, i'm confused :D
what is diff between props.iconLeft ||  and children()?

let last_hk = 0
function getUniqueHydrationKey() {
	return ++last_hk
}

const props = {
	get children() {
		const hk = getUniqueHydrationKey()
		return `<div data-hk="${hk}"/>`
	}
}

// children getter is called twice:
return props.children ? props.children : "fallback"

// children getter is called once:
return props.children || "fallback"

// same with children():
const resolved = children(() => props.children) // created a memoized signal like createMemo
return resolved() ? resolved() : "fallback"


Weird Lines in Screenshot in Headless

In PNG/JPEG, my images are getting lines at higher resolutions.

In some cases, the lines are bigger and thicker.
How can I take clean images of larger viewports without the lines being there?  In the browser, the lines are not there.

@j: I'm not sure what are the lines and why they appear. Usually it means that website is doing something finicky - and that's outside Puppeteer's control.
We can't help much here since we can't repro. Closing this, but feel free to re-file with a good script that we can run locally to debug your issues.


Split similar cards into of-same-type and not-of-same-type in the right rail

When editing a card, especially one on topics you haven't touched in a long time, it's hard to remember which other cards exist that you might want to interlink. The working notes cards are so prevalent that they kind of swamp the cards of other types you might want to link to.
The not-of-this-type should not show up if no matches (which will be common for non admin users who can't see working notes)

This actually requires new custom filter machinery, maybe same-type/CARD-ID and different-type/CARD-ID


TSSSP module

This PR adds support for using sspi-rs as a TSSSP module. It adds the possibility to replace the native credssp.dll with sspi-rs for the mstsc. credssp.dll relies on the Schannel and the TSSSP and does not contain any protocol implementations. sspi-rs  uses Rust stack instead of Schannel (rustls + picky-rs).
I didn't create another FFI for, but just extended the existing one and improved SspiContext by the new item.
Here are some important points about this implementation.
I've changed the SSPI tables. Now in the reserved fields EncryptMessage/DecryptMessage functions are specified. This is not documented anywhere and was discovered during debugging. The mstsc always uses the reserved3 and reserved4 fields of the functions table as EncryptMessage and DecryptMessage functions.
I also added support for the new attributes for the QueryContextAttributesA/W function:

SECPKG_ATTR_STREAM_SIZES
SECPKG_ATTR_REMOTE_CERT_CONTEXT
SECPKG_ATTR_NEGOTIATION_PACKAGE
SECPKG_ATTR_PACKAGE_INFO
SECPKG_ATTR_SERVER_AUTH_FLAGS
SECPKG_ATTR_CERT_TRUST_STATUS
SECPKG_ATTR_CONNECTION_INFO

Small FFI changes:

pf_qop parameter of the DecryptFunction can be null if this library is used as a CredSsp security package.
Improved the copy_to_c_sec_buffer function: now it also copies the buffer type and handles when the buffer pointer is null.

At this point, we use the rustls for TLS connection establishing and traffic encryption/decryption. I've placed the TLS part into a separate module so we can easily add native Schannel support.
Used Docs & References:

CredSsp
SChannel
QueryContextAttributes (Schannel)
QueryContextAttributes (CredSSP)

I’m unsure whether using a new feature flag is the right choice. What about using #[cfg(windows)] directly?

I’m unsure whether using a new feature flag is the right choice (this requires enabling / disabling the feature depending on the targeted platform). What about using #[cfg(windows)] directly?

I think a new feature flag makes better intention.  You would think  - are different features related if they compile under the same target?
TSSSP use case is only to build sspi-rs and use it as credssp.dll in  mstsc. So I wouldn't be used in crates.
I will change to use #[cfg(windows)] if you still insist on it.

TSSSP use case is only to build sspi-rs and use it as credssp.dll in mstsc. So I wouldn't be used in crates. I will change to use #[cfg(windows)] if you still insist on it.

Okay, leave it that way then.

Currently, CI builds sspi-rs with --all-features flag on all systems which makes the build fail cause tsssp can be only enabled on Windows. We should modify CI to build with the feature enabled only on Windows. I want to do it in a separate PR to not mix this PR, but I'm not sure if it's possible to merge a PR when there are some failed runners.

As you said, this have to be fixed in this PR. I push to your branch and fix that if you want.
I can do that once remaining conversations are resolved.

Hi @RRRadicalEdward
Apparently there are tests failing under Linux for sspi-ffi:
failures:

---- sec_pkg_info::tests::enumerate_security_packages_a stdout ----
thread 'sec_pkg_info::tests::enumerate_security_packages_a' panicked at 'assertion failed: `(left == right)`
  left: `4`,
 right: `5`', ffi/src/sec_pkg_info.rs:339:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- sec_pkg_info::tests::enumerate_security_packages_w stdout ----
thread 'sec_pkg_info::tests::enumerate_security_packages_w' panicked at 'assertion failed: `(left == right)`
  left: `4`,
 right: `5`', ffi/src/sec_pkg_info.rs:357:13

Hi @CBenoit! I fixed the units tests, but CI fails due to a CI itself related issue

Thank you! I’m looking into it

When I run the command manually on Windows, I indeed get the error locally as well. It says the specified executable is not a valid Win32 application. :thinking:
You can reproduce with cargo test --manifest-path ffi/Cargo.toml. Strangely, this is only happening with windows, on Linux and mac there is no problem :shrug:

I don’t understand why it’s failing only on Windows. Since it’s not happening in CI only, if you find anything let me know! For now I asked our Devops to relax a bit our requirements for this check and I’ll merge in order to avoid blocking this PR longer.

Fixed CI in https://github.com/Devolutions/sspi-rs/pull/98


Add jaeger-query HTTP handler diagnostic logging

Signed-off-by: albertteoh<EMAIL_ADDRESS>
Which problem is this PR solving?

Jaeger-query was swallowing json marshalling errors, making it difficult to root-cause issues during development (while adding a new /metrics API endpoint).

Short description of the changes

Handle json.Marshal and ResponseWriter.Write errors and log them. Log success at debug level as well.

The error paths can me tested

Yup, sloppiness on my part. I had a go at writing tests for it, please let me know if there's a more idiomatic approach.

Thanks for the review!


File Settings path missing starting slash issue

Привет,
We have an Angular application  and а Crowdin project we want to use for translations ( Project ID: 486605). We use JSON files and have translations in 3 languages: Finnish, French and Swedish.  Our initial setup is with CDN integration. We have created a distribution pointing to our source translations in English (en.ts). We have uploaded our current translations and made distribution release and build the project.
We installed the ota-client library and we got empty strings for our translation. Here is detailed description:
Case 1: When file setting for the source content file en.ts was missing leading slash: development/%two_letters_code%.ts:
ota-client Library Behaviour: CDN files were created in 3 different folders for the 3 locales rather then in the development folder, e.g.
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/fr/development/fr.ts?timestamp=1643978136
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/fi/development/fi.ts?timestamp=1643978136
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/sv-SE/development/sv.ts?timestamp=1643978136
As a result I could not get any strings from the ota-client calling methods getStrings() which returned the 3 locales with empty content and getLanguageTranslations("fi") was returning an error. The distribution manifest file was:
"files": [
"development/%two_letters_code%.ts"
],
Case 2: Support suggested using File setting path: development/en.ts.  Again 3 different folders were created but all files were named en.ts, e.g.:
https://distributions.crowdin.net/<distribution_hash>/content/fr/development/en.ts?timestamp=<some_timestamp>
ota-client Library Behaviour*: The distribution manifest file was:
"files": [
"development/en.ts"
],
Method client.getStrings() still returned empty objects for the 3 locales. Method client..getLanguageTranslations('fr') returned values for the specified locale.
This was not optimal because we need also to download the files and having them all named correctly.
Case 3: Then I decided that path might be expected with starting slash. Changing path to /development/%two_letters_code%.ts generated expected file structure in CDN - now all 3 files are in one folder:
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/development/fi.ts?timestamp=1644326939
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/development/fr.ts?timestamp=1644326939
https://distributions.crowdin.net/8bd5fd98d64a79388c828a8g2b9/content/development/sv.ts?timestamp=1644326939
ota-client Library Behaviour*: Method client.getStrings() still returns empty objects for the 3 locales. Method client..getLanguageTranslations('fr') returns values for the specified locale.
Expected behaviour:  Method getStrings() returns values for the 3 locales.
We also expected to get error or some insight that File Setting path was wrong.
Your response is highly appreciated.
С уважением,
Лиляна

Hey! I tried to replicate this behavior with your distribution hash and I could not reproduce it.
This is what your manifest file looks like at the moment of me writing this, which, as you can see, does have the leading slash:

And, upon fetching it on the client, I get the same thing as expected:

The reason you aren't getting any strings from the getStrings() method is that this only works with json files, as noted in the JSDoc comment. Since you're using a typescript file, the contents provided by the CDN come in the form of a string, not an object, which doesn't let the client parse strings from it, and thus returns an empty object for all languages, as expected.
Now, the getLanguageTranslations() works differently, as it simply outputs the result given by the CDN, which, in your case, is a string of TS code, so it will work as expected as no transformation needs to be done. What I recommend doing is iterating through your manifest languages and fetch the translations using this method for each language, then map them to an array and do whatever you need to do with them. Alternatively, if you want the parsed strings, you will have to change the files in your project to the json format.
I may have misunderstood some parts of your issue so please let me know if I missed anything, but this is what it looks like to me at a glance and after some testing!

Thanks for the fast reply! I also tried to reproduce - changing the settings without the leading slash but now it works. Thanks for the clarification on getStrings() method - I probably missed this in the documentation.

@ImRodry thanks for the help!
We are going to add some exception handling for this case.


Add RBUI Accordion

This looks good. But since you moved the accordion to the rbui namespace we should remove it from phlex_ui. Other than that its great!

https://github.com/jacksonpires/phlex_ui/blob/b9c2583ce7e9fc50abf6a2f62ff89314b6be95d5/lib/phlex_ui/accordion.rb


Store Accessories Data in MongoDB Using Node.js and MongoDB Atlas and Modifying UI via REST API

Description
We need to shift the data source of Accessories from raw JSON data to MongoDB Atlas by creating a backend using Node.js. The UI will be updated to retrieve data from the MongoDB database using a REST API. This transition will involve building a backend that manages database operations, including the creation, retrieval, updating, and deletion of accessory data.
Steps to Reproduce the Issue
Action 1: Set up a MongoDB Atlas cluster and create a collection for accessories.
Action 2: Develop a Node.js backend using Express to connect to MongoDB Atlas.
Action 3: Implement the REST API endpoints (GET, POST, PUT, DELETE) to manage accessory data.
Action 4: Modify the frontend to retrieve accessory data via the REST API, replacing the existing static JSON data.
Expected Behavior
The Accessories data should be retrieved dynamically from MongoDB Atlas.
The REST API should provide endpoints for managing accessory data (CRUD operations).
The frontend UI should display the data retrieved from the database, with no reliance on static JSON.
Actual Behavior
Currently, the Accessories data is being fetched from a static JSON file.
No backend system is in place to dynamically manage accessory data.
The UI is not connected to a REST API for retrieving or updating data.
Screenshots

Additional Context
This transition is essential to improve the scalability of the application, allowing for easier management of accessory data, real-time updates, and dynamic rendering of the accessories on the UI. MongoDB Atlas will be used as the database, and the Node.js backend will facilitate the data management through a REST API.

@soham0005 Could please assign this issue to me under the label of GSSoC-exd and Hacktoberfest.

@soham0005 ??

@samriddhitiwary, it is indeed a good idea to save into the database, before directly assigning it, i need to have a setup of backend.
Would you mind to connnect to discuss the initial setup for this

@soham0005  sure

@samriddhitiwary  do connect on discord

@soham0005 I have never really used discord so how should I proceed for it?
Can you send me the invitation

@samriddhitiwary share your discord name

@soham0005 Samriddhi|Contributor

@samriddhitiwary Any updates from your side?

@soham0005 Wasn't I expected to wait until the complete backend setup was finished?

@samriddhitiwary you can start the work now

@soham0005 Ok I will start working on it

@samriddhitiwary do pull the changes first and create another branch and work on that branch


How to install on Windows 10

The launch file is a bash script, so how to install in cmd?

I was able to run the launch file using Windows 10 Subsystem for Linux, however the jupyter-scala kernel is not listed afterwards:
(C:\Program Files\Anaconda3) C:\Users\mslin_000>jupyter kernelspec list
Available kernels:
  python3    C:\Program Files\Anaconda3\lib\site-packages\ipykernel\resources

If I had to guess - jupyter is finding the kernel in the standard windows paths for Jupyter and the linux subsystem is installing in the expected place for a linux install.
From a python terminal (or IPython or the Jupyter notebook) run:
from jupyter_core.paths import jupyter_path
jupyter_path('kernels')

Try that both while using the Linux subsystem and while in a standard Windows prompt with Python.

WSL bash:
$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from jupyter_core.paths import jupyter_path

jupTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
ytImportError: No module named jupyter_core.paths
>>>
e>>> jupyter_path('kernels')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

NameError: name 'jupyter_path' is not defined

From Anaconda Prompt:
(C:\Program Files\Anaconda3) C:\Users\mslin_000>ipython
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from jupyter_core.paths import jupyter_path
   ...: jupyter_path('kernels')
   ...:
Out[1]:
['C:\\Users\\mslin_000\\AppData\\Roaming\\jupyter\\kernels',
 'C:\\Program Files\\Anaconda3\\share\\jupyter\\kernels',
 'C:\\ProgramData\\jupyter\\kernels']

In [2]: Some(1).map(_+2)

NameError: name 'Some' is not defined

Windows cmd:
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Users\mslin_000>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from jupyter_core.paths import jupyter_path
>>> jupyter_path('kernels')
['C:\\Users\\mslin_000\\AppData\\Roaming\\jupyter\\kernels', 'C:\\Program Files\\Anaconda3\\share\\jupyter\\kernels', 'C:\\ProgramData\\jupyter\\kernels']
>>> Some(1).map(_+2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Some' is not defined

This makes definite sense then. The default python in the WSL is specifically for that Linux and doesn't use your Anaconda python. Some quick tips that I think should help with diagnosis:
Inside the WSL based Linux:
python -m pip install jupyter_core

Then open up the python terminal to run the commands I outlined before. I mostly want to compare paths. When I get back to my Windows machine I can investigate this and see if we can make this a cleaner process.
On a separate note, you definitely won't have Some available - this is the Python prompt, no Scala (or really many functional programming building blocks :wink:)
However, once we have your kernel for Scala detected properly you will likely be able to run jupyter console --kernel scala to get a Scala REPL reliant on jupyter-scala. :smile:

WSL installs Jupyter-Scala in %LocalAppData%\lxss\home\mslinn\.local\share\jupyter\kernels\scala, which for me is C:\Users\mslin_000\AppData\Local\lxss\home\mslinn\.local\share\jupyter\kernels\scala.
From a WSL prompt:
$ ./jupyter-scala -h
JupyterScalaApp
Usage: jupyter-scala-app [options]
  --usage
        Print usage and exit
  --help | -h
        Print help message and exit
  --id  <value>
  --name  <value>
  --connection-file  <value>
  --erase-connection-file
  --quiet
  --exit-on-key-press
  --force
  --no-copy
  --jupyter-path  <value>
  --global

From a Windows Cmd prompt;
(C:\Program Files\Anaconda3) C:\Users\mslin_000>jupyter kernelspec list
Available kernels:
  python3    C:\Program Files\Anaconda3\lib\site-packages\ipykernel\resources

Perhaps an incantation something the following might work?
./jupyter-scala --jupyter-path /mnt/c/Program\ Files/Anaconda3/Lib/site-packages/notSureWhatGoesHere

@rgbkrk Normally Python installs pip, but Windows for Linux requires you do that
$ sudo apt-get install python-pip

Now I installed, with sudo -H:
$ sudo -H python -m pip install jupyter_core

This test passed:
$ jupyter --version
4.2.1

$ jupyter console --kernel scala
jupyter: 'console' is not a Jupyter command

$ jupyter -h
usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
               [--paths] [--json]
               [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

optional arguments:
  -h, --help     show this help message and exit
  --version      show the jupyter command's version and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable
                 format.
  --json         output paths as machine-readable json

Available subcommands: migrate scala troubleshoot

I might have given you too strict of an install there. jupyter_console is a separate package you can also pip install.

WSL needs the gcc compiler and the Python development package:
$ sudo apt-get install build-essential python-dev

Now I tried to install Jupyter the same as for Ubuntu:
$ sudo -H pip install jupyter

I got several errors like this, and the installation failed.
Compiling /tmp/pip_build_root/pexpect/pexpect/async.py ...
  File "/tmp/pip_build_root/pexpect/pexpect/async.py", line 16
    transport, pw = yield from asyncio.get_event_loop()\
                             ^
SyntaxError: invalid syntax

OK, I can now run a Jupyter console from Windows Subsystem for Linux.
$ jupyter console --kernel scala
Jupyter console 5.0.0

jupyter-scala 0.4.0-RC1
ammonium 0.8.0
Scala 2.11.8
Java 1.8.0_111

In [1]: Some(1).map(_+2)
Out[1]: res0: Option[Int] = Some(3)

However, when I run:
$  jupyter notebook

Lynx starts up and displays the web page. I need a Windows browser instead.

I pasted in the Spark code into the notebook and got:
Creating SparkContext
java.net.SocketException: Cannot assign requested address (IOCTL SIOCGIFNETMASK failed)
  java.net.NetworkInterface.getAll(Native Method)
  java.net.NetworkInterface.getNetworkInterfaces(NetworkInterface.java:343)
  org.apache.spark.util.Utils$.findLocalInetAddress(Utils.scala:876)
  org.apache.spark.util.Utils$.org$apache$spark$util$Utils$$localIpAddress$lzycompute(Utils.scala:862)
  org.apache.spark.util.Utils$.org$apache$spark$util$Utils$$localIpAddress(Utils.scala:862)
  org.apache.spark.util.Utils$$anonfun$localHostName$1.apply(Utils.scala:919)
  org.apache.spark.util.Utils$$anonfun$localHostName$1.apply(Utils.scala:919)
  scala.Option.getOrElse(Option.scala:121)
  org.apache.spark.util.Utils$.localHostName(Utils.scala:919)
  org.apache.spark.SparkContext.<init>(SparkContext.scala:385)
  jupyter.spark.Spark$$anon$1.<init>(Spark.scala:186)
  jupyter.spark.Spark.sc$lzycompute(Spark.scala:186)
  jupyter.spark.Spark.sc(Spark.scala:181)
  jupyter.spark.package$.sc$lzycompute(package.scala:9)
  jupyter.spark.package$.sc(package.scala:9)
  $sess.cmd7Wrapper$Helper.<init>(cmd7.sc:24)
  $sess.cmd7Wrapper.<init>(cmd7.sc:149)
  $sess.cmd7$.<init>(cmd7.sc:79)
  $sess.cmd7$.<clinit>(cmd7.sc:-1)

Got it!

Download the link in this issue https://github.com/jupyter-scala/jupyter-scala/issues/1#issuecomment-315643483 and follow the directions in the Readme.txt.
Basically someone uploaded an already compiled kernel that you just need to plot into your kernels folder 😄


Use lodash functions instead of those in base.js

Still a WIP, just opening for discussion. Not entirely sure why CI is failing yet.
Sometimes it is helpful to re-invent the wheel, but when you have a fast, battle-tested library at your disposal there's no reason not to leverage it! A leaner library is always a good thing.
Advantages:

Variadic functions can now accept arrays as arguments, so (foo) is as valid as ([foo, foo]) or ([foo, [foo], foo], [foo]),
Less code to maintain, debug and test,
Don't have to worry about browser incompatibility for those functions,
More concise code (e.g. one pluck instead of needing a whole getSource function),
People who use lodash get smaller builds when they use tools like webpack since the common code can be shared,
Performance seems to be maintained.

Disadvantages:

Will probably increase build size slightly for standalone most; this can probably be addressed with some tweaking.

Other thoughts:

Function order is "backwards"; using lodash-fp instead "fixes" this, but I imagine most implementors won't be using the fp-specific library; doing this removes the advantage of shared code.
Being able to pick your desired Promise library would also help cut down on the build size for those already using Promise libraries and allow for better code sharing (bluebird for days boys). This could be achieved with webpack via something like if (__PROMISE__) { module.exports = require(__PROMISE__); } else { module.exports = require('when'); } About 25KB (~40%) of most size comes from when.

Performance sample:
master:
concatMap 1000 x 1000 streams
-------------------------------------------------------
most        121.00 op/s ±  4.72%   (73 samples)
rx            1.12 op/s ± 15.72%    (7 samples)
kefir        11.49 op/s ±  5.40%   (31 samples)
bacon         0.95 op/s ±  1.94%    (7 samples)
lodash        5.05 op/s ±  8.85%   (17 samples)
Array         0.33 op/s ±  2.17%    (5 samples)
-------------------------------------------------------

baseless:
concatMap 1000 x 1000 streams
-------------------------------------------------------
most        120.51 op/s ±  3.94%   (77 samples)
rx            1.33 op/s ±  5.07%    (8 samples)
kefir        11.12 op/s ±  4.58%   (30 samples)
bacon         0.92 op/s ±  8.09%    (7 samples)
lodash        4.99 op/s ±  9.17%   (17 samples)
Array         0.26 op/s ± 48.56%    (5 samples)
-------------------------------------------------------

Build size results:
master:
webpack -p --entry ./most --target web most.min.js
du -hs most.min.js
60K    most.min.js

baseless:
webpack -p --entry ./most --target web most.min.js
du -hs most.min.js
76K    most.min.js

Hey @izaakschroeder, thanks for proposing this.  It's impressive that you've dug deeply enough into the most.js code to figure this out :)  I have a huge amount of respect for lodash and its developers.
A goal of most.js is to have zero dependencies.  Right now, we have a dependency on when simply because it hasn't been practical to depend on native Promise, and we felt that "bring your own promise" was still a little too much to ask.  We wanted the best possible out-of-the-box experience.  The native Promise landscape has improved, so we'll probably re-evaluate going with "bring your own promise" after 1.0.0 (0.14.0 is the 1.0.0 release candidate).
Our API design philosophy differs somewhat from that of lodash.  We prefer functions that do exactly one thing, and accept more tightly focused input types rather than accepting many possible input types.  Accepting variadic or array doesn't fit with out API design philosophy.  However, with "functions first, data last" argument ordering, and ES6 spread args, it's a moot point: e.g. most.combine(f, ...streams); or most.combine(f, stream1, stream2, stream3);
The base module has proven to be fast and solid, and contains only what most.js needs.  It also fits with our zero dependencies goal.  We'll stick with it for the foreseeable future.


When PDA fails to load properly, you can see uplink options + play music

Description

None of the buttons actually work and nothing loads, but it's quite funny to have the options visible even if your PDA is not intended to do either of those things
Reproduction

Haven't found any reproduction steps, but other people have reported the same issue
Screenshots

Additional context

I need logs from anyone as I can't repro it.

Seems to happen on the first open of shift for some peeeople....

I dont know how it happens but sometimes when you open a PDA, it could be yours or someone else's, you see "open uplink" "close uplink" and some other options. When you click them nothing happens. You have to close the window and reopen it to get the PDA to fuction properly again.
It is a really big issue because ive seen security who encounter this issue when stripping a players PDA, see the uplink and kill them because they assume its a traitor, when its auctually a regular crewmember.
Ill try to repo this and send in a screenshot/video of it if i can get it working

had a round where this happend randomly as a security officer. Opened PDA and saw the screen and started recording. If you take out your ID or turn off/on the PDA it seems to fix the issue.
https://github.com/space-wizards/space-station-14/assets/106507028/d732bbb5-0cc5-43e5-abfd-9e02a082860d
Nothing happens when clicking on the uplink options.

Have any admins who've seen this VVd the state or anything else involved.


feat: add script to check the status of the LB before attaching SG

Description
Issue: https://github.ibm.com/GoldenEye/issues/issues/8584
Tested this feature 3 times in local all of them passed.

Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

The test failed because apikey creation was restricted in our account. Should be fixed now so re-running..

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 3.22.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Long Messages in the Android App Overflow

Once a message becomes long enough android users tend to face 2 issues:

Can't scroll down to view the rest of the message.
Can't hit send.

thread (topic) on Zulip to discuss this issue: https://chat.zulip.org/#narrow/stream/48-mobile/topic/Issues.20with.20long.20messages

@zulipbot claim

The send button is still there when writing in a topic, but it disappears when writing a long message in a stream (so the cause is probably the topic input box). I am going to look more into this when I get back from university.

@ungps how does adding a multiline limit to this sound (referring to WhatsApp for example, which adds 6 lines before it stops expanding the text box)?

Thanks @ungps for this report!
Take a look at #3369 (and in particular the video there). Does that appear to describe the same issue? Or if not, can you describe how this one is different?

Putting a bound on the height is a reasonable direction for solving this, but it's important that we not limit it too tightly. See previous discussion on #3049 :

I've definitely composed messages longer than 6 lines of text in the current Zulip app (and I think copying Messenger and WhatsApp isn't right for our context, because Zulip, being a work tool, is generally going to have more reason to send long messages explaining complex ideas). I do think we need to have a reasonably scrolling situation for this, but I think limiting to 6 lines is counterproductive.

That was followed with a sketch of the logic we would want:

Then we want to grow the compose box up to the height of the whole screen when the keyboard is popped up. (height = screen.height - keyboard.height).
If the user wants to see what was written, they can hide the keyboard.

but it doesn't look like it ever happened. So that would be a good solution.
@ungps , thanks for taking a shot at this with #3420! Want to try implementing the logic described above?

This is trickier to implement than it seems at first sight.
The ideal solution will consist of no manual calculations but will be only style-based with maybe some components moved around and optionally wrapper Views etc. added.
That might not be easy or even possible but is worth exploring.
The alternative is what Greg is saying, not only Keyboard should be considered but layout changes in general. So orientation change, or even the app screen changing its size - both Android and iOS now support multiple apps on the same screen.

@gnprice It's definitely a similar issue though not the exact same. In this case, I can't access the send button at all after a certain point. The topic also becomes completely inaccessible.

I don't think this will get solved by just setting maxHeight.
Few observations:

This is happening in stream narrow, not in PM.
According to me if it is related to message box height then what it it not happening in topic or PM narrow.

If i would have to guess that this is related to view wrapper or topic input. Because it only happens when topic input is present.

Thanks @Hypro999 for the reply! And for the screenshots.

It's definitely a similar issue though not the exact same. In this case, I can't access the send button at all after a certain point. The topic also becomes completely inaccessible.

Hmm -- that seems like a small quantitative difference in the same issue. Here's a frame from @armaanahluwalia 's video in #3369:

Note that the send button is about 90% covered; and the topic is completely invisible, though part of the bottom padding in its input box still peeks through.
Let's consolidate this discussion on the original thread, #3369.


(maint) remove extra gems from appveyor

When running specs in our local Jenkins environment, the
'extra' gems, which include 'msgpack' are not installed.  We do
this because:

'msgpack' requires building native code, which unnecessarily
adds to the feedback loop
we intentionally try to maintain a clean environment without
the Ruby DevKit installed

This has previously worked on AppVeyor because they have the
Ruby DevKit installed.

makes sense. Curious if spec_helper is necessary though?

For reference, list of appveyor preinstalled software

Waiting for Travis/AppVeyor...

Pretty sure puppetlabs_spec_helper is not required. It was added in 0350afd5, but it introduces a cyclic dependency as puppetlabs_spec_helper depends on puppet. Also tzinfo is not used in puppet from what I can tell:
$ git grep -i tzinfo
Gemfile:  gem "tzinfo", :require => false

That said cleaning up the Gemfile can be a separate PR

:+1:

Looks no worse than before.

The fun rdoc issue that just won't go away. Possibly made worse now. Perhaps we ensure those don't run as part of this fix?

I rekicked the PR

The rdoc issue is PUP-4537, I've updated with my notes recently...

CLA signed by all contributors.

:+1:


Any way to run or test a script with ingredients?

from sacred import Ingredient

ing = Ingredient('ing')

@ing.config
def config():
    a=1

@ing.capture
def f(a):
    print(a)

if __name__ == '__main__':
    print(f(1))

Fails with
Traceback (most recent call last):
  File "test.py", line 16, in <module>
    print(f(1))
  File "/Users/Wojciech/miniconda3/envs/rlzoo/lib/python3.6/site-packages/sacred/config/captured_function.py", line 44, in captured_function
    wrapped.logger.debug("Started")
AttributeError: 'NoneType' object has no attribute 'debug'

Any solution/workaround?

Hmm, tricky. Ingredients can not be run directly. ATM I can think of three ways around this:

Declare it as an experiment instead. Since experiments are a subclass of ingredients you can still use it as an ingredient.
Set up a stub experiment that uses that ingredient in if __name__ == '__main__' part.
Hack: call f.__wrapped__(1) instead. This will call the function without the decorator.

I guess the general usecase here is to test the captured functions? That is a very good point actually. Maybe it should be possible to call them without having an active run. In that case obviously no config injection would happen, but that might be ok.

Thx. I was missing the f.wrapped(1) hack.
But this is a more general issue with sacred. I often would like the configuration of my classes to be transparent to other users of my code. Now, I always wonder: should this class be configurable (convenient) or not (I cannot reuse it in non-sacred context)?
If I write a module that has some sacred configuration, I would like to let people import it without caring about whether the implementation uses any sacred/configuration or anything (of course, injection needs to happen). And of course, allow them to change its configuration if they want to.
Now you need to manually tell the ingredients to be part of the experiment. What I suggest is to load them automatically on import.
gflags works in a similar way (https://pypi.python.org/pypi/python-gflags/3.0.5)

Hey, this is actually pretty confusing for me. I've gone ahead and integrated sacred into my code but now I'm hosed since I can't debug functions individually. For example, consider
from sacred import Experiment

ex = Experiment('tester', interactive=True)

@ex.config
def config():
    a = 5

@ex.capture
def foo(a):
    return a + 1

print(foo())

If I try to run this I get
/home/tudor/anaconda3/lib/python3.6/site-packages/sacred/config/signature.py in _assert_no_missing_args(self, args, kwargs, bound)
    160         if missing_args:
    161             raise TypeError("{} is missing value(s) for {}".format(
--> 162                 self.name, missing_args))

TypeError: foo is missing value(s) for ['a']

which means I can't call a function to debug it unless I pass in the args (and even if I did for the toplevel function, now there are all the dependencies below it that need the arguments as well, which defeats the purpose of the config!)

I reviewed the documentation thoroughly; is it the case that sacred cannot be used unless it's through an invocation of the main function?

One solution appears to be wrapping every function in ex.command like so:
from sacred import Experiment

class TestClass(object): pass

ex = Experiment('tester')

@ex.config
def config():
    a = 5

@ex.command
def foo(a):
    return a + 1

@ex.command
def bar(x):
    return TestClass(), foo(), x

result = ex.run('bar', config_updates=dict(x=5))
print(result.result)

Can you confirm if this is the simplest way to go about this?

You need to start an experiment, in order for the config to be processed. But if you prefer you can use _create_run to do that and then call the captured functions. This will evaluate the config and set everything up, but will not invoke the observers or the commandline capturing:
r = ex._create_run(config_updates=dict(x=5))
bar()
foo()

This solution is not ideal, but it should work. Do you think a separate ex.call could improve upon this? How would you handle config updates vs passed parameters?

Ah, ok, that should work. I think this is better than a separate ex.call and does seem like the right way to handle params vs config updates.
Just FYI, two pieces of feedback:

I think the use case I described is pretty common when one is building up a research codebase and testing individual functions along the way. It should probably be supported as a first-class use case in Sacred imo.
While I enjoyed the config-as-argument approach initially it was difficult for a collaborator to pick up on -- there is a lot of uncertainty about the pattern since it's so uncommon. We ended up using a function like so:

_saved_cfg = None
def cfg(k):
    global _saved_cfg
    if _saved_cfg is None:
        _saved_cfg = ex.configurations[0]()
    return _saved_cfg[k]

and call it inside each function that needs a config parameter e.g. cfg('key').

Should be resolved by #222.


Add environment variable to specify admin UI port

Currently Admin UI port is hardcoded to port 81.
I know that you can expose it to another port but I was forced to attach my docker container to host network where port mapping does not work.
I also know that it could be changed by editing configuration after deployment but I don't like that solution (it means I have to do it every time I redeploy the stack).
The easiest solution would be if there was an environment variable that would define admin UI port, for example:
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    network_mode: host
    environment:
      ADMIN_UI_PORT: 8080
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

If anybody asks why I had to attach to host network it's because it was they only way for my services to get the real client IP address. When nginx proxy manager is deployed in docker network X-Real-IP header always contains IP of docker network.

I would also love this feature, due to needing host network


Add quaternion to euler angles.

local l = sqrt(q[1]*q[1]+q[2]*q[2]+q[3]*q[3]+q[4]*q[4])
if l == 0 then return SF.WrapObject( Angle( 0, 0, 0) ) end

Change this to:
local lsqr = q[ 1 ] * q[ 1 ] + q[ 2 ] * q[ 2 ] + q[ 3 ] * q[ 3 ] + q[ 4 ] * q[ 4 ]
if lsqr == 0 then return SF.WrapObject( Angle( 0, 0, 0 ) ) end

The square root is unnecessary, and very expensive. If all you're checking is the length, then the squared length with still be fine as 0 * 0 = 0. This is a common optimisation in a lot of libraries which call for length checks equal to 0.
The Quaternion library is marked as deprecated, meaning that it will at some point be removed from core. This is because it's a pure lua implementation which users can include themselves. I added this, and I'd argue for its inclusion based on complexity, therefore I think this will move to an alternative location provided by starfall.
Looking at some of the quaternion code, it looks like a lot of room for improvement. Can you point out the difference between your function and quat_lib.rotationAngle(q), apart from that one returns a number and one a Euler angle? ( It's been a long time, and this was originally from Bubbus )

rotationAngle returns the angle of the rotation on its single rotation axis. rotationEulerAngle returns the rotations on the three euler rotation axes; it's very useful since source uses euler angles for everything.


Include SSSE3 intrinsics unconditionally to fix compilation with CUDA.

This fixes a compilation bug under Gentoo Linux (GCC 7.3.0) when building with CUDA support. The error is that intrinsics such as __m128i in image.cpp functions unpack_rw10_from_rw8 and unpack_y8_from_rw10 are missing due to <tmmintrin.h> not being included when CUDA is enabled.
The solution is that <tmmintrin.h> header needs to be included regardless of CUDA headers.

The Travis CI error on macOS seems to be completely unrelated to my patch.

Hi @sh0
Thank you for the PR! Yes, your patch is fine, we are looking into Mac OS CI, should be resolved soon.


Manifests generation fail on humancellatlas.org due to catalog parameter

On HCA dev ( https://dev.data.humancellatlas.org/ ) and prod ( https://data.humancellatlas.org/ ) all 3 types of manifests ( Compact, Terra.bdbag, Full) fail to generate due to a catalog parameter being added to the call to Azul's /fetch/manifest/files endpoint.
Compact Manifest -> Select project, Export Selected Data button, Request a File Manifest
Terra.bdbag Manifest -> Select project, Export Selected Data button, Export to Terra
Full Manifest -> Select project, Click download link in Metadata column

Thanks Daniel, will take a look.


Update demo source - VKI_sizeAdj parameter

The demo source uses VKI_CONFIG.VKI_i18n instead of VKI_CONFIG.i18n.

I think there should be a parameter for VKI_sizeAdj because now it's just set to true if I'm not missing something.

Fixed in branch master an will be merged in the next release.

You aren't missing nothing. The VKI_sizeAdj is a configuration of the greywyvern VKI and wasn't exposed by the angular-virtual-keyboard because it wasn't priorized until now. At some moment I intend to review all the configurations of greywyvern VKI and expose them. But, if you need it, fell free to expose this parameter and send us a pull request.

I will be glad to merge any contribution in this repository!
Thanks!

solved in version 0.4.2

Thank you :)


A featured suite of GPT tools designed for those building GPTs with the 'Create a GPT' editor!

GptInfinite's GEN (Generate Executable Instructions) automatically enables you to program your GPTs with executable code.  Finally you can take control of unwieldy GPTs, forcing program like flow and execute complex operations.
https://chat.openai.com/g/g-UyiW3QZ7H-gptinfinite-gen-generate-executable-instructions
GptInfinite's PAI (the Paid Access Integrator) implements a paywall system for certain or all features of your GPTs.  It can be used to create premium, fremium or free trial GPTs, enabling monetization.
https://chat.openai.com/g/g-FbDiTCGot-gptinfinite-pai-paid-access-integrator
Top-Notch GPT Protection! - Safeguard your GPT innovations with GPT Infinite's LOC (Lockout Controller). Peace of mind for your intellectual property.
https://chat.openai.com/g/g-QHlXar3YA-gptinfinite-loc-lockout-controller
Revolutionize Book Writing! - Meet BookWriter Pro from GPTInfinite, the game-changer in AI-assisted book writing. Outshine Claude 2.1 and ChatGPT4.5 with over 1000 coherent pages and stunning book art!
https://chat.openai.com/g/g-K6vP3qxHo-bookwriter-pro
Want to learn a new language effortlessly? Language GPT is my favorite. It's made learning and translation so much more accessible and fun.
https://chat.openai.com/g/g-Nw7hVPG69-language-gpt

Please raise a pull request for the same


Mixcloud error 403

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.08.06. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.08.06

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

$ youtube-dl --verbose https://www.mixcloud.com/jameszabiela/james-zabiela-live-main-room-studio338-july-2016/?utm_campaign=notification_new_upload&utm_medium=email&utm_source=notification&utm_content=html
[1] 3576
[2] 3577
[3] 3578
[2]-  Done                    utm_medium=email
[3]+  Done                    utm_source=notification
$ [debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'https://www.mixcloud.com/jameszabiela/james-zabiela-live-main-room-studio338-july-2016/?utm_campaign=notification_new_upload']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.08.06
[debug] Python version 2.7.10 - Darwin-15.6.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[mixcloud] jameszabiela-james-zabiela-live-main-room-studio338-july-2016: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 394, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1985, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

[1]+  Exit 1                  youtube-dl --verbose https://www.mixcloud.com/jameszabiela/james-zabiela-live-main-room-studio338-july-2016/?utm_campaign=notification_new_upload
$

Interestingly, when I go to mixcloud.com from a browser I get a "Tick this box to prove you're not a robot" captcha, and then it redirects me to Mixcloud as normal. I've noticed this from a few sites here at home (my ISP is Vodafone cable in Berlin.) So this may not be a youtube-dl issue?

Pass authenticated cookies
Pass URL correctly


⚠ Bofrost.de has degraded performance

In 2972828, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1687 ms

Resolved: Bofrost.de performance has improved in e0b80e3.


'sfdx force:package:list --json' should not depend on the sfdx-project.json

Summary
Im running sfdx force:package:list --jsonand it returns the following error message.

Steps To Reproduce:
1 - Create a sfdx project
2 - Open sfdx-project.json and break the json structure. You can do it by adding a ',' somewhere in the file
3 - Execute sfdx force:package:list --json and you will get the error.
Expected result
sfdx force:package:list --json should display all packages of our devhub when the DevHub is set to Global or Local, disregarding the content of the sfdx-project.json file.
Actual result
sfdx force:package:list --json returns an error because it reads a broken sfdx-project.json

SFDX CLI Version(to find the version of the CLI engine run sfdx --version):

OS and version: WIndows 10

Per the owning team, this is working as designed: the command needs the sfdcLoginUrl from sfdx-project.json, so the file must be parsed, and must be valid JSON.

Per the owning team, this is working as designed: the command needs the sfdcLoginUrl from sfdx-project.json, so the file must be parsed, and must be valid JSON.

@shetzel
But if I set a defaultusername as Global, why this command still needs a sfdx-project.json?
Why they can't get the username from the Global config?

I'm not on the packaging team so I don't know the details about why that
command needs the login url.  However, I can tell you that a command can
define whether it needs to be run from within a SFDX project and that
command is one of them.  If you'd like, I can reopen the github issue and
ask one of the packaging team members to comment with more details.
On Tue, Jul 21, 2020 at 2:38 PM Allan Oricil<EMAIL_ADDRESS>wrote:

Per the owning team, this is working as designed: the command needs the
sfdcLoginUrl from sfdx-project.json, so the file must be parsed, and must
be valid JSON.
@shetzel https://github.com/shetzel
But if I set a defaultusername as Global, why this command still needs a
sfdx-project.json?
Why they can't get the username from the Global config?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/forcedotcom/cli/issues/459#issuecomment-662093750,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUUE66OQDJVQIUMG6AHG2LR4X4ENANCNFSM4OO32ZOQ
.

Yes, I would like to open this again. Could you put me in contact with someone of the team?

The package:list command actually declares that it doesn't require a project so this appears to be a bug.  Re-opening.

The package:list command actually declares that it doesn't require a project so this appears to be a bug. Re-opening.

@shetzel thanks shetzel


Read rows gapic layer empty write error bubble up

PR for logging retries when testing against Gapic layer directly.

Reopen to see kokoro results


Minor improvement to sds init logging

Please provide a description of this PR:
Fixes #51433
Commit is moving and changing the "SDS has started" message since it will never be printed at the right time due to Server() being blocking.

In response to a cherrypick label: new pull request created: #51487

In response to a cherrypick label: new pull request created: #51488

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.21 from head istio-testing:cherry-pick-51452-to-release-1.21: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-51452-to-release-1.21."}],"documentation_url":"https://docs.github.com/rest/pulls/pulls#create-a-pull-request","status":"422"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.22 from head istio-testing:cherry-pick-51452-to-release-1.22: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-51452-to-release-1.22."}],"documentation_url":"https://docs.github.com/rest/pulls/pulls#create-a-pull-request","status":"422"}


Research ES Modules and CommonJS support

Research docs in Wiki: https://github.com/flowup/quality-metrics-cli/wiki/Research:-ES-Modules-vs-CommonJS

Created POC branch (esm-vs-cjs), added description to Wiki page: https://github.com/flowup/quality-metrics-cli/wiki/Research:-ES-Modules-vs-CommonJS#poc


LOH grows huge when a large file is requested

The LOH grows out of control when a large file is requested. I used https://speed.hetzner.de/10GB.bin

Could you please include the proxy confituration? What events do you subscribe? Do you read the metgod body? (Because of course it needs to store the whole response in memory)

yeah it looks like it is my before response handler but it is essentially the same as the code in the wpf sample
if (SessionHandler.TryGetSession(e.HttpClient, out var item))
            {
                item.Update(e);

                if (e.HttpClient.Response.HasBody)
                {
                    e.HttpClient.Response.KeepBody = true;
                    await e.GetResponseBody().ConfigureAwait(true);

                    item.Update(e);
                }
            }

yup ok my bad

Then that is the reason, it is normal. What do you want to achive? Do you really need to read the response to the memory (by calling GetResponseBody)?

no i screwed up and had code from before request in before response DOH

One thing i cant seem to get right is determining when a request is done. After response works perfectly for completed requests but if the request fails it doesn't get hit.


UserDialogs progress runs backward

First time i run progress dialog it shows the progress in a strange way. It doesn't shows in blue. It shows the progress already filled in grey and start showing the progress in white/transparent. Any ideas?

I'm not really sure what you're asking me.
Why do you expect the progress to show up in blue?
What is strange besides the default grey?
What platform is this on?
Screenshots, code, any additional details?

Hi, I'm sorry for not giving you more details. I'm using same code from your demo. Let me upload a video so you can see what i'm talking about. Platform iOS. Video: https://drive.google.com/file/d/0B6hZDQudMRBUOEw5TFNvQWlVdFE/view?usp=sharing

I don't understand why you think this is strange behaviour?  It looks like it works fine in your video.

The first time the progress is full grey and start showing the progress in transparent, second time the progress is not visible and start showing the progress in blue ...

The only thing I can see in the video is that the loading area is changing color which isn't a big issue.  This could be a timing thing.  You kill one loader and then instantly start up another and the animation could still be running.
This isn't really a problem with the colors.  It adapts to the background I believe.  Put a timed break so that the animation can finish or reset the same loader to start the second load.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:34: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:34: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:34: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_b5fwcqtwhf/clone/recipe/meta.yaml:34: missing_description: The recipe is missing a description
Errors were found


Task Cancellation

Is Task Cancellation implemented? For me it looks like the manager continues to scan in the background even after I cancelled the task from which the scan was started.

Hi! Yes, cancelation is implemented. You can cancel any bluetooth command to stop awaiting for a response. If the command is in a queue, it will get removed.
You are correct that cancelling the start scanning task won't stop scanning.  Since each command in AsyncBluetooth is written to mimmic what you would find in Core Bluetooth, there's an explicit stopScan command.


[Desktop] ComposePanel doesn't report intrinsic size changes to Swing

Describe the bug
When a ComposePanel recomposes and the intrinsic size of the composition changes (e.g., it gets taller/shorter), this isn't surfaced to the Swing parent and no revalidation happens.
Calling revalidate on the panel, or its parent (tested with a JPanel using a BorderLayout) doesn't seem to have any effect, even when called in an invokeLater. The only situation in which the ComposePanel actually reports its new preferred size is when changing LaF, and updateUi is called.
Repro project can be found here: https://gist.github.com/rock3r/63fed20b914344b21db8c7c9c4ddfa7b
Adding random-height bars to the composition should make the ComposePanel's height change, but it doesn't.
Affected platforms

Desktop (Windows, Linux, macOS)

Versions

Kotlin version*: tested on 1.9.*
Compose Multiplatform version*: 1.6.*
OS version(s)* (required for Desktop and iOS issues): reprod on macOS 14.4.1 and Linux
OS architecture (x86 or arm64): both
Device (model or simulator for iOS issues): n/a
JDK (for desktop issues): JBR 17

Expected behavior
ComposePanel should adapt its min/preferred sizes based on the composition's size
Screenshots

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.